Homomorphic cryptography modeling in support of privacy policies

US9313022B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9313022-B2
Application numberUS-201514665356-A
CountryUS
Kind codeB2
Filing dateMar 23, 2015
Priority dateDec 27, 2013
Publication dateApr 12, 2016
Grant dateApr 12, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Data privacy is becoming increasingly important and, in some jurisdictions, required. Access to private data can be controlled by forcing all access to go through minimizations services that allow only authorized access to private data. These minimization services can become processing bottlenecks if the only way to modify private data is by way of requests to the minimization service. Certain homomorphic operations allow for encrypted data to be modified without being first decrypted although other operands must be encrypted. Augmenting a minimization service to provide a public encryption key provides for encryption of the other operands. Providing a records manager that can take advantage of homomorphic operations allows certain data operations to be performed without compromising security and without accessing the minimization service.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for implementing a privacy policy, the method comprising: receiving code for an application comprising a record class definition comprising a field definition for a data field; receiving a privacy designation wherein the data field is designated as a field containing data that is to be kept private; with a processor, based on the designation, generating a records manager and a mapping aspect, wherein the records manager comprises a private class definition corresponding to the record class, the private class definition identifying an associated homomorphic minimization service that provides a minimized value of data in the data field wherein the minimized value of data in the data field is encrypted, wherein the mapping aspect comprises pointcuts for identifying joins at which the records manager is to augment the functioning of the application code by calling the homomorphic minimization service to thereby obtain the minimized value of data in the data field, the minimized value being encrypted, and wherein the records manager and the mapping aspect are configured to be deployed in association with one another and with the application such that an execution system obtaining the application after deployment and then running the application has access only to an encrypted form of the minimized data in the data field. 2. The method of claim 1 wherein the homomorphic minimization service also provides a public key wherein a key pair comprises a private key and the public key, wherein applying the private key to the minimized value of data in the data field yields a value of data in the data field that is not encrypted, and wherein applying the public key to the value of data in the data field yields the minimized value of data in the data field. 3. The method of claim 2 wherein the records manager further augments the functioning of the application code by providing a homomorphic treatment of the minimized value of data in the data field, wherein the homomorphic treatment operates on the minimized value of data in the data field, a second operand value, and the public key to produce a minimized resultant value, wherein the records manager does not have access to the private key, and wherein applying the private key to the minimized resultant value produces a resultant value equaling the value of a mathematical operation between the second operand value and the value of data in the data field. 4. The method of claim 3 wherein the resultant value equals the value of data in the data field incremented by the second operand value. 5. The method of claim 3 wherein the resultant value equals the value of data in the data field decremented by the second operand value. 6. The method of claim 3 wherein the resultant value equals the value of data in the data field divided by the second operand value. 7. The method of claim 3 wherein the resultant value equals the value of data in the data field multiplied by the second operand value. 8. The method of claim 3 wherein the records manager communicates the resultant value to the minimization service such the resultant value replaces the value of data in the data field. 9. The method of claim 3 wherein the records manager communicates the resultant value to the minimization service such that the resultant value replaces the value of data in the data field if and only if a condition is met, wherein the minimization service provides a return value indicating success if the condition is met or failure if the condition is not met. 10. The method of claim 3 wherein the records manager communicates the resultant value to the minimization service such that the minimization service provides a return value indicating success if the condition is met or failure if the condition is not met. 11. The method of claim 10 further comprising deploying the records manager, and the mapping aspect in association with the application. 12. The method of claim 11 wherein the application comprises bytecode that is executable by a virtual machine, the virtual machine being executed by a computer processing device. 13. The method of claim 3 further comprising with a grammar generating a model of the application that lists a plurality of sensitive fields and tracks a plurality of record classes wherein the sensitive fields comprise the data field, wherein the record classes comprise the record class, and wherein generating the records manager comprises generating a records manager source code based on the model. 14. The method of claim 13 wherein the generation of the records manager comprises converting the records manager source code to bytecode. 15. The method of claim 1 further comprising deploying the records manager and the mapping aspect when the application is run. 16. The method of claim 15 wherein the application comprises bytecode that is executable by a virtual machine, the virtual machine being executed by a computer processing device. 17. The method of claim 2 : wherein the records manager further augments the functioning of the application code by providing a plurality of homomorphic treatments of the minimized value of data in the data field; wherein the records manager does not have access to the private key; wherein each of the homomorphic treatments is associated with one of a plurality of mathematical operations and operates on the minimized value of data in the data field, a second operand value, and the public key to produce a minimized resultant value; wherein applying the private key to the minimized resultant value produced by one of the homomorphic treatments produces a resultant value equaling the value of applying to the second operand value and the value of data in the data field that one of the mathematical operations associated with the one of the homomorphic treatments; wherein the mathematical operations comprise increment, decrement, multiply, and divide; wherein the records manager communicates the resultant value to the minimization service such that the resultant value replaces the value of data in the data field if and only if a condition is met; and wherein the minimization service provides a return value indicating success if the condition is met and indicating failure if the condition is not met. 18. The method of claim 17 further comprising: deploying the records manager and the mapping aspect when the application is run wherein the application comprises bytecode that is executable by a virtual machine, the virtual machine being executed by a computer processing device; and with a grammar generating a model of the application that lists a plurality of sensitive fields and tracks a plurality of record classes wherein the sensitive fields comprise the data field, wherein the record classes comprise the record class, wherein generating the records manager comprises generating a records manager source code based on the model, and wherein the generation of the records manager comprises converting the records manager source code to bytecode. 19. A computer program product comprising non-transitory memory that stores instructions which when executed by a processor, performs the method of claim 18 . 20. A system comprising non-transitory memory that stores instructions for performing the method of claim 18 and a processor in communication with the non-transitory memory that executes the instructions.

Assignees

Inventors

Classifications

  • Protecting personal data, e.g. for financial or medical purposes · CPC title

  • H04L9/008Primary

    involving homomorphic encryption · CPC title

  • Key scheduling, i.e. generating round keys or sub-keys for block encryption · CPC title

  • using a plurality of keys or algorithms · CPC title

  • to a system of files or objects, e.g. local or distributed file system or database · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9313022B2 cover?
Data privacy is becoming increasingly important and, in some jurisdictions, required. Access to private data can be controlled by forcing all access to go through minimizations services that allow only authorized access to private data. These minimization services can become processing bottlenecks if the only way to modify private data is by way of requests to the minimization service. Certain …
Who is the assignee on this patent?
Xerox Corp
What technology area does this patent fall under?
Primary CPC classification G06F21/6245. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 12 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).