Blockchain for time-based release of information
AssigneeCA, Inc.
InventorsSteven Cornelis VERSTEEG, John Sinclair BIRD, Deborah Anne VETHECAN
Life of this patent
Estimating the term…
Abstract
A method includes distributing a plurality of key pieces associated with an encryption key to a plurality of key piece holders, adding release data to a blockchain database including sensitive data encrypted with the encryption key and a specified release date. The method further includes providing instructions to key piece holders to add respective key pieces to the blockchain database at the specified release date to facilitate time-based release of the sensitive data.
Claims20
A method, comprising:
- distributing a first key piece of a plurality of key pieces to a first key piece holder of a plurality of key piece holders, the plurality of key pieces being associated with an encryption key;
- distributing a second key piece of the plurality of key pieces to a second key piece holder of the plurality of key piece holders;
- adding release data to a blockchain database, wherein the release data comprises an identifier of sensitive data encrypted with the encryption key and a specified release date;
- and
- providing instructions to the first key piece holder of the plurality of key piece holders to add the first key piece of the plurality of key pieces to the blockchain database at the specified release date, and providing instructions to the second key piece holder of the plurality of key pieces holders to add the second key piece of the plurality of key pieces to the blockchain database at the specified release date.
A computer configured to access a storage device, the computer comprising:
- a processor;
- and
- a non-transitory, computer-readable storage medium storing computer-readable instructions that when executed by the processor cause the computer to perform:
- deriving an encryption key from a plurality of key pieces using an encryption function, wherein the encryption function is configured to allow the encryption key to be determined on or after a specified release date using fewer than all of the plurality of key pieces;
- encrypting sensitive data with the encryption key;
- distributing a first key piece of the plurality of key pieces to a first key piece holder of a plurality of key piece holders, the plurality of key pieces being associated with an encryption key;
- distributing a second key piece of the plurality of key pieces to a second key piece holder of the plurality of key piece holders;
- adding release data to a blockchain database, wherein the release data comprises an identifier of sensitive data encrypted with the encryption key and a specified release date;
- and providing instructions to the first key piece holder of the plurality of key piece holders to add the first key piece of the plurality of key pieces to the blockchain database at the specified release date, and providing instructions to the second key piece holder of the plurality of key pieces holders to add the second key piece of the plurality of key pieces to the blockchain database at the specified release date.
The computer of clam 11, wherein the plurality of key pieces comprises additional key pieces other than the first and second key pieces, and the plurality of key piece holders comprise additional key piece holders other than the first and second key piece holders, and further comprising:
- distributing each respective one of the additional key pieces to different respective ones of the additional key piece holders;
- and
- instructing each additional key piece holder to add the respective one of the additional key pieces to the blockchain database at the specified release time.
The computer of clam 11, wherein the plurality of key pieces comprises all key pieces that are associated with the encryption key.
The computer of clam 11, wherein the computer-readable instructions further cause the computer to perform:
- instructing at least one key piece holder of the plurality of key piece holders to perform decryption operations comprising:
- determining that a current date is equal to or later than the specified release date;
- in response to determining that the current date is equal to or later than the specified release date, obtaining at least a threshold quantity of the plurality of key pieces from the blockchain database;
- determining the encryption key from at least a threshold quantity of the plurality of key pieces obtained from the blockchain database;
- and
- decrypting the sensitive data using the determined encryption key.
The computer of clam 11, wherein each key piece holder of the plurality of key piece holders is associated with a respective public key and a respective private key.
A computer program product comprising:
- a computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code comprising:
- computer-readable program code configured to derive an encryption key from a plurality of key pieces using an encryption function, wherein the encryption function is configured to allow the encryption key to be determined on or after a specified release date using fewer than all of the plurality of key pieces;
- computer-readable program code configured to encrypt sensitive data with the encryption key;
- computer-readable program code configured to distribute a first key piece of the plurality of key pieces to a first key piece holder of a plurality of key piece holders, the plurality of key pieces being associated with an encryption key;
- computer-readable program code configured to distribute a second key piece of the plurality of key pieces to a second key piece holder of the plurality of key piece holders;
- computer-readable program code configured to add release data to a blockchain database, wherein the release data comprises an identifier of sensitive data encrypted with the encryption key and a specified release date;
- computer-readable program code configured to provide instructions to the first key piece holder of the plurality of key piece holders to add the first key piece of the plurality of key pieces to the blockchain database at the specified release date, and providing instructions to the second key piece holder of the plurality of key pieces holders to add the second key piece of the plurality of key pieces to the blockchain database at the specified release date;
- and
- computer-readable program code configured to add release instructions associated with the release data to the blockchain database, wherein the release instructions comprise instructions that are executable to cause a system to determine the encryption key using at least a threshold quantity of the plurality of key pieces added to the blockchain database and decrypt the sensitive data with the encryption key at the specified release date
Dependencies are inferred from the claim text.