WO2016131473A1 - Method and system for verifying information of a data item in a plurality of different data items - Google Patents
Method and system for verifying information of a data item in a plurality of different data items Download PDFInfo
- Publication number
- WO2016131473A1 WO2016131473A1 PCT/EP2015/053242 EP2015053242W WO2016131473A1 WO 2016131473 A1 WO2016131473 A1 WO 2016131473A1 EP 2015053242 W EP2015053242 W EP 2015053242W WO 2016131473 A1 WO2016131473 A1 WO 2016131473A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- hash
- tree
- data items
- root
- data item
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0457—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Definitions
- the present invention relates to a method for verifying information of a data item in a plurality of different data items, preferably stored on a server like a cloud or the like.
- the present invention further relates to a system for verifying information of a data item in a plurality of different data items, preferably stored on a server like a cloud or the like and preferably for performing with a method according to one of the claims 1 -7.
- Cloud storage is receiving increasing attention and importance recently. Cloud storage offers their users cost-effective, convenient and highly available storage services. Conventional clouds rely on cost-effective techniques such as data compression and data deduplication in order to save storage costs for the cloud. Data deduplication is beneficial as it significantly reduces the costs of storage.
- cloud users do not benefit from this deduplication, since deduplication is usually performed by the cloud itself. In other words users are usually being charged the same price, irrespective whether their data has been deduplicated by the cloud. This is a significant disadvantage for the users since users who are storing popular files which are usually deduplicated by the cloud storage should not be charged the same amount for storing non-deduplicated content.
- a method for verifying information of data item in a plurality of different data items, preferably stored on a server like a cloud or the like is defined.
- the method is characterized in that
- a hash tree is generated from the plurality of data items, such that the data items forming the leaves of the hash tree and such that the non-leaf nodes are computed by hashing the data items of their respective child nodes and when computing the root-hash at least the distance between the root node and the leaf-nodes is included into the hashing,
- an authentication path for said data item is computed based on a recomputation of the hash tree, wherein an authentication path comprises all siblings of tree nodes from the data item to the root of the hash tree, c) the root-hash is recomputed based on said data item and the computed authentication path of said data item and the recomputed root-hash is compared with the root-hash of the hash-tree of step a),
- a system for verifying information of a data item in the plurality of different data items preferably stored on a server like a cloud or the like and preferably for performing with a method according to one of the claims 1 -7 is defined. According to claim 8 the system is characterized by
- a hashing entity adapted to generate a hash tree from the plurality of data items, such that the data items forming the leaves of the hash tree and such that the non- leaf nodes are computed by hashing the data items of their respective child nodes and when computing the root-hash at least the distance between the root node and the leaf-nodes is included into the hashing,
- authentication entity adapted to compute an authentication path for said data item based on a recomputation of the hash tree, wherein an authentication path comprises all siblings of tree nodes from the data item to the root of the hash tree, a recomputation entity adapted to recompute the root-hash based on said data item and the computed authentication path of said data item and comparing the recomputed root-hash with the root-hash of the hash-tree provided by said hashing entity,
- a determining entity adapted to determine the side element in the leaves or a tree level above of the hash tree and its authentication path
- a verification entity adapted to verify the authentication path of said side element
- a result providing entity adapted to determine based on a provided result of the verification entity the number of data items of said plurality and a membership of said data item to the plurality of data items based on a provided result of said recomputation entity.
- side element is to be understood as the element in the hash tree which is the right-most or the left-most element depending on the side from which the counting of data items is performed: If the position within the level of the leaves is counted from left to right, then the side element is the right-most element whereas when the position within the level is counted from right to left, then the side element is the left-most element when counted from the right.
- a cardinality of the data item in a plurality of different data items can be proved and provided.
- the total size of data can be reduced needed to be uploaded for storing on a server for example.
- the IDs of the users storing the same file within any time epoch, preferably maintained by a proxy entity, a gateway P or the like can be efficiently accumulated: Each user can check that his ID is correctly accumulated at billing time.
- the number of accumulated values can be encoded as well such that (i) any client can verify this number while (ii) it is not visible to outsiders.
- the number of leaves of the hash-tree formed by the data items compared with a required number to form a full hash-tree is lower, then further data items are used as leaves for compensation and are filed with a distinct data item.
- the data items forming the leaves of the hash-tree are itself hash values of plaintext information. This enables to hide the information of the data items from the computing entity computing the hash- tree.
- the hash-tree is a binary tree, preferable a Merkle tree.
- the binary tree enables a fast and efficient hashing since every node comprises only maximum of two child nodes.
- the hash-tree is a tiger hash-tree with the hashing based on the tiger hash function.
- a tiger hash-tree is based on the crypto hash-function tiger and is preferably used to check the integrity of large data files during or after a transmission.
- the tiger tree hash hashes on the leave level preferably data blocks each having 1024 bytes.
- said plurality of data items is associated to a file with a file identification wherein said file identification is announced together with a root of the hash-tree.
- Fig. 1 shows a system for verifying information according to a first embodiment of the present invention
- Fig. 2 a hash-tree according to a second embodiment of the present invention
- Fig. 3 a schematic view of a use case of a third embodiment of the present invention.
- Fig. 1 shows a system for verifying information according to a first embodiment of the present invention.
- a proxy P is shown which receives requests from clients C when the client wants to upload a file to a storage provider SP.
- the client C and the proxy entity or gateway P starts executing a proxy-aided key generation protocol for an encryption key.
- the client C then encrypts the file using an encryption algorithm with the encryption key.
- a root of a hash-tree is computed over the encrypted file and used as a file ID - FID -.
- the file ID is then associated with the file to be stored and when a plurality of users is associated to a file with a corresponding file ID FID then for example the clients may benefit from lower costs caused by a deduplication of files.
- the proxy P bills the clients C for the files held by them at any time during the epoch.
- the proxy P still bills the user for this file and epoch and removes the marked client C from the list after computation of a corresponding bill.
- each client C is billed with a cost incurred by storing in the file F at the storage provider SP as a margin charged by the proxy P.
- the proxy P starts the proving process to convince clients C of a file with FID that all clients C are billed in the same way.
- First step a) is performed with the data item being one of the clients, e.g. his Client ID and the plurality of different items being the set of clients C of a file.
- each client C may check the number of clients C billed for a file F and the size of the set of clients C for a file F. Therefore the verified information, i.e. whether the client C belongs to the plurality of clients C associated to one file F and the number of clients C within said plurality can be verified using the steps a)-e) according to an embodiment of the present invention.
- Fig. 2 shows a hash-tree according to a second embodiment of the present invention.
- a hash-tree according to an embodiment of the present invention is shown.
- This hash-tree is based on a Merkle tree HT with a cryptographic hash- function H.
- the Merkle tree HT is a binary tree HT where the data Dl is put into the leaves of the tree.
- the non-leave nodes are computed by computing the hash of their respective to child nodes.
- a node of the tree is denoted by here i denotes the level L1 , L2, L3 of the node and j the position of the nod in said level L1 , L2, L3.
- the levels L1 , L2, L3 are counted as the distance to the level of the leaf nodes, with the leaf nodes thus being ao .
- the computation of the Merkle tree HT is modified by including the level in the hash operation. Still, the data is put in the leaf nodes. The remaining empty nodes are filled with a distinct symbol 0.
- the digest d that is output by a procedure Acc accumulating the set is given by the root of the tree a3,o. This is visualized in Figure 2.
- a proving procedure ProveS(S;x) outputs a proof that the element/data item x is contained in the set S. To do so, the procedure recomputes the Merkle Tree HT as described above.
- a proof that x is contained as a leave node is given as the authentication path for x, as in standard Merkle Trees HT.
- An authentication path consists of all siblings of nodes that are on the path from x to the root.
- the output px of the proving procedure is the element x and the authentication path for said element x.
- the verification of the proof is performed with a verification procedure VerifyS(d;x; px) which recomputes the root element using x and the elements given in the authentication path and compares the obtained root element with the original digest d, i.e. the output of the procedure Acc.
- the proof pC comprises the rightmost element RNE ao;
- the verifier can use a verification procedure VerifyC(d;c; p
- the procedure checks that ao,c-i is indeed an nonempty element that is part of the set by verifying the authentication path. It then checks the right part of the hash tree HT which is possible, given the authentication path of the first 0 element, because the empty leaves are known to the verifier to be 0. This is efficiently possible with pre-computed inner nodes.
- Fig. 3 shows a schematic view of a use case of a third embodiment of the present invention.
- Fig. 3 a sketch of a billing process between the proxy P and a client is shown:
- the clients C first obtain bills stating the file with file identification FID associated to them and the cost charged for that file.
- the proxy P may preferably obtains a random string for example using a GetRandomness procedure, that was provably unknown at the time of the creation of the bill.
- a random string of length n representing the number of clients can be used as a mask on the file identification FID to select with a probability the number of files whose file identification FID starts with this string.
- the proxy P will then for each selected file compute the proof-of-membership and the cardinality as information to be verified for each owner using steps a)-f) according to an embodiment of the present invention.
- To proxy P takes the set SF of the clients C associated with the file FID.
- the proxy P provides a proof-of-membership for the FID and the proof of the size of the user set for the corresponding FID enabling a client C to check whether he was fairly billed with deduplication of the file.
- the present invention provides preferably a counting accumulator based on a cryptographic accumulator and added with the possibility to give a proof for the number of elements that are accumulated.
- the present invention has several applications in particular where accountability of statements about the set or group of users or elements has to be made. Used cases are
- Subscribers to services e.g. publish/subscribe systems, mailing lists,
- the present invention enables to rely on a novel tree-based counting accumulator providing efficient proofs of membership and cardinality.
- the present invention further enables a combination of the use of the counting accumulator with probabilistic methods based on external randomness in order to reduce the total size of data needed to be uploaded on the public bulletin board to enable bill verification.
- the present preferably provides a method comprising the steps of generating a counting accumulator providing a proof-of-membership and cardinality, publishing on a public bulletin board an association between a chosen file with file identification FID and a digest of the accumulator, preferably the root of a hash- tree of the accumulator and sending proof-of-membership and cardinality information for each client subscribed to the chosen file identification FID.
- a method comprising the steps of generating a counting accumulator providing a proof-of-membership and cardinality, publishing on a public bulletin board an association between a chosen file with file identification FID and a digest of the accumulator, preferably the root of a hash- tree of the accumulator and sending proof-of-membership and cardinality information for each client subscribed to the chosen file identification FID.
- the gateway/proxy could make the selection on his own, he could easily cheat by creating only correct bills for the selected files while overcharging the clients registered to the remaining files.
- the selection procedure is seeded by a trusted external source of pseudorandomness which is preferably based on a virtual currency like Bitcoin. It ensures that any client can check that the selection has been done correctly. Moreover, as this source is unpredictable, using it does not give any advantage for the gateway/proxy entity P to misbehave.
- the present invention has inter alia the following advantages:
- the present invention provides protection against attempts to overcharge users.
- the present invention is further more flexible and transparent from the perspective of the users and the storage provider, provides cheaper storage costs than conventional storage services and when combined with encryption without compromising the confidentiality of data.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The present invention relates to a method for verifying information of a data item (DI) in a plurality of different data items (DI), preferably stored on a server (SP) like a cloud or the like, wherein: a) a hash tree is generated from the plurality of data items (DI), such that the data items (DI) forming the leaves (LO) of the hash tree (HT) and such that the non-leaf nodes (L1, L2, L3,...) are computed by hashing the data items (DI) of their respective child nodes (L0, L1, L2,...) and when computing the root-hash (R) at least the distance between the root node (R) and the leaf-nodes (L0) is included into the hashing; b) an authentication path for said data item (DI) is computed based on a recomputation of the hash tree (HT), wherein an authentication path comprises all siblings of tree nodes from the data item (DI) to the root (R) of the hash tree (HT); c) the root-hash (R) is recomputed based on said data item (DI) and the computed authentication path of said data item (DI) and the recomputed root-hash (R) is compared with the root-hash (R) of the hash-tree (HT) of step a); d) the side element (RME) in the leaves (L0) or a tree level (L1) above of the hash tree (HT) and its authentication path is determined; e) the authentication path of said side element (RME) is verified, wherein based on the result of step e) the number of data items (DI) of said plurality is determined and wherein a membership of said data item (DI) to the plurality of data items is determined based on the result of step c).
Description
METHOD AND SYSTEM FOR VERIFYING INFORMATION OF A DATA ITEM IN A PLURALITY OF DIFFERENT DATA ITEMS
The present invention relates to a method for verifying information of a data item in a plurality of different data items, preferably stored on a server like a cloud or the like.
The present invention further relates to a system for verifying information of a data item in a plurality of different data items, preferably stored on a server like a cloud or the like and preferably for performing with a method according to one of the claims 1 -7.
Although applicable to any kind of storage in general, the present invention will be described with regard to cloud storage in particular shared or deduplicated files stored on the cloud.
Although applicable to any kind of information to be verified of a data item, the present invention will be described with regard storage costs of a data item.
Cloud storage is receiving increasing attention and importance recently. Cloud storage offers their users cost-effective, convenient and highly available storage services. Conventional clouds rely on cost-effective techniques such as data compression and data deduplication in order to save storage costs for the cloud. Data deduplication is beneficial as it significantly reduces the costs of storage. However, cloud users do not benefit from this deduplication, since deduplication is usually performed by the cloud itself. In other words users are usually being charged the same price, irrespective whether their data has been deduplicated by the cloud. This is a significant disadvantage for the users since users who are storing popular files which are usually deduplicated by the cloud storage should not be charged the same amount for storing non-deduplicated content.
In the non-patent literature of
Pasquale Puzio, Refik Molva, Melek Onen and Sergio Loureiro. ClouDedup: Secure Deduplication with Encrypted Data for Cloud Storage, Proceedings of IEEE CloudCom 2013,
A Secure Data Deduplication Scheme for Cloud Storage, Jan Stanek, Alessandro Sorniotti, Elli Androulaki, and Lukas Kenc, Proceedings of Financial Cryptography and Data Security, 2014,
Boosting Efficiency and Security in Proof of Ownership for Deduplication, Roberto Di Pietro, Alessandro Sorniotti, Proceedings of ASIACCS 2012, and
Mihir Bellare and Sriram Keelveedhi, Thomas Ristenpart, DupLESS: Server- Aided Encryption for Deduplicated Storage, Proceedings of Usenix Security 2013,
techniques are disclosed for performing deduplication over encrypted data or for a construction for a proof of ownership to attest that a user indeed possesses a file which is deduplicated by a cloud for example. These conventional techniques are directed to increase the profitability of clouds by allowing the cloud service provider to save on his storage costs. However one of the disadvantages is, that these techniques are not transparent for the users of a cloud storage provider. A further disadvantage is, that such a cloud storage is costly for the users. An even further disadvantage is that users cannot verify if they are the only user of an uploaded file, or if other users also have uploaded the same file.
It is therefore an objective of the present invention to provide a method and a system for verifying information of a data item in a plurality of different data items enabling a fair allocation of storage costs among users according to the effective storage space that each user is occupying.
It is a further objective of the present invention to provide a method and a system for verifying information of a data item in a plurality of different data items enabling account savings for users achieved by a deduplication of their files.
It is an even further objective of the present invention to provide a method and a systenn for verifying information of data item in a plurality of different data items enabling the clients to prove a degree of deduplication of their files achieved in the cloud.
It is an even further objective of the present invention to provide a method and a system for verifying information of a data item in a plurality of different data items reducing the total size of data needed to be uploaded for storage by users.
It is an even further objective of the present invention to provide a method and a system for verifying information of da data item in a plurality of different data items which is flexible and easy to implement.
The aforementioned objectives are accomplished by a method of claim 1 and a system of claim 8.
In claim 1 a method for verifying information of data item in a plurality of different data items, preferably stored on a server like a cloud or the like is defined.
According to claim 1 the method is characterized in that
a) a hash tree is generated from the plurality of data items, such that the data items forming the leaves of the hash tree and such that the non-leaf nodes are computed by hashing the data items of their respective child nodes and when computing the root-hash at least the distance between the root node and the leaf-nodes is included into the hashing,
b) an authentication path for said data item is computed based on a recomputation of the hash tree, wherein an authentication path comprises all siblings of tree nodes from the data item to the root of the hash tree, c) the root-hash is recomputed based on said data item and the computed authentication path of said data item and the recomputed root-hash is compared with the root-hash of the hash-tree of step a),
d) the side element in the leaves or a tree level above of the hash tree and its authentication path is determined,
e) the authentication path of said side element is verified,
wherein based on the result of step e) the number of data items of said plurality is determined and wherein a membership of said data item to the plurality of data items is determined based on the result of step c). In claim 8 a system for verifying information of a data item in the plurality of different data items, preferably stored on a server like a cloud or the like and preferably for performing with a method according to one of the claims 1 -7 is defined. According to claim 8 the system is characterized by
a hashing entity adapted to generate a hash tree from the plurality of data items, such that the data items forming the leaves of the hash tree and such that the non- leaf nodes are computed by hashing the data items of their respective child nodes and when computing the root-hash at least the distance between the root node and the leaf-nodes is included into the hashing,
authentication entity adapted to compute an authentication path for said data item based on a recomputation of the hash tree, wherein an authentication path comprises all siblings of tree nodes from the data item to the root of the hash tree, a recomputation entity adapted to recompute the root-hash based on said data item and the computed authentication path of said data item and comparing the recomputed root-hash with the root-hash of the hash-tree provided by said hashing entity,
a determining entity adapted to determine the side element in the leaves or a tree level above of the hash tree and its authentication path,
a verification entity adapted to verify the authentication path of said side element and
a result providing entity adapted to determine based on a provided result of the verification entity the number of data items of said plurality and a membership of said data item to the plurality of data items based on a provided result of said recomputation entity.
The term "side element" is to be understood as the element in the hash tree which is the right-most or the left-most element depending on the side from which the counting of data items is performed: If the position within the level of the leaves is counted from left to right, then the side element is the right-most element whereas when the position within the level is counted from right to left, then the side element is the left-most element when counted from the right.
According to the invention it has been recognized that the information of a data item can be verified with an efficient proof of membership.
According to the invention it has been further recognized that a cardinality of the data item in a plurality of different data items can be proved and provided. According to the invention it has been further recognized that in particular the total size of data can be reduced needed to be uploaded for storing on a server for example.
According to the invention it has been even further recognized that in particular accounting information assigned to the data item can be verified.
According to the invention it has been even further recognized that storage costs of users can be reduced without compromising the performance. According to the invention it has been even further recognized that storage costs savings for cloud users can be significantly reduced up to 30% when compared conventional commodity storage services for a number of realistic profiles of users. According to the invention it has been even further recognized that flexibility is significantly enhanced since the present invention can be applied in various fields: For example in cloud storage in particular shared or deduplicated slides, reputation systems where a score is computed based on a set of users who provided a rating, subscribers to services, for example publish or subscribe
systems, mailing lists, kickstarter projects or the like, inventory of digital items and/or electronic voting.
According to the invention it has been even further recognized that an easy implementation is provided.
According to the invention it has been further recognized that the IDs of the users storing the same file within any time epoch, preferably maintained by a proxy entity, a gateway P or the like can be efficiently accumulated: Each user can check that his ID is correctly accumulated at billing time.
According to the invention it has been even further recognized that the number of accumulated values can be encoded as well such that (i) any client can verify this number while (ii) it is not visible to outsiders.
Further features, advantages and preferred embodiments are described in the following sub claims.
According to a preferred embodiment when the number of leaves of the hash-tree formed by the data items compared with a required number to form a full hash-tree is lower, then further data items are used as leaves for compensation and are filed with a distinct data item. This allows in an easy way to complete any kind of hash- tree for example binary trees or the like. Thus flexibility is enhanced. According to a further preferred embodiment the data items forming the leaves of the hash-tree are itself hash values of plaintext information. This enables to hide the information of the data items from the computing entity computing the hash- tree. According to a further preferred embodiment the hash-tree is a binary tree, preferable a Merkle tree. The binary tree enables a fast and efficient hashing since every node comprises only maximum of two child nodes.
According to a further preferred embodiment the hash-tree is a tiger hash-tree with the hashing based on the tiger hash function. A tiger hash-tree is based on the crypto hash-function tiger and is preferably used to check the integrity of large data files during or after a transmission. The tiger tree hash hashes on the leave level preferably data blocks each having 1024 bytes.
According to a further preferred embodiment said plurality of data items is associated to a file with a file identification wherein said file identification is announced together with a root of the hash-tree. This allows in an easy way to verify the information of the data item for every client which wants to store the file with the corresponding file FID.
According to a further preferred embodiment in case of different files each having a different file identification and associated to different pluralities of data items one or more of the files are randomly selected and steps a)-e) are performed for each data item in said corresponding plurality. This enables to keep the amount of data generated and transmitted small for verification since only a partial checking of selected files randomly is performed. For each of the selected file a proof of membership and the cardinality for each client is computed.
There are several ways how to design and further develop the teaching of the present invention in an advantageous way. To this end it is to be referred to the patent claims subordinate to patent claim 1 on the one hand and to the following explanation of preferred embodiments of the invention by way of example, illustrated by the figure on the other hand. In connection with the explanation of the preferred embodiments of the invention by the aid of the figure, generally preferred embodiments and further developments of the teaching will be explained.
In the drawings
Fig. 1 shows a system for verifying information according to a first embodiment of the present invention;
Fig. 2 a hash-tree according to a second embodiment of the present invention and
Fig. 3 a schematic view of a use case of a third embodiment of the present invention.
Fig. 1 shows a system for verifying information according to a first embodiment of the present invention. In Fig. 1 a proxy P is shown which receives requests from clients C when the client wants to upload a file to a storage provider SP.
The client C and the proxy entity or gateway P starts executing a proxy-aided key generation protocol for an encryption key. The client C then encrypts the file using an encryption algorithm with the encryption key. A root of a hash-tree is computed over the encrypted file and used as a file ID - FID -. The file ID is then associated with the file to be stored and when a plurality of users is associated to a file with a corresponding file ID FID then for example the clients may benefit from lower costs caused by a deduplication of files. Usually at the end of a predefined epoch the proxy P bills the clients C for the files held by them at any time during the epoch.
If a client C deletes a file during the epoch the proxy P still bills the user for this file and epoch and removes the marked client C from the list after computation of a corresponding bill. To provide a fair billing for example each client C is billed with a cost incurred by storing in the file F at the storage provider SP as a margin charged by the proxy P. Once every client C obtains the bill the proxy P starts the proving process to convince clients C of a file with FID that all clients C are billed in the same way. The clients C of a file F with file identification FID are convinced of their billing by creating a set of all clients C of said file and assuring that the size corresponds to the set of clients C of the file F, that all clients C are billed for a file being referenced to the same set of clients C and that a client C addressed is indeed part of that set of clients C. This information can be verified using an embodiment of the present invention: First step a) is performed with the data item being one of the clients, e.g. his Client ID and the plurality of different items being
the set of clients C of a file. When the top or root-hash, preferably computed by the proxy P, is published among all clients C then each client C may check the number of clients C billed for a file F and the size of the set of clients C for a file F. Therefore the verified information, i.e. whether the client C belongs to the plurality of clients C associated to one file F and the number of clients C within said plurality can be verified using the steps a)-e) according to an embodiment of the present invention.
Fig. 2 shows a hash-tree according to a second embodiment of the present invention.
In Fig. 2 a hash-tree according to an embodiment of the present invention is shown. This hash-tree is based on a Merkle tree HT with a cryptographic hash- function H. The Merkle tree HT is a binary tree HT where the data Dl is put into the leaves of the tree. The non-leave nodes are computed by computing the hash of their respective to child nodes. A node of the tree is denoted by here i denotes the level L1 , L2, L3 of the node and j the position of the nod
in said level L1 , L2, L3. The levels L1 , L2, L3 are counted as the distance to the level of the leaf nodes, with the leaf nodes thus being ao . The position within a level L1 , L2, L3 is counted from left to right, the leftmost node of a level thus being ai.o. A standard Merkle tree HT is formed by a,+i j = H(ai,2j;ai;2j+i).
In order to be able to verify the cardinality of the set, the computation of the Merkle tree HT is modified by including the level in the hash operation. Still, the data is put in the leaf nodes. The remaining empty nodes are filled with a distinct symbol 0.
Unlike the standard Merkle tree HT, the inner nodes are computed as + \J = H (i + 11 ai2j , ty,2j+ 1 ) . The digest d that is output by a procedure Acc accumulating the set is given by the root of the tree a3,o. This is visualized in Figure 2.
A proving procedure ProveS(S;x) outputs a proof that the element/data item x is contained in the set S. To do so, the procedure recomputes the Merkle Tree HT as described above. A proof that x is contained as a leave node is given as the authentication path for x, as in standard Merkle Trees HT. An authentication path consists of all siblings of nodes that are on the path from x to the root. The output px of the proving procedure is the element x and the authentication path for said element x.
The verification of the proof is performed with a verification procedure VerifyS(d;x; px) which recomputes the root element using x and the elements given in the authentication path and compares the obtained root element with the original digest d, i.e. the output of the procedure Acc.
To prove the cardinality of the set a procedure ProveC(S) is used. The proof pC comprises the rightmost element RNE ao;|S|-i and the authentication paths of that element as well as the path of the first 0 element. Given this information, the verifier can use a verification procedure VerifyC(d;c; p|S|) to confirm the cardinality c of the set S. The procedure checks that ao,c-i is indeed an nonempty element that is part of the set by verifying the authentication path. It then checks the right part of the hash tree HT which is possible, given the authentication path of the first 0 element, because the empty leaves are known to the verifier to be 0. This is efficiently possible with pre-computed inner nodes.
Fig. 3 shows a schematic view of a use case of a third embodiment of the present invention.
In Fig. 3 a sketch of a billing process between the proxy P and a client is shown: The clients C first obtain bills stating the file with file identification FID associated to them and the cost charged for that file. After the bills are sent out to the clients C the proxy P may preferably obtains a random string for example using a GetRandomness procedure, that was provably unknown at the time of the creation of the bill. A random string of length n representing the number of clients can be used as a mask on the file identification FID to select with a probability the number of files whose file identification FID starts with this string. The proxy P will then for
each selected file compute the proof-of-membership and the cardinality as information to be verified for each owner using steps a)-f) according to an embodiment of the present invention. To proxy P takes the set SF of the clients C associated with the file FID.
Therefore for each FID the set of users is created and the proxy P provides a proof-of-membership for the FID and the proof of the size of the user set for the corresponding FID enabling a client C to check whether he was fairly billed with deduplication of the file.
To summarize the present invention provides preferably a counting accumulator based on a cryptographic accumulator and added with the possibility to give a proof for the number of elements that are accumulated. This counting accumulator is tuple of procedures (Acc; ProveS; ProveC; VerifyS; VerifyC) where Acc(S) = d accumulates the set when this digest d is then committed to a set and publicly commit to set digest for example on a public bulletin board such that each client can verify billing.
The present invention has several applications in particular where accountability of statements about the set or group of users or elements has to be made. Used cases are
• Cloud storage, in particular shared or deduplicated slides as described
above
• Reputation systems, where a score is computed based on a set of users who provided a rating
• Subscribers to services (e.g. publish/subscribe systems, mailing lists,
Kickstarter projects)
• Inventory of digital items
• Electronic Voting.
In summary the present invention enables to rely on a novel tree-based counting accumulator providing efficient proofs of membership and cardinality. The present invention further enables a combination of the use of the counting accumulator with probabilistic methods based on external randomness in order to reduce the
total size of data needed to be uploaded on the public bulletin board to enable bill verification.
The present preferably provides a method comprising the steps of generating a counting accumulator providing a proof-of-membership and cardinality, publishing on a public bulletin board an association between a chosen file with file identification FID and a digest of the accumulator, preferably the root of a hash- tree of the accumulator and sending proof-of-membership and cardinality information for each client subscribed to the chosen file identification FID. To reduce the work load after generation of the counting accumulator and prior to publish the association committing to a given bill sent to each user/client may be performed and/or using external randomness to sample which file identification FID to prove. The present invention further enables a probabilistic procedure which selectively reveals details about a number of file accumulators in each epoch. If the gateway/proxy could make the selection on his own, he could easily cheat by creating only correct bills for the selected files while overcharging the clients registered to the remaining files. There, the selection procedure is seeded by a trusted external source of pseudorandomness which is preferably based on a virtual currency like Bitcoin. It ensures that any client can check that the selection has been done correctly. Moreover, as this source is unpredictable, using it does not give any advantage for the gateway/proxy entity P to misbehave. The present invention has inter alia the following advantages: The present invention provides protection against attempts to overcharge users. The present invention is further more flexible and transparent from the perspective of the users and the storage provider, provides cheaper storage costs than conventional storage services and when combined with encryption without compromising the confidentiality of data. Further the performance is not significantly reduced: The overhead incurred on the proxy in orchestrating for example data deduplication is minimal and a tolerable overhead on the users is enabled when verifying their bills at the end of every epoch.
Many modifications and other embodiments of the invention set forth herein will come to mind to the one skilled in the art to which the invention pertains having the benefit of the teachings presented in the foregoing description and the associated drawings. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
Claims
1. A method for verifying information of a data item (Dl) in a plurality of different data items (Dl), preferably stored on a server (SP) like a cloud or the like, characterized in that
a) a hash tree is generated from the plurality of data items (Dl), such that the data items (Dl) forming the leaves (LO) of the hash tree (HT) and such that the non-leaf nodes (L1 , L2, L3, ...) are computed by hashing the data items (Dl) of their respective child nodes (LO, L1 , L2, ...) and when computing the root-hash (R) at least the distance between the root node (L3) and the leaf-nodes (LO) is included into the hashing,
b) an authentication path for said data item (Dl) is computed based on a recomputation of the hash tree (HT), wherein an authentication path comprises all siblings of tree nodes from the data item (Dl) to the root (R) of the hash tree (HT),
c) the root-hash (R) is recomputed based on said data item (Dl) and the computed authentication path of said data item (Dl) and the recomputed root-hash (R) is compared with the root-hash (R) of the hash-tree (HT) of step a),
d) the side element (RME) in the leaves (LO) or a tree level (L1 ) above of the hash tree (HT) and its authentication path is determined, e) the authentication path of said side element (RME) is verified, wherein based on the result of step e) the number of data items (Dl) of said plurality is determined and wherein a membership of said data item (Dl) to the plurality of data items is determined based on the result of step c).
2. The method according to claim 1 , characterized in that when the number of leaves (LO) of the hash tree (HT) formed by the data items (Dl) compared with the required number to form a full hash tree (HT) is lower then further data items are used as leaves (LO) for compensation and are filed with a distinct data item.
3. The method according to one of the claims 1 -2, characterized in that the data items (Dl) forming the leaves (L0) of the hash tree (HT) are itself hash values of plaintext information.
4. The method according to one of the claims 1 -3, characterized in that the hash-tree (HT) is a binary tree, preferably a Merkle tree.
5. The method according to one of the claims 1 -4, characterized in that the hash-tree (HT) is a Tiger hash-tree with the hashing based on the tiger hash function.
6. The method according to one of the claims 1 -5, characterized in that said plurality of data items (Dl) is associated to a file with a file identification (FID), wherein said file identification (FID) is announced together with the root (R) of the hash tree (HT).
7. The method according to claim 6, characterized in that in case of different files each having a different file identification (FID) and associated to different pluralities of data items (Dl) one or more of the files are randomly selected and steps a)-e) are performed for each data item (Dl) in said corresponding plurality.
8. A system, preferably a proxy entity, connectable to a storage entity and one or more clients, for verifying information of a data item (Dl) in a plurality of different data items (Dl), preferably stored on a server (SP) like a cloud or the like and preferably for performing with a method according to one of the claims 1 -7,
characterized by
a hashing entity adapted to generate a hash tree (HT) from the plurality of data items (Dl), such that the data items (Dl) forming the leaves (L0) of the hash tree (HT) and such that the non-leaf nodes are computed by hashing the data items (Dl) of their respective child nodes (L0, L1 , L2, ...) and when computing the root-hash (R) at least the distance between the root node (L3) and the leaf-nodes (L0) is included into the hashing.
authentication entity adapted to compute an authentication path for said data item (Dl) based on a recomputation of the hash tree (HT), wherein an authentication path comprises all siblings of tree nodes from the data item (Dl) to the root (R) of the hash tree (HT),
a recomputation entity adapted to recompute the root-hash (R) based on said data item (Dl) and the computed authentication path of said data item (Dl) and comparing the recomputed root-hash (R) with the root-hash (R) of the hash-tree (HT) provided by said hashing entity,
a determining entity adapted to determine the side element (RME) in the leaves (LO) or a tree level above of the hash tree (HT) and its authentication path,
a verification entity adapted to verify the authentication path of said side element and
a result providing entity adapted to determine based on a provided result of the verification entity the number of data items (Dl) of said plurality and a membership of said data item (Dl) to the plurality of data items (Dl) based on a provided result of said recomputation entity.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/550,795 US10498535B2 (en) | 2015-02-16 | 2015-02-16 | Method and system for verifying information of a data item in a plurality of different data items |
| PCT/EP2015/053242 WO2016131473A1 (en) | 2015-02-16 | 2015-02-16 | Method and system for verifying information of a data item in a plurality of different data items |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/EP2015/053242 WO2016131473A1 (en) | 2015-02-16 | 2015-02-16 | Method and system for verifying information of a data item in a plurality of different data items |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2016131473A1 true WO2016131473A1 (en) | 2016-08-25 |
Family
ID=52669584
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2015/053242 Ceased WO2016131473A1 (en) | 2015-02-16 | 2015-02-16 | Method and system for verifying information of a data item in a plurality of different data items |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US10498535B2 (en) |
| WO (1) | WO2016131473A1 (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108199827A (en) * | 2018-01-09 | 2018-06-22 | 武汉斗鱼网络科技有限公司 | Client code integrity checking method, storage medium, electronic equipment and system |
| CN108848079A (en) * | 2018-05-31 | 2018-11-20 | 腾讯科技(深圳)有限公司 | Method, system, device and computer system for realizing information verification |
| US10389518B2 (en) | 2017-01-27 | 2019-08-20 | Entit Software Llc | Blockchain hash value recomputation |
| US20220294637A1 (en) * | 2019-12-05 | 2022-09-15 | Huawei Technologies Co., Ltd. | System and Method of Establishing a Trusted Relationship in a Distributed System |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10243990B1 (en) * | 2016-09-23 | 2019-03-26 | Apple Inc. | Systems and methods for detecting replay attacks on security space |
| US10419567B2 (en) * | 2017-03-21 | 2019-09-17 | Elite Silicon Technology Inc. | Client terminal of audio device redirection system and audio device redirection method |
| US11356268B2 (en) * | 2017-06-02 | 2022-06-07 | Hewlett-Packard Development Company, L.P. | Digital composition hashing |
| CN107451486B (en) * | 2017-06-30 | 2021-05-18 | 华为技术有限公司 | A file system permission setting method and device |
| CN109903049A (en) * | 2019-03-01 | 2019-06-18 | 长沙理工大学 | A block chain transaction data storage method, device, equipment and storage medium |
| EP3761206A1 (en) * | 2019-07-04 | 2021-01-06 | Live Service GmbH | Computer-implemented device and computer-implemented method for checking the integrity of electronic files |
| US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
| US11409724B2 (en) | 2020-03-10 | 2022-08-09 | International Business Machines Corporation | Hashed balanced tree data structure |
| CN111597146B (en) * | 2020-05-20 | 2023-04-07 | 浙江大华技术股份有限公司 | Video file processing method and device, storage medium and electronic device |
| US12608358B2 (en) * | 2023-11-14 | 2026-04-21 | International Business Machines Corporation | Merkle-enhanced training data audit process |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20010034839A1 (en) * | 1999-12-24 | 2001-10-25 | Guenter Karjoth | Method and apparatus for secure transmission of data and applications |
| EP2338127B1 (en) * | 2008-08-29 | 2015-07-29 | Brown University | Cryptographic accumulators for authenticated hash tables |
| US9116819B2 (en) * | 2012-10-17 | 2015-08-25 | Datadirect Networks, Inc. | Reducing metadata in a write-anywhere storage system |
| US20140245020A1 (en) * | 2013-02-22 | 2014-08-28 | Guardtime Ip Holdings Limited | Verification System and Method with Extra Security for Lower-Entropy Input Records |
| US9372757B2 (en) * | 2013-10-18 | 2016-06-21 | Netapp, Inc. | Incremental block level backup |
| US20160098723A1 (en) * | 2014-10-01 | 2016-04-07 | The Filing Cabinet, LLC | System and method for block-chain verification of goods |
| DE112015006149B4 (en) * | 2015-02-13 | 2022-09-29 | NEC Laboratories Europe GmbH | Method for storing a terminal data file in a storage unit and system and proxy unit therefor |
-
2015
- 2015-02-16 WO PCT/EP2015/053242 patent/WO2016131473A1/en not_active Ceased
- 2015-02-16 US US15/550,795 patent/US10498535B2/en active Active
Non-Patent Citations (9)
| Title |
|---|
| "Advances in Communication Networking : 20th EUNICE/IFIP EG 6.2, 6.6 International Workshop, Rennes, France, September 1-5, 2014, Revised Selected Papers", vol. 2832, 16 September 2003, SPRINGER VERLAG, DE, ISBN: 978-3-642-36699-4, ISSN: 0302-9743, article ROBERTO TAMASSIA: "Authenticated Data Structures", pages: 2 - 5, XP055220055, 032548, DOI: 10.1007/978-3-540-39658-1_2 * |
| ANONYMOUS: "Tiger (cryptography) - Wikipedia, the free encyclopedia", 15 December 2014 (2014-12-15), XP055220933, Retrieved from the Internet <URL:https://en.wikipedia.org/w/index.php?title=Tiger_(cryptography)&oldid=638123361> [retrieved on 20151014] * |
| CHARLES MARTEL ET AL: "A General Model for Authenticated Data Structures", ALGORITHMICA., vol. 39, no. 1, 27 January 2004 (2004-01-27), US, pages 21 - 41, XP055220357, ISSN: 0178-4617, DOI: 10.1007/s00453-003-1076-8 * |
| JAN STANEK; ALESSANDRO SORNIOTTI; ELLI ANDROULAKI; LUKAS KENC: "A Secure Data Deduplication Scheme for Cloud Storage", PROCEEDINGS OF FINANCIAL CRYPTOGRAPHY AND DATA SECURITY, 2014 |
| MICHAEL SZYDLO: "Recent Improvements in the Efficient Use of Merkle Trees: Additional Options for the Long Term", 10 May 2004 (2004-05-10), XP055218992, Retrieved from the Internet <URL:http://www.emc.com/emc-plus/rsa-labs/historical/recent-improvements-efficient-use-merkle-trees.htm> [retrieved on 20151007] * |
| MIHIR BELLARE; SRIRAM KEELVEEDHI; THOMAS RISTENPART: "DupLESS: Server-Aided Encryption for Deduplicated Storage", PROCEEDINGS OF USENIX SECURITY, 2013 |
| PASQUALE PUZIO; REFIK MOLVA; MELEK ONEN; SERGIO LOUREIRO: "ClouDedup: Secure eduplication with Encrypted Data for Cloud Storage", PROCEEDINGS OF IEEE CLOUDCOM, 2013 |
| PREMKUMAR DEVANBU ET AL: "Authentic Data Publication over the Internet", JOURNAL OF COMPUTER SECURITY, vol. 11, no. 3, 1 April 2003 (2003-04-01), XP055219881 * |
| ROBERTO DI PIETRO; ALESSANDRO SORNIOTTI: "Boosting Efficiency and Security in Proof of Ownership for Deduplication", PROCEEDINGS OF ASIACCS, 2012 |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10389518B2 (en) | 2017-01-27 | 2019-08-20 | Entit Software Llc | Blockchain hash value recomputation |
| CN108199827A (en) * | 2018-01-09 | 2018-06-22 | 武汉斗鱼网络科技有限公司 | Client code integrity checking method, storage medium, electronic equipment and system |
| CN108848079A (en) * | 2018-05-31 | 2018-11-20 | 腾讯科技(深圳)有限公司 | Method, system, device and computer system for realizing information verification |
| US20220294637A1 (en) * | 2019-12-05 | 2022-09-15 | Huawei Technologies Co., Ltd. | System and Method of Establishing a Trusted Relationship in a Distributed System |
| US12200138B2 (en) * | 2019-12-05 | 2025-01-14 | Huawei Technologies Co., Ltd. | System and method of establishing a trusted relationship in a distributed system |
Also Published As
| Publication number | Publication date |
|---|---|
| US10498535B2 (en) | 2019-12-03 |
| US20180026791A1 (en) | 2018-01-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10498535B2 (en) | Method and system for verifying information of a data item in a plurality of different data items | |
| Li et al. | A new lattice-based signature scheme in post-quantum blockchain network | |
| US12141803B2 (en) | Random number generation in a blockchain | |
| Mykletun et al. | Authentication and integrity in outsourced databases | |
| Schröder et al. | Verifiable data streaming | |
| CN107181797B (en) | Block compression method and system of block chain | |
| Barsoum et al. | On verifying dynamic multiple data copies over cloud servers | |
| Pulls et al. | Balloon: A forward-secure append-only persistent authenticated data structure | |
| EP3629519A1 (en) | System and method for generating one-time data signatures | |
| Krupp et al. | Nearly optimal verifiable data streaming | |
| US11316698B2 (en) | Delegated signatures for smart devices | |
| Elwailly et al. | QuasiModo: Efficient certificate validation and revocation | |
| Hanser et al. | Blank digital signatures | |
| CN111314086A (en) | Method for implementing block chain privacy protocol | |
| CN110134718A (en) | A kind of support multiple key based on encryption attribute searches for method generally | |
| CN114710357A (en) | Dynamic searchable encryption method supporting block verification in editable block chain | |
| Chalkias et al. | Hashwires: Hyperefficient credential-based range proofs | |
| CN118282715A (en) | Public key encryption-based searchable group sharing privacy protection blockchain system and method | |
| CN112800482B (en) | Identity-based online/offline security cloud storage auditing method | |
| CN113505396A (en) | Identity-based forward security ring signature method | |
| CN110851848A (en) | Privacy protection method for symmetric searchable encryption | |
| CN112671712B (en) | A cloud data integrity verification method and system supporting efficient dynamic update | |
| CN115037530A (en) | Ciphertext duplication removal and centralization removal auditing method based on block chain | |
| Li et al. | A forward-secure certificate-based signature scheme | |
| Kim et al. | Efficient verifiable data streaming |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15709425 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 15550795 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 15709425 Country of ref document: EP Kind code of ref document: A1 |