Method for storing an object on a plurality of storage nodes
Abstract
A method storing an object on a plurality of storage nodes includes encrypting an object to be stored with a key, computing one or more hash values for the object to be stored, storing the encrypted object on the plurality of storage nodes, providing storage location data for the stored object, and computing a transaction for a blockchain. Information can be encoded in the transaction. The encoded information can represent the storage location data and the computed one or more hash values and key data. The key data can include at least one of: (i) a copy of the key and (ii) a copy of a master secret from which the key was derived.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for storing an object on a plurality of storage nodes, the method comprising:
a) encrypting an object to be stored with a key, b) computing one or more hash values for the object to be stored, c) storing the encrypted object on the plurality of storage nodes, d) providing storage location data for the stored object, e) computing a transaction for a blockchain, wherein information is encoded in the transaction, the encoded information representing the storage location data, the computed one or more hash values and key data, wherein the key data includes at least one of: (i) a copy of the key and (ii) a copy of a master secret from which the key was derived, and f) storing the transaction in the blockchain, wherein the key data encoded into the blockchain transaction, including the at least one of the copy of the key and the copy of the master secret for deriving the key, is encrypted.
2 . The method of claim 1 , wherein the key data in the blockchain transaction includes the copy of the key, which is encrypted.
3 . The method of claim 1 , further comprising:
retrieving the object from one or more of the storage nodes; comparing a hash value of the retrieved object with the hash value computed during storage of the object and, based on the hash values matching, determining that the stored object has not been altered.
4 . The method of claim 1 , further comprising:
providing a number of confirmations for the transaction stored in the blockchain by the blockchain nodes, and comparing the number of confirmations with a predefined threshold confirmation number, wherein the predefined threshold confirmation number is computed such that with a pregiven certainty the encoded information in the transaction stored in the blockchain cannot be modified.
5 . The method of claim 1 , wherein the key data includes the copy of the master secret, which is encrypted.
6 . The method of claim 1 , wherein an information dispersal algorithm is used on the encrypted object to be stored resulting in a first number of chunks, such that the encrypted object is reconstructable from a second number of chunks, the second number of chunks being smaller than the first number of chunks, and wherein in step c) then the hash values for the first number of chunks is computed and subsequently used.
7 . The method according to claim 1 , wherein a public/private key pair is provided for each user of a plurality of users, wherein each public key maps to a blockchain address, and wherein a master key which is used for encryption of an object is preshared among the plurality of users.
8 . The method of claim 1 , wherein the object is a group encryption key defined for a group of users.
9 . A processing system comprising one or more processors configured to perform the method of claim 1 .
10 . A processing system comprising one or more processors configured to:
a) encrypt an object to be stored with a key, b) compute one or more hash values for the object to be stored, c) store the encrypted object on a plurality of storage nodes, d) provide storage location data for the stored object, e) compute a transaction for a blockchain, wherein information is encoded in the transaction, the encoded information representing the storage location data, the computed one or more hash values and key data, wherein the key data includes at least one of: (i) a copy of the key and (ii) a copy of a master secret from which the key was derived, wherein the key data encoded into the blockchain transaction, including the at least one of the copy of the key and the copy of the master secret for deriving the key, is encrypted, and f) store the transaction in the blockchain,
11 . The system of claim 10 , wherein the one or more processors are configured such that the key data in the blockchain transaction includes the copy of the key, which is encrypted.
12 . The system of claim 10 , wherein the one or more processors are configured to:
retrieve the object from one or more of the storage nodes; compare a hash value of the retrieved object with the hash value computed during storage of the object and, based on the hash values matching, determining that the stored object has not been altered.
13 . The system of claim 10 , wherein the one or more processors are configured to:
receive a number of confirmations for the transaction stored in the blockchain by the blockchain nodes, and compare the number of confirmations with a predefined threshold confirmation number, wherein the predefined threshold confirmation number is computed such that with a pregiven certainty the encoded information in the transaction stored in the blockchain cannot be modified.
14 . The system of claim 10 , wherein the one or more processors are configured such that the key data includes the copy of the master secret, which is encrypted.
15 . A non-transitory computer-readable medium comprising program code for configuring a processing system comprising one or more processors to perform the method of claim 1 .Join the waitlist — get patent alerts
Track US2020374126A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.