CN112906061A - Information processing method and device based on block chain - Google Patents

Information processing method and device based on block chain Download PDF

Info

Publication number
CN112906061A
CN112906061A CN202110173354.6A CN202110173354A CN112906061A CN 112906061 A CN112906061 A CN 112906061A CN 202110173354 A CN202110173354 A CN 202110173354A CN 112906061 A CN112906061 A CN 112906061A
Authority
CN
China
Prior art keywords
transaction data
signature
ciphertext
transaction
identification information
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.)
Pending
Application number
CN202110173354.6A
Other languages
Chinese (zh)
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110173354.6A priority Critical patent/CN112906061A/en
Publication of CN112906061A publication Critical patent/CN112906061A/en
Pending legal-status Critical Current

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
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The present disclosure provides a data processing method based on a block chain, which can be applied to the financial technology field and other technical fields. The method comprises the following steps: acquiring a storage address of transaction data, wherein the transaction data is completed by a plurality of transaction parties; encrypting the memory address to obtain a ciphertext related to the transaction data; acquiring associated identification information for each transaction party in a plurality of transaction parties; signing the ciphertext by using the acquired associated identification information to obtain a signature related to the transaction data; generating a transaction data message based on the acquired associated identification information, signature and ciphertext; and broadcasting the transaction data message into the blockchain. The present disclosure also provides a block chain based data processing apparatus, an electronic device, a computer readable storage medium and a computer program product.

Description

