Credible block chain data conditional security sharing method and system for cloud side end

Through the use of blockchain technology and proxy re-encryption keys, the security and privacy protection of data sharing in cloud-edge environments are solved, efficient data sharing and permission control are realized, and data security and traceability are ensured. sex.

CN119109578APending Publication Date: 2024-12-10NOVNET COMPUTING SYST TECH CO LTD
View PDF 0 Cites 5 Cited by

Patent Information

Application Number
CN202411272357.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-11
Publication Date
2024-12-10

AI Technical Summary

Technical Problem

In the existing cloud-edge environment, data sharing has problems such as poor security, insufficient privacy protection and low sharing efficiency. Traditional centralized data management is difficult to adapt to distributed and heterogeneous cloud-edge environments, which can easily lead to data leakage and tampering. and difficulty in managing permissions.

Method used

Using blockchain technology, a proxy re-encryption key is generated by third-party institutions on the data requesting end and the data owner end, and using DID identifiers and attribute certificates for identity authentication and permission control, encrypting data in a decentralized distributed storage system. Storage and re-encrypted storage through blockchain proxy nodes to ensure data security and traceability.

Benefits of technology

It realizes the secure sharing of data in the cloud-edge environment, improves the efficiency of data privacy protection and access rights control, ensures data security and traceability, and avoids the risks of data leakage and tampering.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119109578A_ABST
    Figure CN119109578A_ABST
Patent Text Reader

Abstract

The invention provides a trusted block chain data conditional security sharing method and system oriented to a cloud side end, and the method comprises the steps: generating a first re-encryption key for proxy re-encryption for a data request end and a data owning end through a third-party mechanism, generating a DID identifier by the data request end, and transmitting the DID identifier and attribute information to an identity authentication system for registration on a block chain. In a data sharing process, a data owning end performs identity authentication on a data request end based on a decentralized identity authentication system and a challenge response mode, performs authority authentication based on an attribute certificate, and stores data into a decentralized distributed storage system after symmetrically encrypting the data. The access address and the symmetric encryption key are handed to a block chain agent node for uplink storage in a re-encryption form; and the data requester obtains and decrypts the re-encrypted ciphertext, obtains the access address and the symmetric encryption key of the ciphertext of the target data in the decentralized distributed storage system, and obtains and decrypts the target data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of blockchain technology, and in particular to a method and system for conditionally securely sharing trusted blockchain data for a cloud-edge terminal. Background Art

[0002] Blockchain is a distributed ledger technology based on cryptographic algorithms. Through a specific consensus mechanism, data is constructed into a time-series chain structure in blocks, and data is synchronized and verified through a P2P network to ensure the decentralization and immutability of the system. Its architecture consists of multiple layers: the data layer encapsulates the underlying data blocks, data encryption, timestamp mechanism and Merkle tree structure to ensure the integrity and immutability of data; the network layer is responsible for distributed networking and data transmission between nodes, and uses the P2P network structure to achieve efficient and secure data synchronization between nodes; the consensus layer uses consensus algorithms such as proof of work PoW, proof of stake PoS and practical Byzantine fault tolerance PBFT to enable each node to reach a consensus on the validity of data in a decentralized environment and ensure the security and fault tolerance of the system; the incentive layer integrates economic incentive mechanisms into the blockchain system, incentivizes nodes to participate in network maintenance, and promotes the self-sustaining and development of the system; the contract layer encapsulates various scripts and smart contracts, supports the development and operation of decentralized applications, and executes contract instruction sets through virtual machines to ensure the security and correctness of contracts; the application layer covers various application scenarios of blockchain, including decentralized finance DeFi, supply chain management, identity authentication and other applications, and enhances the innovation and development of various industries through the immutability of blockchain. These layers work together to build a decentralized, self-organizing, highly trusted and secure distributed ledger system.

[0003] However, in view of the problem of secure data sharing in the current cloud-edge-end scenario, existing technical solutions still face many challenges in data sharing and security control. Data sharing in the cloud-edge-end environment involves multiple levels of devices and systems. In the process of data sharing, data security, privacy protection and sharing efficiency become core issues. Traditional centralized data management and sharing methods are difficult to adapt to the distributed and heterogeneous cloud-edge-end environment, which can easily lead to problems such as data leakage, tampering and difficulty in permission management. Therefore, it is urgent to develop a blockchain data security sharing method that is adapted to the cloud-edge-end environment. Summary of the invention

[0004] In view of this, an embodiment of the present invention provides a method and system for conditionally secure sharing of trusted blockchain data for the cloud-edge, so as to eliminate or improve one or more defects existing in the prior art, and solve the problems of poor data security, privacy protection and low sharing efficiency in the prior art.

[0005] One aspect of the present invention provides a method for conditionally securely acquiring trusted blockchain data for a cloud-edge terminal. The method is executed based on a data requesting end at an end-to-end in a blockchain network. The data requesting end requests target data from a data owning end in the cloud, and generates a first public-private key pair of the data requesting end and a second public-private key pair of the data owning end as a first re-key for proxy re-encryption through a third-party organization. The method comprises the following steps:

[0006] Generate a DID (decentralized identity) identifier using a preset method according to the public key in the first public-private key pair and create a DID document, wherein the DID document includes the public key in the first public-private key pair, a verification method, and service endpoint information;

[0007] Sign the DID document and send it together with the attribute information to a preset decentralized identity authentication system to register the DID document on the blockchain network and obtain an attribute certificate; the attribute information is used to mark the access permission control information;

[0008] Sending the DID identifier and the attribute certificate to the data owner, so that the data owner can send the DID identifier to the decentralized identity authentication system for parsing and obtaining the DID document; receiving the random number sent by the data owner as a challenge value, signing the challenge value using the private key in the first public-private key pair, and sending the signed value to the data owner, so as to verify the signature based on the verification method using the public key in the first public-private key pair in the DID document obtained by the data owner;

[0009] After the data owner verifies that the data requester's access rights have been passed based on the attribute certificate, the re-encrypted ciphertext of the on-chain transaction initiated by the data owner through the blockchain proxy node is obtained, and the private key in the first public-private key pair is used to decrypt the re-encrypted secret text to obtain the access address and symmetric encryption key of the ciphertext corresponding to the target data in the decentralized distributed storage system; the re-encrypted ciphertext is obtained by the blockchain proxy node converting the access address and the symmetric encryption key into a decryptable form after the data owner encrypts the target data using the symmetric encryption key and stores it in the decentralized distributed storage system;

