Field level data protection for cloud services using asymmetric cryptography
US-2016335451-A1 · Nov 17, 2016 · US
US10776502B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10776502-B2 |
| Application number | US-201715619519-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 11, 2017 |
| Priority date | Jun 12, 2016 |
| Publication date | Sep 15, 2020 |
| Grant date | Sep 15, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Some embodiments provide a method for providing public keys for encrypting data. The method receives (i) a first request from a first source for a public key associated with a particular user and (ii) a second request from a second source for the public key associated with the particular user. In response to the first request, the method distributes a first public key for the particular user to the first source. In response to the second request, the method distributes a second, different public key for the particular user to the second source. Data encrypted with the first public key and data encrypted with the second public key are decrypted by a device of the particular user with a same private key.
Opening claim text (preview).
The invention claimed is: 1. A method comprising: receiving (i) a first request from a first source for a public key associated with a particular user and (ii) a second request from a second source for the public key associated with the particular user; distributing, by a key distribution device and to the first source, a first public key for the particular user, in response to the first request, the first public key corresponding to a private key of the particular user; and generating and distributing, by the key distribution device and to the second source, a second, different public key for the particular user, in response to the second request, the second, different, public key being generated from the first public key and without accessing the private key of the particular user, the second, different, public key also corresponding to the private key of the particular user, wherein the first and second sources comprise first and second applications that utilize the first and second public keys for encrypting different sets of data shared with the particular user; wherein data encrypted with the first public key and data encrypted with the second public key are decryptable by a device of the particular user with the private key. 2. The method of claim 1 , wherein the first and second public keys are generated in such a manner that the first source and second source cannot determine that the first and second public keys are associated with the same particular user. 3. The method of claim 1 , wherein the first and second applications operate on different devices of different users. 4. The method of claim 1 , wherein the first and second applications operate on a same device. 5. The method of claim 1 , wherein (i) the particular user is a first user, (ii) the first application operates on a device of a second user, and (iii) the first application receives the first public key, encrypts a data record with both the first public key and a public key of the second user, and stores the encrypted data record in a public database in order for the second user to share the data record with the first user. 6. The method of claim 1 further comprising: storing a single set of values for the public key associated with the particular user; and generating the first public key and the second public key from the single set of values using a randomization algorithm. 7. The method of claim 6 , wherein the single set of values comprises (i) a first value that is a generator of a cyclic group and (ii) a second value that is the generator raised to a power of the private key. 8. The method of claim 7 , wherein generating the first public key comprises: randomly selecting a first power; and generating a second set of values by raising the first and second values to the first power, wherein the second set of values is distributed as the first public key. 9. The method of claim 8 , wherein generating the second public key comprises: randomly selecting a second power; and generating a third set of values by raising the first and second values to the second power, wherein the third set of values is distributed as the second public key. 10. The method of claim 8 , wherein: randomly selecting the first power comprises using a pseudo-random deterministic algorithm based on an identifier for the particular user and an identifier for the first source; and randomly selecting the second power comprises using the pseudo-random deterministic algorithm based on the identifier for the particular user and an identifier for the second source. 11. The method of claim 7 , wherein the randomization algorithm is equivalent to selecting different generators of the cyclic group for the first and second public keys. 12. The method of claim 1 further comprising generating and distributing a different public key in response to each request from a different source for the public key associated with the particular user, wherein data encrypted with any of the public keys are decrypted by the device of the particular user. 13. A non-transitory machine readable medium storing a program that, when executed by at least one processor, causes the at least one processor to perform operations, the program comprising sets of instructions for: receiving (i) a first request from a first source for a public key associated with a particular user and (ii) a second request from a second source for the public key associated with the particular user; distributing, to the first source, a first public key for the particular user, in response to the first request, the first public key corresponding to a private key; and generating and distributing, by a key distribution device and to the second source, a second, different public key for the particular user, in response to the second request, the second, different, public key also corresponding to the private key and the second, different, public key being generated from the first public key without accessing the private key, wherein the first and second sources comprise first and second applications that utilize the first and second public keys for encrypting different sets of data shared with the particular user; wherein data encrypted with the first public key and data encrypted with the second public key are decryptable by a device of the particular user with a same private key. 14. The non-transitory machine readable medium of claim 13 , wherein the first and second public keys are generated in such a manner that the first source and second source cannot determine that the first and second public keys are associated with the same particular user. 15. The non-transitory machine readable medium of claim 13 , wherein (i) the first source and second source are first and second applications that use the public keys to encrypt different sets of data shared with the particular user, (ii) the particular user is a first user, (iii) the first application operates on a device of a second user, and (iv) the first application receives the first public key, encrypts a data record with both the first public key and a public key of the second user, and stores the encrypted data record in a public database in order for the second user to share the data record with the first user. 16. The non-transitory machine readable medium of claim 13 , wherein the program further comprises sets of instructions for: storing a single set of values for the public key associated with the particular user; and generating the first public key and the second public key from the single set of values using a randomization algorithm. 17. The non-transitory machine readable medium of claim 16 , wherein the single set of values comprises (i) a first value that is a generator of a cyclic group and (ii) a second value that is the generator raised to a power of the private key, wherein the set of instructions for generating the first public key comprises: randomly selecting a first power by using a pseudo-random deterministic algorithm based on an identifier for the particular user and an identifier for the first source; and generating a second set of values by raising the first and second values to the first power, wherein the second set of values is distributed as the first public key. 18. The non-transitory machine readable medium of claim 13 , wherein the program further comprises a set of instructions for generating and distributing a different public key in response to each request from a different source for the public key associated with the particular user, wherein data encrypted wit
Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy · CPC title
by registering files or documents with a third party · CPC title
where protection concerns the structure of data, e.g. records, types, queries · CPC title
Anonymization, e.g. involving pseudonyms · CPC title
using a plurality of keys or algorithms · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.