Information processing method and device based on block chain
Technical Field
The present disclosure relates to the field of financial technologies and other technologies, and in particular, to a method and an apparatus for processing information based on a blockchain, an electronic device, a computer-readable storage medium, and a computer program product.
Background
The traditional blockchain system issues a digital certificate to a legal user by using a Certificate Authority (CA), and before the user accesses transaction data, the user needs to provide the digital certificate for identity verification to ensure the security and confidentiality of data sharing. This scheme is similar to identity authentication with a Certificate Authority (CA) as a third party notary.
In carrying out the inventive concepts of the present disclosure, the inventors discovered: in a conventional blockchain system, when a system failure occurs in a Certificate Authority (CA) or the system is damaged due to a network attack, data access is affected, and even the risk of confidential information leakage is increased.
Disclosure of Invention
A first aspect of the present disclosure provides an information processing method based on a block chain, including: acquiring a storage address of transaction data, wherein the transaction data is completed by a plurality of transaction parties; encrypting the memory address to obtain ciphertext related to the transaction data; acquiring associated identification information for each of the plurality of transaction parties; signing the ciphertext by using the acquired associated identification information to obtain a signature related to the transaction data; generating a transaction data message based on the acquired associated identification information, the signature and the ciphertext; and broadcasting the transaction data message into a block chain.
Optionally, the signing the ciphertext by using the obtained associated identification information includes obtaining signature data by using the following formula: se=GidA1GidA2...GidAi...GidAntf(t,C)(modn); wherein C represents the ciphertext of the transaction data involved, GidAi(1 ≦ i ≦ n) represents the associated identification information of n transaction parties, S represents the resulting signature data, the function f is a univariate function, n represents the product of two prime numbers p and q, e is a prime number, and e and n satisfy the following condition: gcd (e, phi (n)) ═ 1; t is obtained by the following formula: t ═ re(mod n); wherein r is an integer randomly selected by the user.
Optionally, the function f comprises: a hash function.
Optionally, r comprises a user name and/or a user address of the transaction party.
Optionally, the transaction data packet includes: and the safety parameter field is used for representing the safety of the transaction data message.
Optionally, the associated identification information includes identification information associated with a user name and a node name at the same time, where the user name includes a user name of a trading party, and the node name includes a name of a blockchain node used by the trading party.
A second aspect of the present disclosure provides another block chain-based information processing method, including: acquiring transaction data, wherein the transaction data is completed by a plurality of transaction parties; encrypting the transaction data to obtain a transaction data ciphertext; acquiring associated identification information for each of the plurality of transaction parties; signing the transaction data ciphertext by using the acquired associated identification information to acquire a transaction data signature; generating a transaction data message based on the acquired association identification information, the transaction data signature and the transaction data ciphertext; and broadcasting the transaction data message into a block chain.
A third aspect of the present disclosure provides another block chain-based information processing method, including: acquiring a transaction data message from a block chain, wherein transaction data related to the transaction data message are completed by a plurality of transaction parties; acquiring the associated identification information of each transaction party in the transaction parties, the ciphertext of the storage address of the transaction data and an actual signature aiming at the ciphertext based on the transaction data message; based on the obtained associated identification information and the ciphertext, verifying the signature of the signature; in response to the representation of the signature passing, decrypting the ciphertext to obtain a plaintext of the storage address; and accessing the transaction data based on the plaintext of the storage address.
Optionally, verifying the signature based on the obtained association identification information and the ciphertext, including: acquiring an expected signature aiming at the ciphertext based on the acquired associated identification information and the ciphertext; comparing whether the expected signature and the actual signature are consistent; and characterizing a pass of the verification in response to the expected signature being consistent with the actual signature.
A fourth aspect of the present disclosure provides another block chain-based information processing method, including: acquiring a transaction data message from a block chain, wherein transaction data related to the transaction data message are completed by a plurality of transaction parties; acquiring the associated identification information of each transaction party in the transaction parties, the ciphertext of the transaction data and an actual signature aiming at the ciphertext based on the transaction data message; based on the obtained associated identification information and the ciphertext, verifying the signature of the signature; and in response to the characterization verification passing, decrypting the ciphertext to obtain the plaintext of the transaction data and accessing the plaintext.
A fifth aspect of the present disclosure provides a block chain-based information processing apparatus, including: the system comprises a first acquisition module, a second acquisition module and a processing module, wherein the first acquisition module is used for acquiring a storage address of transaction data, and the transaction data is completed by a plurality of transaction parties; a first encryption module for encrypting the storage address to obtain a ciphertext related to the transaction data; a second obtaining module, configured to obtain, for each of the multiple transaction parties, associated identification information; the first signature module is used for signing the ciphertext by using the acquired associated identification information so as to obtain a signature related to the transaction data; the first generation module is used for generating a transaction data message based on the acquired associated identification information, the signature and the ciphertext; and the first broadcasting module is used for broadcasting the transaction data message to the block chain.
A sixth aspect of the present disclosure provides a block chain-based information processing apparatus, including: the third acquisition module is used for acquiring transaction data, wherein the transaction data is completed by a plurality of transaction parties; the second encryption module is used for encrypting the transaction data to obtain a transaction data ciphertext; a fourth obtaining module, configured to obtain, for each of the multiple transaction parties, associated identification information; the second signature module is used for signing the transaction data ciphertext by using the acquired associated identification information to obtain a transaction data signature; the second generation module is used for generating a transaction data message based on the acquired associated identification information, the transaction data signature and the transaction data ciphertext; and the second broadcasting module is used for broadcasting the transaction data message to the block chain.
A seventh aspect of the present disclosure provides an information processing apparatus based on a block chain, including: the fifth acquisition module is used for acquiring a transaction data message from the blockchain, wherein the transaction data related to the transaction data message is completed by a plurality of transaction parties; a sixth obtaining module, configured to obtain, based on the transaction data packet, associated identification information of each of the multiple transaction parties, a ciphertext of a storage address of the transaction data, and an actual signature for the ciphertext; the first signature verification module is used for verifying the signature based on the acquired associated identification information and the ciphertext; the first decryption module is used for responding to the representation of the verification pass and decrypting the ciphertext to obtain the plaintext of the storage address; and the first access module is used for accessing the transaction data based on the plaintext of the storage address.
An eighth aspect of the present disclosure provides an information processing apparatus based on a block chain, including: a seventh obtaining module, configured to obtain a transaction data packet from a blockchain, where transaction data related to the transaction data packet is completed by a plurality of transaction parties; an eighth obtaining module, configured to obtain, based on the transaction data packet, associated identification information of each of the multiple transaction parties, a ciphertext of the transaction data, and an actual signature for the ciphertext; the second signature verification module is used for verifying the signature based on the acquired associated identification information and the ciphertext; the second decryption module is used for responding to the representation of the verification pass and decrypting the ciphertext to obtain the plaintext of the transaction data; and the second access module is used for accessing the plaintext of the transaction data.
Another aspect of the present disclosure provides an electronic device including: one or more processors; memory for storing one or more programs, wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the methods of embodiments of the present disclosure.
Another aspect of the present disclosure provides a computer-readable storage medium storing computer-executable instructions for implementing the method of the embodiments of the present disclosure when executed.
Another aspect of the disclosure provides a computer program product comprising a computer program which, when executed by a processor, implements a method according to embodiments of the disclosure.
Drawings
For a more complete understanding of the present disclosure and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
fig. 1 schematically illustrates a system architecture suitable for a blockchain based data processing method and apparatus according to an embodiment of the present disclosure;
FIG. 2 schematically shows a flow chart of a method of block chain based data processing according to an embodiment of the present disclosure;
fig. 3 schematically illustrates a schematic diagram of a blockchain data sharing principle of multi-subject signatures according to an embodiment of the present disclosure;
FIG. 4 schematically illustrates a diagram of a transaction data message format according to an embodiment of the disclosure;
fig. 5 schematically illustrates a schematic diagram of a blockchain consensus node according to an embodiment of the present disclosure;
FIG. 6 schematically shows a flow chart of a method of block chain based data processing according to another embodiment of the present disclosure;
FIG. 7 schematically illustrates an encryption flow diagram for a multi-subject signed blockchain data transmission system according to an embodiment of the present disclosure;
FIG. 8 schematically illustrates a flow chart of a block chain based data access method according to an embodiment of the present disclosure;
FIG. 9 schematically illustrates a flow diagram of a method of block chain based data access according to another embodiment of the present disclosure;
FIG. 10 schematically illustrates a decryption flow diagram for a multi-subject signed blockchain data transmission system according to an embodiment of the present disclosure;
FIG. 11 schematically illustrates a data processing flow diagram for a multi-subject signed blockchain data transmission system according to an embodiment of the present disclosure;
FIG. 12 schematically shows a block diagram of a blockchain based data processing apparatus according to an embodiment of the present disclosure;
fig. 13 schematically shows a block diagram of a blockchain based data processing apparatus according to another embodiment of the present disclosure;
FIG. 14 schematically illustrates a block diagram of a blockchain based data access device according to an embodiment of the present disclosure;
FIG. 15 schematically illustrates a block diagram of a blockchain-based data access device according to another embodiment of the present disclosure; and
FIG. 16 schematically shows a block diagram of an electronic device according to an embodiment of the disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is illustrative only and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. Moreover, in the following description, descriptions of well-known structures and techniques are omitted so as to not unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It is noted that the terms used herein should be interpreted as having a meaning that is consistent with the context of this specification and should not be interpreted in an idealized or overly formal sense.
Where a convention analogous to "at least one of A, B and C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B and C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
Some block diagrams and/or flow diagrams are shown in the figures. It will be understood that some blocks of the block diagrams and/or flowchart illustrations, or combinations thereof, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the instructions, which execute via the processor, create means for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks. The techniques of this disclosure may be implemented in hardware and/or software (including firmware, microcode, etc.). In addition, the techniques of this disclosure may take the form of a computer program product on a computer-readable storage medium having instructions stored thereon for use by or in connection with an instruction execution system.
It should be appreciated that the blockchain technique is a decentralized consensus billing technique that ensures consistency of transactions using a method of group consensus. Group consensus is a mechanism that employs multi-node joint accounting and voting. Specifically, the block chain network is composed of a plurality of consensus accounting nodes, each accounting node stores the data of the total account book and carries out autonomous voting, and finally the data are collected to form a group decision, so that the result of the group voting cannot be influenced by malicious modification of the total account book by a few nodes, and the block chain system is determined to have the characteristics of non-falsification, safety and reliability.
The blockchain network may have a plurality of parties and consensus nodes thereof participating in billing, the generated transaction data being stored in each consensus node, and the user having data access by invoking an intelligent contract. Because the transaction data has characteristics of confidentiality, privacy, sensitivity and the like, the transaction data is not suitable for disclosure to all visitors. For example, private item transactions, proprietary information sharing, asset transfer, etc., involve multiple relatively closed authorized entities (i.e., multiple transaction parties), and thus multiple transaction parties are required to verify and authorize the identity of an accessor to ensure that legitimate users can securely access confidential information.
In carrying out the inventive concepts of the present disclosure, the inventors discovered: in a conventional blockchain system, when a system failure occurs in a Certificate Authority (CA) or the system is damaged due to a network attack, data access is affected, and even the risk of confidential information leakage is increased.
In view of this, the embodiments of the present disclosure provide an improved data processing scheme based on a block chain. In the scheme, a traditional scheme that a certification center is used by a blockchain system to issue a digital certificate for a legal user and the user needs to provide the digital certificate for identity verification when accessing transaction data is abandoned, and a data sharing and accessing method of multi-subject group signature is adopted. Compared with the prior method, the method can realize the ciphertext verification of the transaction information signed by the main body group without the participation of a third party notary, and can improve the credibility of the transaction information.
Specifically, embodiments of the present disclosure provide a data processing method based on a block chain and a data processing apparatus based on a block chain to which the method can be applied. The method comprises the following steps: acquiring a storage address of transaction data, wherein the transaction data is completed by a plurality of transaction parties; encrypting the memory address to obtain a ciphertext related to the transaction data; acquiring associated identification information for each transaction party in a plurality of transaction parties; signing the ciphertext by using the acquired associated identification information to obtain a signature related to the transaction data; generating a transaction data message based on the acquired associated identification information, signature and ciphertext; and broadcasting the transaction data message into the blockchain.
Fig. 1 schematically shows a system architecture suitable for a blockchain-based data processing method and apparatus according to an embodiment of the present disclosure. It should be noted that fig. 1 is only an example of a system architecture to which the embodiments of the present disclosure may be applied to help those skilled in the art understand the technical content of the present disclosure, and does not mean that the embodiments of the present disclosure may not be applied to other devices, systems, environments or scenarios.
As shown in fig. 1, the block system 100 includes: a blockchain infrastructure cloud 101, blockchain consensus accounting nodes 102 (referred to as consensus accounting nodes for short), and blockchain authorization centers 103 (referred to as authorization centers for short). It should be appreciated that in a blockchain, different transaction participants (i.e., different transaction parties) may participate in a transaction and record transaction data based on different consensus accounting nodes.
The block chain infrastructure cloud 101 is responsible for providing services such as network resource allocation, computing resource and storage resource allocation, block chain networking creation and the like according to a networking resource request of a user, and supports selection of a block chain product mirror image, configuration of virtual node resources and block chain network creation according to a block chain product standard of the user.
In blockchain infrastructure cloud 101, consensus accounting node 102 is a virtual computing node that is an essential component of the blockchain network. The block chain network is provided with a plurality of block chain common identification accounting nodes. The consensus accounting node 102 is mainly responsible for blockchain transaction access and processing, and provides intelligent contract execution, transaction consensus and transaction accounting; meanwhile, security services such as data encryption, decryption, identity authentication and the like are provided for transaction data.
The transacting party is a participant user who performs the blockchain consensus transaction. In the embodiment of the present disclosure, as shown in fig. 1, the transaction party A, B, C, D, E may access the blockchain network through different blockchain consensus accounting nodes, execute an intelligent contract on the blockchain network to perform a transaction, generate transaction data, have rights such as encryption, authorization, and information sharing for the transaction data, and may serve as a transaction data sending party to transmit and share the transaction information to a receiving party.
The blockchain authorization center 103 may provide secure encryption algorithms and common parameters.
It should be noted that, the data processing method based on the blockchain provided by the embodiment of the present disclosure adopts a blockchain data transmission method with multi-principal (i.e. multiple transaction parties) identity signatures, and a data sender may be composed of multiple principals, which are responsible for the authenticity of transaction data and the reliability of an access object. First, a multi-body (assuming a, a ═ a)iI e N) signing the transaction data object (it should be understood that the transaction data object may be the memory address of the transaction data or the transaction data itself); then, a receiver (assumed to be B) of the transaction data is determined, A can encrypt the data by using the ID of B, then packages the encrypted data into a message and transmits the message to a block chain, B can obtain the encrypted data through the block chain, then decrypts the data by using a private key, and then performs batch signature verification by using the public key of A, thereby finally realizing data access.
It should be noted that, in the embodiment of the present disclosure, a unique global identifier GID may be configured for each user of a tile node in a tile chain network. GIDs can be formally represented as:
GID={id|id={0,1}*}
it should be understood that GIDs are block link points and the identity IDs of the subscribers in the block chain network, which can be synchronized to each of the consensus accounting nodes through the block chain network and stored in the block. The blockchain network provides intelligent contracts to provide query services for visitors.
Fig. 2 schematically shows a flow chart of a block chain based data processing method according to an embodiment of the present disclosure.
As shown in fig. 2, the method may include operations S210 to S260.
In operation S210, a storage address of transaction data is acquired.
Wherein the transaction data is completed by a plurality of transaction parties.
In operation S220, the storage address is encrypted to obtain a ciphertext related to the transaction data.
In operation S230, associated identification information is obtained for each of a plurality of counterparties.
In operation S240, the ciphertext is signed using the obtained association identification information to obtain a signature related to the transaction data.
In operation S250, a transaction data packet is generated based on the acquired association identification information, the signature, and the ciphertext.
In operation S260, a transaction data message is broadcast into the blockchain.
In one embodiment of the present disclosure, only the storage address of the transaction data may be encrypted, instead of directly encrypting the transaction data itself, so that the encrypted storage address may be shared only in the blockchain during data sharing, and the encrypted transaction data does not need to be shared, thereby saving the storage resources of the blockchain.
In the embodiment of the present disclosure, each transaction party may use its global identification GID in the blockchain as the associated identification information to sign the ciphertext of the storage address of the transaction data.
In the embodiment of the disclosure, after data encryption and data signature are completed, a transaction data message may be generated based on the obtained ciphertext, signature and associated identification information of all transaction parties that complete transaction data, and broadcast to the blockchain, so that a recipient can normally access the transaction data message.
It should be noted that, in the embodiment of the present disclosure, the ciphertext, the signature, and the associated identification information may be respectively used as separate fields in the transaction data. Besides, the transaction data message may include, but is not limited to, a security parameter field, a check mark field, and the like in addition to the above-mentioned fields. When accessing the transaction data, the receiver may perform data signature verification based on the associated identification information field in the transaction data message, check the validity of the message based on the security parameter field, and check the integrity of the transaction data based on the check identification field.
Through the embodiment of the disclosure, in the block chain network, the signature is realized by adopting a plurality of trading party group decisions (namely, the signature is carried out by a plurality of main bodies), so that the higher risk of data leakage caused by adopting the block chain CA to carry out signature verification or adopting other third-party platforms to carry out signature verification can be avoided, and meanwhile, the influence on data access is avoided.
It should be noted that, in the embodiment of the present disclosure, in operation S220, the public key of the receiving party may be used to encrypt the storage address of the transaction data.
For example, the transaction data provider a may store the transaction data in the access address Waddr. Then, executing Encrypt (Waddr, kd (B)) by a corresponding consensus accounting node, encrypting the access address Waddr by using the public key of the transaction data receiver B, and generating a ciphertext C; then, signing C by GID of the transaction data receiver B by executing Sign (C, GID (B)), and generating signature information S (signature S for short); and finally, packaging the C and the S into a transaction data message through the consensus accounting node, and broadcasting the transaction data message to the block chain network.
Specifically, the model element of the encryption algorithm Encrypt (Waddr, kd (b)) is defined as:
κ={(n,p,q,a,b):ab≡1(modφ(n))}
the Encrypt function is defined as:
Figure BDA0002939062520000101
wherein, Waddr∈ZnDenotes the memory address, kd, of the transaction data MBIs the public key of the transaction data receiver B, n ═ pq, representing the product of two large prime numbers p and q. kdBP, q are security parameters set in advance by the transaction data receiver B, p and q are private parameters and are not open to the outside, kdBIs the public key of B.
As an alternative embodiment, signing the ciphertext by using the obtained association identification information may include obtaining signature data by the following formula:
Se=GidA1GidA2...GidAi...GidAntf(t,C)(modn) formula (1)
Wherein, in formula (1), C represents the ciphertext of the related transaction data, GidAi(1 ≦ i ≦ n) associated identification information representing n transaction partiesS denotes the resulting signature data (simply signature), the function f is a monomial function, n denotes the product of two prime numbers p and q, e is a prime number, and e and n satisfy the following condition (i.e., the mutual prime between e and n):
gcd(e,φ(n))=1;
t is obtained by the following formula:
t=re(mod n);
where r is an integer randomly selected by the user, and may be a user name, for example.
It should be noted that, in the embodiment of the present disclosure, p and q may be two large prime numbers, and e may also be a large prime number.
As an alternative embodiment, the function f in the above formula may include: a hash function. Thereby preventing the GID between different users from generating multiplication relation attack. For example, if the user names of two transaction parties are both "Xiaoming", through the embodiment of the present disclosure, the GID between the two transaction parties can be prevented from generating a multiplication relation attack.
As an alternative embodiment, r in the above formula may include the user name and/or user address of the transaction party.
As an optional embodiment, the transaction data message may include: and the safety parameter field is used for representing the safety of the transaction data message.
It should be understood that, in the blockchain network, whether the packet is a packet allowed to be legally propagated in the blockchain network can be verified through the preset security parameter field.
As an alternative embodiment, the associated identification information may include identification information associated with both the user name and the node name. The user name may include a user name of the transaction party, and the node name may include a name of a blockchain node used by the transaction party.
Fig. 3 schematically illustrates a schematic diagram of a blockchain data sharing principle of multi-subject signatures according to an embodiment of the present disclosure.
As shown in fig. 3, the transaction data sender a may include transaction participants 301, 302, and 303 (the transaction participants are also called transaction parties), and the transaction data receiver B may include at least one of receivers 304, 305, and 306. The blockchain network 307 includes consensus accounting nodes VP0 through VP 5. The trade participants 301, 302 and 303 access the blockchain network 307 through the consensus accounting node VP0 to VP2 in sequence; recipients 304, 305 and 306 access the blockchain network 307 sequentially through the consensus accounting node VP3 through VP 5.
The transaction data sender a may store the transaction data in the access address Waddr. Then, executing Encrypt (Waddr, kd (B)) by a corresponding consensus accounting node, encrypting the access address Waddr by using the public key of the transaction data receiver B, and generating a ciphertext C; then, signing C by GID of the transaction data receiver B by executing Sign (C, GID (B)), and generating signature information S (signature S for short); and finally, packaging the C and the S into a transaction data message through the consensus accounting node, and broadcasting the transaction data message to the block chain network.
Illustratively, an RSA encryption algorithm can be introduced as the basis of an identity signature algorithm, and a security parameter 1 is inputkThen the multi-party identity signature algorithm may formally be expressed as:
Se=GidA1GidA2...GidAi...GidAntf(t,C)(modn) formula (1)
Wherein, in formula (1), C represents the ciphertext of the storage address of the transaction data M, GidAi(i is more than or equal to 1 and less than or equal to n) represents the global identification information of n transaction parties, S represents the obtained signature data (signature for short), the function f is a single-term function, n represents the product of two large prime numbers p and q, e is a large prime number, and e and n meet the following conditions (i.e. the medium quality of e and n):
gcd (e, phi (n)) ═ 1 equation (2)
t can be obtained by the following formula:
t=re(mod n);
where r is an integer randomly selected by the user, and may be a user name, for example.
Multiple transaction parties A for completing transaction data1A2...AnThe modulus of GID of (1), GIDA1GidA2…GidAnCan be expressed as:
ge≡GidA1GidA2…GidAn(modn)
according to the Euler's Law expansion theorem, g is easier to calculate given n and e.
In addition, in the embodiment of the present disclosure, the encryption function Encrypt (Waddr, kd (b)) may be used to Encrypt the storage address of the transaction data, so as to implement an encryption operation based on the storage address, and generate the corresponding ciphertext C. Specifically, the model element of the encryption algorithm Encrypt (Waddr, kd (b)) is defined as:
κ={(n,p,q,a,b):ab≡1(modφ(n))}
the Encrypt function is defined as:
Figure BDA0002939062520000131
wherein, Waddr∈ZnDenotes the memory address, kd, of the transaction data MBIs the public key of the transaction data receiver B, n ═ pq, representing the product of two large prime numbers p and q. kdBP, q are security parameters set in advance by the transaction data receiver B, p and q are private parameters and are not open to the outside, kdBIs the public key of B.
Further, in the disclosed embodiments, a signature function Sign (C, Gid) may be usedA1...GidAn) And carrying out identity signature to realize identity signature of a plurality of transaction parties on the ciphertext C of the storage address of the transaction data to generate a signature S. The user can randomly pick an integer r ∈ Z and calculate:
t=re(mod n)
substituting the above formula into formula (1), the identity encryption algorithm becomes formula (3):
se=ge.ref(t,C)(mod n) formula (3)
Equation (3) can be further reduced to equation (4) according to equation (2), i.e., e is relatively prime to φ (n):
S≡g.rf(t,C)(mod n) formula (4)
The function f is a one-way function, and the function f in the embodiment of the disclosure adopts a hash function, so that the function of the function is to prevent 'multiplicative relationship attack' (multiple relationship attacks) between different user GIDs.
Further, in the disclosed embodiments, P may be usedMThe method represents a loosely coupled transaction data message generated aiming at transaction data, and satisfies the following formally:
PM=(GIDA1,…,GIDAn,S,C,params,...,chksum)
wherein, GIDA1,...,GIDAnThe identity identifiers GID of a plurality of transaction parties involved in the transaction data are represented, S represents a user identity signature (signature for short) aiming at the ciphertext of the storage address Waddr of the transaction data, C represents the ciphertext of the storage address Waddr of the transaction data, params is a safety parameter, and chksum is a check identification bit. The method comprises the steps that whether a transaction data message is a legal message or not can be verified through params; whether the transaction data message is a complete message can be verified through chksum. The transaction data message format may be the format shown in fig. 4.
The transaction data receiver B, i.e. the visitor to the blockchain consensus transaction data, is also the target user for the transaction data provider a to deliver the transaction data. The transaction data receiver B may obtain the transaction data message through the consensus accounting node VP 3. After the transaction data message is acquired, firstly, a signature verification function ChkSign (S) can be executed to verify the signature of the transaction data sender A; then, if the signature passes the verification, executing a decryption function Decrypt (C) to convert the ciphertext C of the storage address of the transaction data into a corresponding plaintext; then, executing an identity authentication function ChkIdent (C) to verify whether the transaction data receiver B has the transaction data access authority; finally, in response to passing the access right check, the transaction data M may be acquired through the data address.
It should be noted that, in the embodiment of the present disclosure, the signature verification function chksign(s) may be shown as formula (1). The function is used for checking whether S is the digital identity signature of all transaction parties involved in the accessed transaction data, and the verification method is to analyze the GIDs of all transaction parties from the transaction data message and substitute the GIDs into the following formula (namely formula (1)):
Se=GidA1GidA2…GidAntf(t,C)(mod n) formula (1)
Wherein, in formula (1), C represents the ciphertext of the storage address of the transaction data M, GidAi(i is more than or equal to 1 and less than or equal to n) represents the global identification information of n transaction parties, S represents the obtained signature data (signature for short), the function f is a single-term function, n represents the product of two large prime numbers p and q, e is a large prime number, and e and n meet the following conditions (i.e. the medium quality of e and n):
gcd (e, phi (n)) ═ 1 equation (2)
t can be obtained by the following formula:
t=re(mod n);
where r is an integer randomly selected by the user, and may be a user name, for example.
It should be understood that, in the embodiment of the present disclosure, if S calculated by the signature verification function chksign (S) is consistent with S obtained by parsing the signature field included in the transaction data message, it indicates that the signature is correct, and the signature verification is passed. Otherwise, the signature verification fails.
Specifically, in the process of signature verification, a plurality of transaction parties A transact data1A2…AnThe modulus of GID of (1), GIDA1GidA2…GidAnCan be expressed as:
ge≡GidA1GidA2…GidAn(modn)
according to the Euler's Law expansion theorem, g is easier to calculate given n and e.
The user randomly chooses an integer r epsilon Z and calculates:
t=re(mod n)
substituting the above equation into equation (1), the signature verification algorithm becomes equation (3):
se=ge.ref(t,C)(mod n) formula (3)
From equation (2), e is relatively prime to φ (n), equation (3) can be further reduced to equation (4):
S≡g.rf(t,C)(mod n) formula (4)
In addition, in the embodiment of the present disclosure, the ciphertext C may be decrypted by a decryption function decrypt (C), and a plaintext Waddr of the storage address of the transaction data is generated, which is defined as:
Figure BDA0002939062520000151
wherein C ∈ ZnCiphertext, se, representing the memory address of the transaction data MBIs the private key of the transaction data receiver B, and n ═ pq is the product of two large prime numbers p and q. seBAnd p and q are safety parameters which are set by the transaction data receiver B in advance and are private parameters.
The consensus accounting node 22: the method is characterized in that a consensus accounting node of a block chain network stores transaction world state, identity encrypted data message information, receives instructions of a transaction sender and a transaction receiver, and provides services such as data information routing, information transceiving and the like.
In embodiments of the present disclosure, a transaction participant is a transaction party that performs a blockchain consensus transaction. The transaction participant 301 can transmit transaction data to the transaction participant 302 through the blockchain network, and the transaction participant executes intelligent contract transaction in the blockchain network to generate transaction data, has the authority of encrypting, authorizing, sharing information and the like on the transaction data, can be used as a transaction data sender, and transmits and shares the transaction data to a transaction data receiver.
The blockchain network 307 is a decentralized network constructed by adopting a consensus accounting technology, and is composed of consensus/accounting nodes, authentication nodes and the like, the technology adopts a group consensus method to ensure the consistency of transactions, the book data is stored in the consensus accounting nodes, and the transaction data has the characteristics of decentralization, non-falsification, safety, reliability and the like.
As shown in fig. 5, in one embodiment, the blockchain consensus node may include: a main control unit 501, an initialization unit 502, a data processing unit 503, and a transaction data transceiving terminal 504.
The master control unit 501 is responsible for data transfer and overall invocation of each processing unit.
The initialization unit 502 is configured to execute a GlobalSetup () algorithm to initialize variables, input a random security parameter λ, and output a global security parameter params, that is:
GlobalSetup(λ)→Params
the data processing unit 503 is responsible for executing Encrypt () algorithm to Encrypt the storage address of the transaction data provided by the transaction party, executing Decrypt () algorithm to Decrypt the storage address of the transaction data, executing Sign () algorithm to Sign the ciphertext of the storage address of the transaction data, and executing ChkSign () algorithm to realize signature verification. Meanwhile, the method can also receive identity authorization application and identity authorization. The data processing unit 503 may include a transaction data encryption module 5031, an identity information signature module 5032, a transaction data decryption module 5033, an identity authority verification module 5034 and an identity authorization module 5035. The modules are described below.
The transaction data encryption module 5031 is responsible for attribute encryption of the storage address of the transaction data. And executing an Encrypt () algorithm to Encrypt data, and realizing the RSA encryption operation based on the storage address. The model elements of the cryptographic algorithm are defined as:
κ={(n,p,q,a,b):ab≡1(modφ(n))}
the Encrypt function is defined as:
Figure BDA0002939062520000161
wherein, Waddr∈ZnDenotes the memory address, kd, of the transaction data MBIs the public key of the transaction data receiver B, n ═ pq, representing the product of two large prime numbers p and q. kdBP, q are security parameters set in advance by the transaction data receiver B, p and q are private parameters and are not open to the outside, kdBIs the public key of B.
The identity information signature module 5032 is configured to perform identity signature on a ciphertext of a storage address of transaction data, and a user may randomly select an integer r ∈ Z and calculate:
t=re(mod n)
substituting the above equation into equation (1), the signature algorithm becomes equation (4):
s≡g.rf(t,m)(mod n) formula (4)
The function f is a one-way function, and a hash function may be used as the function f in the embodiment of the present disclosure.
The transaction data decryption module 5033 is used to implement the RSA decryption operation based on the storage address. Defining the decryption algorithm Decrypt () as:
Figure BDA0002939062520000171
wherein C ∈ ZnCiphertext, se, representing a memory address of transaction dataBIs the private key of the transaction data receiver B, n ═ pq denotes that n is the product of two large prime numbers. seBAnd p and q are safety parameters which are set by the transaction data receiver B in advance and are private parameters.
The identity authority verification module 5034 is configured to check whether the signatures are digital identity signatures of all transaction parties, and the verification method is to substitute the identities GID of all transaction parties into the following formula (formula 1):
Se=GidA1GidA2...GidAntf(t,C)(mod n) formula (1)
Wherein, in formula (1), C represents the ciphertext of the related transaction data, GidAi(i is more than or equal to 1 and less than or equal to n) represents the associated identification information of n transaction parties, S represents the obtained signature data (called signature for short), the function f is a single-term function, n represents the product of two prime numbers p and q, e is a prime number, and e and n satisfy the following conditions (i.e. the mutual quality of e and n):
gcd(e,φ(n))=1;
t is obtained by the following formula:
t=re(mod n);
where r ∈ Z, and r is an integer randomly chosen by the user, which may be a user name, for example.
Let t be re(mod n) into equation (1), the signature algorithm becomes equation (3):
se=ge.ref(t,C)(mod n) formula (3)
e is relatively prime to φ (n), equation (3) can be further reduced to equation (4) below:
S≡g.rf(t,C)(mod n) formula (4)
Identity authorization module 5035 is used to authorize a data access request by transaction data recipient B.
The transaction data transceiver 504 is configured to receive a transaction data request message submitted by a transaction data requester, and send information related to transaction data to the transaction data requester.
The embodiment of the disclosure also provides another data processing method based on the block chain.
Fig. 6 schematically shows a flow chart of a block chain based data processing method according to another embodiment of the present disclosure.
As shown in fig. 6, the method may include operations S610 to S660.
In operation S610, transaction data is acquired.
Wherein the transaction data is completed by a plurality of transaction parties.
In operation S620, the transaction data is encrypted to obtain a transaction data cryptogram.
In operation S630, for each of a plurality of counterparties, associated identification information is obtained.
In operation S640, the transaction data ciphertext is signed by using the obtained association identification information to obtain a transaction data signature.
In operation S650, a transaction data packet is generated based on the acquired association identification information, the transaction data signature, and the transaction data ciphertext.
In operation S660, a transaction data message is broadcast into the blockchain.
In one embodiment of the present disclosure, the transaction data itself may be directly encrypted, instead of encrypting the storage address of the transaction data, so that the encrypted transaction data may be shared in the blockchain instead of sharing the storage address of the encrypted transaction data during data sharing, and thus the storage resource of the blockchain may be wasted.
In the embodiment of the present disclosure, each transaction party may use its global identification GID in the blockchain as the associated identification information to sign the ciphertext of the transaction data.
In the embodiment of the disclosure, after data encryption and data signature are completed, a transaction data message may be generated based on the obtained ciphertext, signature and associated identification information of all transaction parties that complete transaction data, and broadcast to the blockchain, so that a recipient can normally access the transaction data message.
It should be noted that, in the embodiment of the present disclosure, the ciphertext, the signature, and the associated identification information may be respectively used as separate fields in the transaction data. Besides, the transaction data message may include, but is not limited to, a security parameter field, a check mark field, and the like in addition to the above-mentioned fields. When accessing the transaction data, the receiver may perform data signature verification based on the associated identification information field in the transaction data message, check the validity of the message based on the security parameter field, and check the integrity of the transaction data based on the check identification field.
Through the embodiment of the disclosure, in the block chain network, the signature is realized by adopting a plurality of trading party group decisions (namely, the signature is carried out by a plurality of main bodies), so that the higher risk of data leakage caused by adopting the block chain CA to carry out signature verification or adopting other third-party platforms to carry out signature verification can be avoided, and meanwhile, the influence on data access is avoided.
As shown in fig. 7, the encryption flow may include the following operations.
In operation S710, a rights issuer (CA) in the blockchain network starts an initialization procedure GlobalSetup (), executes a GlobalSetup () algorithm for initializing variables, inputs a random security parameter λ, and outputs a global security parameter params, that is:
GlobalSetup(λ)→Params
where λ represents a random security parameter and params represents a global security parameter. Params can share other common-identification accounting nodes through a blockchain network so as to be used for generating a legal message.
In operation S720, the transaction data sender a stores the transaction data M at the address Waddr, and then executes the encryption function encrypt (Waddr) to Waddr, during which the public key kd of the transaction data receiver B is introducedBAnd generating a ciphertext C of the storage address. The model elements of the cryptographic algorithm are defined as:
κ={(n,p,q,a,b):ab≡1(mod φ(n))}
the Encrypt function is defined as:
Figure BDA0002939062520000191
wherein, Waddr∈ZnRepresenting the memory address, kd, of the data information MBIs the public key of the data receiver B, and n ═ pq is the product of two large prime numbers. kdBP, q are security parameters set in advance by the data receiver B, p and q are private parameters and are not open to the outside, kdBIs the public key of B.
In operation S730, the transaction data sender A1,…,AnPerforming Sign () algorithm, using its own identity GID GIDA1,...,GidAnAnd carrying out identity signature on the ciphertext C to generate a signature S of the transaction data.
Multiple subjects (multiple transaction parties) A of transaction data1A2…AnThe modulus of GID of (1), GIDA1GidA2…GidA2Can be expressed as:
ge≡GidA1GidA2…GidAn(mod n)
the user can randomly pick an integer r ∈ Z and calculate:
t=re(modn)
substituting the above equation into equation (1), the signature algorithm becomes the following equation (3):
se=ge.ref(t,C)(mod n) formula (3)
Further reduced to the following formula, equation (4):
S≡g.rf(t,C)(mod n) formula (4)
The function f is a one-way function, and in the embodiment of the disclosure, the function f adopts a hash function.
In operation S740, the blockchain consensus node executes a transaction intelligent contract, and generates a transaction data packet P by packagingMAnd sending broadcast messages over the entire networkMSynchronization and authentication are performed in a blockchain network.
Suppose PMA loosely coupled transaction data message representing transaction data formally represented as:
PM=(GIDA1,...,GIDAn,S,C,params,...,chksum)
wherein, GIDA1,...,GIDAnThe identity identifiers GID of a plurality of transaction parties involved in the transaction data are represented, S represents a user identity signature (signature for short) aiming at the ciphertext of the storage address Waddr of the transaction data, C represents the ciphertext of the storage address Waddr of the transaction data, params is a safety parameter, and chksum is a check identification bit. The method comprises the steps that whether a transaction data message is a legal message or not can be verified through params; whether the transaction data message is a complete message can be verified through chksum. The transaction data message format may be the format shown in fig. 4.
The embodiment of the disclosure also provides a data access method based on the block chain.
Fig. 8 schematically shows a flowchart of a block chain based data access method according to an embodiment of the present disclosure.
As shown in fig. 8, the method may include operations S810 to S860.
In operation S810, a transaction data message is obtained from the blockchain.
The transaction data related to the transaction data message is completed by a plurality of transaction parties.
In operation S820, based on the transaction data packet, associated identification information of each of the transaction parties, a ciphertext of a storage address of the transaction data, and an actual signature for the ciphertext are obtained.
In operation S830, the signature is verified based on the acquired association identification information and the ciphertext.
In operation S840, the ciphertext is decrypted to obtain a plaintext of the storage address in response to the token passing.
In operation S850, transaction data is accessed based on the plaintext of the memory address.
Further, as an optional embodiment, the signature verification is performed on the signature based on the obtained association identification information and the ciphertext, including the following operations.
And acquiring an expected signature aiming at the ciphertext based on the acquired associated identification information and the ciphertext.
Comparing whether the expected signature is consistent with the actual signature.
The signature verification passes in response to the expected signature being consistent with the actual signature.
In the embodiment of the present disclosure, since each transaction party can use its global identification GID in the blockchain as the associated identification information, the ciphertext of the storage address of the transaction data is signed. Thus, in embodiments of the present disclosure, the signature contained in the transaction data message may also be verified using the global identification GID of all transaction parties of the transaction data involved. Specifically, all GIDs may be parsed from the obtained transaction data message and substituted into the above formula (1) to obtain a corresponding expected signature, and then a corresponding actual signature may be parsed from the transaction data message and compared with the expected signature. If the two are consistent, the signature passes the verification; if the two are not consistent, the signature verification fails.
In the embodiment of the disclosure, after the data check is completed, data decryption may be performed, so as to obtain the plaintext of the storage address of the transaction data, and the transaction data may be accessed by accessing the address plaintext.
It should be noted that, in the embodiment of the present disclosure, the transaction data packet may include a ciphertext field, a signature field, and an associated identification information field, so that the corresponding ciphertext, signature, and associated identification information may be obtained by analyzing the transaction data packet, and these data may be used as basic data for signature verification and decryption.
Specifically, in the embodiment of the present disclosure, in the decryption and signature verification portion, the transaction data packet may be unpacked first to obtain the signature and the ciphertext of the storage address of the transaction data; then, the identity of the multiple transaction parties is used for checking the signature, and whether the signature is correct is checked; then, decrypting the ciphertext of the address by adopting a private key of a transaction data receiver so as to obtain an access address of the transaction data; finally, the transaction data receiver can obtain the plaintext of the transaction data by accessing the address.
Through the embodiment of the disclosure, the signature verification problem of a plurality of authorized subjects can be solved, and batch signature verification can be realized on the signatures of all transaction parties.
The embodiment of the disclosure also provides another data access method based on the block chain.
Fig. 9 schematically shows a flowchart of a block chain based data access method according to an embodiment of the present disclosure.
As shown in fig. 9, the method may include operations S910 to S940.
In operation S910, a transaction data message is obtained from the blockchain, wherein transaction data related to the transaction data message is completed by a plurality of transaction parties.
In operation S920, based on the transaction data packet, associated identification information of each of the transaction parties, a ciphertext of the transaction data, and an actual signature for the ciphertext are obtained.
In operation S930, the signature is verified based on the acquired associated identification information and the ciphertext.
In operation S940, in response to the characterization of the signature pass, the ciphertext is decrypted to obtain and access the plaintext of the transaction data.
It should be noted that, in the embodiment of the present disclosure, the signature verification method used for the signature is the same as the signature verification method used for the signature in the data access method shown in fig. 8, and details of the embodiment of the present disclosure are not repeated here.
As shown in fig. 10, the decryption process includes the following operations.
In operation S1010, the transaction data receiver B may invoke the intelligent contract to obtain the transaction data message PMFor transaction data message PMUnpacking, and checking whether the transmission of the message data is complete through a check code chksum obtained by analyzing the message check bit.
In operation S1020, according to the signature S of the ciphertext C of the storage address of the transaction data, in combination with the multi-principal identity GID, i.e., GID (a1), … GID (an), a signature verification algorithm ChkSign () is performed to verify the transaction data packet PMWhether the signature in (1) is legitimate. The verification method is to substitute Gid (a1), … Gid (an) into the following formula (i.e. formula 1):
Se=GidA1GidA2…GidAntf(t,C)(mod n)
wherein, in formula (1), C represents the ciphertext of the related transaction data, GidAi(i is more than or equal to 1 and less than or equal to n) represents the associated identification information of n transaction parties, S represents the obtained signature data (called signature for short), the function f is a single-term function, n represents the product of two prime numbers p and q, e is a prime number, and e and n satisfy the following conditions (i.e. the mutual quality of e and n):
gcd(e,φ(n))=1;
t is obtained by the following formula:
t=re(mod n);
where r is an integer randomly selected by the user, and may be a user name, for example.
Multiple transaction parties A for transaction data1A2…AnThe modulus of GID of (1), GIDA1GidA2…GidAnCan be expressed as:
ge≡GidA1GidA2...GidAn(modn)
let t be re(mod n) is substituted into equation (1), the signature algorithm becomes the following equation (i.e., equation (3)):
se=ge.ref(t,C)(mod n)
e is relatively prime to phi (n), equation (3) can be further reduced to the following equation (i.e., equation (4)):
S≡g.rf(t,C)(mod n)
in operation S1030, if the signature verification is successful, that is, the signature is legal, the transaction data receiver B may execute a decryption algorithm Decrypt () through the consensus verification node, combine the security parameters such as (p, q, B), and generate an access address Waddr of the transaction data, and return the access address Waddr to the transaction data receiver B, thereby finally implementing the access of the transaction data.
The decryption algorithm Decrypt () may be defined as:
Figure BDA0002939062520000231
wherein C ∈ ZnCiphertext, se, representing the memory address of the transaction data MBIs the private key of the transaction data receiver B, and n ═ pq is the product of two large prime numbers p and q. seBAnd p and q are safety parameters which are set by the transaction data receiver B in advance and are private parameters.
As shown in fig. 11, the block chain based data transmission and accessing side may include the following operations.
Step S1110, the transaction data sender A stores the transaction data in a storage address Waddr and encrypts the address Waddr by using the public key of the transaction data receiver B to generate a corresponding ciphertext C; the ciphertext C is then signed with the identity GID of the multi-principal, i.e. GID (a1), … GID (an), resulting in a signature S.
Step S1120, packing the signature S, the ciphertext C, the security parameters and the multi-subject identity GID into a message PM,PMIncluding (C, S, Gid (A1), … Gid (an)), calling intelligent contract and transmitting message PMBroadcast into a blockchain network.
Step S1130, the consensus accounting node executes the intelligent contract and sends the message PMSynchronizes to the global consensus accounting node and then sends a message notification to the transaction data receiver B.
Step S1140, the transaction data receiver B receives the message P from the blockchain consensus accounting nodeMAnd after unpacking, the integrity of data transmission is verified.
Step S1150, reading chksum, checking whether the integrity of the message data is normal, if so, exiting the processing flow, otherwise, continuing to execute the next operation.
Step S1160, from the message PMThe signature S and the ciphertext C are read, a ChkSign (S) function is executed, and the identity GID of the multi-subject, namely GID (A1), … GID (an), is added for user identity verification. And if the signature is abnormal in the signature checking process, the processing flow is exited, otherwise, the next operation is continuously executed.
And step S1170, executing a Decrypt (C) function, decrypting the ciphertext C by using the private key of the transaction data receiver B, if abnormality occurs in the decryption process, exiting the processing flow, otherwise, continuing to execute the next operation.
Step S1180, after the ciphertext C is decrypted, an address plaintext Waddr is generated, which can be used by the transaction data receiver B for transaction data access.
Fig. 12 schematically shows a block diagram of a blockchain based data processing apparatus according to an embodiment of the present disclosure.
As shown in fig. 12, the apparatus 1200 includes a first obtaining module 1201, a first encrypting module 1202, a second obtaining module 1203, a first signing module 1204, a first generating module 1205, and a first broadcasting module 1206. The apparatus can perform the method described above with reference to fig. 2 and the method corresponding to the modified embodiment thereof, which are not described herein again.
A first obtaining module 1201, configured to obtain a storage address of transaction data, where the transaction data is completed by a plurality of transaction parties.
A first encryption module 1202, configured to encrypt the storage address to obtain a ciphertext related to the transaction data.
A second obtaining module 1203, configured to obtain, for each of the multiple transaction parties, associated identification information.
A first signature module 1204, configured to sign the ciphertext with the obtained associated identification information to obtain a signature related to the transaction data.
The first generating module 1205 is configured to generate a transaction data packet based on the obtained association identifier information, the signature, and the ciphertext.
The first broadcasting module 1206 is configured to broadcast the transaction data packet to a block chain.
Fig. 13 schematically shows a block diagram of a blockchain based data processing apparatus according to another embodiment of the present disclosure.
As shown in fig. 13, the apparatus 1300 includes a third obtaining module 1301, a second encrypting module 1302, a fourth obtaining module 1303, a second signing module 1304, a second generating module 1305, and a second broadcasting module 1306. The apparatus may perform the method described above with reference to fig. 6 and the method corresponding to the modified embodiment thereof, which are not described herein again.
A third obtaining module 1301, configured to obtain transaction data, where the transaction data is completed by a plurality of transaction parties.
The second encryption module 1302 is configured to encrypt the transaction data to obtain a transaction data ciphertext.
A fourth obtaining module 1303, configured to obtain, for each of the multiple transaction parties, associated identification information.
And a second signature module 1304, configured to sign the transaction data ciphertext by using the obtained association identification information, so as to obtain a transaction data signature.
The second generating module 1305 is configured to generate a transaction data packet based on the obtained association identification information, the transaction data signature, and the transaction data ciphertext.
The second broadcasting module 1306 is configured to broadcast the transaction data packet into the blockchain.
Fig. 14 schematically shows a block diagram of a block chain based data access arrangement according to an embodiment of the present disclosure.
As shown in fig. 14, apparatus 1400 includes a fifth obtaining module 1401, a sixth obtaining module 1402, a first signature verifying module 1403, a first decrypting module 1404, and a first accessing module 1405. The apparatus may perform the method described above with reference to fig. 8 and the method corresponding to the modified embodiment thereof, which are not described herein again.
A fifth obtaining module 1401, configured to obtain a transaction data packet from the blockchain, where the transaction data related to the transaction data packet is completed by participating in multiple transaction parties.
A sixth obtaining module 1402, configured to obtain, based on the transaction data packet, associated identification information of each of the multiple transaction parties, a ciphertext of a storage address of the transaction data, and an actual signature for the ciphertext.
A first signature verification module 1403, configured to verify the signature based on the obtained associated identification information and the ciphertext.
A first decryption module 1404, configured to decrypt the ciphertext to obtain a plaintext of the storage address in response to the token passing.
A first accessing module 1405, configured to access the transaction data based on the plaintext of the storage address.
Fig. 15 schematically shows a block diagram of a block chain based data access arrangement according to another embodiment of the present disclosure.
As shown in fig. 15, the apparatus 1500 includes a seventh obtaining module 1501, an eighth obtaining module 1502, a second signature verification module 1503, a second decryption module 1504, and a second access module 1505. The apparatus can perform the method described above with reference to fig. 9 and the method corresponding to the modified embodiment thereof, which are not described herein again.
A seventh obtaining module 1501, configured to obtain a transaction data packet from the blockchain, where the transaction data related to the transaction data packet is completed by participating in the transaction by multiple transaction parties.
An eighth obtaining module 1502, configured to obtain, based on the transaction data packet, associated identification information of each of the multiple transaction parties, a ciphertext of the transaction data, and an actual signature for the ciphertext.
And a second signature verification module 1503, configured to verify the signature of the signature based on the obtained associated identification information and the ciphertext.
A second decryption module 1504, configured to decrypt the ciphertext to obtain a plaintext of the transaction data in response to the token passing.
A second accessing module 1505 is used for accessing the plaintext of the transaction data.
It should be noted that the embodiments of the apparatus portion and the method portion are similar to each other, and the achieved technical effects are also similar to each other, which are not described herein again.
Any of the modules, units, or at least part of the functionality of any of them according to embodiments of the present disclosure may be implemented in one module. Any one or more of the modules and units according to the embodiments of the present disclosure may be implemented by being split into a plurality of modules. Any one or more of the modules, units according to the embodiments of the present disclosure may be implemented at least partially as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented by any other reasonable means of hardware or firmware by integrating or packaging the circuits, or in any one of three implementations of software, hardware and firmware, or in any suitable combination of any of them. Alternatively, one or more of the modules, units according to embodiments of the present disclosure may be implemented at least partly as computer program modules, which, when executed, may perform the respective functions.
For example, any plurality of the first obtaining module 1201, the first encrypting module 1202, the second obtaining module 1203, the first signing module 1204, the first generating module 1205 and the first broadcasting module 1206 may be combined into one module to be implemented, or any one of the modules may be split into a plurality of modules. Alternatively, at least part of the functionality of one or more of these modules may be combined with at least part of the functionality of the other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the first obtaining module 1201, the first encrypting module 1202, the second obtaining module 1203, the first signing module 1204, the first generating module 1205 and the first broadcasting module 1206 may be at least partially implemented as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented by hardware or firmware in any other reasonable manner of integrating or packaging a circuit, or implemented by any one of three implementations of software, hardware and firmware, or a suitable combination of any of them. Alternatively, at least one of the first obtaining module 1201, the first encrypting module 1202, the second obtaining module 1203, the first signing module 1204, the first generating module 1205 and the first broadcasting module 1206 may be at least partially implemented as a computer program module, which when executed, may perform a corresponding function.
FIG. 16 schematically shows a block diagram of an electronic device according to an embodiment of the disclosure. The electronic device shown in fig. 16 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 16, electronic device 1600 includes a processor 1610, a computer-readable storage medium 1620. The electronic device 1600 may perform a method according to embodiments of the disclosure.
In particular, processor 1610 may comprise, for example, a general-purpose microprocessor, an instruction set processor and/or related chip set and/or a special-purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), or the like. The processor 1610 may also include on-board memory for caching purposes. Processor 1610 may be a single processing unit or multiple processing units for performing different actions of a method flow according to embodiments of the disclosure.
Computer-readable storage media 1620, for example, may be non-volatile computer-readable storage media, specific examples include, but are not limited to: magnetic storage devices, such as magnetic tape or Hard Disk Drives (HDDs); optical storage devices, such as compact disks (CD-ROMs); a memory, such as a Random Access Memory (RAM) or a flash memory; and so on.
The computer-readable storage medium 1620 may comprise a computer program 1621, which computer program 1621 may comprise code/computer-executable instructions that, when executed by the processor 1610, cause the processor 1610 to perform a method according to an embodiment of the disclosure, or any variant thereof.
The computer programs 1621 may be configured with computer program code, for example, including computer program modules. For example, in an example embodiment, code in computer program 1621 may include one or more program modules, including, for example, 1621A, modules 1621B, … …. It should be noted that the division and number of modules are not fixed, and those skilled in the art may use suitable program modules or program module combinations according to actual situations, which when executed by the processor 1610, enable the processor 1610 to perform the method according to the embodiment of the present disclosure or any variation thereof.
According to an embodiment of the present disclosure, at least one of the first determining module 501, the second determining module 502, the first comparing module 503 and the deploying module 504 may be implemented as a computer program module described with reference to fig. 16, which, when executed by the processor 1610, may implement the respective operations described above.
The present disclosure also provides a computer-readable storage medium, which may be contained in the apparatus/device/system described in the above embodiments; or may exist separately and not be assembled into the device/apparatus/system. The computer-readable storage medium carries one or more programs which, when executed, implement the method according to an embodiment of the disclosure.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
It will be understood by those skilled in the art that while the present disclosure has been shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present disclosure as defined by the appended claims and their equivalents. Accordingly, the scope of the present disclosure should not be limited to the above-described embodiments, but should be defined not only by the appended claims, but also by equivalents thereof.

