IP Library Granted Patent US 10,129,222
Granted Patent B2
US 10,129,222 · App. 15/495,320 · Granted Nov 13, 2018

Trusted storage systems and methods

Inventors: Umesh Maheshwari (San Jose, CA); Radek Vingralek (Belmont, CA); W. Olin Sibert (Lexington, MA)
Assignee: Intertrust Technologies Corporation
H04L63/0428G06F21/6218G06F21/80G06F21/805H04L9/0643G06F2211/007
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 10,129,222
App. No.
15/495,320
Granted
Nov 13, 2018
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 (44)

1. A method for storing data in an untrusted data store, the method being 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 system to perform the method, the method comprising:

receiving a first block of data for storage on a first partition of the untrusted data store;

retrieving a first partition leader associated with the first partition, the first partition leader specifying first security parameters associated with the first partition;

generating a first hash value of the first block of data;

encrypting the first block of data;

storing the encrypted first block of data in the first partition of the untrusted data store; and

generating a first descriptor associated with the encrypted first block of data, the first descriptor comprising a location of the encrypted first block of data on the untrusted data store and the first hash value.

2. The method of claim 1 , wherein the first security parameters specify a first encryption type associated with the first partition.

3. The method of claim 2 , wherein the specified first encryption type comprises an indication of a first encryption algorithm associated with the first partition.

4. The method of claim 1 , wherein the first security parameters comprise a first encryption key associated with the first partition, and wherein encrypting the first block of data comprises encrypting the first block of data using the first encryption key.

5. The method of claim 1 , wherein the first security parameters comprise first hashing parameters associated with the first partition, and wherein generating the first hash value comprises computing the first hash value using the first hashing parameters.

6. The method of claim 1 , wherein the method further comprises

receiving a second block of data for storage on a second partition of the untrusted data store;

retrieving a second partition leader associated with the second partition, the second partition leader specifying second security parameters associated with the second partition, the second security parameters being different, at least in part, from the first security parameters associated with the first partition;

generating a second hash value of the second block of data;

encrypting the second block of data;

storing the encrypted second block of data in the second partition of the untrusted data store; and

generating a second descriptor associated with the encrypted second block of data, the second descriptor comprising a location of the encrypted second block of data on the untrusted data store and the second hash value.

7. The method of claim 6 , wherein the second security parameters specify a second encryption type associated with the second partition.

8. The method of claim 7 , wherein the specified second encryption type comprises an indication of a second encryption algorithm associated with the second partition.

9. The method of claim 6 , wherein the second security parameters comprise a second encryption key associated with the second partition, and wherein encrypting the second block of data comprises encrypting the second block of data using the second encryption key.

10. The method of claim 6 , wherein the second security parameters comprise second hashing parameters associated with the second partition, and wherein generating the second hash value comprises computing the second hash value using the second hashing parameters.

11. A non-transitory computer-readable storage medium storing executable instructions that, when executed by a processor, cause the processor to perform a method for storing data in an untrusted data store comprising:

receiving a first block of data for storage on a first partition of the untrusted data store;

retrieving a first partition leader associated with the first partition, the first partition leader specifying first security parameters associated with the first partition;

generating a first hash value of the first block of data;

encrypting the first block of data;

storing the encrypted first block of data in the first partition of the untrusted data store; and

generating a first descriptor associated with the encrypted first block of data, the first descriptor comprising a location of the encrypted first block of data on the untrusted data store and the first hash value.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the first security parameters specify a first encryption type associated with the first partition.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the specified first encryption type comprises an indication of a first encryption algorithm associated with the first partition.

14. The non-transitory computer-readable storage medium of claim 11 , wherein the first security parameters comprise a first encryption key associated with the first partition, and wherein encrypting the first block of data comprises encrypting the first block of data using the first encryption key.

15. The non-transitory computer-readable storage medium of claim 11 , wherein the first security parameters comprise first hashing parameters associated with the first partition, and wherein generating the first hash value comprises computing the first hash value using the first hashing parameters.

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

receiving a second block of data for storage on a second partition of the untrusted data store;

retrieving a second partition leader associated with the second partition, the second partition leader specifying second security parameters associated with the second partition, the second security parameters being different, at least in part, from the first security parameters associated with the first partition;

generating a second hash value of the second block of data;

encrypting the second block of data;

storing the encrypted second block of data in the second partition of the untrusted data store; and

generating a second descriptor associated with the encrypted second block of data, the second descriptor comprising a location of the encrypted second block of data on the untrusted data store and the second hash value.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the second security parameters specify a second encryption type associated with the second partition.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the specified second encryption type comprises an indication of a second encryption algorithm associated with the second partition.

19. The non-transitory computer-readable storage medium of claim 16 , wherein the second security parameters comprise a second encryption key associated with the second partition, and wherein encrypting the second block of data comprises encrypting the second block of data using the second encryption key.

20. The non-transitory computer-readable storage medium of claim 16 , wherein the second security parameters comprise second hashing parameters associated with the second partition and wherein generating the second hash value comprises computing the second hash value using the second hashing parameters.

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 →
Continuity (9)
Continuation 14988477 · Jan 5, 2016
Continuation 14532401 · Nov 4, 2014
Continuation 13914556 · Jun 10, 2013
Continuation 13531322 · Jun 22, 2012
Continuation 12785343 · May 21, 2010
Continuation 11340326 · Jan 25, 2006
Continuation 09617148 · Jul 17, 2000
Provisional Application 60144378 · Jul 16, 1999
Related Publication 20180013731A1 · Jan 11, 2018
Cited By (3)
US 12,250,241 US 12,348,617 US 12,665,922