IP Library Granted Patent US 9,641,490
Granted Patent B2
US 9,641,490 · App. 14/988,477 · Granted May 2, 2017

Trusted storage systems and methods

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,641,490
App. No.
14/988,477
Granted
May 2, 2017
Kind
B2
Abstract

Systems and methods are disclosed for providing a trusted database system that leverages a small amount of trusted storage to secure a larger amount of untrusted storage. Data are encrypted and validated to prevent unauthorized modification or access. Encryption and hashing are integrated with a low-level data model in which data and meta-data are secured uniformly. Synergies between data validation and log-structured storage are exploited.

Claims (48)

1. A method performed by a system comprising a processor and a non-transitory computer-readable storage medium storing instructions that, when executed by the processor, cause the processor to perform the method, the method comprising:

encrypting a first block of data with a first cryptographic key to generate a first encrypted block of data, the first block of data comprising a second cryptographic key;

encrypting a second block of data with the second cryptographic key to generate a second encrypted block of data, the second block of data comprising a third cryptographic key,

storing the first encrypted block of data and the second encrypted block of data on a non-volatile storage medium;

generating an index comprising the first cryptographic key and a first link associating the first encrypted block of data with the second encrypted block of data; and

storing the index in a secure storage medium.

2. The method of claim 1 , further comprising receiving the first block of data and the second block of data for storage on the non-volatile storage medium.

3. The method of claim 1 , further comprising:

retrieving the first cryptographic key from the index;

retrieving the first encrypted block of data from the non-volatile storage medium; and

decrypting the first encrypted block of data using the first cryptographic key.

4. The method of claim 3 , further comprising:

retrieving the second cryptographic key from the decrypted first block of data, and

retrieving the first link associating the first encrypted block of data with the second encrypted block of data from the index; and

decrypting the second encrypted block of data using the second cryptographic key based on the first link.

5. The method of claim 1 , wherein the first encrypted block of data and the second encrypted block of data are stored on the non-volatile storage medium in a log structured file.

6. The method of claim 1 , wherein the index further comprises a hierarchical location map comprising information for locating the first encrypted block of data and the second encrypted block of data on the non-volatile storage medium.

7. The method of claim 6 , wherein the hierarchical location map comprises one or more nodes, a first node of the one or more nodes comprising a first cryptographic hash of the first block of data and an indicator specifying a location of the first encrypted block of data on the non-volatile storage medium.

8. The method of claim 1 , wherein the method further comprises:

encrypting a third block of data with the third cryptographic key to generate a third encrypted block of data, the third block of data comprising a fourth cryptographic key; and

storing the third encrypted block of data on the non-volatile storage medium;

wherein the index further comprises a second link associating the second encrypted block of data with the third encrypted block of data.

9. The method of claim 1 , wherein the non-transitory computer-readable storage medium and the non-volatile storage medium comprise a single storage medium.

10. The method of claim 1 , wherein secure storage medium is associated with a protected processing environment of the system.

11. A non-transitory computer-readable storage medium storing executable instructions that, when executed by a processor of a system, cause the processor to perform a method comprising:

encrypting a first block of data with a first cryptographic key to generate a first encrypted block of data, the first block of data comprising a second cryptographic key;

encrypting a second block of data with the second cryptographic key to generate a second encrypted block of data, the second block of data comprising a third cryptographic key,

storing the first encrypted block of data and the second encrypted block of data on a non-volatile storage medium;

generating an index comprising the first cryptographic key and a first link associating the first encrypted block of data with the second encrypted block of data; and

storing the index in a secure storage medium.

12. The non-transitory computer-readable storage medium of claim 11 , further comprising receiving the first block of data and the second block of data for storage on the non-volatile storage medium.

13. The non-transitory computer-readable storage medium of claim 11 , further comprising:

retrieving the first cryptographic key from the index;

retrieving the first encrypted block of data from the non-volatile storage medium; and

decrypting the first encrypted block of data using the first cryptographic key.

14. The non-transitory computer-readable storage medium of claim 13 , further comprising:

retrieving the second cryptographic key from the decrypted first block of data, and

retrieving the first link associating the first encrypted block of data with the second encrypted block of data from the index; and

decrypting the second encrypted block of data using the second cryptographic key based on the first link.

15. The non-transitory computer-readable storage medium of claim 11 , wherein the first encrypted block of data and the second encrypted block of data are stored on the non-volatile storage medium in a log structured file.

16. The non-transitory computer-readable storage medium of claim 11 , wherein the index further comprises a hierarchical location map comprising information for locating the first encrypted block of data and the second encrypted block of data on the non-volatile storage medium.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the hierarchical location map comprises one or more nodes, a first node of the one or more nodes comprising a first cryptographic hash of the first block of data and an indicator specifying a location of the first encrypted block of data on the non-volatile storage medium.

18. The non-transitory computer-readable storage medium of claim 11 , wherein the method further comprises:

encrypting a third block of data with the third cryptographic key to generate a third encrypted block of data, the third block of data comprising a fourth cryptographic key; and

storing the third encrypted block of data on the non-volatile storage medium;

wherein the index further comprises a second link associating the second encrypted block of data with the third encrypted block of data.

19. The non-transitory computer-readable storage medium of claim 11 , wherein the non-transitory computer-readable storage medium and the non-volatile storage medium comprise a single storage medium.

20. The non-transitory computer-readable storage medium of claim 11 , wherein secure storage medium is associated with a protected processing environment of the system.

Assignments (2)
RELEASE OF SECURITY INTEREST Recorded Feb 14, 2023
From: ORIGIN FUTURE ENERGY PTY LTD.
To: INTERTRUST TECHNOLOGIES CORPORATION
Reel/Frame 062747/0742 →
SECURITY INTEREST Recorded Mar 18, 2020
From: INTERTRUST TECHNOLOGIES CORPORATION
To: ORIGIN FUTURE ENERGY PTY LTD
Reel/Frame 052189/0343 →