[0010] The ciphertext of the target data is searched in the decentralized distributed storage system based on the access address, and the symmetric encryption key is used to decrypt the ciphertext to obtain the target data.

[0011] In some embodiments, generating a DID identifier and establishing a DID document using a preset method according to the public key in the first public-private key pair includes:

[0012] Using a hash value of the public key in the first public-private key pair as the DID identifier;

[0013] Or, adding additional information including a timestamp or a random number to the public key in the first public key pair, and calculating a hash value as a whole as the DID identifier;

[0014] Or, using a timestamp and / or a random number as parameters of a preset algorithm, inputting the public key in the first public key pair into the preset algorithm and outputting the DID identifier, the preset algorithm being an elliptic curve digital signature algorithm.

[0015] In some embodiments, the decentralized distributed storage system is the IFPS Interstellar File System.

[0016] In some embodiments, signing the challenge value using the private key in the first public-private key pair includes:

[0017] The hash value is calculated for the challenge value, and the calculation formula is:

[0018] z = Hash(random);

[0019] Wherein, z is the hash value of the challenge value, and random represents a random number used as the challenge value;

[0020] Construct an elliptic curve:

[0021] R = w·G;

[0022] Among them, G is the base point of the elliptic curve, and the R point is R(x1,y1);

[0023] Then the signature s is:

[0024] s=w -1 ·(z+x1·sk dr )mod n;

[0025] Send the signature s and the coordinates R(x1,y1) of point R to the data owner for signature verification;

[0026] On the other hand, the present invention also provides a method for conditionally securely providing trusted blockchain data for cloud edge terminals, which is executed based on a data owner terminal on the cloud side in a blockchain network, wherein the data owner terminal provides target data to a data request terminal on the edge side, and generates a first public-private key pair of the data request terminal and a second public-private key pair of the data owner terminal as a first re-key for proxy re-encryption through a third-party organization, wherein the data request terminal executes a method for conditionally securely obtaining trusted blockchain data for cloud edge terminals as described in any one of claims 1 to 4, and the method comprises the following steps:

[0027] Receive the DID identifier and attribute certificate sent by the data request end, send the DID identifier to the decentralized identity authentication system for parsing and obtain the DID document of the data request end, the DID document including the public key in the first public-private key pair, the verification method, and the service endpoint information;

[0028] Generate a random number as a challenge value and send it to the data request end, and receive a signature returned by the data request end that is calculated using the private key in the first public-private key pair on the challenge value; based on the verification method, verify the signature using the public key in the first public-private key pair in the DID document;

[0029] When the signature verification passes, checking the access rights according to the attribute information in the attribute certificate;

[0030] After verifying that the access rights are passed, the target data is encrypted with a symmetric encryption key and uploaded to a decentralized distributed storage system, and the returned access address is received;

[0031] Using the public key in the second public-private key pair to encrypt the access address and the symmetric encryption key to obtain a first-level ciphertext; using the public key in the first public-private key pair and the private key in the second public-private key pair to generate a re-encryption key; using the re-encryption key to encrypt the first-level ciphertext to obtain a re-encrypted ciphertext;

[0032] The re-encrypted ciphertext and the re-encryption key are sent to the blockchain proxy node, converted into a ciphertext that can be decrypted by the data requester and stored on the chain, so that the data requester can decrypt the access address and the symmetric encryption key based on the private key in the first public-private key pair, query the decentralized distributed storage system to obtain the ciphertext of the target data, and decrypt it to obtain the target data.

[0033] In some embodiments, the random number generation uses a cryptographically secure pseudo-random number generator (CSPRNG).

[0034] In some embodiments, verifying the signature using the public key of the first public-private key pair in the DID document includes:

[0035] After the data request end constructs the signature using the elliptic curve digital signature algorithm and sends the signature s and the coordinates R(x1, y1) of point R to the data owner end, the hash value of the challenge value is calculated:

[0036] z = Hash(random);

[0037] Wherein, z is the hash value of the challenge value, and random represents a random number used as the challenge value;

[0038] calculate

[0039] u1=s -1 ·z mod n;

[0040] u2=s -1 x1 mod n;

[0041] P=u1·G+u2·pk dr ;

[0042] Verify whether the x coordinate of point P is equal to x1. If they are equal, the verification succeeds, otherwise the verification fails.

[0043] On the other hand, the present invention also provides a cloud-edge-oriented trusted blockchain data conditionally secure sharing system, wherein the system is a blockchain network composed of multiple cloud nodes and multiple edge device nodes;

[0044] The edge device node is used to execute the above-mentioned method for conditionally securely acquiring trusted blockchain data for the cloud edge;

[0045] The cloud node is used to execute the above-mentioned method for conditionally and securely providing trusted blockchain data for the cloud edge.

[0046] On the other hand, the present invention also provides a computer-readable storage medium having a computer program / instruction stored thereon, wherein the computer program / instruction implements the steps of the above method when executed by a processor.

[0047] On the other hand, the present invention also provides a computer program product, comprising a computer program / instruction, characterized in that the steps of the above method are implemented when the computer program / instruction is executed by a processor.

[0048] The beneficial effects of the present invention are at least:

[0049] The method and system for conditionally secure sharing of trusted blockchain data for the cloud-edge end described in the present invention generates a first re-encryption key for proxy re-encryption for the data request end and the data owner end through a third-party organization, and the data request end generates a DID identifier, which is registered on the blockchain together with the attribute information by the identity authentication system. In the process of data sharing, the data owner end authenticates the data request end based on the decentralized identity authentication system and the challenge response method, authenticates the authority based on the attribute certificate, symmetrically encrypts the data and stores it in the decentralized distributed storage system, and hands over the access address and symmetric encryption key to the blockchain proxy node for on-chain storage in the form of re-encryption; the data requester obtains and decrypts the re-encrypted ciphertext, obtains the access address and symmetric encryption key of the ciphertext of the target data in the decentralized distributed storage system, and obtains and decrypts the target data.

[0050] Additional advantages, purposes, and features of the present invention will be described in part in the following description, and will become apparent to those skilled in the art after studying the following, or may be learned from the practice of the present invention. The purposes and other advantages of the present invention may be achieved and obtained by the structures specifically indicated in the specification and the accompanying drawings.

