| CPC H04L 9/30 (2013.01) [H04L 9/0618 (2013.01); H04L 2209/16 (2013.01); H04L 2209/603 (2013.01); H04L 2209/76 (2013.01)] | 15 Claims |

|
1. A method for managing data performed by an electronic data access management system comprising a processor and a non-transitory computer-readable medium storing instructions that, when executed by the processor, cause the electronic data access management system to perform the method, the method comprising:
receiving, from an electronic data service system, a protected reencryption program, an encrypted data access key encrypted using a public encryption key of the electronic data service system, and an identifier of electronic data associated with the encrypted data access key, the protected reencryption program comprising a protected private decryption key of the electronic data service system;
receiving, from a user device, a data access request message, the data access request message comprising the identifier of the electronic data and a public encryption key of the user device;
generating a reencrypted data access key using the protected reencryption program based on the encrypted data access key and the public encryption key of the user device, wherein generating the reencrypted data access key comprises:
decrypting the encrypted data access key by the protected reencryption program to generate a data access key, and
encrypting the data access key using the public encryption key of the user device to generate the reencrypted data access key,
wherein decrypting the encrypted data access key to generate the data access key and encrypting the data access key to generate the reencrypted data access key are performed without exposing plaintext of the data access key to the electronic data access management system outside the protected reencryption program during execution of the protected reencryption program;
generating a data access response associated with the electronic data, the data access response comprising the reencrypted data access key; and
transmitting the data access response to the user device.
|