System and method for secure storage of data using public and private keys
First Claim
1. A method, implemented in a system, the method comprising:
- receiving a block of data and a target operating system identity;
encrypting the block of data using a public key of a pair of public and private keys;
subsequently receiving a request to decrypt the encrypted block of data; and
returning the encrypted block of data to the requester only if the target operating system identity is equal to an operating system identity when the request to decrypt is received.
2 Assignments
0 Petitions
Accused Products
Abstract
In one aspect, a data structure to be encrypted is received, the data structure including content along with a statement of conditions under which the content may be decrypted. The content is encrypted using a public key of a pair of public and private keys of a device that is to decrypt the data structure. In another aspect, a data structure is decrypted using a private key of a pair of public and private keys. A statement of conditions under which content in the data structure can be decrypted is obtained, and testing is performed as to whether the conditions are satisfied. The decrypted content is returned only if the conditions are satisfied.
-
Citations
61 Claims
-
1. A method, implemented in a system, the method comprising:
-
receiving a block of data and a target operating system identity;
encrypting the block of data using a public key of a pair of public and private keys;
subsequently receiving a request to decrypt the encrypted block of data; and
returning the encrypted block of data to the requester only if the target operating system identity is equal to an operating system identity when the request to decrypt is received. - View Dependent Claims (2, 3)
-
-
4. A method comprising:
-
receiving a data structure to be encrypted, wherein the data structure includes content along with a statement of conditions under which the content may be decrypted; and
encrypting the content using a public key of a pair of public and private keys of a device that is to decrypt the content. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. One or more computer readable memories having stored thereon a plurality of instructions that, when executed by one or more processors, causes the one or more processors to:
-
receive a data structure to be encrypted, wherein the data structure includes content along with a statement of conditions under which the content may be decrypted; and
encrypt the content using a public key of a pair of public and private keys of a device that is to decrypt the content. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A system comprising:
-
means for receiving a data structure to be encrypted, wherein the data structure includes content along with a statement of conditions under which the content may be decrypted; and
means for encrypting the data structure using a public key of a pair of public and private keys of a processor that is to decrypt the data structure. - View Dependent Claims (21)
-
-
22. A method comprising:
-
decrypting a data structure using a private key of a pair of public and private keys;
obtaining a statement of conditions under which content in the data structure can be decrypted;
testing whether the conditions are satisfied; and
returning the decrypted content only if the conditions are satisfied. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. One or more computer readable memories having stored thereon a plurality of instructions that, when executed by a processor, causes the processor to:
-
decrypt a data structure using a private key of a pair of public and private keys;
obtain a statement of conditions under which content in the data structure can be decrypted;
test whether the conditions are satisfied; and
return the decrypted content only if the conditions are satisfied. - View Dependent Claims (32, 33, 34, 35, 36)
-
-
37. A system comprising:
-
means for decrypting a data structure using a private key of a pair of public and private keys of a processor;
means for obtaining a statement of conditions under which content in the data structure can be decrypted;
means for testing whether the conditions are satisfied; and
means for returning the decrypted content only if the conditions are satisfied. - View Dependent Claims (38)
-
-
39. A method comprising:
-
obtaining a block of data to be encrypted and a target operating system identity; and
invoking a seal operation to have the block of data encrypted using a public key of a pair of public and private keys of a processor that is to be able to decrypt the block of data. - View Dependent Claims (40, 41)
-
-
42. One or more computer readable memories having stored thereon a plurality of instructions that, when executed by one or more processors, causes the one or more processors to:
-
obtain content to be encrypted; and
invoke a seal operation, inputting both the content and a statement of conditions under which the content may be decrypted, to have the content encrypted using a public key of a pair of public and private keys of a device that may decrypt the data structure. - View Dependent Claims (43, 44, 45, 46, 47)
-
-
48. A method comprising:
-
invoking a reveal operation in order to have a data block decrypted using a private key of a pair of public and private keys of a processor; and
receiving, in response to invoking the reveal operation, the decrypted data block only if conditions under which content in the data block can be decrypted are satisfied. - View Dependent Claims (49, 50, 51, 52)
-
-
53. One or more computer readable memories having stored thereon a plurality of instructions that, when executed by a processor, causes the processor to:
-
invoke a reveal operation in order to have a data block decrypted using a private key of a pair of public and private keys of the processor; and
receive, in response to invoking the reveal operation, the decrypted data block only if conditions under which content in the data block can be decrypted are satisfied. - View Dependent Claims (54, 55, 56, 57)
-
-
58. One or more computer readable memories having stored thereon a plurality of instructions that, when executed by a processor of a device, causes the processor to:
-
make a seal operation and a reveal operation available for invoking;
wherein the seal operation causes content to be encrypted with a public key of a pair of public and private keys of the processor along with a statement of the conditions under which it may be decrypted; and
wherein the reveal operation causes the content to be returned to a requester if the conditions are satisfied. - View Dependent Claims (59, 60, 61)
-
Specification