[0051] Those skilled in the art will appreciate that the objectives and advantages that can be achieved with the present invention are not limited to the above specific description, and the above and other objectives that can be achieved by the present invention will be more clearly understood from the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] The drawings described herein are used to provide a further understanding of the present invention, constitute a part of the present application, and do not constitute a limitation of the present invention. In the drawings:

[0053] Figure 1 This is a flow chart of a method for conditionally securely acquiring trusted blockchain data for the cloud-edge according to an embodiment of the present invention.

[0054] Figure 2 This is a flow chart of a method for conditionally securely providing trusted blockchain data for the cloud-edge according to an embodiment of the present invention.

[0055] Figure 3 This is a system architecture diagram of a method for conditionally securely sharing trusted blockchain data for the cloud-edge as described in one embodiment of the present invention.

[0056] Figure 4 This is an execution sequence diagram of the cloud-edge-oriented trusted blockchain data conditionally secure sharing method described in one embodiment of the present invention. DETAILED DESCRIPTION

[0057] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the embodiments and the accompanying drawings. Here, the illustrative embodiments of the present invention and their descriptions are used to explain the present invention, but are not intended to limit the present invention.

[0058] It should also be noted that, in order to avoid obscuring the present invention due to unnecessary details, only structures and / or processing steps closely related to the solutions according to the present invention are shown in the accompanying drawings, while other details that are not closely related to the present invention are omitted.

[0059] It should be emphasized that the term “include / comprises” when used herein refers to the presence of features, elements, steps or components, but does not exclude the presence or addition of one or more other features, elements, steps or components.

[0060] In order to solve the problem that it is difficult to trace the data sharing process of cloud-edge devices, the present invention adopts the smart contract technology of blockchain to store the key information of the data sharing process on the chain by calling the smart contract. Once the data sharing process is recorded on the blockchain, this information will be permanently saved, and the entire data sharing process can be accurately and reliably traced. In order to solve the problem of insufficient security of identity authentication between cloud-edge devices, DID (decentralized identity authentication system) decentralized identity identification technology is adopted to solve the problems of identity forgery, privacy leakage and complex identity management existing in traditional centralized identity authentication systems. DID ensures the security and privacy protection of identity information through distributed storage and encryption, avoids single point failure, prevents identity forgery, simplifies the system's identity authentication process, and improves the reliability and efficiency of authentication. In order to solve the problem of access control between cloud-edge devices, attribute certificates are issued by a third-party authority, and DID is used as the holder's unique identifier in the attribute certificate. The data owner DO controls the access rights of data resources more finely according to the attribute information in the attribute certificate of the data requester DR. In order to solve the problem of difficult to securely share big data files between cloud-edge devices, the IPFS interplanetary file system technology is used to encrypt and store big data files on IPFS. The ciphertext of the big data file is obtained through the IPFS big data file access address, and the symmetric key is used to decrypt the ciphertext of the big data file to achieve secure sharing of big data files.

[0061] Specifically, one aspect of the present invention provides a method for conditionally securely acquiring trusted blockchain data for a cloud-edge terminal. The method is executed based on a data requesting end at an edge in a blockchain network. The data requesting end requests target data from a data owning end in the cloud, and generates a first public-private key pair of the data requesting end and a second public-private key pair of the data owning end as a first re-key for proxy re-encryption through a third-party institution. Figure 1As shown, the method includes the following steps S101 to S105:

[0062] Step S101: Generate a DID (decentralized identity) identifier using a preset method according to the public key in the first public-private key pair and create a DID document. The DID document includes the public key in the first public-private key pair, a verification method, and service endpoint information.

[0063] Step S102: Sign the DID document and send it together with the attribute information to the preset decentralized identity authentication system to register the DID document on the blockchain network and obtain an attribute certificate; the attribute information is used to mark the access permission control information.

[0064] Step S103: Send the DID identifier and attribute certificate to the data owner, so that the data owner can send the DID identifier to the decentralized identity authentication system for parsing and obtain the DID document; receive the random number sent by the data owner as a challenge value, sign the challenge value using the private key in the first public-private key pair, and send the signed value to the data owner to verify the signature based on the verification method using the public key in the first public-private key pair in the DID document obtained by the data owner.

[0065] Step S104: After the data owner verifies that the data requester's access rights are passed based on the attribute certificate, the re-encrypted ciphertext of the on-chain transaction initiated by the data owner through the blockchain proxy node is obtained, and the private key in the first public-private key pair is used to decrypt the re-encrypted secret text to obtain the access address and symmetric encryption key of the ciphertext corresponding to the target data in the decentralized distributed storage system; the re-encrypted ciphertext is obtained by the blockchain proxy node converting the access address and the symmetric encryption key into a decryptable form after the data owner encrypts the target data with the symmetric encryption key and stores it in the decentralized distributed storage system.

[0066] Step S105: searching for the ciphertext of the target data in the decentralized distributed storage system based on the access address, and decrypting the target data using the symmetric encryption key.

[0067] In steps S101 to S105, the data requester DR at the data request end needs to generate and register a DID digital identity, and also needs an attribute certificate AttrCert issued by a third-party authority. drIt is used for permission control. After the data requester DR initiates a data request, the data owner DO on the data-owning end generates a random number as a challenge value and sends it to the data requester DR for identity authentication. Then the data owner DO uses the IPFS distributed storage system to realize big data file sharing and upload key information to the blockchain. The data requester DR obtains key information from the blockchain to decrypt the shared data files on IPFS, thereby realizing secure data sharing.

[0068] First, the data requester DR and the data owner DO generate their own public-private key pairs through the first re-encryption key generation algorithm of the proxy re-encryption:

[0069] (params, sk do , pk do ,sk dr , pk dr )←PRE.KeyGen(λ);

[0070] Among them, params represents the common parameter set, sk do and pk do Represents the private key and public key of the data owner, sk dr and pk dr represents the private key and public key of the data requester; λ represents the security parameter.

[0071] In step S101, the data requester DR generates a local DID identifier and calculates the public key hash H(pk dr ), select a method to generate a DID identifier based on a public key, generate a DID identifier, and construct a DID document, including the public key information pk dr , authentication method, and service endpoint.

[0072] In some embodiments, generating a DID identifier and establishing a DID document using a preset method according to the public key in the first public-private key pair includes:

[0073] Based on the Key-Based Method, the hash value of the public key in the first public-private key pair is used as the DID identifier.

