×

Distributed data set encryption and decryption

  • US 9,990,367 B2
  • Filed: 09/01/2017
  • Issued: 06/05/2018
  • Est. Priority Date: 07/27/2015
  • Status: Active Grant
First Claim
Patent Images

1. An apparatus comprising a processor component and a storage to store instructions that, when executed by the processor component, cause the processor component to perform operations comprising:

  • transmit, to multiple node devices, a command to encrypt a data set distributed among the multiple node devices for storage;

    receive, from at least one node device of the multiple node devices, at least a portion of metadata indicative of organization of data within the data set, wherein;

    the data set is to be stored as multiple encrypted data blocks within a data file maintained by one or more storage devices;

    each node device of the multiple node devices is to provide at least one encrypted data block of the multiple encrypted data blocks to be stored;

    the organization of the multiple encrypted data blocks within the data file is to be indicated in map data that is to comprise multiple map entries;

    each map entry of the multiple map entries is to correspond to an encrypted data block of the multiple encrypted data blocks; and

    at least a subset of the multiple node devices are to each encrypt a portion of the data of the data set to generate at least one of the multiple encrypted data blocks at least partially in parallel;

    receive, from each node device of the multiple node devices, an indication of a size of one of the multiple encrypted data blocks and data block encryption data, wherein the data block encryption data is generated by the node device and is used by the node device to encrypt a portion of the data set to generate the one of the multiple encrypted data blocks;

    for each encrypted data block of the multiple encrypted data blocks for which an indication of size and data block encryption data is received, generate a corresponding one of the multiple map entries within the map data to include the indication of size and the data block encryption data; and

    in response to receipt of indications of size and data block encryption data for the encrypted data blocks of the multiple encrypted data blocks, perform operations comprising;

    use, by the processor component, metadata block encryption data to encrypt the metadata to generate an encrypted metadata block;

    add the metadata block encryption data to the map data;

    transmit the encrypted metadata block to the one or more storage devices to be stored at a first predetermined location within the data file;

    use, by the processor component, first map block encryption data to encrypt a first portion of the map data to generate an encrypted map base, wherein the first portion of the map data includes at least a first subset of the multiple map entries and the metadata block encryption data; and

    transmit the encrypted map base to the one or more storage devices to be stored at a second predetermined location within the data file.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×