Privacy safe joint identification protocol
AssigneeSnap Inc.
InventorApoorvaa Deshpande
Life of this patent
Estimating the term…
Abstract
The technical problem of matching records in different datasets, for example a host dataset and a partner dataset storing records representing respective users, while maintaining the privacy of each dataset, is addressed by providing a privacy safe joint identification protocol. The privacy safe joint identification protocol computes respective anonymous joint identifiers for records in the two datasets. An anonymous joint identifier is generated such that the host-assigned and the partner-assigned identifies that have been determined to represent the same user are mapped to the same anonymous joint identifier.
Claims20
A method comprising:
- double-encrypting user information from records of a host dataset using at least a host encryption key and a partner encryption key provided by a partner system;
- accessing encrypted partner identifiers, the encrypted partner identifiers being encrypted using a partner encryption key;
- tagging elements from the double-encrypted user information encrypted using the host encryption key with respective associated encrypted partner identifiers;
- based on the associated encrypted partner identifiers and associated partner anonymous identifiers, establishing respective anonymous joint identifiers for each cluster of the double-encrypted user information;
- using the respective anonymous joint identifiers to calculate an intersection size of the host dataset and a partner dataset;
- discarding the double-encrypted user information prior to providing a mapping of the anonymous joint identifiers and the encrypted partner identifiers;
- and
- providing the mapping between the anonymous joint identifiers and the encrypted partner identifiers to a partner system by generating random identifiers for individual anonymous joint identifiers, a first random identifier of the random identifiers being associated with a particular anonymous joint identifier and an encrypted partner identifier.
A system comprising:
- one or more processors;
- and
- a non-transitory computer readable storage medium comprising instructions that when executed by the one or processors cause the one or more processors to perform operations comprising:
- double-encrypting user information from records of a host dataset using at least a host encryption key and a partner encryption key provided by a partner system;
- accessing encrypted partner identifiers, the encrypted partner identifiers being encrypted using a partner encryption key;
- tagging elements from the double-encrypted user information encrypted using the host encryption key with respective associated encrypted partner identifiers;
- based on the associated encrypted partner identifiers and associated partner anonymous identifiers, establishing respective anonymous joint identifiers for each cluster of the double-encrypted user information;
- using the respective anonymous joint identifiers to calculate an intersection size of the host dataset and a partner dataset;
- discarding the double-encrypted user information prior to providing a mapping of the anonymous joint identifiers and the encrypted partner identifiers;
- and
- providing the mapping between the anonymous joint identifiers and the encrypted partner identifiers to a partner system by generating random identifiers for individual anonymous joint identifiers, a first random identifier of the random identifiers being associated with a particular anonymous joint identifier and an encrypted partner identifier.
A machine-readable non-transitory storage medium having instruction data executable by a machine to cause the machine to perform operations comprising:
- double-encrypting user information from records of a host dataset using at least a host encryption key and a partner encryption key provided by a partner system;
- accessing encrypted partner identifiers, the encrypted partner identifiers being encrypted using a partner encryption key;
- tagging elements from the double-encrypted user information encrypted using the host encryption key with respective associated encrypted partner identifiers;
- based on the associated encrypted partner identifiers and associated partner anonymous identifiers, establishing respective anonymous joint identifiers for each cluster of the double-encrypted user information;
- using the respective anonymous joint identifiers to calculate an intersection size of the host dataset and a partner dataset;
- discarding the double-encrypted user information prior to providing a mapping of the anonymous joint identifiers and the encrypted partner identifiers;
- and
- providing the mapping between the anonymous joint identifiers and the encrypted partner identifiers to a partner system by generating random identifiers for individual anonymous joint identifiers, a first random identifier of the random identifiers being associated with a particular anonymous joint identifier and an encrypted partner identifier.
Dependencies are inferred from the claim text.