Personal data is the currency of the digital economy. Estimates predict the total amount of personal data generated globally will hit 44 zettabytes by 2020, a tenfold jump from 4.4 zettabytes in 2013. Digital advertising companies make millions of dollars by mining this personal data in order to market products to consumers. However, digital thieves have been able to steal hundreds of millions of dollars' worth of personal data. In response, governments around the world have passed comprehensive laws governing the security measures required to protect personal data.
For example, the General Data Protection Regulation (GDPR) is the regulation in the European Union (EU) that imposes stringent computer security requirements on the storage and processing of “personal data” for all individuals within the EU and the European Economic Area (EEA). Article 4 of the GDPR defines “personal data” as “any information relating to an identified or identifiable natural person . . . who can be identified, directly or indirectly, in particular by reference to an identifier such as a name, an identification number, location data, an online identifier or to one or more factors specific to the physical, physiological, genetic, mental, economic, cultural or social identity of that natural person.” Further, under Article 32 of the GDPR, “the controller and the processor shall implement appropriate technical and organizational measures to ensure a level of security appropriate to the risk.” Therefore, in the EU or EEA, location data that can be used to identify an individual must be stored in a computer system that meets the stringent technical requirements under the GDPR.
Similarly, in the United States, the Health Insurance Portability and Accountability Act of 1996 (HIPAA) requires stringent technical requirements on the storage and retrieval of “individually identifiable health information.” HIPAA defines “individually identifiable health information” any information in “which there is a reasonable basis to believe the information can be used to identify the individual.” As a result, in the United States, any information that can be used to identify an individual must be stored in a computer system that meets the stringent technical requirements under HIPPA.
However, “Unique in the Crowd: The Privacy Bounds of Human Mobility” by Montjoye et al. (Montjoye, Yves-Alexandre De, et al. “Unique in the Crowd: The Privacy Bounds of Human Mobility.” Scientific Reports, vol. 3, no. 1, 2013, doi:10.1038/srep01376), which is hereby incorporated by reference, demonstrated that individuals could be accurately identified by an analysis of their data. Specifically, Montjoye’ analysis revealed that with a dataset containing hourly locations of an individual, with the spatial resolution being equal to that given by the carrier's antennas, merely four spatial-temporal points were enough to uniquely identify 95% of the individuals. Montjoye further demonstrated that by using an individual's resolution and available outside information, the uniqueness of that individual's traces could be inferred.
The ability to uniquely identify an individual based upon collected information alone was further demonstrated by “Towards Matching User Mobility Traces in Large-Scale Datasets” by Kondor, Daniel, et al. (Kondor, Daniel, et al. “Towards Matching User Mobility Traces in Large-Scale Datasets.” IEEE Transactions on Big Data, 2018, doi:10.1109/tbdata.2018.2871693.), which is hereby incorporated by reference. Kondor used two anonymized “low-density” datasets containing mobile phone usage and personal transportation information in Singapore to find out the probability of identifying individuals from combined records. The probability that a given user has records in both datasets would increase along with the size of the merged datasets, but so would the probability of false positives. The Kondor's model selected a user from one dataset and identified another user from the other dataset with a high number of matching location stamps. As the number of matching points increases, the probability of a false-positive match decreases. Based on the analysis, Kondor estimated a matchability success rate of 17 percent over a week of compiled data and about 55 percent for four weeks. That estimate increased to about 95 percent with data compiled over 11 weeks.
Montjoye and Kondor concluded that an individual can be uniquely identified by their location information alone. Since the location data can be used to uniquely identify an individual, the location data is “personal data” under GDPR and “individually identifiable health information” under HIPAA.
Application X entitled “A SYSTEM AND METHOD FOR IMPROVING SECURITY OF PERSONALLY IDENTIFIABLE INFORMATION”, which is hereby incorporated by reference, describes an approach for anonymizing user's location information as the user moves in physical space.
Application Y entitled “A SYSTEM AND METHOD FOR IMPROVING SECURITY OF PERSONALLY IDENTIFIABLE INFORMATION”, which is hereby incorporated by reference, describes an approach for anonymizing user's browsing history information as the user navigates across the websites that comprise the internet.
However, the ability to uniquely identify an individual by their tracked movements is not limited to motion in physical space. Similarly, a history of user's economic transactions (e.g., credit card transaction, loyalty card transaction, etc.) can be used to identify the individual user. In addition, a user's health transactions (e.g., visits to clinics, diagnostic test, etc.) can also be used to identify the individual user. Therefore, just like a sequence of time-stamped GPS coordinates are “personal data” under GDPR and “individually identifiable health information” under HIPAA, so are a sequence of time-stamped economic transactions and healthcare transactions of the user.
As a result, the records regarding a user's economic and health transactions must be stored in a data storage and retrieval system in such a way that it prohibits a user from being uniquely identified by the information stored in the data storage and the retrieval system. It is, therefore, technically challenging and economically costly for organizations and/or third parties to use gathered personal data in a particular way without compromising the privacy integrity of the data.
In addition to economic transactions, a user can also be identified by their usage patterns. For example, a user can be uniquely identified based upon their power usage as recorded by a smart power meter. In other instances, the user may be identified based on their consumption of media as recorded by a mobile phone or television set-top box. In an additional example, a user can be identified by the patterns in their telephone usage (e.g., when and to whom they placed a telephone call). Therefore, just like a sequence of time-stamped GPS coordinates are “personal data” under GDPR and “individually identifiable health information” under HIPAA, so are the user's usage patterns of utilities, media, and telecom.
As a result, the records regarding a user's usage patterns of power, media and telecom must be stored in a data storage and retrieval system in such a way that it prohibits a user from being uniquely identified by the information stored in the data storage and the retrieval system. It is, therefore, technically challenging and economically costly for organizations and/or third parties to use gathered personal data in a particular way without compromising the privacy integrity of the data.
A more detailed understanding may be had from the following description, given by way of example in conjunction with the accompanying drawings, wherein like reference numerals in the figures indicate like elements, and wherein:
In most instances, the secure exchange of the account information between the merchant 110A and the financial institution 180A is governed by the Europay, Mastercard and Visa (EMV) standards, such as EMV standard 4.3, which is hereby incorporated by reference.
In order to facilitate proper accounting and billing of the user's transactions, the financial institution 180A must store transaction details for each transaction the user makes. For example, the transaction details may include the amount of the transaction, time, date and location of the transaction. In some instances, the transaction details may also include information about the type of goods purchased or a classification of the merchant 110A.
The transaction details are stored by the financial institution 180A in the User Identifiable Database 120. The User Identifiable Database 120 stores transaction details for a plurality of users. However, a user can only access their own information that is stored in the User Identifiable Database 120. The User Identifiable Database 120 may be implemented using a structured database (e.g., SQL), a non-structured database (e.g., NoSQL) or any other database technology known in the art. In other cases, the “economic transaction” may be stored in a file system, either a local file storage or a distributed file storage such as Hadoop File System (HDFS), or a blob storage such as AWS S3 and Azure Blob.
The User Identifiable Database 120 may run on a dedicated computer server or may be operated by a public cloud computing provider (e.g., Amazon Web Services (AWS)®).
The anonymization server 130 receives data stored in the User Identifiable Database 120 via the internet 105 using wired or wireless communication channel 125. The data may be transferred using Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Simple Object Access Protocol (SOAP), Representational State Transfer (REST) or any other file transfer protocol known in the art. In some instances, the transfer of data between the anonymization server 130 and the User Identifiable Database 120 may be further secured using Transport Layer Security (TLS), Secure Sockets Layer (SSL), Hypertext Transfer Protocol Secure (HTTPS) or other security techniques known in the art.
The anonymized database 140 stores the secure anonymized data received by anonymization server 130 executing the anonymization and secure storage method 500A or 500B (to be described hereinafter). In some instances, the secure anonymized data is transferred from the anonymization server 130 to the anonymization database 140 using a wired or wireless communication channel 125. In other instances, the anonymization database 140 is integral with the anonymization server 130.
The anonymized database 140 stores the secure anonymized data so that data from a plurality of users may be made available to a third party 160 without the third party 160 being able to associate the secure anonymized data with the original individual. The secure anonymized data includes location and timestamp information. However, utilizing the system and method which will be described hereinafter, the secure anonymized data cannot be traced back to an individual user. The anonymized database 140 may be implemented using a structured database (e.g., SQL), a non-structured database (e.g., NOSQL) or any other database technology known in the art. The anonymized database 140 may run on a dedicated computer server or may be operated by a public cloud computing provider (e.g., Amazon Web Services (AWS)®).
An access server 150 allows the Third Party 160 to access the anonymized database 140. In some instances, the access server 150 requires the Third Party 160 to be authenticated through a user name and password and/or additional means such as two-factor authentication. Communication between the access server 150 and the Third Party 160 may be implemented using any communication protocol known in the art (e.g., HTTP or HTTPS). The authentication may be performed using Lightweight Directory Access Protocol (LDAP) or any other authentication protocol known in the art. In some instances, the access server 150 may run on a dedicated computer server or may be operated by a public cloud computing provider (e.g., Amazon Web Services (AWS)®).
Based upon the authentication, the access server 150 may permit the Third Party 160 to retrieve a subset of data stored in the anonymized database 140. The Third Party 160 may retrieve data from the anonymized database 140 using Structured Query Language (e.g., SQL) or similar techniques known in the art. The Third Party 160 may access the access server 150 using a standard internet browser (e.g., Google Chrome®) or through a dedicated application that is executed by a device of the Third Party 160.
In one configuration, the anonymization server 130, the anonymized database 140 and the access server 150 may be combined to form an Anonymization System 170.
In order to facilitate proper accounting and payment to the health services provider 110B, the healthcare payment entity 180B must store transaction details for each healthcare transaction. The healthcare payment entity 180B may be a health insurance company, a state health services department or the like. The transaction details are stored by the healthcare payment entity 180B in the User Identifiable Database 120. The transaction details may include the type of treatment, time, date and location of that the healthcare provided by the treatment provider 110B. The Identifiable Database 120 may be of the same type as described with regard to the system 100A that is used to anonymize economic transactions.
The Anonymization System 170, retrieves the data stored in the User Identifiable Database 120, executes the anonymization and secure storage method 500A or 500B (to be described hereinafter) and stores the anonymized data in the anonymized database 140. The Anonymization System 170 may be of the same type as described with regard to the system 100A that is used to anonymize economic transactions.
In order to facilitate proper accounting and billing of the user's utility consumption, the utility supplier 180C must store transaction details for each smart meter 110C that is associated with a particular user. These transaction details may include the amount, time, date and type of utility consumed. In addition, the transaction details may also include information on the geographic location where the smart meter 110C is installed. The transaction details are stored by the utility supplier 180C in the User Identifiable Database 120. The Identifiable Database 120 may be of the same type as described with regard to the system 100A that is used to anonymize economic transactions.
The Anonymization System 170, retrieves the data stored in the User Identifiable Database 120, executes the anonymization and secure storage method 500A or 500B (to be described hereinafter) and stores the anonymized data in the anonymized database 140. The Anonymization System 170 may be of the same type as described with regard to the system 100A that is used to anonymize economic transactions.
In system 100D, step-top box/television 110D records consumption of the media by the user and communicates the information to the content provider or to the manufacturer of the step-top box/television for monitoring and billing over wired or wireless communication channel 115. In many instances, the step-top box/television 110D communicates with the content provider 180D using protocols in line with the Advanced Television Systems Committee (ATSC) 3.0 standard which is hereby incorporated by reference.
In order to facilitate proper accounting, make content recommendations and target advertising at the user, the content provider 180D may store transaction details on the user's consumption of media. In some instances, the content provider is a cable company (such as Comcast®), a streaming service (such as Sling TV®) or an on-demand video provider (such as Netflix®). The transaction details may include the time, date, channel and duration of viewing of the media content. Other transactions details that may be recorded include the manufacturer, model and serial number of the set-top box/television, subscription details and network details.
The content provider 180D stores the transactions details in the User Identifiable Database 120. The Identifiable Database 120 may be of the same type as described with regard to the system 100A that is used to anonymize economic transactions.
The Anonymization System 170, retrieves the data stored in the User Identifiable Database 120, executes the anonymization and secure storage method 500A or 500B (to be described hereinafter) and stores the anonymized data in the anonymized database 140. The Anonymization System 170 may be of the same type as described with regard to the system 100A that is used to anonymize economic transactions.
In order to facilitate proper accounting and billing of the user's phone calls, the telecom provider 180E must store transaction details for each transaction the user makes. For example, the transaction details may include the number dialed, time, date, duration and location of the phone call. In some instances, the transaction details may also include information about the type of phone number called (e.g., restaurant, spouse, parent, friend, etc.).
The telecom provider 180E stores the transactions details in the User Identifiable Database 120. The Identifiable Database 120 may be of the same type as described with regard to the system 100A that is used to anonymize economic transactions.
The Anonymization System 170, retrieves the data stored in the User Identifiable Database 120, executes the anonymization and secure storage method 500A or 500B (to be described hereinafter) and stores the anonymized data in the anonymized database 140. The Anonymization System 170 may be of the same type as described with regard to the system 100A that is used to anonymize economic transactions.
The processor 131 includes one or more of: a central processing unit (CPU), a graphics processing unit (GPU), a CPU and GPU located on the same die, or one or more processor cores, wherein each processor core is a CPU or a GPU. The memory 132 is located on the same die as the processor 131 or separately from the processor 131. The memory 132 includes a volatile or non-volatile memory, for example, random access memory (RAM), dynamic RAM, or a cache.
The storage device 133 includes a fixed or removable storage, for example, a hard disk drive, a solid state drive, an optical disk, or a flash drive. The storage device 133 stores instructions enable the processor 131 to perform the secure storage methods described here within.
The one or more first network interfaces 134 are communicatively coupled to the internet 105 via communication channel 125 shown in
The listed data types are usually shared across different participants. Some attributes of the datasets may be pseudo anonymized (such as card number). However, the sequence of the transactions is untouched in existing solutions.
Although
In traditional data privacy models, value ordering is not significant. Accordingly, records are represented as unordered sets of items. For instance, if an attacker knows that someone checked in first at the location c and then at e, they could uniquely associate this individual with the record t1. On the other hand, if T is a set-valued dataset, three records, namely t1, t2, and t4, would have the items c and e. Thus, the individual's identity is hidden among the three records. Consequently, for any set of n items in a trajectory, there are n! possible quasi-identifiers.
However, transaction trajectory records are different from the structure of other data records. For example, a transaction trajectory record is made of a sequence of location points, where each point is labeled with a timestamp. Ordering between data points is the differential factor that leads to the high uniqueness of transaction trajectories. Further, the length of each trajectory doesn't have to be equal. This difference makes preventing identity disclosure in trajectory data publishing more challenging, as the number of potential quasi-identifiers is drastically increased.
As a result of the unique nature of the transaction trajectory records, an individual user may be uniquely identified. Therefore, transaction trajectory records must be processed and stored such that an original individual cannot be identified in order meet to the stringent requirements under GDPR and HIPPA.
Existing solutions to the transaction trajectory records problem, such as illustrated in
In some instances, in step 420 the anonymization server 130, retrieves secure anonymized data that has been previously stored in the anonymized database 140. The additional data retrieved in step 420 may be combined with the data received in step 410 and used the input data for the secure storage method 500A or 500B. In other instances, step 420 is omitted, and anonymization server 130 performs the anonymization and secure storage method 500A or 500B (as shown in
In step 430, the secure anonymized data generated by anonymization server 130 is transmitted to the anonymized database 140. The data may be transmitted in step 430 using any technique known in the art and may utilize bulk data transfer techniques (e.g., Hadoop Bulk load).
The Third Party 160 retrieves the secure anonymized data from the anonymized database 140 by requesting the data from the server 150 in step 440. In many cases, this request includes an authentication of the Third Part 160. If the server 150 authenticates the Third Party 160, in step 450, the server 150 retrieves the secure anonymized data from the anonymized database 140. Then in step 460, the server 150 relays the secure anonymized data to the Third Party 160.
In response, the server 150 determines that secure anonymized data has not previously been stored in the anonymized database 140 that matches the criteria included in the request. The server 150 then requests (step 415) that the anonymization server 130 generate the requested secure anonymized data. Then in step 425, the anonymization server 130 retrieves, if required, the non-anonymized transaction details required to generate the secure anonymized data from the User Identifiable Database 120. The data may be transmitted in step 425 using any technique known in the art and may utilize bulk data transfer techniques (e.g., Hadoop Bulk load).
In step 435, the secure anonymized data generated by anonymization server 130 is transmitted to the anonymized database 140. The data may be transmitted in step 435 using any technique known in the art and may utilize bulk data transfer techniques (e.g., Hadoop Bulk load). Then in step 445, the server 150 retrieves the secure anonymized data from the anonymized database 140. Then in step 455, the server 150 relays the secure anonymized data to the Third Party 160.
In step 427 the anonymization server 130, retrieves secure anonymized data that has been previously stored in the anonymized database 140. The additional data retrieved in step 427 may be combined with the data received in step 410 and used the input data for the anonymization and secure storage method 500A or 500B.
In step 437, the secure anonymized data generated by anonymization server 130 is transmitted to the anonymized database 140. The data may be transmitted in step 430 using any technique known in the art and may utilize bulk data transfer techniques (e.g., Hadoop Bulk load).
The Third Party 160 retrieves the secure anonymized data from the anonymized database 140 by requesting the data for the server 150 in step 447. If the server authenticates the Third Party 160, in step 457, the server 150 retrieves the secure anonymized data from the anonymized database 140. Then in step 467, the server 150 relays the secure anonymized data to the Third Party 160.
In step 510, batches of transaction details are received from the User Identifiable Database 120. Respective transaction trajectories are then determined for each of the plurality of user included in the data received in step 520.
For example, a transaction trajectory for an economic transaction may consist of $4 dollar coffee purchased at a particular time from a particular Starbucks location followed by a $25 transit card purchased from a particular vending machine and finally an $8 dollar sandwich purchased from a particular Subway location.
Similarly, a transaction trajectory for a health care transaction may consist of a physical examination performed at a walk-in clinic, followed by an x-ray performed at an imaging center and an exam at orthopedist any of these transactions may be on the same day or different days.
In the case of a utility consumption patterns, a transaction trajectory may consist of a spike in electricity usage at 6:30 AM, followed by a drop at 7:30 AM and a spike at 6:30 PM, followed by a drop at 11:00 PM.
Likewise, a transaction trajectory for media consumption pattern that can be derived for User 1 depicted in
Further, in the case of a telecom consumption pattern, a transaction trajectory may consist of a daily phone call at 6:15 PM to a spouse to indicate they have left work.
Then in step 530, the respective transaction trajectories identified in step 520 are partitioned. Similar transaction trajectories are then identified based on the partitions in step 540. In step 550, the similar transaction trajectories identified in step 540 are exchanged. Then in step 560, secure anonymized data for the anonymized transaction trajectories generated in step 540 are stored in the anonymized database 140.
In step 515, new transaction details are received from the User Identifiable Database 120 incrementally. Then in step 525, the effect is determined of the new transaction details received in step 515 has upon the Existing Anonymized Trajectories stored in step 560. In step 535, the method determines whether new partitions are required.
If new partitions of the existing trajectories are required based on the new transaction details received, in step 545 new partitions of the respective transaction trajectories are then determined by applying process 530 on the new data points received in step 515. Then in step 555, similar data trajectories are identified by applying process 540 on the new partitions determined in step 545. The similar trajectories identified in step 555 are then exchanged in step 565. Then in step 575, secure anonymized data for the anonymized transaction trajectories generated in step 565 are stored in the anonymized database 140.
If in step 535 determines that new partitions are not required, in step 585 the new data points received in step 515 are added to one or more of the existing anonymized transaction trajectories stored in the anonymized database 140.
For example, in the case of economic transactions, these changes may include a change in time, amount, location or merchant classification (e.g., “Coffee Shop”, “Sporting Goods”, “Travel”, etc.). In the case of healthcare transactions, these changes may include a change in time, location or service type (e.g., “Emergency”, “Orthopedist”, “Clinic”, etc.). For utility consumption patterns, these changes may include spikes or sudden drops in utility consumption. Likewise, for media consumption patterns, these changes may include a change in time, duration, or media classification (e.g., “News”, “Sports”, “Streaming On Demand”, etc.). Similarly, for telecom usage, these changes may include a change in time, duration, location or call classification (e.g., “Spouse”, “Work”, “Restaurant”, etc.).
In step 610, a transaction trajectory TRi is received. An example of a transaction trajectory. TRi is a sequence of multi-dimensional points denoted by TRi=p1 p2 p3 . . . pj . . . pi (1<i<n), where, pj (1<j<i) is a d-dimensional point. For example, p1 may correspond to a first medical examination, p2 to a medical treatment, p3 to purchase of prescription drugs, etc.
The length i of a trajectory can be different from those of other trajectories. For instance, trajectory pc1 pc2 . . . pck (1<=c1<c2< . . . <ck<i) be a sub-trajectory of TRi. A trajectory partition is a line partition pi pj (i<j), where pi and pj are the points chosen from the same trajectory.
In step 620, the trajectory is divided into partitions based on the time the transactions that comprise the respective trajectory were made. For example, the trajectories may be partitioned by grouping trajectories for the morning, afternoon and evening. In another example, trajectories may be partitioned as being related to different medical disciplines such as orthopedic, dental or cardiological.
In step 630, the trajectory is further partitioned by classifying the type of the transactions.
For example, in the case of economic transactions, the merchant 110A that performed each of transactions may be classified as “Sporting Goods”, “Transportation”, “Bars/Restaurants” or “Entertainment”. Similarly, in the case of healthcare transactions, the health care provider 110B that performed each of transactions may be classified as “General Practice”, “Specialist”, “Pharmacy” or “Hospital”.
In the case of utility usage patterns, the transactions may be classified as “home” or “away.” For media consumption patterns, the transactions may be classified as “Sports”, “News”, “Sitcom” or “Reality”. The transactions may be classified as “Work”, “Family”, or “Merchant” in the case where the transaction is related to telecom usage patterns.
In step 640, partitioning points are determined based on the classifications made in step 620 and step 630.
For instance, in the case of an economic transaction, a first purchase from a coffee shop to a second purchase at an electronics store would indicate a partitioning point.
For example,
Although
Although
Next,
Although
In other instances, the partitioning may be performed based on any combination of call time, call duration and region (as indicated by dialing codes etc.). In some instances, the partitioning may be performed based on an inferred intent of the call (e.g. business call, ordering food, family etc). The inferred intent may be determined based on the number dialed and the time of day.
An example implementation of process 540 is density-based clustering, e.g., grouping partitions based on their session sequence similarity measures between each other. In an example, density-based clustering method, the similarity between two partitions is calculated based on weighted sum of the dimensions in
In order to obtain optimal sequence matches, the session sequences may be shifted left or right to align as many transactions as possible.
In some instances, process 540 may utilize density-based clustering algorithms (i.e., DBSCAN) to find the similar partitions. Trajectory partitions that are close (e.g., similar) are grouped into the same cluster.
The parameters used in this similarity analysis may be determined either manually or automatically by applying statistical analysis on all trajectories. For example, DBSCAN requires two parameters, E and minPts, the minimum number of partitions required to form a dense region. K-nearest neighbor may be applied to the datasets to estimate the value of E, after minPts is chosen.
The results of the exchanging process 550 are illustrated in
During the exchanging process 550, the partitions are paired with the selected partitions, and exchanged between trajectories. Therefore, no partitions are dropped. If a partition is not in any of the clusters, the partition is left untouched.
After all partitions are exchanged, the trajectory is transformed into a set of disjoined or touching partitions as
In another implementation the partitions can be joined by moving the respective end-points of the parts together.
The secure anonymized data may then be generated from the anonymized trajectory without the secure anonymized data being able to be associated with a particular user.
Although features and elements are described above in particular combinations, one of ordinary skill in the art will appreciate that each feature or element may be used alone or in any combination with the other features and elements. In addition, a person skilled in the art would appreciate that specific steps may be reordered or omitted.
Furthermore, the methods described herein may be implemented in a computer program, software, or firmware incorporated in a computer-readable medium for execution by a computer or processor. Examples of computer-readable media include electronic signals (transmitted over wired or wireless connections) and non-transitory computer-readable storage media. Examples of non-transitory computer-readable storage media include, but are not limited to, a read-only memory (ROM), a random access memory (RAM), a register, cache memory, semiconductor memory devices, magnetic media, such as internal hard disks and removable disks, magneto-optical media, and optical media such as CD-ROM disks, and digital versatile disks (DVDs).