Saving and retrieving data based on public key encryption
AssigneeMicrosoft Corporation
InventorsPaul England, Marcus Peinado
Life of this patent
Estimating the term…
Abstract
In accordance with certain aspects, data is received from a calling program. Ciphertext that includes the data is generated, using public key encryption, in a manner that allows the data to be obtained from the ciphertext only if one or more conditions are satisfied. In accordance with another aspect, a bit string is received from a calling program. Data in the bit string is decrypted using public key decryption and returned to the calling program only if one or more conditions included in the bit string are satisfied.
Claims19
A computing device having one or more components implemented at least in part in hardware and that perform acts comprising:
- obtaining data to be sealed and one or more conditions that are to be satisfied in order for the data to be unsealed;
- sealing the data in response to a request by a caller by encrypting, in the computing device and using public key encryption, both the data and the one or more conditions to generate a ciphertext that includes both the encrypted data and the encrypted one or more conditions, the data not being unsealed if the one or more conditions are not satisfied, the one or more conditions including a program to be executed and the one or more conditions being satisfied only if execution of the program returns an indication of true;
- and
- returning the ciphertext to the caller.
A method comprising:
- invoking, in a device, an operation of a guard to seal data;
- and
- receiving, in response to invoking the operation, a ciphertext generated by the guard when sealing the data, the ciphertext including both the data and one or more conditions that are to be satisfied in order for the data to be unsealed, the one or more conditions including a program to be executed and the one or more conditions being satisfied only if execution of the program returns an indication of true, the data not being unsealed if the one or more conditions are not satisfied, the data and the one or more conditions having been encrypted using public key encryption.
A method comprising:
- invoking, in a device, an operation of a guard to have ciphertext decrypted;
- and
- receiving from the guard, in response to invoking the operation, decrypted data from the ciphertext only if one or more conditions included in the ciphertext are satisfied, the one or more conditions including a program and the one or more conditions being satisfied only if execution of the program returns an indication of true, the ciphertext being decrypted using public key decryption.
Dependencies are inferred from the claim text.