[0074] Or, based on the Hybrid Method, additional information including a timestamp or a random number is added to the public key in the first public key pair, and the hash value is calculated as a whole as the DID identifier.

[0075] Or, based on the Algorithm-Specific Method, using a timestamp and / or a random number as parameters of a preset algorithm, the public key in the first public key pair is input into the preset algorithm and a DID identifier is output, and the preset algorithm is an elliptic curve digital signature algorithm.

[0076] In step S102, the DID document can be signed by calculating the hash value. The data requester DR will use the signed DID document and the attribute Attr dr Submit to the identity authentication system to register DID and obtain the attribute certificate AttrCert dr After receiving the DID document, the identity authentication system will verify the signature of the document to ensure that it comes from the legitimate data requester DR. After verification, the DID document will be stored in the decentralized distributed storage system and the identity information will be anchored on the blockchain. In addition, the attribute Attr dr Verify and issue attribute certificate AttrCert dr .

[0077] In step S103, the DID identifier and attribute certificate are sent to the data owner DO for identity verification and ownership authentication. dr The data owner DO sends the requester DID to the decentralized identity authentication system for DID resolution to obtain the DID document. The data owner DO then sends a random number as a challenge value to the data requester DR for identity authentication. The challenge value can be generated using a cryptographically secure random number generation algorithm:

[0078] r←SecureRandom.generate(n);

[0079] After the data requester DR obtains the challenge value random, he uses the private key sk dr Sign the challenge value random to get the signed value s, using the private key sk dr Signature challenge value random:

[0080] s←Sign(random,sk dr );

[0081] Subsequently, the data requester DR sends the signed value s to the data owner DO for verification. The data owner DO uses the public key pk obtained from the DID document of the data requester DR. dr Verify the received signature s to obtain the verification result result. The verification signature s is:

[0082] result←Verify(random,s,pk dr ).

[0083] Furthermore, the data owner needs to verify the access rights of the data requester.

[0084] After authenticating the data requester DR, the data owner DO needs to further verify whether it has the right to access the requested data. The data owner DO can verify the data requester DR’s attribute certificate AttrCert dr Attribute information in Attr dr , to control their access rights to shared data:

[0085] Attr dr ←ExtractAttributes(AttrCert dr );

[0086] Then, the attribute information Attr of the data requester DR is dr The access control policy AccessPolicy is matched. If the match succeeds, the data requester DR is granted access to the data file. Otherwise, the data file sharing request is denied. The access control policy match is:

[0087] MatchResult←MatchAttributes(Attr dr ,AccessPoli cy);

[0088] The data owner DO uploads the target data to IPFS. After verifying the access rights of the data requester DR, the data owner DO will encrypt the shared data file and upload it to the IPFS distributed storage system. Before uploading the shared data file, the AES encryption algorithm is used to encrypt the shared data file into ciphertext. Generate a random key K AES , encrypt the original data file data into ciphertext C:

[0089]

[0090] Subsequently, the encrypted ciphertext C is uploaded to the IPFS distributed storage system, and the IPFS access address loc is returned:

[0091] loc←IPFS_add(C);

[0092] The data owner DO sends the IPFS access address loc and key K AES Encrypted on the chain, the data owner DO uses the first encryption public key pk do Access IPFS address loc and key K AES Encrypted into ciphertext C do :

[0093]

[0094] In addition, the data owner DO uses the first encryption public key pk of the data requester DR dr And its first encrypted private key sk do Generate re-encryption key rk do→dr :

[0095] rk do→dr ←ReKeyGen(sk do ,pk dr );

[0096] Specifically, the second encryption key rk do→dr The generation process is as follows:

[0097] rk do→dr =(r,H1(pk do ) skdo );

[0098] Then, the data owner DO sends the ciphertext C do and the re-encryption key rk do→dr The blockchain proxy node uses the re-encryption key rk do→dr The ciphertext C do Converted into a re-encrypted ciphertext C that can be decrypted by the data requester DR dr :

[0099]

[0100] Subsequently, the blockchain proxy node sends the re-encrypted ciphertext C to the blockchain by initiating a re-encrypted ciphertext on-chain transaction request. dr Wind up.

[0101] In step S104, the data requester DR obtains the re-encrypted ciphertext. The data requester DR obtains the ciphertext C that can be decrypted from the re-encrypted ciphertext on-chain transaction through the blockchain node. dr , and then use its own private key sk dr For ciphertext C dr Decrypt to obtain the IPFS access address loc and decryption key K of the requested data ciphertext AES :

[0102]

[0103] In step S105, the data requester DR obtains the shared data ciphertext C from IPFS according to the IPFS access address loc, and then uses the decryption key K AES Decrypt the ciphertext C to obtain the shared data file data.

[0104] In some embodiments, in step S103, signing the challenge value using the private key in the first public-private key pair includes:

[0105] Step S1031: Calculate the hash value for the challenge value using the following formula:

[0106] z = Hash(random);

[0107] Among them, z is the hash value of the challenge value, and random represents a random number used as the challenge value.

[0108] Step S1032: construct an elliptic curve:

[0109] R = w·G;

[0110] Among them, G is the base point of the elliptic curve, and the R point is R(x1,y1);

[0111] Then the signature s is:

[0112] s=w -1 ·(z+x1·sk dr )mod n;

[0113] Step S1033: Send the signature s and the coordinates R (x1, y1) of point R to the data owner for signature verification.

[0114] On the other hand, the present invention also provides a method for conditionally secure provision of trusted blockchain data for cloud-edge terminals. The method is executed based on the data owner end of the cloud in the blockchain network. The data owner end provides target data to the data request end of the edge terminal, and generates a first public-private key pair of the data request end and a second public-private key pair of the data owner end through a third-party organization as the first key for proxy re-encryption. The data request end executes the above-mentioned method for conditionally secure acquisition of trusted blockchain data for cloud-edge terminals, such as Figure 2 As shown, the method includes the following steps S201 to S206:

[0115] Step S201: Receive the DID identifier and attribute certificate sent by the data request end, send the DID identifier to the decentralized identity authentication system for parsing and obtain the DID document of the data request end, the DID document includes the public key in the first public-private key pair, the verification method and the service endpoint information.

[0116] Step S202: Generate a random number as a challenge value and send it to the data request end, and receive the signature returned by the data request end by calculating the challenge value using the private key in the first public-private key pair; based on the verification method, verify the signature using the public key in the first public-private key pair in the DID document.

