×

Securing data in a dispersed storage network

  • US 10,360,097 B2
  • Filed: 08/29/2016
  • Issued: 07/23/2019
  • Est. Priority Date: 05/30/2013
  • Status: Active Grant
First Claim
Patent Images

1. A method for execution by a storage unit of a dispersed storage network (DSN), the method comprises:

  • receiving, from a requesting computing device of the DSN, a retrieval request regarding an encoded key stream slice of a set of encoded key stream slices and an encoded and encrypted data slice of a set of encoded and encrypted data slices, wherein a plurality of data elements of a data element set of a data object is encrypted using a plurality of keystream characters of a key stream and an encryption function to produce a plurality of encrypted data elements, wherein the plurality of encrypted data elements are arranged to produce an encrypted data element set, wherein the encrypted data element set is dispersed storage error encoded in accordance with dispersed data storage parameters to produce the set of encoded and encrypted data slices, wherein the set of encoded and encrypted data slices are stored in a set of storage units of the DSN, wherein the key stream is dispersed storage error encoded in accordance with the dispersed data storage parameters to produce the set of encoded key stream slices, wherein the set of encoded key stream slices are stored in the set of storage units, wherein the set of storage units includes the storage unit, and wherein the dispersed data storage parameters include a decode threshold number;

    partially dispersed storage error decoding the encoded key stream slice to produce a partially decoded key stream vector that includes a plurality of partially decoded key stream vector blocks;

    partially dispersed storage error decoding the encoded and encrypted data slice to produce a partially decoded and encrypted data vector that includes a plurality of partially decoded and encrypted data vector blocks;

    partially decrypting the partially decoded and encrypted data vector based on a function in accordance with the encryption function and based on the partially decoded key stream vector to produce a partially decrypted and decoded data vector, wherein the function includes an exclusive OR that is performed on corresponding blocks of the plurality of partially decoded key stream vector blocks and the plurality of partially decoded and encrypted data vector blocks; and

    sending the partially decrypted and decoded data vector to the requesting computing device, wherein the requesting computing device is without access to the key stream, and wherein the decode threshold number of partially decrypted and decoded data vectors are required to reconstruct the data element set.

View all claims
  • 4 Assignments
Timeline View
Assignment View
    ×
    ×