Claims (17)

1. A data processing method based on a block chain comprises the following steps:
acquiring a storage address of transaction data, wherein the transaction data is completed by a plurality of transaction parties;
encrypting the memory address to obtain ciphertext related to the transaction data;
acquiring associated identification information for each of the plurality of transaction parties;
signing the ciphertext by using the acquired associated identification information to obtain a signature related to the transaction data;
generating a transaction data message based on the acquired associated identification information, the signature and the ciphertext; and
and broadcasting the transaction data message into a block chain.
2. The method of claim 1, wherein the signing the ciphertext with the obtained associated identification information comprises obtaining signature data by the following formula:
Se=GidA1GidA2...GidAi...GidAntf(t,C)(modn);
wherein C represents the ciphertext of the transaction data involved, GidAi(1 ≦ i ≦ n) represents the associated identification information of n transaction parties, S represents the resulting signature data, the function f is a univariate function, n represents the product of two prime numbers p and q, e is a prime number, and e and n satisfy the following condition:
gcd(e,φ(n))=1;
t is obtained by the following formula:
t=re(modn);
wherein r is an integer randomly selected by the user.
3. The method of claim 2, wherein the function f comprises: a hash function.
4. The method of claim 2, wherein r comprises a user name and/or a user address of the transacting party.
5. The method of claim 1, wherein the transaction data message comprises: and the safety parameter field is used for representing the safety of the transaction data message.
6. The method of claim 1, wherein the association identification information comprises identification information associated with both a user name and a node name, wherein the user name comprises a user name of a counterparty and the node name comprises a name of a blockchain node used by the counterparty.
7. A data processing method based on a block chain comprises the following steps:
acquiring transaction data, wherein the transaction data is completed by a plurality of transaction parties;
encrypting the transaction data to obtain a transaction data ciphertext;
acquiring associated identification information for each of the plurality of transaction parties;
signing the transaction data ciphertext by using the acquired associated identification information to acquire a transaction data signature;
generating a transaction data message based on the acquired association identification information, the transaction data signature and the transaction data ciphertext; and
and broadcasting the transaction data message into a block chain.
8. A data access method based on a block chain comprises the following steps:
acquiring a transaction data message from a block chain, wherein transaction data related to the transaction data message are completed by a plurality of transaction parties;
acquiring the associated identification information of each transaction party in the transaction parties, the ciphertext of the storage address of the transaction data and an actual signature aiming at the ciphertext based on the transaction data message;
based on the obtained associated identification information and the ciphertext, verifying the signature of the signature;
in response to the representation of the signature passing, decrypting the ciphertext to obtain a plaintext of the storage address; and
and accessing the transaction data based on the plaintext of the storage address.
9. The method of claim 8, wherein verifying the signature based on the obtained associated identification information and the ciphertext comprises:
acquiring an expected signature aiming at the ciphertext based on the acquired associated identification information and the ciphertext;
comparing whether the expected signature and the actual signature are consistent; and
responsive to the expected signature being consistent with the actual signature, characterizing a pass of the signature verification.
10. A data access method based on a block chain comprises the following steps:
acquiring a transaction data message from a block chain, wherein transaction data related to the transaction data message are completed by a plurality of transaction parties;
acquiring the associated identification information of each transaction party in the transaction parties, the ciphertext of the transaction data and an actual signature aiming at the ciphertext based on the transaction data message;
based on the obtained associated identification information and the ciphertext, verifying the signature of the signature; and
and in response to the characterization verification passing, decrypting the ciphertext to obtain the plaintext of the transaction data and accessing the plaintext.
11. A blockchain-based data processing apparatus comprising:
the system comprises a first acquisition module, a second acquisition module and a processing module, wherein the first acquisition module is used for acquiring a storage address of transaction data, and the transaction data is completed by a plurality of transaction parties;
a first encryption module for encrypting the storage address to obtain a ciphertext related to the transaction data;
a second obtaining module, configured to obtain, for each of the multiple transaction parties, associated identification information;
the first signature module is used for signing the ciphertext by using the acquired associated identification information so as to obtain a signature related to the transaction data;
the first generation module is used for generating a transaction data message based on the acquired associated identification information, the signature and the ciphertext; and
the first broadcasting module is used for broadcasting the transaction data message to the block chain.
12. A blockchain-based data processing apparatus comprising:
the third acquisition module is used for acquiring transaction data, wherein the transaction data is completed by a plurality of transaction parties;
the second encryption module is used for encrypting the transaction data to obtain a transaction data ciphertext;
a fourth obtaining module, configured to obtain, for each of the multiple transaction parties, associated identification information;
the second signature module is used for signing the transaction data ciphertext by using the acquired associated identification information to obtain a transaction data signature;
the second generation module is used for generating a transaction data message based on the acquired associated identification information, the transaction data signature and the transaction data ciphertext; and
and the second broadcasting module is used for broadcasting the transaction data message to the block chain.
13. A blockchain based data access apparatus comprising:
the fifth acquisition module is used for acquiring a transaction data message from the blockchain, wherein the transaction data related to the transaction data message is completed by a plurality of transaction parties;
a sixth obtaining module, configured to obtain, based on the transaction data packet, associated identification information of each of the multiple transaction parties, a ciphertext of a storage address of the transaction data, and an actual signature for the ciphertext;
the first signature verification module is used for verifying the signature based on the acquired associated identification information and the ciphertext;
the first decryption module is used for responding to the representation of the verification pass and decrypting the ciphertext to obtain the plaintext of the storage address; and
and the first access module is used for accessing the transaction data based on the plaintext of the storage address.
14. A blockchain based data access apparatus comprising:
a seventh obtaining module, configured to obtain a transaction data packet from a blockchain, where transaction data related to the transaction data packet is completed by a plurality of transaction parties;
an eighth obtaining module, configured to obtain, based on the transaction data packet, associated identification information of each of the multiple transaction parties, a ciphertext of the transaction data, and an actual signature for the ciphertext;
the second signature verification module is used for verifying the signature based on the acquired associated identification information and the ciphertext;
the second decryption module is used for responding to the representation of the verification pass and decrypting the ciphertext to obtain the plaintext of the transaction data; and
and the second access module is used for accessing the plaintext of the transaction data.
15. An electronic device, comprising:
one or more processors;
a memory for storing one or more programs,
wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the method of any of claims 1-10.
16. A computer-readable storage medium storing computer-executable instructions for implementing the method of any one of claims 1 to 10 when executed.
17. A computer program product comprising a computer program which, when executed by a processor, implements the method according to any one of claims 1 to 10.
CN202110173354.6A 2021-02-08 2021-02-08 Information processing method and device based on block chain Pending CN112906061A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110173354.6A CN112906061A (en) 2021-02-08 2021-02-08 Information processing method and device based on block chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110173354.6A CN112906061A (en) 2021-02-08 2021-02-08 Information processing method and device based on block chain

