CPC G06F 21/6245 (2013.01) [G06F 21/602 (2013.01); G06F 21/78 (2013.01); G06F 21/86 (2013.01); H04L 9/0894 (2013.01); H04L 9/3247 (2013.01); G06F 2221/2101 (2013.01); G06F 2221/2149 (2013.01); H04L 2209/08 (2013.01)] | 20 Claims |
1. A method comprising:
receiving data, wherein the data comprises personal information of one or more individuals and is subject to privacy requirements;
loading code into a secure enclave, wherein the code includes aggregation code and noise code;
generating, by the secure enclave, an encryption key and a decryption key, wherein the decryption key is tied to the secure enclave and the code;
encrypting the data using the encryption key to generate encrypted data;
decrypting, by the secure enclave, a copy of the encrypted data using the decryption key to generate decrypted data;
adding, by executing the noise code, noise to the decrypted data;
generating, by executing the aggregation code, a report based on the decrypted data and the noise, wherein the report aggregates the decrypted data, satisfies a differential privacy guarantee based on the privacy requirements, and is subject to audit requirements; and
retaining the encrypted data for a period of time based on the audit requirements.
|