[0117] Step S203: When the signature verification passes, the access rights are checked according to the attribute information in the attribute certificate.

[0118] Step S204: After verifying that the access rights are passed, the target data is encrypted using a symmetric encryption key and uploaded to the decentralized distributed storage system, and the returned access address is received.

[0119] Step S205: Use the public key in the second public-private key pair to encrypt the access address and the symmetric encryption key to obtain a first-level ciphertext; use the public key in the first public-private key pair and the private key in the second public-private key pair to generate a re-encryption key; use the re-encryption key to encrypt the first-level ciphertext to obtain a re-encrypted ciphertext.

[0120] Step S206: Send the re-encrypted ciphertext and the re-encryption key to the blockchain proxy node, convert them into ciphertext that can be decrypted by the data requester and store them on the chain, so that the data requester can decrypt the access address and the symmetric encryption key based on the private key in the first public-private key pair, query the decentralized distributed storage system to obtain the ciphertext of the target data, and decrypt it to obtain the target data.

[0121] Specifically, the specific contents executed in steps S201 to S206 correspond to steps S101 to S105 , and the explanations thereof may refer to the above contents.

[0122] In some embodiments, random number generation employs a cryptographically secure pseudo-random number generator (CSPRNG).

[0123] In some embodiments, in step S202, the signature is verified using the public key in the first public-private key pair in the DID document, including steps S2021 to S2023:

[0124] Step S2021: After the data requesting end uses the elliptic curve digital signature algorithm to construct a signature and sends the signature s and the coordinates R(x1, y1) of the point R to the data owning end, the hash value of the challenge value is calculated:

[0125] z = Hash(random);

[0126] Where z is the hash value of the challenge value, and random represents a random number used as the challenge value;

[0127] Step S2022: Calculation

[0128] u1=s -1 ·z mod n;

[0129] u2=s -1 x1 mod n;

[0130] P=u1·G+u2·pk dr ;

[0131] Step S2023: Verify whether the x coordinate of point P is equal to x1, if so, the verification succeeds, otherwise the verification fails.

[0132] On the other hand, the present invention also provides a cloud-edge-oriented trusted blockchain data conditionally secure sharing system, wherein the system is a blockchain network composed of multiple cloud nodes and multiple edge device nodes;

[0133] The edge device node is used to execute the conditional and secure acquisition method of trusted blockchain data for the cloud edge described in steps S101 to S105 above;

[0134] The cloud node is used to execute the conditional and secure provision method of trusted blockchain data for the cloud edge described in the above steps S201 to S206.

[0135] On the other hand, the present invention also provides a computer-readable storage medium having a computer program / instruction stored thereon, wherein the computer program / instruction implements the steps of the above method when executed by a processor.

[0136] On the other hand, the present invention also provides a computer program product, comprising a computer program / instruction, characterized in that the steps of the above method are implemented when the computer program / instruction is executed by a processor.

[0137] The present invention is described below in conjunction with a specific embodiment:

[0138] This embodiment mainly solves the problem that in the existing cloud-edge-end data sharing scenario, identity information is controlled by a third-party organization, which easily leads to privacy leakage, large data files are difficult to share securely, and the data sharing process is difficult to trace. In order to more clearly describe the technical solution of this embodiment, the specific implementation method of the present invention is described in detail with reference to the accompanying drawings, where Figure 3 It is a system model for conditionally secure sharing of trusted blockchain data for cloud-edge terminals. Figure 4 It is a timing diagram of a method for conditionally securely sharing trusted blockchain data for cloud-edge terminals. Here, the exemplary implementation method and its description of this embodiment are used to explain the present invention, but are not intended to limit the present invention.

[0139] For the above problems, refer to Figure 3 This embodiment provides a method for conditionally secure sharing of trusted blockchain data for the cloud-edge. The implementation of this embodiment will be instantiated with the edge device as the data requester DR and the cloud as the data owner DO. First, the data requester DR needs to generate and register a DID digital identity, and also needs an attribute certificate AttrCert issued by a third-party authority. drIt is used for permission control. After the data requester DR initiates a data request, the data owner DO generates a random number as a challenge value and sends it to the data requester DR for identity authentication. Then the data owner DO uses the IPFS distributed storage system to realize big data file sharing and upload key information to the blockchain. The data requester DR obtains key information from the blockchain to decrypt the shared data files on IPFS, thereby realizing secure data sharing.

[0140] A method for conditionally secure sharing of trusted blockchain data for cloud-edge terminals, such as Figure 4 As shown, this embodiment uses the edge device as the data requester DR and the cloud as the data owner DO, including the following steps:

[0141] Step 1. System initialization

[0142] The data requester DR and the data owner DO generate their respective public-private key pairs through the first re-encryption key generation algorithm of the proxy re-encryption:

[0143] (params, sk do , pk do ,sk dr , pk dr )←PRE.KeyGen(λ);

[0144] Among them, the algorithm has the input security parameter λ, the output public parameter params, the public-private key pair (pkdo, skdo) of the data owner DO, and the public-private key pair (pkdr, skdr) of the data requester DR.

[0145] In step 1, this embodiment gives a specific algorithm description. Select two multiplication cyclic groups G1 and G2 of prime order q, where g1 and g2 are two generators of G1 and G2 respectively, and set a bilinear map: Define the hash function group H i (i=1,2,3,4), including H1:{0,1} * →G1, H2:{0,1} * →Z p * , H3:G2→{0,1} l , H4: {0,1} * →G1, public parameters are params = (q, g1, g2, G1, G2, H1, H2, H3, H4). Random selection Get the public and private key pair (sk dr ,pk dr ):=(a,g1 a ) and the public-private key pair (skdo ,pk do ):=(b,g1 b ).

[0146] Step 2. Generate DID locally

[0147] The data requester DR generates a local DID identifier and calculates the public key hash H(pk dr ), select a method to generate a DID identifier based on a public key, generate a DID identifier, and construct a DID document, including the public key information pk dr , authentication method, and service endpoint.

[0148] In step 2, in order to more clearly understand the DID document, this embodiment provides a description of the main relevant fields of the DID document. The definition of the relevant fields of the DID document is shown in Table 1.

[0149] Table 1 Definition of DID document related fields

[0150]

