IP Library Granted Patent US 8,744,071
Granted Patent B2
US 8,744,071 · App. 12/551,117 · Granted Jun 3, 2014

Dispersed data storage system data encryption and encoding

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 8,744,071
App. No.
12/551,117
Granted
Jun 3, 2014
Kind
B2
Abstract

A computing system securely stores data to a dispersed data storage system. The computing system includes a processing module and a plurality of storage units. The processing module includes an encryptor and error encoder to encrypt and encode the data for dispersal utilizing a write command to the storage units. The storage units store the encrypted and encoded data when receiving the write command and the encrypted and encoded data.

Claims (43)

1. A method for execution by a processing module, the method comprises:

encrypting a data segment of data using an encryption key to produce encrypted data;

encoding the encryption key to produce an encoded encryption key;

combining the encrypted data and the encoded encryption key to produce transformed data;

error encoding the transformed data to produce a set of encoded data slices, wherein the error encoding of the transformed data by the processing module further comprises:

slicing the transformed data into k data slices;

error encoding the k data slices to produce n encoded data slices; and

arranging the n encoded data slices into the set of encoded data slices; and

outputting, via a network, the set of encoded data slices to storage nodes of a dispersed storage network.

2. The method of claim 1 , wherein the encoding of the encryption key by the processing module further comprises:

performing a hash function on the encrypted data to produce a digest resultant; and

combining the encryption key and the digest resultant to produce the encoded encryption key.

3. The method of claim 1 , wherein the encoding of the encryption key by the processing module further comprises:

encoding the encryption key using a secret sharing scheme to produce a plurality of encoded key shares, wherein the encoded encryption key includes the plurality of encoded key shares.

4. The method of claim 1 , wherein the error encoding of the transformed data by the processing module further comprises:

error encoding the transformed data using a forward error correction scheme having a failure tolerance of n−k, where k is number of input symbols and n is the number of output symbols, to produce the error coded data.

5. The method of claim 1 further comprises, for execution by the processing module:

appending, prior to encrypting the data, a sentinel value to a data block or a data segment of a data file to produce the data.

6. The method of claim 1 , wherein the outputting the error coded data comprises:

generating a set of write commands to write the set of encoded data slices; and

sending the set of write commands to the storage nodes.

7. A computing device comprises:

a processing module;

memory operably coupled to the processing module; and

an input/output (IO) port, wherein the processing module is operably coupled to:

encrypt data using an encryption key to produce encrypted data;

encode the encryption key to produce an encoded encryption key;

combine the encrypted data and the encoded encryption key to produce transformed data; and

error encode the transformed data to produce a set of encoded data slices, wherein the error encoding includes:

slicing the transformed data into k data slices; and

error encoding the k data slices to produce n encoded data slices; and

arrange the n encoded data slices into the set of encoded data slices; and

the IO port is operably coupled to output the set of encoded data slices to storage nodes of a dispersed storage network.

8. The computing device of claim 7 , wherein the processing module further functions to encode the encryption key by:

performing a hash function on the encrypted data to produce a digest resultant; and

combining the encryption key and the digest resultant to produce the encoded encryption key.

9. The computing device of claim 7 , wherein the processing module further functions to encode the encryption key by:

encoding the encryption key using a secret sharing scheme to produce a plurality of encoded key shares, wherein the encoded key includes the plurality of encoded key shares.

10. The computing device of claim 7 , wherein the processing module further functions to:

append, prior to encrypting the data, a sentinel value to a data block or a data segment of a data file to produce the data.

11. The computing device of claim 7 , wherein the processing module further functions to:

generate a set of write commands to write the set of encoded data slices; and

send the set of write commands to the storage nodes via the IO port.

Assignments (6)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 9992063 AND 10334045 LISTED IN ERROR PREVIOUSLY RECORDED ON REEL 049556 FRAME 0012. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 052205/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038687/0596 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2009
From: LEGGETTE, WESLEY; RESCH, JASON K.
To: CLEVERSAFE, INC.
Reel/Frame 023230/0785 →