IP Library Granted Patent US 10,644,874
Granted Patent B2
US 10,644,874 · App. 16/053,466 · Granted May 5, 2020

Limiting brute force attacks against dispersed credentials in a distributed storage system

Inventors: Jason K. Resch (Chicago, IL); Greg R. Dhuse (Chicago, IL); Bart R. Cilfone (Marina del Rey, CA)
Assignee: PURE STORAGE, INC.
H04L9/002G06F21/31G06F21/602G06F21/6218H04L9/085H04L9/0863H04L9/0869H04L9/3226H04L63/04H04L63/06H04L67/1097H04L67/22
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,644,874
App. No.
16/053,466
Granted
May 5, 2020
Kind
B2
Abstract

A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method begins by performing a key derivation function on a password to produce a key and issuing a set of blinded passwords to a set of storage units, where the blinded passwords are generated based on the key. The method continues by receiving at least a decode threshold number of confidential information responses, where each of the confidential information responses includes an encrypted encoded data slice and an associated passkey, regenerating a set of keys using the associated passkeys of the confidential information, decrypting a set of encrypted slices of the confidential information using the set of keys to reproduce a set of encoded data slices, and dispersed storage error decoding a decode threshold number of the set of reproduced encoded data slices to produce recovered data.

Claims (44)

1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:

performing a key derivation function on a password to produce a key;

issuing a set of blinded passwords to a set of storage units, where the set of blinded passwords are generated based on the key;

receiving at least a decode threshold number of confidential information responses, where each of the confidential information responses includes an encrypted encoded data slice and an associated passkey;

regenerating a set of keys using the associated passkeys of the at least a decode threshold number of confidential information responses;

decrypting a set of encrypted encoded data slices of the confidential information using the set of keys to reproduce a set of encoded data slices; and

dispersed storage error decoding a decode threshold number of the set of encoded data slices to produce recovered data.

2. The method of claim 1 , wherein the associated passkey includes at least a first passkey generated by a corresponding storage unit of the set of storage units in accordance with a formula of: passkey 1=bpass1^e1 modulo p, where e1 is a recovered random number associated with the encrypted encoded data slice and a corresponding original random number.

3. The method of claim 1 , wherein the set of blinded passwords are generated based on the key includes generating a first blinded password in accordance with a formula of: blinded password 1=[[MGF(KEY)]^2]^b1 modulo p, where b1 is a random number of a set of random numbers.

4. The method of claim 1 , wherein the regenerating a set of keys using passkeys of the confidential information includes generating a first key of the set of keys in accordance with a formula of key 1=passkey1^v1 modulo p; where b1*v1=1 modulo q and where q=(p−1)/2.

5. The method of claim 4 further comprises decrypting an encrypted data slice 1 using the first key 1 to produce an encoded data slice 1 of the set of encoded data slices.

6. The method of claim 1 , wherein the key derivation function includes at least one algorithm requiring increased time or memory resources while attempting each of a plurality of candidate passwords.

7. A computing device of a group of computing devices of a dispersed storage network (DSN), the computing device comprises:

an interface;

a local memory; and

a processing module operably coupled to the interface and the local memory, wherein the processing module functions to:

perform a key derivation function on a password to produce a key;

issue a set of blinded passwords to a set of storage units, where the set of blinded passwords are generated based on the key;

receive at least a decode threshold number of confidential information responses, where each of the confidential information responses includes an encrypted encoded data slice and an associated passkey;

regenerate a set of keys using the associated passkeys of the at least a decode threshold number of confidential information responses;

decrypt a set of encrypted encoded data slices of the confidential information using the set of keys to reproduce a set of encoded data slices; and

disperse storage error decoding a decode threshold number of the set of encoded data slices to produce recovered data.

8. The computing device of claim 7 , wherein the associated passkey includes at least a first passkey generated by a corresponding storage unit of the set of storage units in accordance with a formula of: passkey 1=bpass1^e1 modulo p, where e1 is a recovered random number associated with the encrypted encoded data slice and a corresponding original random number.

9. The computing device of claim 7 , wherein the set of blinded passwords are generated based on the key includes generating a first blinded password in accordance with a formula of: blinded password 1=[[MGF(KEY)]^2]^b1 modulo p, where b1 is a random number of a set of random numbers.

10. The computing device of claim 7 , wherein the regenerate a set of keys using passkeys of the confidential information includes generating a first key of the set of keys in accordance with a formula of key 1=passkey1^v1 modulo p; where b1*v1=1 modulo q and where q=(p−1)/2.

11. The computing device of claim 10 further comprises decrypting an encrypted data slice 1 using the first key 1 to produce an encoded data slice 1 of the set of encoded data slices.

12. The computing device of claim 7 , wherein the key derivation function includes at least one algorithm requiring increased time or memory resources while attempting each of a plurality of candidate passwords.

13. A distributed storage network (DSN) system comprises:

a plurality of DSN storage units;

a dispersed storage client module including:

an interface;

a local memory; and

a processing module operably coupled to the interface and the local memory, wherein the processing module functions to:

perform a key derivation function on a password to produce a key;

issue a set of blinded passwords to a set of the plurality of DSN storage units, where the set of blinded passwords are generated based on the key;

receive at least a decode threshold number of confidential information responses, where each of the confidential information responses includes an encrypted encoded data slice and an associated passkey;

regenerate a set of keys using the associated passkeys of the at least a decode threshold number of confidential information responses;

decrypt a set of encrypted encoded data slices of the confidential information using the set of keys to reproduce a set of encoded data slices; and

disperse storage error decoding a decode threshold number of the set of encoded data slices to produce recovered data.

14. The DSN system of claim 13 , wherein the associated passkey includes at least a first passkey generated by a corresponding storage unit of the set of the plurality of DSN storage units in accordance with a formula of: passkey 1=bpass1^e1 modulo p, where e1 is a recovered random number associated with the encrypted encoded data slice and a corresponding original random number.

15. The DSN system of claim 13 , wherein the set of blinded passwords are generated based on the key includes generating a first blinded password in accordance with a formula of: blinded password 1=[[MGF(KEY)]^2]^b1 modulo p, where b1 is a random number of a set of random numbers.

16. The DSN system of claim 13 , wherein the regenerate a set of keys using passkeys of the confidential information includes generating a first key of the set of keys in accordance with a formula of key 1=passkey1^v1 modulo p; where b1*v1=1 modulo q and where q=(p−1)/2.

17. The DSN system of claim 16 further comprises decrypting an encrypted data slice 1 using the first key 1 to produce an encoded data slice 1 of the set of encoded data slices.

18. The DSN system of claim 13 , wherein the key derivation function includes at least one algorithm requiring increased time or memory resources while attempting each of a plurality of candidate passwords.

Assignments (5)
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 Aug 2, 2018
From: RESCH, JASON K.; DHUSE, GREG R.; CILFONE, BART R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 046542/0975 →