[0151] Step 3. Register the DID with the identity authentication system and request an attribute certificate

[0152] The data requester DR sends the signed DID document and attribute Attr dr Submit to the identity authentication system to register DID and obtain the attribute certificate AttrCert dr After receiving the DID document, the identity authentication system will verify the signature of the document and verify the correctness of the document. After verification, the DID document will be stored in the decentralized distributed storage system and the identity information will be anchored on the blockchain. In addition, the authority will have the attribute Attr of the data requester DR. dr Verify and issue attribute certificate AttrCert dr .

[0153] In step 3, the definition of the relevant fields of the attribute certificate is shown in Table 2, where the validity period in the attribute certificate requires the certificate holder to reapply for attribute authentication at regular intervals. This can effectively prevent long-term certificates from being maliciously used after the holder's identity information changes, thereby enhancing the security of the system.

[0154] Table 2 Definition of attribute certificate related fields

[0155]

[0156] Step 4. Data requester identity authentication

[0157] The data requester DR sends the DID to the data owner DO, and the data owner DO sends the requester DID to the decentralized identity authentication system for DID resolution to obtain the DID document. Then the data owner DO sends a random number random as a challenge value to the data requester DR for identity authentication. The challenge value can be generated using a cryptographically secure random number generation algorithm:

[0158] r←SecureRandom.generate(n);

[0159] After the data requester DR obtains the challenge value random, he uses the private key sk dr Sign the challenge value random to get the signed value s, using the private key sk dr Signature challenge value random:

[0160] s←Sign(random,sk dr );

[0161] Subsequently, the data requester DR sends the signed value s to the data owner DO for verification. The data owner DO uses the public key pk obtained from the DID document of the data requester DR. dr Verify the received signature s to obtain the verification result result. The verification signature s is:

[0162] result←Verify(random,s,pk dr ).

[0163] In step 4, this embodiment provides a specific algorithm description.

[0164] Specifically, random number generation can use a cryptographically secure pseudo-random number generator CSPRNG, which outputs a cryptographically secure random number random by inputting the initial entropy and random number bit n collected from the operating system or hardware device. This generator can generate pseudo-random numbers with cryptographic security, which are statistically difficult to distinguish from true random numbers, and even if the generation algorithm and initial state are known, it is difficult to predict or backtrack the generated random number sequence.

[0165] For the signature of the random number random, the elliptic curve digital signature algorithm ECDSA is used to generate a random number w from a secure random number generator. This random number should only be used in this signature. The specific signing process is as follows:

[0166] Calculate the hash value for the challenge value using the following formula:

[0167] z = Hash(random);

[0168] Among them, z is the hash value of the challenge value, and random represents a random number used as the challenge value.

[0169] Construct an elliptic curve:

[0170] R = w·G;

[0171] Among them, G is the base point of the elliptic curve, and the R point is R(x1,y1);

[0172] Then the signature s is:

[0173] s=w -1 ·(z+x1·sk dr )mod n;

[0174] The signature s and the coordinates R(x1,y1) of point R are sent to the data owner for signature verification. The verification process is as follows:

[0175] Calculate the hash value of the challenge value:

[0176] z = Hash(random);

[0177] Where z is the hash value of the challenge value, and random represents a random number used as the challenge value;

[0178] calculate

[0179] u1=s -1 ·z mod n;

[0180] u2=s -1 x1 mod n;

[0181] P=u1·G+u2·pk dr ;

[0182] Verify whether the x coordinate of point P is equal to x1. If they are equal, the verification succeeds, otherwise the verification fails.

[0183] Step 5. Verify data requester access rights

[0184] After authenticating the data requester DR, the data owner DO needs to further verify whether it has the right to access the requested data. The data owner DO can verify the data requester DR’s attribute certificate AttrCert dr Attribute information in Attr dr , to control their access rights to shared data:

[0185] Attr dr ←ExtractAttributes(AttrCert dr );

[0186] Then, the attribute information Attr of the data requester DR is dr The access control policy AccessPolicy is matched. If the match succeeds, the data requester DR is granted access to the data file. Otherwise, the data file sharing request is denied. The access control policy match is:

[0187] MatchResult←MatchAttributes(Attr dr ,AccessPoli cy);

[0188] In step 5, the access control policy AccessPolicy of the present invention is a predefined set of rules for controlling the access rights of the data requester DR to specific data resources. It plays a vital role in the data sharing system, ensuring that only requesters who meet specific conditions can access shared data. The matching process of the access policy is to compare the actual attributes of the data requester DR with the conditions in the access policy one by one. Each condition must be met in order to pass the access control.

[0189] Step 6. Upload the shared data file to IPFS

[0190] After verifying the access rights of the data requester DR, the data owner DO will encrypt and upload the shared data file to the IPFS distributed storage system. Before uploading the shared data file, the AES encryption algorithm is used to encrypt the shared data file into ciphertext. Generate a random key K AES , encrypt the original data file data into ciphertext C:

[0191]

[0192] Subsequently, the encrypted ciphertext C is uploaded to the IPFS distributed storage system, and the IPFS access address loc is returned:

[0193] loc←IPFS_add(C);

[0194] In step 6, AES is a symmetric encryption algorithm that uses the same key K AES To protect the confidentiality of the data, the data owner DO generates a random key K before uploading the data to IPFS. AES , and use the key to encrypt the original data file.

[0195] Step 7. Set the IPFS access address loc and key K AES Encrypted on-chain

[0196] The data owner DO uses the first encryption public key pk doAccess IPFS address loc and key K AES Encrypted into ciphertext C do :

[0197]

[0198] In addition, the data owner DO uses the first encryption public key pk of the data requester DR dr And its first encrypted private key sk do Generate re-encryption key rk do→dr :

[0199] rk do→dr ←ReKeyGen(sk do ,pk dr );

[0200] Specifically, the second encryption key rk do→dr The generation process is as follows:

[0201] rk do→dr =(r,H1(pk do ) skdo );

[0202] Then, the data owner DO sends the ciphertext C do and the re-encryption key rk do→dr The blockchain proxy node uses the re-encryption key rk do→dr The ciphertext C do Converted into a re-encrypted ciphertext C that can be decrypted by the data requester DR dr :

[0203]

[0204] Subsequently, the blockchain proxy node sends the re-encrypted ciphertext C to the blockchain by initiating a re-encrypted ciphertext on-chain transaction request. dr Wind up.

