CN115510504B - Data sharing method, system, equipment and medium based on ring signature and promise - Google Patents

Data sharing method, system, equipment and medium based on ring signature and promise Download PDF

Info

Publication number
CN115510504B
CN115510504B CN202211286413.1A CN202211286413A CN115510504B CN 115510504 B CN115510504 B CN 115510504B CN 202211286413 A CN202211286413 A CN 202211286413A CN 115510504 B CN115510504 B CN 115510504B
Authority
CN
China
Prior art keywords
target data
data
signature
update
ring
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.)
Active
Application number
CN202211286413.1A
Other languages
Chinese (zh)
Other versions
CN115510504A (en
Inventor
雷虹
陈邦道
张永欣
王庆豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oxford Hainan Blockchain Research Institute Co ltd
Original Assignee
Oxford Hainan Blockchain Research Institute Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oxford Hainan Blockchain Research Institute Co ltd filed Critical Oxford Hainan Blockchain Research Institute Co ltd
Priority to CN202211286413.1A priority Critical patent/CN115510504B/en
Publication of CN115510504A publication Critical patent/CN115510504A/en
Application granted granted Critical
Publication of CN115510504B publication Critical patent/CN115510504B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The application discloses a data sharing method, a system, equipment and a medium based on ring signature and promise, which are applied to a data user and send a data acquisition request to a data sharing platform; receiving a target data object and a first certificate returned by a data sharing platform; accessing the blockchain intelligent contract based on the address in the target data object, and acquiring a verification identifier, a verification traceable ring signature, a verification version number, a signature random number, a verification vector commitment and a ring public key set; if the identification, the traceable ring signature and the version number in the target data object are corresponding to and consistent with the verification identification, the verification traceable ring signature and the verification version number, verifying the validity of the traceable ring signature in the target data object based on the signature random number, the ring public key set and the target data; if the traceable ring signature in the target data object is legal, verifying the validity of the first certificate based on the check vector promise and the target data; if the first evidence is legal, storing target data; the privacy can be protected and the supervision can be ensured.

Description

Data sharing method, system, equipment and medium based on ring signature and promise
Technical Field
The present disclosure relates to the field of data sharing technologies, and in particular, to a method, a system, a device, and a medium for data sharing based on ring signatures and commitments.
Background
With the continuous development of information technology, information exchange among different industries, different enterprises and different departments is gradually increased, and the development of computer network technology, such as 5G technology, provides guarantee for information transmission. In order to further mine the potential value of the data, the existing data resources are fully integrated and utilized by different industries, enterprises and departments, repeated labor such as data collection and data acquisition is reduced, the cost is reduced, the efficiency is improved, and the data sharing technology is developed.
However, in this process, some problems, such as privacy protection and supervision, are also exposed to be solved. In the existing data sharing scheme, the data sharing platform is used as an intermediate role of a data provider and a data user, grasps identity privacy of the two parties, uses an access control list (Access Control List, ACL) to control access to the data provider and the data user, and infringes the privacy of the data provider and the data user. Some schemes adopt a strong privacy protection technology so that a data sharing platform cannot learn the privacy of both parties, but evade supervision, provide crime places for lawbreakers, and are unfavorable for the normal and safe development of data sharing. Therefore, it is important to design a data sharing scheme that can protect privacy and ensure supervision.
In summary, how to implement a data sharing method that can protect privacy and ensure supervision is a problem to be solved by those skilled in the art.
Disclosure of Invention
The purpose of the application is to provide a data sharing method based on ring signature and promise, which can solve the technical problem of how to realize the data sharing method which can protect privacy and ensure supervision to a certain extent. The application also provides a data sharing system, device and computer readable storage medium based on the ring signature and the promise.
In order to achieve the above object, the present application provides the following technical solutions:
a data sharing method based on ring signature and promise is applied to data users, and comprises the following steps:
sending a data acquisition request to a data sharing platform;
receiving a target data object and a first proof returned by the data sharing platform, wherein the target data object comprises an object head and an object body, the object head comprises an identification, an address, a traceable ring signature, a version number and a transaction identification, the object body comprises the target data, the first proof comprises a proof generated by the data sharing platform for the target data based on auxiliary information corresponding to the target data, and the auxiliary information comprises information generated for the target data based on vector commitment disclosure parameters;
Based on the address access blockchain intelligent contract in the target data object, obtaining a verification identifier, a verification traceable ring signature, a verification version number, a signature random number, a verification vector commitment and a ring public key set, wherein the verification vector commitment comprises a commitment generated for the target data based on the vector commitment public parameter, and the ring public key set comprises ring public keys of all data providers of the target data;
if the identifier, the traceable ring signature and the version number in the target data object are corresponding to the verification identifier, the verification traceable ring signature and the verification version number, verifying the validity of the traceable ring signature in the target data object based on the signature random number, the ring public key set and the target data;
if the traceable ring signature in the target data object is legal, verifying the validity of the first certificate based on the check vector commitment and the target data;
and if the first evidence is legal, storing the target data.
Preferably, the sending the data acquisition request to the data sharing platform includes:
and sending the data acquisition request to the data sharing platform, wherein the data acquisition request comprises a request for acquiring the target data, which is generated based on the data description on the data sharing platform.
A data sharing method based on ring signature and commitment, applied to a target data provider, comprising:
acquiring target data to be shared;
generating an identification, a version number and a signature random number corresponding to the target data;
generating a traceable ring signature of the target data based on a ring private key of the target data provider, the signature random number, and a ring public key set, the ring public key set including ring public keys of the target data provider and all other data providers;
generating vector commitment and auxiliary information for the target data based on vector commitment disclosure parameters;
preserving the identity, the traceable ring signature, the version number, the signature random number, the vector commitment, the ring public key set based on a blockchain smart contract;
acquiring an address and a transaction identifier of the blockchain intelligent contract;
constructing an object header based on the identification, the address, the traceable ring signature, the version number and the transaction identification, constructing an object body based on the target data, and forming the object header and the object body into a target data object;
storing the target data object and the auxiliary information to a data sharing platform, so that a data user sends a data acquisition request to the data sharing platform, receives a target data object returned by the data sharing platform and a first certificate, accesses the blockchain intelligent contract based on the address in the target data object to acquire a verification identifier, a verification traceable ring signature, a verification version number, a signature random number, a verification vector promise and a ring public key set, and verifies the traceable ring signature legal in the target data object based on the signature random number, the ring public key set and the target data, and then stores the target data after verifying the first certificate based on the verification vector promise and the target data, wherein the first certificate comprises a certificate generated by the data sharing platform for the target data based on the auxiliary information.
Preferably, the storing the target data object and the auxiliary information in the data sharing platform includes:
generating a second attestation for the target data based on the auxiliary information;
and sending the target data object, the vector commitment, the signature random number, the ring public key set, the auxiliary information and the second certificate to the data sharing platform, so that the data sharing platform can store the target data object and the auxiliary information after verifying the traceable ring signature legitimacy in the target data object based on the signature random number, the ring public key set and the target data in the target data object and verifying the second certificate legitimacy based on the vector commitment and the target data.
Preferably, the blockchain-based intelligent contract stores the identification, the traceable ring signature, the version number, the signature random number, the vector commitment, the ring public key set, including:
obtaining all signature values generated by the target data provider and all other data providers, wherein the signature values generated by a data provider comprise signatures generated for the target data, the identification, the traceable ring signature, the signature random number, the version number and the vector commitment based on a private key of the data provider, and the data provider comprises the target data provider and the other data provider;
Constructing a transaction based on the identification, the traceable ring signature, the version number, the signature random number, the vector commitment, the ring public key set, a public key set, all the signature values, the public key set comprising public keys of the target data provider and all the other data providers;
and sending the transaction to the blockchain intelligent contract so that a state channel is established after all signature values are verified to be legal by the blockchain intelligent contract, and the identification, the traceable ring signature, the version number, the signature random number, the vector commitment, the ring public key set and the public key set are stored.
Preferably, after the storing the target data object and the auxiliary information in the data sharing platform, the method further includes:
acquiring target update data obtained after updating the target data;
generating an update version number and an update signature random number of the target update data;
generating an update traceable ring signature of the target update data based on the ring private key, the update signature random number, and the ring public key set of the target data provider;
generating update vector commitments and update information based on the vector commitments, the target data, and the target update data;
Transmitting the target update data, the update traceable ring signature, the update version number, the update signature random number, and the update vector commitment to all of the other data providers;
if all the other data providers verify that the updated traceable ring signature is legal, judging whether write-write conflict exists between the updated traceable ring signature and the other data providers;
if the write-write collision does not exist, updating the state channel on a blockchain based on the identification, the update traceable ring signature, the update version number, the update signature random number, and the update vector commitment.
Preferably, after the determining whether there is a write-write collision with the other data provider, the method further includes:
if the write-write conflict exists between the target update data and the other data providers, generating a self conflict random number, and signing the target update data and the self conflict random number based on a private key of the target data provider to obtain a conflict signature;
receiving the conflict random number and the conflict signature of the other data provider having the write-write conflict;
verifying whether the conflict signature of the other data provider having the write-write conflict is legitimate based on the conflict random number of the other data provider having the write-write conflict;
If the conflict random numbers are legal, calculating hash values of all the conflict random numbers, and calculating distance values between the hash values and each conflict random number;
determining the data provider corresponding to the smallest distance value as an update executor, and indicating the update executor to update the state channel on the blockchain based on the identification, the update traceable ring signature, the update version number, the update signature random number and the update vector promise;
and returning to execute the step of judging whether the write-write conflict exists between the data provider and the other data providers or not.
Preferably, before updating the state channel on the blockchain based on the identification, the update traceable ring signature, the update version number, the update signature random number, and the update vector commitment, the method further comprises:
calculating to obtain an update judgment value based on the update mark and the file priority of the target data through an operation formula, and calculating to obtain an update threshold value based on the update interval of the target data;
if the update judgment value is smaller than the update threshold value, maintaining the under-chain state;
if the update determination value is greater than or equal to the update threshold value, executing the step of updating the state channel on the blockchain based on the identification, the update traceable ring signature, the update version number, the update signature random number and the update vector commitment;
The operation formula comprises:
Figure BDA0003900114970000051
T=LoT*α;
wherein DUV represents the updated decision value; data i Representing an ith data block in the target data; n represents the total data amount of the target data; AF (AF) i The update flag representing the ith data in the target data, wherein data i AF when updated i =1,data i AF when not updated i =0;Pr i -representing the file priority of an ith data in the target data; t represents the updated threshold value; loT the update interval; alpha represents a preset scaling factor.
Preferably, the updating the state channel on the blockchain based on the identification, the update traceable ring signature, the update version number, the update signature random number, and the update vector commitment includes:
constructing an update transaction based on the identification, the update traceable ring signature, the update version number, the update signature random number, and the update vector commitment;
signing the update transaction based on the private key of the target data provider to obtain an update signature;
transmitting the update transaction and the update signature to the blockchain smart contract such that the blockchain smart contract, after verifying that the update signature is valid based on the public key set, saves the identification, the update traceable ring signature, the update version number, the update signature random number, the update vector commitment, the public key set, and the ring public key set.
Preferably, after the storing the target data object and the auxiliary information in the data sharing platform, the method further includes:
acquiring the signature random number of the data to be traced and the traceable ring signature;
generating a tracing signature of the data to be traced based on a ring private key of the target data provider, the signature random number and the ring public key set;
and judging whether the traceable ring signature is consistent with the traceable ring signature, and if so, outputting the ring public key of the target data provider.
Preferably, after the target data to be shared is obtained, the method further includes:
and generating a data description of the target data and storing the data description to the data sharing platform.
A data sharing method based on ring signature and promise is applied to a data sharing platform, and comprises the following steps:
receiving a data acquisition request sent by a data user;
determining a target data object corresponding to the data acquisition request, wherein the target data object comprises an object head and an object body, the object head comprises an identifier, an address, a traceable ring signature, a version number and a transaction identifier, and the object body comprises the target data;
generating a first proof for the target data based on auxiliary information corresponding to the target data, the auxiliary information including information generated for the target data based on vector commitment disclosure parameters;
Sending the target data object and the first certificate to the data user, so that the data user obtains a verification identifier, a verification traceable ring signature, a verification version number, a signature random number, a verification vector promise and a ring public key set based on the address access blockchain intelligent contract in the target data object, and if the identifier, the traceable ring signature and the version number in the target data object are consistent with the verification identifier, the verification traceable ring signature and the verification version number in the target data object, the traceable ring signature in the target data object is verified to be legal based on the signature random number, the ring public key set and the target data, and the target data is stored after the first certificate is verified to be legal based on the verification vector promise and the target data; wherein the check vector commitment includes a commitment generated for the target data based on the vector commitment disclosure parameter, the ring public key set including ring public keys of all data providers of the target data.
A ring signature and commitment based data sharing system for data users, comprising:
The first sending module is used for sending a data acquisition request to the data sharing platform;
the first receiving module is used for receiving a target data object and a first proof returned by the data sharing platform, wherein the target data object comprises an object head and an object body, the object head comprises an identifier, an address, a traceable ring signature, a version number and a transaction identifier, the object body comprises the target data, the first proof comprises a proof generated by the data sharing platform for the target data based on auxiliary information corresponding to the target data, and the auxiliary information comprises information generated for the target data based on vector commitment public parameters;
a first obtaining module, configured to access a blockchain smart contract based on the address in the target data object, to obtain a check identifier, a check traceable ring signature, a check version number, a signature random number, a check vector commitment including a commitment generated for the target data based on the vector commitment disclosure parameter, and a ring public key set including ring public keys of all data providers of the target data;
the first verification module is used for verifying the validity of the traceable ring signature in the target data object based on the signature random number, the ring public key set and the target data if the identification, the traceable ring signature and the version number in the target data object are consistent with the verification identification, the verification traceable ring signature and the verification version number; if the traceable ring signature in the target data object is legal, verifying the validity of the first certificate based on the check vector commitment and the target data; and if the first evidence is legal, storing the target data.
A ring signature and commitment based data sharing device, comprising:
a memory for storing a computer program;
a processor for implementing the steps of the ring signature and promise based data sharing method as described in any one of the above when executing the computer program.
A computer readable storage medium having stored therein a computer program which when executed by a processor performs the steps of a ring signature and commitment based data sharing method as defined in any of the preceding claims.
The data sharing method based on the ring signature and the promise is applied to a data user, and sends a data acquisition request to a data sharing platform; receiving a target data object and a first proof returned by a data sharing platform, wherein the target data object comprises an object head and an object body, the object head comprises an identifier, an address, a traceable ring signature, a version number and a transaction identifier, the object body comprises target data, the first proof comprises a proof generated by the data sharing platform for the target data based on auxiliary information corresponding to the target data, and the auxiliary information comprises information generated for the target data based on vector commitment disclosure parameters; based on address access blockchain intelligent contracts in the target data object, obtaining a verification identifier, a verification traceable ring signature, a verification version number, a signature random number, a verification vector commitment and a ring public key set, wherein the verification vector commitment comprises a commitment generated for the target data based on vector commitment disclosure parameters, and the ring public key set comprises ring public keys of all data providers of the target data; if the identification, the traceable ring signature and the version number in the target data object are corresponding to and consistent with the verification identification, the verification traceable ring signature and the verification version number, verifying the validity of the traceable ring signature in the target data object based on the signature random number, the ring public key set and the target data; if the traceable ring signature in the target data object is legal, verifying the validity of the first certificate based on the check vector promise and the target data; and if the first evidence is legal, storing the target data. In the method, the data sharing platform returns the target data object and the first certificate to the data user based on the data acquisition request, and the data user verifies the target data object based on the verification identifier, the verification traceable ring signature, the verification version number, the signature random number, the verification vector commitment and the ring public key set stored in the blockchain intelligent contract, so that the required target data can be acquired without involving the privacy of the data user, and the target data can be monitored based on the traceable ring signature. The application provides a data sharing system, equipment and a computer readable storage medium based on ring signature and promise, which also solve the corresponding technical problems.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings that are required to be used in the embodiments or the description of the prior art will be briefly described below, and it is obvious that the drawings in the following description are only embodiments of the present application, and that other drawings may be obtained according to the provided drawings without inventive effort to a person skilled in the art.
FIG. 1 is a first flowchart of a method for sharing data based on ring signatures and commitments according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a scenario of a ring signature and promise based data sharing scheme provided in an embodiment of the present application;
FIG. 3 is a second flowchart of a method for sharing data based on ring signatures and commitments provided in an embodiment of the present application;
FIG. 4 is a third flowchart of a method for sharing data based on ring signatures and commitments according to an embodiment of the present application;
FIG. 5 is a schematic diagram of a data sharing system based on ring signature and promise according to an embodiment of the present application;
FIG. 6 is a schematic diagram of a data sharing device based on ring signature and promise according to an embodiment of the present application;
Fig. 7 is another schematic structural diagram of a data sharing device based on ring signature and commitment according to an embodiment of the present application.
Detailed Description
The following description of the embodiments of the present application will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are only some, but not all, of the embodiments of the present application. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present disclosure.
To facilitate an understanding of the data sharing scheme provided by the present application, the corresponding techniques involved in the present application will now be explained:
the block chain technology is a technical scheme which does not depend on a third party and performs storage, verification, transmission and communication of network data through self-distributed nodes, and has the characteristics of decentralization, transparency, and non-falsification. A "world computer" with limited computing power can be considered to solve the trust problem of a participant by automatically executing a smart contract.
Blockchain smart contract technology is a computer protocol running in a blockchain, is a computer program stored and running in the blockchain, and can automatically run in a blockchain network.
State channel technology is a blockchain extensibility technology that transfers these interactions from chain up to chain down by any type of change state operation performed on the blockchain without requiring any additional trust. In particular, a plurality of blockchain users may send a special transaction to the blockchain to create a status channel and set an initialization state. The initial state of the state channel is then converted under the chain. Finally, when the final state is reached or all users agree to close, the state channel user may send a special transaction to the blockchain to close the state channel and anchor the final state in the blockchain.
The traceable ring signature technique is a special ring signature technique. The ring signature allows a signer to sign on behalf of a signature set (multiple users) while guaranteeing anonymity of the signer's identity, without cooperation of other members in the set, or even without knowledge of other members, and only with their own private key and their public key. The difference in verifying the signature is that only the signature can be verified from the group members, but that a particular member cannot be distinguished. The traceable ring signature technique implements a traceback (Trace) function in addition to the function of ring signatures. This function may reveal the identity of the signer without exposing the identities of the remaining users.
The data integrity audit technique is a technique for verifying the integrity of data storage. Verifying data storage integrity is checking whether data stored in a physical storage medium is corrupted by tampering, loss, etc. Data integrity verification techniques require a user to generate a data tag using the user's private key when storing the original data. When the data integrity is verified, the data integrity is judged whether to be destroyed by carrying out cryptographic operation on the data tag and the original data.
Vector commitment technology, commitment is a basic primitive in cryptography, and plays an important role in security protocols such as voting, authentication, zero knowledge proof and the like. Promise has two important attributes: hiding the attribute, requiring promise that messages should not be revealed; binding attributes require that each commitment and each message maintain a one-to-one correspondence. The vector commitment further satisfies the location binding property that in an ordered set of messages, the location of the committed message in the set can be verified, and the vector commitment is compact, i.e., the size of the commitment must be independent of the message length.
Referring to fig. 1 and fig. 2, fig. 1 is a first flowchart of a data sharing method based on ring signature and commitment provided in an embodiment of the present application, fig. 2 is a schematic view of a scenario of a data sharing scheme based on ring signature and commitment provided in an embodiment of the present application, and in fig. 2, a data user and a data provider may be a client, a server, etc.; the data sharing platform is a platform for providing data sharing service for data users and data providers, the data sharing platform can be provided with a verification module, an audit module, a visualization module and a reporting module, the verification module is used for verifying signatures of shared data, the audit module generates certificates for the shared data, the visualization module is used for providing the visualization platform for each user, the reporting module is used for ensuring that the shared data does not have problems, once illegal data appears in the platform, the data sharing platform immediately deletes the file and reports the file to the corresponding data provider, the bottom storage component of the data sharing platform is flexible, can be a mixed model formed by a cloud center and a decentralised storage network (Decentralized Storage Network, DSN) and the like; blockchains may be composed of nodes from around the world or independent but untrusted entities that maintain tamper-proof evidence perpetual platforms through consensus algorithms, such as workload proofing algorithms, equity proofing algorithms, utility byesting algorithms, etc., and blockchains may run intelligent contracts to support state channels.
The data sharing method based on ring signature and promise, provided by the embodiment of the application, is applied to a target data provider, and can comprise the following steps:
step S101: and obtaining target data to be shared.
In practical applications, the target data provider may first obtain target data to be shared, and the type of the target data may be determined according to practical needs, for example, the target data may be image data, audio/video data, text data, etc., which is not specifically limited herein. And it should be noted that, the target data provider refers to a provider performing the corresponding method of the present application among all data providers of the target data, and may be any one of all data providers of the target data.
Step S102: and generating an identification, a version number and a signature random number corresponding to the target data.
In practical applications, after obtaining target data to be shared, the target data provider does not directly store the target data to the data sharing platform for sharing, but needs to generate an identifier and version number of the target data and a signature random number corresponding to the target data, for example, the identifier and the like of the target data are generated based on a hash algorithm, such as a SHA-256 algorithm, etc., so as to distinguish different target data by means of the identifier and the version number of the target data, and generate a traceable ring signature of the target data by means of the signature random number.
Step S103: a traceable ring signature of the target data is generated based on the ring private key of the target data provider, the signature random number, and a ring public key set that includes the ring public keys of the target data provider and all other data providers.
In practical application, after generating the identifier, version number and signature random number corresponding to the target data, the target data provider can generate a traceable ring signature of the target data based on the ring private key, signature random number and ring public key set of the target data provider, and the ring public keyThe key set includes the ring public keys of the target data provider and all other data providers. For ease of understanding, assume that the data provider of the target data has p 1 ,p 2 ,...p n N in total, the signature random number is issue, and the target data provider is p i The ring private key of the target data is rsk i The ring public key set is (rpk) 1 ,rpk 2 ,...,rpk n ) The target data provider may be rsk-based i 、issue、(rpk 1 ,rpk 2 ,...,rpk n ) A traceable ring signature RingSig is generated for the target data.
It should be noted that the traceable ring signature in the present application may be used to trace back the data provider of the target data, so as to implement supervision on the data provider.
Step S104: vector commitment and auxiliary information are generated for the target data based on the vector commitment disclosure parameters.
In practical applications, the target data provider may generate the vector commitment and the auxiliary information for the target data based on the vector commitment disclosure parameter after generating the traceable ring signature of the target data based on the ring private key, the signature random number and the ring public key set of the target data provider.
In a specific application scenario, the target data provider may split the data into q data blocks, i.e. such that data= { m 1 ,m 2 ,...,m q Reuse of vector commitment disclosure parameters as data { m } 1 ,m 2 ,...,m q Vector commitment C and auxiliary information aux, etc.
It should be noted that, in a specific application scenario, each data provider may generate its own traceable ring signature parameter, including a ring public-private key pair (rpk j ,rsk j ) The method comprises the steps of carrying out a first treatment on the surface of the The vector commitment disclosure parameter pp and the like may be generated using the security parameter k and the vector number q, and are not particularly limited herein.
Step S105: the blockchain-based intelligent contracts store identification, traceable ring signature, version number, signature random number, vector commitment, and ring public key set.
In practice, after generating the vector commitment and the auxiliary information for the target data based on the vector commitment disclosure parameters, the target data provider may store the identifier, the traceable ring signature, the version number, the signature random number, the vector commitment, and the ring public key set based on the blockchain smart contract, so that the subsequent data user verifies the authenticity of the received target data object based on the information stored in the blockchain smart contract.
Step S106: and obtaining the address and the transaction identification of the blockchain intelligent contract.
In practical applications, after creating a state channel transaction based on an identifier, a traceable ring signature, a version number, a signature random number, a vector commitment, and a ring public key set, the target data provider can obtain an address and a transaction identifier of the blockchain smart contract, so as to guide a data user to read the blockchain smart contract based on the address.
Step S107: and constructing an object header based on the identification, the address, the traceable ring signature, the version number and the transaction identification, constructing an object body based on the target data, and forming the object header and the object body into the target data object.
In practical application, after the target data provider obtains the address and the transaction identifier of the blockchain intelligent contract, the target data provider can construct an object head based on the identifier, the address, the traceable ring signature, the version number and the transaction identifier, construct an object body based on the target data, and form the object head and the object body into a target data object so as to carry out integrity verification and validity verification on the target data based on the target data object.
Step S108: and storing the target data object and the auxiliary information to the data sharing platform.
In practical application, after the target data provider constructs the object header based on the identifier, the address, the traceable ring signature, the version number and the transaction identifier, constructs the object body based on the target data, and composes the object header and the object body into the target data object, the target data object and the auxiliary information can be saved to the data sharing platform, so that the data sharing platform can share the target data to the data user based on the target data object and the auxiliary information.
In a specific application scenario, in order to facilitate a data user and the like to quickly query target data in the data sharing platform, after obtaining target data to be shared, the target data provider may also generate a data description of the target data and store the data description to the data sharing platform.
The data sharing method based on the ring signature and the promise is applied to a target data provider and used for acquiring target data to be shared; generating an identification, a version number and a signature random number corresponding to the target data; generating a traceable ring signature of the target data based on the ring private key of the target data provider, the signature random number, and a ring public key set including the ring public keys of the target data provider and all other data providers; generating vector commitment and auxiliary information for the target data based on the vector commitment disclosure parameters; preserving an identifier, a traceable ring signature, a version number, a signature random number, a vector commitment and a ring public key set based on the blockchain intelligent contract; acquiring an address and a transaction identifier of a blockchain intelligent contract; constructing an object header based on the identifier, the address, the traceable ring signature, the version number and the transaction identifier, constructing an object body based on the target data, and forming the object header and the object body into a target data object; and storing the target data object and the auxiliary information to the data sharing platform. In the method, the target data provider constructs the object header based on the identifier, the address, the traceable ring signature, the version number and the transaction identifier, constructs the object body based on the target data, forms the object header and the object body into the target data object, stores the target data object and auxiliary information to the data sharing platform, and stores the identifier, the traceable ring signature, the version number, the signature random number, the vector promise and the ring public key set to the blockchain intelligent contract, so that a data user can acquire real target data based on the identifier, the traceable ring signature, the version number, the signature random number, the vector promise and the ring public key set under the condition that own privacy is not exposed, and can trace the data provider of the target data based on the traceable ring signature.
Referring to fig. 3, fig. 3 is a second flowchart of a data sharing method based on ring signature and promise according to an embodiment of the present application.
The data sharing method based on ring signature and promise, provided by the embodiment of the application, is applied to a target data provider, and can comprise the following steps:
step S201: and obtaining target data to be shared.
Step S202: and generating an identification, a version number and a signature random number corresponding to the target data.
Step S203: a traceable ring signature of the target data is generated based on the ring private key of the target data provider, the signature random number, and a ring public key set that includes the ring public keys of the target data provider and all other data providers.
Step S204: vector commitment and auxiliary information are generated for the target data based on the vector commitment disclosure parameters.
Step S205: the blockchain-based intelligent contracts store identification, traceable ring signature, version number, signature random number, vector commitment, and ring public key set.
In practice, in order to increase the efficiency of sharing data by a target data provider to a blockchain smart contract and to solve the problems of linear overhead and online assumptions of the data provider when using state channel technology, the target data provider maintains identification ID, traceable ring signature RingSig, version number VC, signature random number issue, vector commitment C, ring public key set (rpk) 1 ,rpk 2 ,...,rpk n ) Can obtain all signature values Sig generated by the target data provider and all other data providers j J=1, 2, …, n, wherein the signature value generated by the data provider comprises a signature generated for the target data, the identity, the traceable ring signature, the signature random number, the version number and the vector commitment based on the private key of the data provider, the data provider comprising the target data provider and other data providers; based on identity, traceable ring signature, version number, signature random number, vector commitment, ring public key set, public key set (pk) 1 ,pk 2 ,...,pk n ) All signature value construction transactions TX={ID,RingSig,VC,issue,C,pk 1 ,pk 2 ,...,pk n ,rpk 1 ,rpk 2 ,...,rpk n ,Sig 1 ,Sig 2 ,...Sig n The public key set includes the public keys of the target data provider and all other data providers; transmitting the transaction to the blockchain smart contract; correspondingly, after verifying that all signature values are legal, the blockchain intelligent contract establishes a state channel, stores an identification, a traceable ring signature, a version number, a signature random number, a vector commitment, a ring public key set and a public key set, and if any signature value is illegal, the data sharing flow can be terminated.
Step S206: and obtaining the address and the transaction identification of the blockchain intelligent contract.
Step S207: and constructing an object header based on the identification, the address, the traceable ring signature, the version number and the transaction identification, constructing an object body based on the target data, and forming the object header and the object body into the target data object.
Step S208: a second attestation is generated for the target data based on the auxiliary information.
Step S209: and sending the target data object, the vector promise, the signature random number, the ring public key set, the auxiliary information and the second certificate to the data sharing platform, so that the data sharing platform can store the target data object and the auxiliary information after verifying that the traceable ring signature in the target data object is legal based on the signature random number, the ring public key set and the target data in the target data object and verifying that the second certificate is legal based on the vector promise and the target data.
In practical application, in the process of storing the target data object and the auxiliary information in the data sharing platform, in order to accurately store the target data object and the auxiliary information in the data sharing platform, the second certificate can be generated for the target data based on the auxiliary information; transmitting the target data object, the vector promise, the signature random number, the ring public key set, the auxiliary information and the second certificate to the data sharing platform; accordingly, the data sharing platform verifies the validity of the traceable ring signature in the target data object based on the signature random number, the ring public key set and the target data in the target data object, if the traceable ring signature in the target data object is legal, the second certification is verified based on the vector promise and the target data, if the second certification is legal, the target data object and the auxiliary information are saved, and in the process, if the traceable ring signature in the target data comparison is illegal or the second certification is illegal, the data sharing method and the like can be terminated.
In practical applications, after the target data provider saves the target data object and the auxiliary information to the data sharing platform, when the target data needs to be updated, the following steps S21 to S27 may be executed:
s21: and acquiring target update data' obtained after updating the target data.
S22: an update version number VC ' =vc+1 of the target update data ' and an update signature random number issue ' are generated.
S23: ring private key rsk based on target data provider i Update signed random number issue' and ring public key set (rpk) 1 ,rpk 2 ,...,rpk n ) An update traceable ring signature RingSig' of the target update data is generated.
S24: update vector commitment C 'and update information U are generated based on vector commitment C, target data, and target update data'.
Specifically, when data= { m 1 ,m 2 ,...,m q At the time of } the target data provider may generate a proof P for the j-th data block using the side information j When only the target data data= { m 1 ,m 2 ,...,m q When part of the data in the data is updated, e.g. m is updated j Is m j ' the target data provider may vector commitment C, data m j Data m j 'the data sequence number j generates an update vector commitment C' and update information U; and can then utilize proof P j Data m j Data m j ' update information U generates new certificate P j ' etc. to resort to data m j 'update vector promise C', new proof P j ' data m on data sharing platform and blockchain Smart contracts j Updated to m j '。
S25: the target update data, update traceable ring signature, update version number, update signature random number, and update vector commitments { data ', ringSig ', VC ', issue ', C ' } are transmitted to all other data providers.
S26: if all other data providers verify that the updated traceable ring signature is legal, then it is determined whether a write-write collision exists with the other data providers.
S27: if no write-write collision exists, updating the state channel on the blockchain based on the identification, the update traceable ring signature, the update version number, the update signature random number, and the update vector commitment.
In practical applications, when a plurality of data providers need to update the target data, in order to avoid the occurrence of update conflicts, the target data provider may further execute the following steps S31 to 36 after determining whether there is a write-write conflict with other data providers:
s31: if there is a write-write collision with other data provider, a self-collision random number CR is generated i And based on the private key sk of the target data provider i Signature target update data i Self-collision random number CR i Obtaining a conflict signature i =Sign(data i ,CR i ,sk i )。
S32: a collision random number and a collision signature of other data providers having a write-write collision are received.
Specifically, assuming that there are m data providers with write-write conflicts, p 1 ,p 2 ,...,p i ,...p m Each data provider generates its own collision random number CR j Self-based private key sk j Signature target update data j Self-collision random number CR j Obtaining a conflict signature j =Sign(data j ,CR j ,sk j )。
S33: verifying whether the conflict signature of the other data provider having the write-write conflict is legitimate based on the conflict random number of the other data provider having the write-write conflict.
S34 if it is legal, calculateHash value hv=hash (CR 1 ||CR 2 ||...||CR m ) Calculating a distance value dis between the hash value and each conflict random number j =|HV-CR j |,j∈[1,m]。
S35: and determining the data provider corresponding to the minimum distance value as an update executor, and indicating the update executor to update the state channel on the blockchain based on the identification, the update traceable ring signature, the update version number, the update signature random number and the update vector promise.
Specifically, (dis, j) =min (dis 1 ,dis 2 ,...,dis m ) The data provider corresponding to the output j is the update executor.
S36: and returning to the step of judging whether the write-write conflict exists between the data provider and other data providers or not until the write-write conflict does not exist.
In practical application, in order to avoid frequent updating of the state channel on the blockchain intelligent contract by the target data provider, the target data provider can also calculate an update judgment value based on an update mark and file priority of the target data through an operation formula before updating the state channel on the blockchain based on the identifier, the update traceable ring signature, the update version number, the update signature random number and the update vector promise, and calculate an update threshold value based on the update interval of the target data; if the update judgment value is smaller than the update threshold value, maintaining the under-chain state; if the update judgment value is greater than or equal to the update threshold value, executing the step of updating the state channel on the block chain based on the identification, the update traceable ring signature, the update version number, the update signature random number and the update vector promise;
the operation formula comprises:
Figure BDA0003900114970000171
T=LoT*α;
wherein DUV represents an updated decision value; data i Representing an ith data block in the target data; n represents the total data amount of the target data; AF (AF) i An update flag indicating an ith data in the target data, wherein data i AF when updated i =1,data i AF when not updated i =0;Pr i A file priority indicating the ith data in the target data; t represents an updated threshold value; loT the update interval; alpha represents a preset scaling factor.
In practical applications, the target data provider may construct an update transaction tx= { ID, ringSig ', VC', issue ', C' } based on the identifier, the update traceable ring signature, the update version number, the update signature random number, and the update vector promise in updating the state channel on the blockchain based on the identifier, the update traceable ring signature, the update version number, the update signature random number, and the update vector promise; signing the update transaction based on the private key ski of the target data provider to obtain an update signature Sign i (TX); transmitting the update transaction and the update signature to the blockchain smart contract, and correspondingly, the blockchain smart contract is based on a public key set (pk 1 ,pk 2 ,...,pk m ) After verifying that the update signature is legal, the identification, the update traceable ring signature, the update version number, the update signature random number, the update vector promise, the public key set and the ring public key set are stored, and in the process, if the update signature is not legal, the data sharing flow can be terminated.
In practical applications, when the status channel needs to be closed, all data providers p j All utilize own private key sk j Generating a signature Sig for final destination data ", identification ID, final traceable ring signature RingSig", final random number issue ", final version number VC", final vector commitment C " j 'A'; any data provider collects the identification ID, the final traceable ring signature RingSig ", the final random number issue", the final version number VC ", the final vector promise C", and all signatures Sig j ' construction transaction TX= { ID, ringSig ", VC", issue ", C", sig 1 ',Sig 2 ',...Sig n ' to close the status channel; accordingly, the blockchain intelligence contract validates all sigs 1 ',Sig 2 ',...Sig n ' if all Sig 1 ',Sig 2 ',...Sig n 'average legal', permanent preservation of { ID, ringSig ", VC", issue ", C", pk 1 ,pk 2 ,...,pk n ,rpk 1 ,rpk 2 ,...,rpk n If Sig 1 ',Sig 2 ',...Sig n If any signature in' is illegal, the data sharing flow can be terminated.
In practical application, when the data sharing platform reports that a problem exists in a data object to a data provider, the data sharing platform can delete a related object body, send the object body to the data provider, and the data provider uses a controllable anonymity method facing data sharing to track a malicious user; ring private key rsk based on target data provider i Signature random number issue and ring public key set (rpk) 1 ,rpk 2 ,...,rpk n ) Generating a trace-back signature of data to be traced back i 'A'; and judging whether the traceable signature is consistent with the traceable ring signature, if so, indicating that the target data provider is the traced data provider, and outputting the ring public key of the target data provider. It will be appreciated that malicious data providers can be tracked after all data providers have performed the controlled anonymization method.
Referring to fig. 4, fig. 4 is a third flowchart of a data sharing method based on ring signature and promise according to an embodiment of the present application.
The data sharing method based on ring signature and promise, provided by the embodiment of the application, is applied to a data user, and can comprise the following steps:
step S301: and sending a data acquisition request to the data sharing platform.
In practical applications, the data user may first send a data acquisition request to the data sharing platform to acquire the required target data by means of the data acquisition request.
In a specific application scenario, the data description of the target data may be stored in the data sharing platform, so that the data user may determine the required target data based on the data description, and send a corresponding data acquisition request, that is, in the process of sending the data acquisition request to the data sharing platform, the data acquisition request may be sent to the data sharing platform, where the data acquisition request includes a request for acquiring the target data generated based on the data description on the data sharing platform.
Step S302: receiving a target data object and a first proof returned by a data sharing platform, wherein the target data object comprises an object head and an object body, the object head comprises an identifier, an address, a traceable ring signature, a version number and a transaction identifier, the object body comprises target data, the first proof comprises a proof generated by the data sharing platform for the target data based on auxiliary information corresponding to the target data, and the auxiliary information comprises information generated for the target data based on vector commitment public parameters.
In practical application, after sending a data acquisition request to a data sharing platform, the data sharing platform can determine a target data object corresponding to the data acquisition request, generate a first proof for a target based on auxiliary information corresponding to the target data, wherein the auxiliary information includes information generated for the target data based on vector commitment disclosure parameters, and finally return the target data object and the first proof to the data user.
It should be noted that, the target data object in the present application is generated by a data provider of target data, which may include an object header and an object body, where the object header includes an identifier, an address, a traceable ring signature, a version number, and a transaction identifier, and the object body includes target data, and the identifier is used to distinguish different target data; the address is used for representing a blockchain state channel intelligent contract address corresponding to target data to be shared, and a data provider, a data user and a data sharing platform can access state channel parameters on the blockchain through the address; the traceable ring signature is used for subsequent traceability of the data provider; the version number is used for representing the version number of the target data, and can be determined by the update times of the target data, for example, the value of the version number is increased by one value every time the target data is updated; the transaction identifier is used for indicating the identifier of the transaction submitted to the blockchain when the data provider updates the corresponding data and the status channel; the target data may be original data, or may be data obtained by encrypting the original data, for example, encrypting the original data based on an AES symmetric encryption algorithm, an SM4 symmetric encryption algorithm, or the like.
Step S303: based on the address access blockchain smart contract in the target data object, a check identifier, a check traceable ring signature, a check version number, a signature random number, a check vector commitment including a commitment generated for the target data based on a vector commitment disclosure parameter, and a ring public key set including ring public keys of all data providers of the target data are obtained.
In practical applications, after receiving the target data object and the first certificate, the data user may access the blockchain smart contract based on the address in the target data object to obtain a check identifier, a check traceable ring signature, a check version number, a signature random number, a check vector commitment and a ring public key set, where the check vector commitment includes a commitment generated for the target data based on a vector commitment disclosure parameter, and the ring public key set includes ring public keys of all data providers of the target data, where the check identifier, the check traceable ring signature, the check version number, the signature random number, the check vector commitment and the ring public key set stored in the blockchain smart contract are corresponding real information of the target data generated by the data provider of the target data, so that the data user may verify whether the received target data is correct based on the corresponding information stored in the blockchain smart contract to determine whether the required target data is obtained.
Step S304: and if the identification, the traceable ring signature and the version number in the target data object are corresponding and consistent with the verification identification, the verification traceable ring signature and the verification version number, verifying the validity of the traceable ring signature in the target data object based on the signature random number, the ring public key set and the target data.
In practical application, after accessing the blockchain intelligent contract based on the address in the target data object, the data user acquires the verification identifier, the verification traceable ring signature, the verification version number, the signature random number, the verification vector promise and the ring public key set, and then can verify the consistency of the target data, namely, whether the identifier in the target data object is consistent with the verification identifier, whether the traceable ring signature in the target data object is consistent with the verification traceable ring signature, and whether the version number in the target data object is consistent with the verification version number, and if so, the validity of the traceable ring signature in the target data object can be verified based on the signature random number, the ring public key set and the target data. If there is an inconsistency, it may be determined that the received target data is not the original target data, the data sharing process may be terminated, and so on.
Step S305: and if the traceable ring signature in the target data object is legal, verifying the validity of the first certificate based on the check vector promise and the target data.
In practical application, after verifying the validity of the traceable ring signature in the target data object based on the signature random number, the ring public key set and the target data, the data user may terminate the data sharing process if the traceable ring signature in the target data object is not legal, and verify the validity of the first certificate based on the check vector commitment and the target data if the traceable ring signature in the target data object is legal.
Step S306: and if the first evidence is legal, storing the target data.
In practical application, after verifying the first certification based on the check vector promise and the target data, the data user can store the target data, and the target data stored by the data user is the target data shared by the data provider at this time, that is, the application can ensure that the data user obtains the real target data by means of the identification, the traceable ring signature, the version number and the first certification in the target data object; accordingly, if the first proof is not legal based on the check vector promise and the target data, the data sharing process can be terminated.
The detailed description of the corresponding steps in the ring signature and promise-based data sharing method provided in the embodiments of the present application may refer to the above embodiments, and will not be repeated here.
The data sharing method based on the ring signature and the promise is applied to a data user, and sends a data acquisition request to a data sharing platform; receiving a target data object and a first proof returned by a data sharing platform, wherein the target data object comprises an object head and an object body, the object head comprises an identifier, an address, a traceable ring signature, a version number and a transaction identifier, the object body comprises target data, the first proof comprises a proof generated by the data sharing platform for the target data based on auxiliary information corresponding to the target data, and the auxiliary information comprises information generated for the target data based on vector commitment disclosure parameters; based on address access blockchain intelligent contracts in the target data object, obtaining a verification identifier, a verification traceable ring signature, a verification version number, a signature random number, a verification vector commitment and a ring public key set, wherein the verification vector commitment comprises a commitment generated for the target data based on vector commitment disclosure parameters, and the ring public key set comprises ring public keys of all data providers of the target data; if the identification, the traceable ring signature and the version number in the target data object are corresponding to and consistent with the verification identification, the verification traceable ring signature and the verification version number, verifying the validity of the traceable ring signature in the target data object based on the signature random number, the ring public key set and the target data; if the traceable ring signature in the target data object is legal, verifying the validity of the first certificate based on the check vector promise and the target data; and if the first evidence is legal, storing the target data. In the method, the data sharing platform returns the target data object and the first certificate to the data user based on the data acquisition request, and the data user verifies the target data object based on the verification identifier, the verification traceable ring signature, the verification version number, the signature random number, the verification vector commitment and the ring public key set stored in the blockchain intelligent contract, so that the required target data can be acquired without involving the privacy of the data user, and the target data can be monitored based on the traceable ring signature.
The data sharing method based on ring signature and promise, provided by the embodiment of the application, is applied to a data sharing platform and can comprise the following steps:
receiving a data acquisition request sent by a data user;
determining a target data object corresponding to the data acquisition request, wherein the target data object comprises an object head and an object body, the object head comprises an identifier, an address, a traceable ring signature, a version number and a transaction identifier, and the object body comprises target data;
generating a first proof for the target data based on auxiliary information corresponding to the target data, the auxiliary information including information generated for the target data based on the vector commitment disclosure parameter;
transmitting the target data object and the first certificate to a data user, so that the data user can acquire a check identifier, a check traceable ring signature, a check version number, a signature random number, a check vector commitment and a ring public key set based on an address access blockchain intelligent contract in the target data object, and if the identifier, the traceable ring signature and the version number in the target data object are corresponding and consistent with the check identifier, the check traceable ring signature and the check version number, verifying that the traceable ring signature in the target data object is legal based on the signature random number, the ring public key set and the target data, and storing the target data after verifying that the first certificate is legal based on the check vector commitment and the target data; wherein the check vector commitment includes a commitment generated for the target data based on the vector commitment disclosure parameter, and the ring public key set includes ring public keys of all data providers of the target data.
The detailed description of the corresponding steps in the ring signature and promise-based data sharing method provided in the embodiments of the present application may refer to the above embodiments, and will not be repeated here.
Referring to fig. 5, fig. 5 is a schematic structural diagram of a data sharing system based on ring signature and promise according to an embodiment of the present application.
The data sharing system based on ring signature and promise provided by the embodiment of the application is applied to a data user, and can comprise:
a first sending module 101, configured to send a data acquisition request to a data sharing platform;
the first receiving module 102 is configured to receive a target data object and a first proof returned by the data sharing platform, where the target data object includes an object header and an object body, the object header includes an identifier, an address, a traceable ring signature, a version number, and a transaction identifier, the object body includes target data, the first proof includes a proof generated by the data sharing platform for the target data based on auxiliary information corresponding to the target data, and the auxiliary information includes information generated for the target data based on vector commitment disclosure parameters;
a first obtaining module 103, configured to access a blockchain intelligent contract based on an address in a target data object, obtain a verification identifier, a verification traceable ring signature, a verification version number, a signature random number, a verification vector commitment, and a ring public key set, where the verification vector commitment includes a commitment generated for the target data based on a vector commitment public parameter, and the ring public key set includes ring public keys of all data providers of the target data;
The first verification module 104 is configured to verify validity of the traceable ring signature in the target data object based on the signature random number, the ring public key set, and the target data if the identifier, the traceable ring signature, and the version number in the target data object are all corresponding to the verification identifier, the verification traceable ring signature, and the verification version number; if the traceable ring signature in the target data object is legal, verifying the validity of the first certificate based on the check vector promise and the target data; and if the first evidence is legal, storing the target data.
The data sharing method based on ring signature and promise, provided by the embodiment of the application, is applied to a target data provider, and can include:
the second acquisition module is used for acquiring target data to be shared;
the first generation module is used for generating an identification, a version number and a signature random number corresponding to the target data;
the second generation module is used for generating a traceable ring signature of the target data based on the ring private key of the target data provider, the signature random number and a ring public key set, wherein the ring public key set comprises ring public keys of the target data provider and all other data providers;
a third generation module for generating vector commitments and auxiliary information for the target data based on the vector commitment disclosure parameters;
The first storage module is used for storing an identifier, a traceable ring signature, a version number, a signature random number, a vector commitment and a ring public key set based on the blockchain intelligent contract;
the third acquisition module is used for acquiring the address and the transaction identifier of the blockchain intelligent contract;
the first construction module is used for constructing an object head based on the identification, the address, the traceable ring signature, the version number and the transaction identification, constructing an object body based on the target data and forming the object head and the object body into a target data object;
the second storage module is used for storing the target data object and the auxiliary information to the data sharing platform, so that a data user sends a data acquisition request to the data sharing platform, receives the target data object returned by the data sharing platform and a first certificate, acquires a check mark, a check traceable ring signature, a check version number, a signature random number, a check vector promise and a ring public key set based on an address access blockchain intelligent contract in the target data object, and stores the target data after verifying that the first certificate is legal based on the signature random number, the ring public key set and the target data, wherein the first certificate comprises a certificate generated by the data sharing platform for the target data based on the auxiliary information if the mark, the traceable ring signature and the version number in the target data object are corresponding to the check mark, the check traceable ring signature and the check version number.
The data sharing method based on ring signature and promise, provided by the embodiment of the application, is applied to a data sharing platform and can comprise the following steps:
the second receiving module is used for receiving a data acquisition request sent by a data user;
the first determining module is used for determining a target data object corresponding to the data acquisition request, wherein the target data object comprises an object head and an object body, the object head comprises an identifier, an address, a traceable ring signature, a version number and a transaction identifier, and the object body comprises target data;
a fourth generation module, configured to generate, for the target data, a first proof based on auxiliary information corresponding to the target data, where the auxiliary information includes information generated for the target data based on the vector commitment disclosure parameter;
the second sending module is used for sending the target data object and the first certificate to the data user so that the data user can acquire a check identifier, a check traceable ring signature, a check version number, a signature random number, a check vector promise and a ring public key set based on the address access blockchain intelligent contract in the target data object, and if the identifier, the traceable ring signature and the version number in the target data object are consistent with the check identifier, the check traceable ring signature and the check version number, the traceable ring signature in the target data object is verified to be legal based on the signature random number, the ring public key set and the target data, and the target data is saved after the first certificate is verified to be legal based on the check vector promise and the target data; wherein the check vector commitment includes a commitment generated for the target data based on the vector commitment disclosure parameter, and the ring public key set includes ring public keys of all data providers of the target data.
The detailed description of the corresponding modules in the ring signature and promise based data sharing system provided in the embodiments of the present application may refer to the above embodiments, and will not be repeated here.
The application also provides a data sharing device and a computer readable storage medium based on the ring signature and the promise, which have the corresponding effects of the data sharing method based on the ring signature and the promise. Referring to fig. 6, fig. 6 is a schematic structural diagram of a data sharing device based on ring signature and promise according to an embodiment of the present application.
The data sharing device based on ring signature and commitment provided in the embodiments of the present application includes a memory 201 and a processor 202, where the memory 201 stores a computer program, and the processor 202 implements the steps of the data sharing method based on ring signature and commitment described in any embodiment above when executing the computer program.
Referring to fig. 7, another data sharing device based on ring signature and promise according to the embodiment of the present application may further include: an input port 203 connected to the processor 202 for transmitting an externally input command to the processor 202; a display unit 204 connected to the processor 202, for displaying the processing result of the processor 202 to the outside; a communication module 205 connected to the processor 202, for implementing communication between the ring signature and promised data sharing device and the outside world. The display unit 204 may be a display panel, a laser scanning display, or the like; communication means employed by the communication module 205 include, but are not limited to, mobile high definition link technology (HML), universal Serial Bus (USB), high Definition Multimedia Interface (HDMI), wireless connection: wireless fidelity (WiFi), bluetooth communication, bluetooth low energy communication, ieee802.11s based communication.
The embodiment of the application provides a computer readable storage medium, in which a computer program is stored, and when the computer program is executed by a processor, the steps of the data sharing method based on ring signature and commitment are implemented as described in any embodiment above.
The computer readable storage medium referred to in this application includes Random Access Memory (RAM), memory, read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
The description of the relevant parts in the data sharing system, the device and the computer readable storage medium based on the ring signature and the promise provided in the embodiments of the present application refers to the detailed description of the corresponding parts in the data sharing method based on the ring signature and the promise provided in the embodiments of the present application, and is not repeated here. In addition, the parts of the above technical solutions provided in the embodiments of the present application, which are consistent with the implementation principles of the corresponding technical solutions in the prior art, are not described in detail, so that redundant descriptions are avoided.
It is further noted that relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (15)

1. A method for sharing data based on ring signature and commitment, applied to a data user, comprising:
sending a data acquisition request to a data sharing platform;
receiving a target data object and a first proof returned by the data sharing platform, wherein the target data object comprises an object head and an object body, the object head comprises an identification, an address, a traceable ring signature, a version number and a transaction identification, the object body comprises the target data, the first proof comprises a proof generated by the data sharing platform for the target data based on auxiliary information corresponding to the target data, and the auxiliary information comprises information generated for the target data based on vector commitment disclosure parameters;
Based on the address access blockchain intelligent contract in the target data object, obtaining a verification identifier, a verification traceable ring signature, a verification version number, a signature random number, a verification vector commitment and a ring public key set, wherein the verification vector commitment comprises a commitment generated for the target data based on the vector commitment public parameter, and the ring public key set comprises ring public keys of all data providers of the target data;
if the identifier, the traceable ring signature and the version number in the target data object are corresponding to the verification identifier, the verification traceable ring signature and the verification version number, verifying the validity of the traceable ring signature in the target data object based on the signature random number, the ring public key set and the target data;
if the traceable ring signature in the target data object is legal, verifying the validity of the first certificate based on the check vector commitment and the target data;
and if the first evidence is legal, storing the target data.
2. The method of claim 1, wherein sending the data acquisition request to the data sharing platform comprises:
And sending the data acquisition request to the data sharing platform, wherein the data acquisition request comprises a request for acquiring the target data, which is generated based on the data description on the data sharing platform.
3. A method of ring signature and commitment based data sharing, applied to a target data provider, comprising:
acquiring target data to be shared;
generating an identification, a version number and a signature random number corresponding to the target data;
generating a traceable ring signature of the target data based on a ring private key of the target data provider, the signature random number, and a ring public key set, the ring public key set including ring public keys of the target data provider and all other data providers;
generating vector commitment and auxiliary information for the target data based on vector commitment disclosure parameters;
preserving the identity, the traceable ring signature, the version number, the signature random number, the vector commitment, the ring public key set based on a blockchain smart contract;
acquiring an address and a transaction identifier of the blockchain intelligent contract;
constructing an object header based on the identification, the address, the traceable ring signature, the version number and the transaction identification, constructing an object body based on the target data, and forming the object header and the object body into a target data object;
Storing the target data object and the auxiliary information to a data sharing platform, so that a data user sends a data acquisition request to the data sharing platform, receives a target data object returned by the data sharing platform and a first certificate, accesses the blockchain intelligent contract based on the address in the target data object to acquire a verification identifier, a verification traceable ring signature, a verification version number, a signature random number, a verification vector promise and a ring public key set, and verifies the traceable ring signature legal in the target data object based on the signature random number, the ring public key set and the target data, and then stores the target data after verifying the first certificate based on the verification vector promise and the target data, wherein the first certificate comprises a certificate generated by the data sharing platform for the target data based on the auxiliary information.
4. The method of claim 3, wherein the saving the target data object and the auxiliary information to a data sharing platform comprises:
Generating a second attestation for the target data based on the auxiliary information;
and sending the target data object, the vector commitment, the signature random number, the ring public key set, the auxiliary information and the second certificate to the data sharing platform, so that the data sharing platform can store the target data object and the auxiliary information after verifying the traceable ring signature legitimacy in the target data object based on the signature random number, the ring public key set and the target data in the target data object and verifying the second certificate legitimacy based on the vector commitment and the target data.
5. The method of claim 4, wherein the blockchain-based intelligent contract maintains the identification, the traceable ring signature, the version number, the signature random number, the vector commitment, the ring public key set, comprising:
obtaining all signature values generated by the target data provider and all other data providers, wherein the signature values generated by a data provider comprise signatures generated for the target data, the identification, the traceable ring signature, the signature random number, the version number and the vector commitment based on a private key of the data provider, and the data provider comprises the target data provider and the other data provider;
Constructing a transaction based on the identification, the traceable ring signature, the version number, the signature random number, the vector commitment, the ring public key set, a public key set, all the signature values, the public key set comprising public keys of the target data provider and all the other data providers;
and sending the transaction to the blockchain intelligent contract so that a state channel is established after all signature values are verified to be legal by the blockchain intelligent contract, and the identification, the traceable ring signature, the version number, the signature random number, the vector commitment, the ring public key set and the public key set are stored.
6. The method of claim 5, wherein after the saving the target data object and the auxiliary information to the data sharing platform, further comprising:
acquiring target update data obtained after updating the target data;
generating an update version number and an update signature random number of the target update data;
generating an update traceable ring signature of the target update data based on the ring private key, the update signature random number, and the ring public key set of the target data provider;
Generating update vector commitments and update information based on the vector commitments, the target data, and the target update data;
transmitting the target update data, the update traceable ring signature, the update version number, the update signature random number, and the update vector commitment to all of the other data providers;
if all the other data providers verify that the updated traceable ring signature is legal, judging whether write-write conflict exists between the updated traceable ring signature and the other data providers;
if the write-write collision does not exist, updating the state channel on a blockchain based on the identification, the update traceable ring signature, the update version number, the update signature random number, and the update vector commitment.
7. The method of claim 6, wherein after said determining whether a write-write conflict exists with said other data provider, further comprising:
if the write-write conflict exists between the target update data and the other data providers, generating a self conflict random number, and signing the target update data and the self conflict random number based on a private key of the target data provider to obtain a conflict signature;
Receiving the conflict random number and the conflict signature of the other data provider having the write-write conflict;
verifying whether the conflict signature of the other data provider having the write-write conflict is legitimate based on the conflict random number of the other data provider having the write-write conflict;
if the conflict random numbers are legal, calculating hash values of all the conflict random numbers, and calculating distance values between the hash values and each conflict random number;
determining the data provider corresponding to the smallest distance value as an update executor, and indicating the update executor to update the state channel on the blockchain based on the identification, the update traceable ring signature, the update version number, the update signature random number and the update vector promise;
and returning to execute the step of judging whether the write-write conflict exists between the data provider and the other data providers or not.
8. The method of claim 7, wherein the updating the state channel prior to committing to updating the state channel on a blockchain based on the identification, the update traceable ring signature, the update version number, the update signature random number, and the update vector, further comprises:
Calculating to obtain an update judgment value based on the update mark and the file priority of the target data through an operation formula, and calculating to obtain an update threshold value based on the update interval of the target data;
if the update judgment value is smaller than the update threshold value, maintaining the under-chain state;
if the update determination value is greater than or equal to the update threshold value, executing the step of updating the state channel on the blockchain based on the identification, the update traceable ring signature, the update version number, the update signature random number and the update vector commitment;
the operation formula comprises:
Figure FDA0004232304910000041
T=LoT*α;
wherein DUV represents the updated decision value; n represents the total data amount of the target data; AF (AF) i The update flag indicating the ith data in the target data, wherein when the ith data in the target data is updated, AF i =1, when the ith data in the target data is not updated, AF i =0;Pr i -representing the file priority of an ith data in the target data; t represents the updated threshold value; loT the update interval; alpha represents a preset scaling factor.
9. The method of any of claims 6 to 8, wherein the updating the state channel on a blockchain based on the identification, the update traceable ring signature, the update version number, the update signature random number, and the update vector commitment comprises:
Constructing an update transaction based on the identification, the update traceable ring signature, the update version number, the update signature random number, and the update vector commitment;
signing the update transaction based on the private key of the target data provider to obtain an update signature;
transmitting the update transaction and the update signature to the blockchain smart contract such that the blockchain smart contract, after verifying that the update signature is valid based on the public key set, saves the identification, the update traceable ring signature, the update version number, the update signature random number, the update vector commitment, the public key set, and the ring public key set.
10. The method of claim 9, wherein after the saving the target data object and the auxiliary information to the data sharing platform, further comprising:
acquiring the signature random number of the data to be traced and the traceable ring signature;
generating a tracing signature of the data to be traced based on a ring private key of the target data provider, the signature random number and the ring public key set;
and judging whether the traceable ring signature is consistent with the traceable ring signature, and if so, outputting the ring public key of the target data provider.
11. The method of claim 3, further comprising, after the obtaining the target data to be shared:
and generating a data description of the target data and storing the data description to the data sharing platform.
12. The data sharing method based on ring signature and promise is characterized by being applied to a data sharing platform and comprising the following steps:
receiving a data acquisition request sent by a data user;
determining a target data object corresponding to the data acquisition request, wherein the target data object comprises an object head and an object body, the object head comprises an identifier, an address, a traceable ring signature, a version number and a transaction identifier, and the object body comprises the target data;
generating a first proof for the target data based on auxiliary information corresponding to the target data, the auxiliary information including information generated for the target data based on vector commitment disclosure parameters;
sending the target data object and the first certificate to the data user, so that the data user obtains a verification identifier, a verification traceable ring signature, a verification version number, a signature random number, a verification vector promise and a ring public key set based on the address access blockchain intelligent contract in the target data object, and if the identifier, the traceable ring signature and the version number in the target data object are consistent with the verification identifier, the verification traceable ring signature and the verification version number in the target data object, the traceable ring signature in the target data object is verified to be legal based on the signature random number, the ring public key set and the target data, and the target data is stored after the first certificate is verified to be legal based on the verification vector promise and the target data; wherein the check vector commitment includes a commitment generated for the target data based on the vector commitment disclosure parameter, the ring public key set including ring public keys of all data providers of the target data.
13. A ring signature and commitment based data sharing system for use with a data consumer, comprising:
the first sending module is used for sending a data acquisition request to the data sharing platform;
the first receiving module is used for receiving a target data object and a first proof returned by the data sharing platform, wherein the target data object comprises an object head and an object body, the object head comprises an identifier, an address, a traceable ring signature, a version number and a transaction identifier, the object body comprises the target data, the first proof comprises a proof generated by the data sharing platform for the target data based on auxiliary information corresponding to the target data, and the auxiliary information comprises information generated for the target data based on vector commitment public parameters;
a first obtaining module, configured to access a blockchain smart contract based on the address in the target data object, to obtain a check identifier, a check traceable ring signature, a check version number, a signature random number, a check vector commitment including a commitment generated for the target data based on the vector commitment disclosure parameter, and a ring public key set including ring public keys of all data providers of the target data;
The first verification module is used for verifying the validity of the traceable ring signature in the target data object based on the signature random number, the ring public key set and the target data if the identification, the traceable ring signature and the version number in the target data object are consistent with the verification identification, the verification traceable ring signature and the verification version number; if the traceable ring signature in the target data object is legal, verifying the validity of the first certificate based on the check vector commitment and the target data; and if the first evidence is legal, storing the target data.
14. A ring signature and commitment based data sharing apparatus, comprising:
a memory for storing a computer program;
a processor for implementing the steps of the ring signature and promise based data sharing method according to any one of claims 1 to 12 when executing the computer program.
15. A computer readable storage medium, characterized in that the computer readable storage medium has stored therein a computer program which, when executed by a processor, implements the steps of the ring signature and commitment based data sharing method according to any of the claims 1 to 12.
CN202211286413.1A 2022-10-20 2022-10-20 Data sharing method, system, equipment and medium based on ring signature and promise Active CN115510504B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211286413.1A CN115510504B (en) 2022-10-20 2022-10-20 Data sharing method, system, equipment and medium based on ring signature and promise

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211286413.1A CN115510504B (en) 2022-10-20 2022-10-20 Data sharing method, system, equipment and medium based on ring signature and promise

Publications (2)

Publication Number Publication Date
CN115510504A CN115510504A (en) 2022-12-23
CN115510504B true CN115510504B (en) 2023-06-16

Family

ID=84510283

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211286413.1A Active CN115510504B (en) 2022-10-20 2022-10-20 Data sharing method, system, equipment and medium based on ring signature and promise

Country Status (1)

Country Link
CN (1) CN115510504B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111950032A (en) * 2020-09-01 2020-11-17 宁波富万信息科技有限公司 Block chain-based data storage method, terminal device and storage medium
CN113411384A (en) * 2021-06-10 2021-09-17 华中科技大学 System and method for privacy protection in data security sharing process of Internet of things

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107453865B (en) * 2017-07-18 2020-09-11 众安信息技术服务有限公司 Multi-party data sharing method and system for protecting privacy of data sending source
CN111709058B (en) * 2020-06-09 2023-10-17 陕西师范大学 Data integrity checking method based on identity and ring signature
CN112365252A (en) * 2020-07-31 2021-02-12 深圳市网心科技有限公司 Account model-based privacy transaction method and device and related equipment
CN111881481B (en) * 2020-08-05 2024-04-09 杭州翔毅科技有限公司 Medical data processing method, device, equipment and storage medium based on blockchain
CN112132578B (en) * 2020-09-16 2022-05-06 建信金融科技有限责任公司 Efficient transaction processing method, tracking method and device based on block chain
CN112256800A (en) * 2020-12-21 2021-01-22 支付宝(杭州)信息技术有限公司 Vector commitment-based alliance link data processing method, device and equipment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111950032A (en) * 2020-09-01 2020-11-17 宁波富万信息科技有限公司 Block chain-based data storage method, terminal device and storage medium
CN113411384A (en) * 2021-06-10 2021-09-17 华中科技大学 System and method for privacy protection in data security sharing process of Internet of things

Also Published As

Publication number Publication date
CN115510504A (en) 2022-12-23

Similar Documents

Publication Publication Date Title
Leng et al. Blockchain security: A survey of techniques and research directions
EP4120114A1 (en) Data processing method and apparatus, smart device and storage medium
CN109829326B (en) Cross-domain authentication and fair audit de-duplication cloud storage system based on block chain
CN107967557B (en) Modifiable credit evaluation system and method based on block chain and electronic payment system
Chattaraj et al. Block-CLAP: Blockchain-assisted certificateless key agreement protocol for internet of vehicles in smart transportation
CN110288480B (en) Private transaction method and device for blockchain
Mei et al. Blockchain-enabled privacy-preserving authentication mechanism for transportation CPS with cloud-edge computing
KR20200126321A (en) How to securely execute smart contract actions in a trusted execution environment
Yan et al. A homomorphic encryption and privacy protection method based on blockchain and edge computing
Zou et al. Reportcoin: A novel blockchain-based incentive anonymous reporting system
CN112380578A (en) Edge computing framework based on block chain and trusted execution environment
CN109687965A (en) The real name identification method of subscriber identity information in a kind of protection network
Liu et al. Privacy-preserving COVID-19 contact tracing solution based on blockchain
CN111614680A (en) CP-ABE-based traceable cloud storage access control method and system
CN112016923A (en) Intra-network cross-domain identity management method and system based on block chain and computational power network
CN114760071B (en) Zero-knowledge proof based cross-domain digital certificate management method, system and medium
Zhong et al. A new message authentication scheme for multiple devices in intelligent connected vehicles based on edge computing
Thokchom et al. Privacy preserving integrity checking of shared dynamic cloud data with user revocation
Chen et al. BCGS: Blockchain-assisted privacy-preserving cross-domain authentication for VANETs
Jiang et al. DCIV: Decentralized cross-chain data integrity verification with blockchain
Subramani et al. Blockchain-based physically secure and privacy-aware anonymous authentication scheme for fog-based vanets
CN113328854B (en) Service processing method and system based on block chain
Javed et al. Secure message handling in vehicular energy networks using blockchain and artificially intelligent IPFS
Lu et al. Transactive energy system deployment over insecure communication links
CN115510504B (en) Data sharing method, system, equipment and medium based on ring signature and promise

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant