IP Library › Granted Patent US 12,333,143
Granted Patent B2
US 12,333,143 · App. 18/171,203 · Granted Jun 17, 2025

Methods and system of preventing duplication of encrypted data

Inventor: Assaf Natanzon (Hod Hasharon, IL)
Assignee: Huawei Technologies Co., Ltd.
G06F3/0608G06F3/0619G06F3/0641G06F3/067G06F16/152
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 12,333,143
App. No.
18/171,203
Granted
Jun 17, 2025
Kind
B2
Abstract

Method prevents duplicate data to be stored in storage having hosts which do not trust each other. The method includes storage including encrypted data blocks, network further including distributed ledger, accessible to each of two or more hosts. The method includes steps, performed by first host when the first host wishes to store a new data block, obtaining first hash value for new data block, determining if first hash value is found in ledger. If first hash value is not found in ledger, creating set of confirmation data, encrypting new data block with block-unique encryption key, and storing first ownership record in ledger. If first hash value is found in ledger, obtaining information about second host that has already stored previous block identical to new data block, entering in ledger key request, receiving from ledger key transfer record, sending to ledger new ownership record.

Claims (38)

1. A method of preventing duplication of encrypted data in a storage arranged in a network in which two or more hosts can store data in the network,

the storage comprising one or more encrypted data blocks, the network further comprising a distributed ledger, accessible to each of the two or more hosts and holding, for each of the one or more encrypted data blocks, a first hash value identifying the data block,

the method, performed by a first host of the two or more hosts, comprising:

obtaining a first hash value for the new data block;

determining if the first hash value is found in the ledger; when it is determined that the first hash value is not found in the ledger,

creating a set of confirmation data that constitute proof that the first host has ownership of the data;

encrypting the new data block with a block-unique encryption key and storing the encrypted new data block in the storage with a key that is equal to the first hash value; and

storing a first ownership record in the ledger, the first ownership record comprising the identity of the first host, the first hash value unencrypted, and the set of confirmation data encrypted with a key known only to the first host; and when it is determined that the first hash value is found in the ledger,

obtaining from the ledger information about a second host that has already stored a previous block identical to the new data block in the storage;

entering in the ledger a key request for the key to the previous block, the key request comprising the set of confirmation data, encrypted with the public key of the second host:

receiving from the ledger a key transfer record stored by the second host, the key transfer record comprising the key to the data encrypted with the public key of the first host; and

sending to the ledger a new ownership record that the first host has been given ownership of the data block.

2. The method according to claim 1 , wherein the key request comprises the first hash value unencrypted and the set of confirmation data encrypted along with data about the requesting host with the public key of the second host.

3. The method according to claim 1 wherein the key transfer record further comprises the hash value of the data and the identity of the first host.

4. The method according to claim 1 , wherein the first and the new ownership record also comprise the private key encrypted with the public key of the first host.

5. The method-according to claim 1 , wherein the set of confirmation data calculated by the second host is stored in the ledger, encrypted by the private key of the second host.

6. The method according to claim 1 , wherein the set of confirmation data comprises a second hash value.

7. A method of preventing duplication of data in a storage, arranged in a network in which two or more hosts can store data in the network,

the storage comprising one or more encrypted data blocks, the network further comprising a distributed ledger, accessible to each of the two or more hosts and holding, for each of the one or more encrypted data blocks, a hash identifying the data block,

the method, performed by a second host of the two or more hosts when a new data block is identical to a previous block of data stored in the storage by the second host, comprising:

receiving from the ledger a key request stored in the ledger by the first host for the key to the previous block, said key request comprising proof that the new data block is identical to the previous block of data;

evaluating the proof to determine whether the new and previous blocks are identical; and

when it is determined that the new and previous blocks are found to be identical, providing from the ledger to the first host a key transfer record including the key to the data encrypted with the public key of the first host.

8. The method according to claim 7 , wherein the key request comprises a first hash value and a second hash value calculated by the first host based on the new data block, the first hash value being unencrypted, and the second hash value being encrypted with the public key of the second host.

9. The method according to claim 7 , wherein the step of evaluating the proof comprises comparing the second hash value to a second hash value calculated by the second host, and determining that the new and previous blocks are identical when the second hash values are identical.

10. The method according to claim 7 , wherein the key transfer record indicates the hash value of the data, the identity of the first host and the key to the data encrypted with the public key of the first host.

11. The method according to claim 7 , wherein the second hash value calculated by the second host is stored in the ledger, encrypted by the private key of the second host.

12. A method of preventing duplication of encrypted data in a storage arranged in a network in which two or more hosts can store data in the network,

the storage comprising one or more encrypted data blocks, the network further comprising a distributed ledger, accessible to each of the two or more hosts and holding, for each of the one or more encrypted data blocks, a hash value identifying the data block,

the method comprising the following steps:

when a first host of the two or more hosts attempts to store a new data block in the storage,

determining whether the new data block is identical to a block already stored in the storage by comparing a hash value calculated for the new data block to at least one hash value found in the ledger;

when it is determined that an identical hash value is found, identifying a second host-which stored the identical hash value and the data block that it identifies; and

presenting, by the second host, a key allowing the first host access to the already stored block for which the identical hash value was calculated; and

when an identical hash value is not found, allowing the first host to store the encrypted new data block to the storage and storing the hash value calculated for the new data block in the ledger.

13. The method according to claim 12 , comprising the step of obtaining the new data block by dividing a set of data into two or more blocks, of the same size or of variable size.

14. The method according to claim 12 , wherein the ledger is a blockchain.

15. The method according to claim 12 , wherein the blockchain is a hyperledger.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2023
From: NATANZON, ASSAF
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 064779/0092 →
Continuity (2)
Continuation PCTEP2020073295 · Aug 20, 2020
Related Publication 20230259280A1 · Aug 17, 2023
References Cited (12)
US 11698986B1 · Knas · 2023 [cited by examiner]
US 11941583B1 · Knas · 2024 [cited by examiner]
US 20200412525A1 · Katsak · 2020 [cited by examiner]
US 20220019901A1 · Saleh · 2022 [cited by examiner]
US 20220027319A1 · Narayanam · 2022 [cited by examiner]
US 20220027803A1 · Irazabal · 2022 [cited by examiner]
US 20220173893A1 · Basu · 2022 [cited by examiner]
US 20230046965A1 · Jayachandran · 2023 [cited by examiner]
US 20230413050A1 · Avetisov · 2023 [cited by examiner]
US 20240037503A1 · Padmanabhan · 2024 [cited by examiner]
US 20240338682A1 · Anton · 2024 [cited by examiner]
Banerjee et al., “Blockchain Enabled Data Marketplace—Design and Challenges,” arXiv:1811.11462v4, Total 7 pages (Sep. 27, 2019). [cited by applicant]