[0205] In step 7, this embodiment provides a specific algorithm description.

[0206] For instantiation description Algorithm, this embodiment gives the IPFS access address loc and key K AES Encrypted into ciphertext C do Specific algorithm description. The data owner DO uses its first encryption key public key pk do Encrypted plaintext information m = (K AES ||loc), select k∈G2, and calculate:

[0207] r = H2(m||k);

[0208] c1=g1 r ;

[0209] c2=k·e(pk do ,H1(pk do )) r ;

[0210]

[0211] c4=H1(pk do );

[0212] c5=H4(c1||c2||c3||c4) r ;

[0213] C do =(c1,c2,c3,c4,c5);

[0214] For instantiation description Algorithm, this embodiment gives the ciphertext C do Converted into a re-encrypted ciphertext C that can be decrypted by the data requester DR dr Specific algorithm description. From the ciphertext C do Convert to ciphertext C dr The process is as follows:

[0215] c1'=c1;

[0216]

[0217] c3'=c3;

[0218] c4'=H1(pk dr );

[0219] c5'=H4(c1'||c2'||c3'||c4') r ;

[0220] C dr =(c1',c2',c3',c4',c5');

[0221] Step 8. The data requester obtains the re-encrypted ciphertext

[0222] The data requester DR obtains the ciphertext C that can be decrypted from the re-encrypted ciphertext on-chain transaction through the blockchain node. dr , and then use its own private key sk dr For ciphertext C dr Decrypt to obtain the IPFS access address loc and decryption key K of the requested data ciphertext AES :

[0223]

[0224] In step 8, the data requester DR queries the relevant re-encrypted ciphertext transaction from the chain by interacting with the smart contract of the blockchain. dr Afterwards, the data requester DR uses the private key sk dr Decrypt the IPFS access address loc of the shared data ciphertext and the decryption key K of the shared data ciphertext AES , thus completing the key K AES And the secure transmission of the access address loc of the shared data.

[0225] Step 9. The data requester obtains the shared data

[0226] The data requester DR obtains the shared data ciphertext C from IPFS according to the IPFS access address loc, and then uses the decryption key K AES Decrypt the ciphertext C to obtain the shared data file data.

[0227] In step 9, during the data sharing process, the data requester DR first needs to obtain the shared data ciphertext C from the IPFS network according to the access address loc provided by IPFS. In this process, IPFS acts as a decentralized storage platform. After the data requester DR successfully obtains the ciphertext C, it needs to use the previously negotiated decryption key K AES Decrypt the obtained ciphertext C. Only the requester who holds the symmetric key can correctly decrypt the ciphertext. The decryption process uses K AES Restore the original data content in the ciphertext C. Finally, the data requester DR successfully decrypts and obtains the shared data file data, thus completing the secure access to the shared data.

[0228] This embodiment uses DID decentralized identity technology to implement cloud-edge device identity authentication. DID technology allows cloud-edge devices to fully control their own identity information without relying on a third-party platform for identity information management. At the same time, this embodiment uses attribute certificates to implement access rights control for data requesters DR. The data requester DR is authenticated by an authoritative agency and an attribute certificate is issued. Then the data owner DO performs access rights control based on the attribute certificate of the data requester DR, thereby achieving conditional data sharing of cloud-edge devices. In addition, this embodiment uses the distributed storage system IPFS and blockchain technology to achieve secure sharing of big data files. Due to the limited storage capacity of the blockchain, big data files cannot be directly shared. By combining IPFS distributed storage technology and blockchain technology, big data files are uploaded to the IPFS distributed storage system and key information is stored on the blockchain to achieve secure data sharing between cloud-edge devices.

[0229] Corresponding to the above method, the present invention also provides an apparatus / system, which includes a computer device, the computer device includes a processor and a memory, the memory stores computer instructions, the processor is used to execute the computer instructions stored in the memory, and when the computer instructions are executed by the processor, the apparatus / system implements the steps of the method described above.

[0230] The embodiment of the present invention also provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the steps of the aforementioned edge computing server deployment method are implemented. The computer-readable storage medium can be a tangible storage medium, such as a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a floppy disk, a hard disk, a removable storage disk, a CD-ROM, or any other form of storage medium known in the technical field.

[0231] In summary, the method and system for conditionally secure sharing of trusted blockchain data for the cloud-edge end described in the present invention generates a first re-encryption key for proxy re-encryption for the data request end and the data owner end through a third-party organization, and the data request end generates a DID identifier, which is registered on the blockchain together with the attribute information by the identity authentication system. In the process of data sharing, the data owner end authenticates the data request end based on the decentralized identity authentication system and the challenge-response method, authenticates the authority based on the attribute certificate, symmetrically encrypts the data and stores it in the decentralized distributed storage system, and hands over the access address and symmetric encryption key to the blockchain proxy node for on-chain storage in the form of re-encryption; the data requester obtains and decrypts the re-encrypted ciphertext, obtains the access address and symmetric encryption key of the ciphertext of the target data in the decentralized distributed storage system, and obtains and decrypts the target data.

[0232] It should be understood by those skilled in the art that the exemplary components, systems and methods described in conjunction with the embodiments disclosed herein can be implemented in hardware, software or a combination of the two. Whether it is performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of the present invention are programs or code segments used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link via a data signal carried in a carrier.

[0233] It should be clear that the present invention is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present invention is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present invention.

[0234] In the present invention, features described and / or illustrated for one embodiment may be used in the same or similar manner in one or more other embodiments, and / or combined with features of other embodiments or replace features of other embodiments.

[0235] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the embodiments of the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A method for conditionally securely acquiring trusted blockchain data for cloud-edge terminals, characterized in that: The method is executed based on a data request end at the end edge of a blockchain network. The data request end requests target data from a data owner end at the cloud end, and generates a first public-private key pair of the data request end and a second public-private key pair of the data owner end as a first re-key for proxy re-encryption through a third-party organization. The method includes the following steps: Generate a DID identifier using a preset method according to the public key in the first public-private key pair and create a DID document, wherein the DID document includes the public key in the first public-private key pair, a verification method, and service endpoint information; Sign the DID document and send it together with the attribute information to a preset decentralized identity authentication system to register the DID document on the blockchain network and obtain an attribute certificate; the attribute information is used to mark the access permission control information; Sending the DID identifier and the attribute certificate to the data owner, so that the data owner can send the DID identifier to the decentralized identity authentication system for parsing and obtaining the DID document; receiving the random number sent by the data owner as a challenge value, signing the challenge value using the private key in the first public-private key pair, and sending the signed value to the data owner, so as to verify the signature based on the verification method using the public key in the first public-private key pair in the DID document obtained by the data owner; After the data owner verifies that the data requester's access rights have been passed based on the attribute certificate, the re-encrypted ciphertext of the on-chain transaction initiated by the data owner through the blockchain proxy node is obtained, and the private key in the first public-private key pair is used to decrypt the re-encrypted secret text to obtain the access address and symmetric encryption key of the ciphertext corresponding to the target data in the decentralized distributed storage system; the re-encrypted ciphertext is obtained by the blockchain proxy node converting the access address and the symmetric encryption key into a decryptable form after the data owner encrypts the target data using the symmetric encryption key and stores it in the decentralized distributed storage system; The ciphertext of the target data is searched in the decentralized distributed storage system based on the access address, and the symmetric encryption key is used to decrypt the ciphertext to obtain the target data.

2. The method for conditionally securely acquiring trusted blockchain data for the cloud-edge terminal according to claim 1 is characterized in that: Generate a DID identifier and create a DID document using a preset method according to the public key in the first public-private key pair, including: Using a hash value of the public key in the first public-private key pair as the DID identifier; Or, adding additional information including a timestamp or a random number to the public key in the first public key pair, and calculating a hash value as a whole as the DID identifier; Or, using a timestamp and / or a random number as parameters of a preset algorithm, inputting the public key in the first public key pair into the preset algorithm and outputting the DID identifier, the preset algorithm being an elliptic curve digital signature algorithm.

3. The method for conditionally securely acquiring trusted blockchain data for the cloud-edge terminal according to claim 1 is characterized in that: The decentralized distributed storage system is the IFPS Interstellar File System.

4. The method for conditionally securely acquiring trusted blockchain data for the cloud-edge terminal according to claim 1 is characterized in that: Signing the challenge value using the private key in the first public-private key pair includes: The hash value is calculated for the challenge value, and the calculation formula is: z = Hash(random); Wherein, z is the hash value of the challenge value, and random represents a random number used as the challenge value; Construct an elliptic curve: R = w·G; Among them, G is the base point of the elliptic curve, and the R point is R(x1,y1); Then the signature s is: s=w -1 ·(z+x1·sk dr )mod n; The signature s and the coordinates R(x1, y1) of point R are sent to the data owner for signature verification.

5. A method for conditionally secure provision of trusted blockchain data for cloud-edge terminals, characterized in that: The method is executed based on a data owner end in the cloud in a blockchain network, the data owner end provides target data to a data request end at the edge end, and generates a first public-private key pair of the data request end and a second public-private key pair of the data owner end as a first re-key for proxy re-encryption through a third-party organization, the data request end executes a conditional and secure acquisition method for trusted blockchain data facing a cloud edge end as described in any one of claims 1 to 4, and the method comprises the following steps: Receive the DID identifier and attribute certificate sent by the data request end, send the DID identifier to the decentralized identity authentication system for parsing and obtain the DID document of the data request end, the DID document including the public key in the first public-private key pair, the verification method, and the service endpoint information; Generate a random number as a challenge value and send it to the data request end, and receive a signature returned by the data request end that is calculated using the private key in the first public-private key pair on the challenge value; based on the verification method, verify the signature using the public key in the first public-private key pair in the DID document; When the signature verification passes, checking the access rights according to the attribute information in the attribute certificate; After verifying that the access rights are passed, the target data is encrypted with a symmetric encryption key and uploaded to a decentralized distributed storage system, and the returned access address is received; Using the public key in the second public-private key pair to encrypt the access address and the symmetric encryption key to obtain a first-level ciphertext; using the public key in the first public-private key pair and the private key in the second public-private key pair to generate a re-encryption key; using the re-encryption key to encrypt the first-level ciphertext to obtain a re-encrypted ciphertext; The re-encrypted ciphertext and the re-encryption key are sent to the blockchain proxy node, converted into a ciphertext that can be decrypted by the data requester and stored on the chain, so that the data requester can decrypt the access address and the symmetric encryption key based on the private key in the first public-private key pair, query the decentralized distributed storage system to obtain the ciphertext of the target data, and decrypt it to obtain the target data.

6. The method for conditionally securely providing trusted blockchain data for the cloud-edge terminal according to claim 5 is characterized in that: The random number generation adopts a cryptographically secure pseudo-random number generator CSPRNG.

7. The method for conditionally securely providing trusted blockchain data for the cloud-edge terminal according to claim 5 is characterized in that: Verifying the signature using the public key in the first public-private key pair in the DID document includes: After the data request end constructs the signature using the elliptic curve digital signature algorithm and sends the signature s and the coordinates R(x1, y1) of point R to the data owner end, the hash value of the challenge value is calculated: z = Hash(random); Wherein, z is the hash value of the challenge value, and random represents a random number used as the challenge value; calculate u1=s -1 ·z mod n; u2=s -1 ·x1 mod n; P=u1·G+u2·pk dr ; Verify whether the x coordinate of point P is equal to x1. If they are equal, the verification succeeds, otherwise the verification fails.

8. A cloud-edge-oriented trusted blockchain data conditionally secure sharing system, characterized in that: The system is a blockchain network consisting of multiple cloud nodes and multiple edge device nodes; The edge device node is used to execute the conditional and secure acquisition method of trusted blockchain data for the cloud edge as described in any one of claims 1 to 4; The cloud node is used to execute the conditional and secure provision method of trusted blockchain data for the cloud edge as described in any one of claims 5 to 7.

9. A computer-readable storage medium having a computer program / instruction stored thereon, characterized in that: When the computer program / instructions are executed by a processor, the steps of the method as claimed in any one of claims 1 to 7 are implemented.

10. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.

Citation Information

Cited By

  • Cross-domain data sharing method, system and device based on block chain and storage medium

    CN119652672A

  • Decentralization identity verification system based on block chain

    CN120086827A

  • Hierarchical block chain data outsourcing and sharing method and system oriented to Internet of Things equipment

    CN120415708A

  • Layered blockchain data outsourcing sharing method and system for internet of things devices

    CN120415708B

  • Full-life-cycle data security management method for block chain development platform

    CN120597339A