IP Library Granted Patent US 10,447,474
Granted Patent B2
US 10,447,474 · App. 12/551,145 · Granted Oct 15, 2019

Dispersed data storage system data decoding and decryption

Inventors: Wesley Leggette (Oak Park, IL); Jason K. Resch (Chicago, IL)
Assignee: PURE STORAGE, INC.
H04L9/0894G06F11/1076G06F21/78H04L1/0057H04L63/0428G06F2221/2109H03M13/15H03M13/1515H03M13/23H04L2209/16H04L2209/34H04L2463/062
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,447,474
App. No.
12/551,145
Granted
Oct 15, 2019
Kind
B2
Abstract

A computing system retrieves securely stored encrypted and encoded data from a dispersed data storage system. The computing system includes a processing module and a plurality of storage units. The processing module includes an error decoder and a decryptor and to decode and decrypt the encrypted and encoded data retrieved from the dispersed data storage system utilizing a read command to the storage units. The storage units retrieve the encrypted and encoded data and send the encrypted and encoded data to the processing module when receiving the read command.

Claims (45)

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

receiving, via a network interface, error coded data;

decoding the error coded data using an error coding scheme to produce transformed data;

partitioning the transformed data into an encoded encryption key for decoding encrypted data included in the transformed data and the encrypted data;

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

combining the digest resultant with the encoded encryption key to generate combined key data;

decoding the combined key data to recover an encryption key; and

decrypting the encrypted data using the encryption key to recover data.

2. The method of claim 1 , wherein the decoding the error coded data by the processing module further comprises:

receiving at least k number of error coded data slices; and

error decoding the at least k number of error coded data slices using a forward error correction scheme having a failure tolerance of n−k to produce n decoded data slices of the transformed data.

3. The method of claim 1 , wherein the decoding the error coded data by the processing module further comprises:

receiving at least k of (n−k) encoded data slices and k data slices as the error coded data;

error decoding at least k of the (n−k) data slices and the k data slices to produce n decoded data slices, wherein k is a threshold number; and

de-slicing the n decoded data slices to produce the transformed data.

4. The method of claim 1 , wherein the decoding the encoded encryption key by the processing module further comprises:

decoding a plurality of encoded key shares of the encoded encryption key using a secret sharing scheme to recover the encryption key.

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

extracting a sentinel value from the data;

verifying accuracy of the sentinel value; and

when the sentinel value is accurate, indicating that the data is accurate.

6. A computing device comprises:

a processing module;

memory operably coupled to the processing module; and

an input/output (TO) port operably coupled to receive error coded data, wherein the processing module is operably coupled to:

decode the error coded data using an error coding scheme to produce transformed data;

partition the transformed data into an encoded encryption key for decoding encrypted data included in the transformed data and the encrypted data;

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

combine the digest resultant with the encoded encryption key to generate combined key data;

decode the combined key data to recover an encryption key; and

decrypt the encrypted data using the encryption key to recover data.

7. The computing device of claim 6 further comprises:

the IO port operably coupled to receive at least k number of error coded data slices; and

the processing module operably coupled to error decode the at least k number of error coded data slices using a forward error correction scheme having a failure tolerance of n−k to produce n decoded data slices of the transformed data.

8. The computing device of claim 6 further comprises:

the IO port operably coupled to receive at least k of (n−k) encoded data slices and the k data slices as the error coded data; and

the processing module operably coupled to:

error decode at least k of the (n−k) data slices and the k data slices to produce n decoded data slices, wherein k is a threshold number; and

de-slice the n decoded data slices to produce the transformed data.

9. The computing device of claim 6 , wherein the processing module further functions to decode the encoded encryption key by:

decoding a plurality of encoded key shares of the encoded encryption key using a secret sharing scheme to recover the encryption key.

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

extract a sentinel value from the data;

verify accuracy of the sentinel value; and

when the sentinel value is accurate, indicate that the data is accurate.

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 DELETE 15/174/279 AND 15/174/596 PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 49555 FRAME: 530. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 7, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 051495/0831 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049555/0530 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038629/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2009
From: LEGGETTE, WESLEY; RESCH, JASON K.
To: CLEVERSAFE, INC.
Reel/Frame 023230/0838 →