Publications (1)

Publication Number Publication Date
CN112906061A true CN112906061A (en) 2021-06-04

Family

ID=76123997

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110173354.6A Pending CN112906061A (en) 2021-02-08 2021-02-08 Information processing method and device based on block chain

Country Status (1)

Country Link
CN (1) CN112906061A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113162915A (en) * 2021-03-16 2021-07-23 中国工商银行股份有限公司 Block chain based transaction method, node, electronic device, medium and system
CN114826720A (en) * 2022-04-19 2022-07-29 中国工商银行股份有限公司 Data storage method and device, computer readable storage medium and electronic equipment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113162915A (en) * 2021-03-16 2021-07-23 中国工商银行股份有限公司 Block chain based transaction method, node, electronic device, medium and system
CN114826720A (en) * 2022-04-19 2022-07-29 中国工商银行股份有限公司 Data storage method and device, computer readable storage medium and electronic equipment
CN114826720B (en) * 2022-04-19 2024-01-30 中国工商银行股份有限公司 Data storage method, data storage device, computer readable storage medium and electronic equipment

Similar Documents

Publication Publication Date Title
JP7272960B2 (en) Method, storage medium and electronic device for secure dynamic threshold signature schemes utilizing trusted hardware
RU2325693C2 (en) Methods of authentication of potentials members, which were invited to join the group
Ateniese et al. Secret handshakes with dynamic and fuzzy matching.
Zhang et al. A privacy-aware PUFs-based multiserver authentication protocol in cloud-edge IoT systems using blockchain
WO2019191378A1 (en) Threshold secret share authentication proof and secure blockchain voting with hardware security modules
CN110875821A (en) Cryptography blockchain interoperation
CN111372243A (en) Safe distributed aggregation and access system and method based on fog alliance chain
US11405365B2 (en) Method and apparatus for effecting a data-based activity
CN113987554B (en) Method, device and system for obtaining data authorization
JP2023500570A (en) Digital signature generation using cold wallet
CN115567324B (en) Data encryption transmission method, system, computer equipment and storage medium
Thyagarajan et al. Lockable signatures for blockchains: Scriptless scripts for all signatures
CN112906061A (en) Information processing method and device based on block chain
KR20230093432A (en) Identification of Denial of Service Attacks
GB2603495A (en) Generating shared keys
CN113259123A (en) Block chain data writing and accessing method and device
CN116668167A (en) Intelligent contract method for data communication based on block chain
CN112804260B (en) Information transmission method and node based on block chain
CN113162915B (en) Block chain based transaction method, node, electronic device, medium and system
US7376833B2 (en) Anonymous decryption system, anonymous decryption method, and program
Brendel et al. Efficient proactive secret sharing
US7373499B2 (en) Methods and apparatus for delegation of cryptographic servers for capture-resilient devices
Gunupudi et al. Generalized non-interactive oblivious transfer using count-limited objects with applications to secure mobile agents
CN113259124A (en) Block chain data writing and accessing method and device
Yuan et al. A PUF-based lightweight broadcast authentication protocol for multi-server systems using blockchain

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