CN115225337B - Block chain-based covert communication method, terminal, system and storage medium - Google Patents

Block chain-based covert communication method, terminal, system and storage medium Download PDF

Info

Publication number
CN115225337B
CN115225337B CN202210731431.XA CN202210731431A CN115225337B CN 115225337 B CN115225337 B CN 115225337B CN 202210731431 A CN202210731431 A CN 202210731431A CN 115225337 B CN115225337 B CN 115225337B
Authority
CN
China
Prior art keywords
special transaction
transaction data
data
random number
new
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210731431.XA
Other languages
Chinese (zh)
Other versions
CN115225337A (en
Inventor
陈世武
李雪莹
王炜
江军
杨渝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202210731431.XA priority Critical patent/CN115225337B/en
Publication of CN115225337A publication Critical patent/CN115225337A/en
Application granted granted Critical
Publication of CN115225337B publication Critical patent/CN115225337B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The application provides a hidden communication method, a terminal, a system and a storage medium based on a blockchain, wherein a sending terminal generates a shared key and constructs first special transaction data based on the shared key, so that the security of the transmission of hidden data by the blockchain is ensured; in addition, since the sending terminal uses the new first random number when communicating next time, the security of hidden communication is further improved, the sending terminal constructs the new first random number needed to be used when communicating next time in the first special transaction data and sends the first special transaction data to the receiving terminal, so that the receiving terminal can communicate with the sending terminal next time based on the new first random number, and the continuity of communication can be ensured on the basis of ensuring the security of communication.

Description

Block chain-based covert communication method, terminal, system and storage medium
Technical Field
The application relates to the technical field of communication, in particular to a block chain-based covert communication method, a terminal, a system and a storage medium.
Background
The covert communication technique is a technique that enables people to achieve secure communication over an unsafe channel. Compared with an encrypted communication mode, the hidden communication can also realize the hiding of the communication behavior, so that the method has wider application prospect than the encryption. In a general covert communication scheme, information to be transmitted is hidden in a carrier in a manner imperceptible to a third party, and the carrier is transmitted or released in a public channel. Since blockchain technology can transmit information based on a common link, covert communication can be achieved based on blockchains.
Because the public link is disclosed externally, how to ensure the safety and the non-theft property of the transmitted data in the process of transmitting the information based on the public link becomes the technical problem to be solved currently.
Disclosure of Invention
The embodiment of the application aims to provide a block chain-based covert communication method, a terminal, a system and a storage medium, so as to solve the technical problems.
In order to achieve the above object, the present application provides a technical solution comprising:
in a first aspect, a block chain based covert communication method is provided, applied to a transmitting terminal, the method comprising:
determining the current hidden data to be transmitted and a new first random number needed to be used by the sending terminal in the next communication;
constructing first special transaction data based on the covert data, the new first random number, and a shared key; the shared secret key is a symmetric secret key generated by the sending terminal according to a first random number which is currently used by the sending terminal and a second random number which is currently used by the receiving terminal;
broadcasting the first special transaction data to a blockchain network, so that the receiving terminal can acquire the first special transaction data from the blockchain network, generate the shared key according to the second random number which is used currently by the receiving terminal and the first random number which is used currently by the sending terminal, and recover the hidden data and the new first random number from the first special transaction data according to the shared key.
In the embodiment, the sending terminal generates the shared key, and constructs the first special transaction data based on the shared key, so that the safety of the transmission of the hidden data by the block chain is ensured; in addition, since the sending terminal uses the new first random number when communicating next time, the security of hidden communication is further improved, the sending terminal constructs the new first random number needed to be used when communicating next time in the first special transaction data and sends the first special transaction data to the receiving terminal, so that the receiving terminal can communicate with the sending terminal next time based on the new first random number, and the continuity of communication can be ensured on the basis of ensuring the security of communication.
With reference to the first aspect, in some optional embodiments, the constructing first special transaction data based on the covert data, the new first random number, and a shared key includes:
encrypting the hidden data and the new first random number by using the shared secret key to obtain first encrypted data, and constructing first special transaction data based on the first encrypted data;
or alternatively, the first and second heat exchangers may be,
and encrypting the hidden data by using the shared key to obtain second encrypted data, and constructing first special transaction data based on the second encrypted data and the new first random number.
In the above embodiment, the hidden data and the new first random number may be encrypted by using the shared key, or the hidden data may be encrypted by using the shared key, so that even if other attacker obtains the first special transaction data, the hidden data or the new first random number cannot be recovered because the shared key cannot be obtained, thereby improving the security of the hidden communication.
With reference to the first aspect, in some optional embodiments, the constructing first special transaction data based on the covert data, the new first random number, and a shared key includes:
generating a special transaction tag;
first special transaction data marked with the special transaction tag is constructed based on the concealed data, the new first random number, and a shared key.
In the above embodiment, the transmitting terminal generates the special transaction tag to tag the first special transaction data, so that the receiving terminal can accurately and rapidly screen the first special transaction data from a large amount of transaction data according to the special transaction tag.
With reference to the first aspect, in some optional embodiments, the special transaction tag includes a first address tag, and the generating the special transaction tag includes:
Determining a target block according to a reference block negotiated by the sending terminal and the receiving terminal before the communication;
determining the first address tag according to the block identification information of the target block and the shared key;
said constructing first special transaction data marked with said special transaction tag based on said concealed data, said new first random number and a shared key, comprising:
determining block identification information of a reference block required to be used by the sending terminal and the receiving terminal in the next communication;
first special transaction data marked with the first address tag is constructed based on the hidden data, the new first random number, block identification information of the reference block, and the shared key.
In the above embodiment, the transmitting terminal constructs the block identification information of the reference block to be used in the next communication in the first special transaction data and transmits the block identification information to the receiving terminal in the current communication process, so that the two communicating parties do not need to renegotiate the reference block in the next communication, thereby improving the communication efficiency.
With reference to the first aspect, in some optional implementations, the determining the target block according to the reference block negotiated by the sending terminal and the receiving terminal before the current communication includes:
Determining a plurality of target blocks according to the positions of the reference blocks in the blockchain network;
the determining the address tag according to the block identification information of the target block and the shared key includes:
for each target block, determining a corresponding first address tag according to the corresponding block hash value and the shared key;
said constructing first special transaction data tagged with said address tag, comprising:
and sequentially constructing a plurality of pieces of first special transaction data marked with the corresponding first address labels according to the link sequence of each target block, wherein one piece of first special transaction data is marked by one first address label.
In the above embodiment, a plurality of pieces of first special transaction data marked with corresponding first address labels may be sequentially constructed according to the linking order of each target block, so that the receiving terminal may complete data reorganization for the data content in each first special transaction data according to the linking order of each target block, thereby recovering the content that needs to be transmitted originally by the transmitting terminal.
The problem of the sequence of the reconstruction of the hidden data is solved, and the time of the block chain transaction data is not required to be considered independently.
With reference to the first aspect, in some optional embodiments, the special transaction tag includes a second address tag; after said broadcasting the first special transaction data into a blockchain network, the method includes:
screening second special transaction data marked with the second address tag from the blockchain network; the second special transaction data is transaction data marked with the second address tag and constructed based on feedback information after the receiving terminal generates the feedback information according to the communication condition between the receiving terminal and the sending terminal;
and recovering the feedback information from the second special transaction data.
In the above embodiment, the sending terminal may screen the second special transaction data from the blockchain network according to the second address tag, and recover the feedback information from the second special transaction data, so as to obtain the communication condition of the current communication between the sending terminal and the receiving terminal.
With reference to the first aspect, in some optional embodiments, when the feedback information includes failure flag information for characterizing communication failure and a new second random number that needs to be used by the receiving terminal at the next communication, the method further includes:
Generating a new shared key using the new first random number and the new second random number;
constructing new first special transaction data based on the covert data and the new shared key;
the new first special transaction data is broadcast into a blockchain network.
In the above embodiment, when the sending terminal acquires the message of communication failure, a new shared key is generated by using the new first random number and the new second random number, and then new first special transaction data is constructed based on the hidden data and the new shared key, thereby ensuring the continuity of the communication process and further improving the safety of communication.
In a second aspect, the present application further provides a block chain based covert communication method, applied to a receiving terminal, the method comprising:
acquiring first special transaction data from a blockchain network; the first special transaction data is transaction data constructed by the sending terminal based on the shared secret key, the current to-be-transmitted hidden data and a new first random number needed to be used by the sending terminal in the next communication; the shared secret key is a symmetric secret key generated by the sending terminal according to a first random number which is used currently by the sending terminal and a second random number which is used currently by the receiving terminal;
Generating the shared secret key according to the second random number which is used currently by the sending terminal and the first random number which is used currently by the sending terminal;
recovering the covert data and the new first random number from the first special transaction data using the shared key.
With reference to the second aspect, in some optional embodiments, the acquiring the first special transaction data from the blockchain network includes:
generating a special transaction tag;
screening the first special transaction data from the blockchain network according to the special transaction tag; the first special transaction data is data marked with the special transaction tag.
With reference to the second aspect, in some optional embodiments, the special transaction tag includes a first address tag, and the generating the special transaction tag includes:
determining a target block according to a reference block negotiated by the receiving terminal and the sending terminal before the communication;
determining the first address tag according to the block identification information of the target block and the shared key;
the method further comprises the steps of:
and recovering the block identification information of the reference block which is needed to be used by the receiving terminal and the transmitting terminal in the next communication from the first special transaction data.
With reference to the second aspect, in some optional embodiments, the determining a target block according to a reference block negotiated by the receiving terminal and the transmitting terminal before the present communication includes:
determining a plurality of target blocks according to the positions of the reference blocks in the blockchain network;
the determining the first address tag according to the block identification information of the target block and the shared key includes:
for each target block, determining a corresponding first address tag according to the corresponding block hash value and the shared key;
the obtaining first special transaction data from the blockchain network includes:
and sequentially screening first special transaction data marked with the corresponding first address tag from the blockchain network according to the link sequence of each target block.
With reference to the second aspect, in some optional embodiments, the special transaction tag includes a second address tag, and the method further includes:
generating feedback information according to the communication condition between the current time and the sending terminal;
constructing second special transaction data marked with the second address tag based on the feedback information;
Broadcasting the second special transaction data into the blockchain network.
With reference to the second aspect, in some optional embodiments, the generating feedback information according to the current communication situation with the sending terminal includes:
when the communication with the sending terminal is successful, generating success marking information for representing the success of the communication;
when the communication failure between the receiving terminal and the sending terminal is determined, generating failure marking information for representing the communication failure and a new second random number needed to be used by the receiving terminal in the next communication.
In a third aspect, the present application also provides a communication method based on a blockchain, which is applied to a hidden communication system based on the blockchain, wherein the hidden communication system comprises a transmitting terminal and a receiving terminal; the method comprises the following steps:
the sending terminal determines the hidden data to be transmitted currently and a new first random number which needs to be used by the sending terminal in the next communication, constructs first special transaction data based on the hidden data, the new first random number and a shared key, and broadcasts the first special transaction data to a blockchain network; the shared secret key is a symmetric secret key generated by the sending terminal according to a first random number which is currently used by the sending terminal and a second random number which is currently used by the receiving terminal;
The receiving terminal acquires the first special transaction data from the blockchain network, generates the shared key according to the second random number which is used currently by the receiving terminal and the first random number which is used currently by the sending terminal, and recovers the hidden data and the new first random number from the first special transaction data by using the shared key.
In a fourth aspect, the present application further provides a transmitting terminal, including a first processor and a first memory, where the first memory stores a first computer program, and the first processor executes the first computer program to implement a method of applying any one of the foregoing to a transmitting terminal.
In a fifth aspect, the present application further provides a receiving terminal, including a second processor and a second memory, where the second memory stores a second computer program, and the second processor executes the second computer program to implement a method applied to the receiving terminal by any one of the above-mentioned methods.
In a sixth aspect, the present application further provides a block chain based covert communication system, including any one of the above-mentioned transmitting terminals and any one of the above-mentioned receiving terminals.
In a seventh aspect, the present application also provides a computer readable storage medium storing a third computer program which, when executed by at least one processor, implements the method of any one of the above.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the embodiments of the present application will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present application and should not be considered as limiting the scope, and other related drawings can be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic flow chart of a block chain based covert communication method according to an embodiment of the present application;
fig. 2 is a schematic diagram of a process of generating a dynamic address tag by an information sender according to an embodiment of the present application;
FIG. 3 is a functional code diagram of a dynamic address tag generation function according to an embodiment of the present application;
fig. 4 is a schematic diagram of a process of screening first special transaction data by an information receiver according to an embodiment of the present application;
FIG. 5 is a functional code diagram of screening first special transaction data according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of a transmitting terminal according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of a receiving terminal according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of a block chain-based covert communication system according to an embodiment of the present application.
Detailed Description
The present application will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present application more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
It should be noted that the descriptions of "first," "second," etc. in the embodiments of the present application are for descriptive purposes only and are not to be construed as indicating or implying a relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defining "a first" or "a second" may explicitly or implicitly include at least one such feature. In addition, the technical solutions of the embodiments may be combined with each other, but it is necessary to base that the technical solutions can be realized by those skilled in the art, and when the technical solutions are contradictory or cannot be realized, the combination of the technical solutions should be considered to be absent and not within the scope of protection claimed in the present application.
In the description of the present application, it should be understood that the numerical references before the steps do not indicate the order in which the steps are performed, but are merely used to facilitate description of the present application and to distinguish between each step, and thus should not be construed as limiting the present application.
The technical scheme of the application is described in detail through specific embodiments.
It should be noted that the following embodiments may be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.
The embodiment of the application provides a block chain-based covert communication method, referring to fig. 1, and the specific method can comprise the following steps:
s101: the transmitting terminal determines the hidden data to be transmitted currently and a new first random number to be used by the transmitting terminal in the next communication.
S102: the sending terminal constructs first special transaction data based on the hidden data, the new first random number and the shared key; the shared secret key is a symmetric secret key generated by the sending terminal according to the first random number currently used by the sending terminal and the second random number currently used by the receiving terminal.
S103: the sending terminal broadcasts the first special transaction data into the blockchain network.
S104: the receiving terminal obtains first special transaction data from the blockchain network.
S105: the receiving terminal generates a shared secret key according to the second random number which is used currently by the receiving terminal and the first random number which is used currently by the sending terminal.
S106: the receiving terminal recovers the hidden data and the new first random number from the first special transaction data using the shared key.
It will be appreciated that the above steps S101-S103 are performed by the transmitting terminal, and the above steps S104-S106 are performed by the receiving terminal. After the receiving terminal acquires the first special transaction data, the receiving terminal performs the reverse process of processing the hidden data with the sending terminal, so that the hidden data originally intended to be transmitted by the sending terminal can be recovered.
The following describes the above steps in detail for ease of understanding.
In some embodiments, before step S102, the transmitting terminal and the receiving terminal may synchronize random numbers currently used by themselves with each other. That is, the transmitting terminal may transmit the first random number used by itself to the receiving terminal and receive the second random number of itself transmitted by the receiving terminal. Correspondingly, the receiving terminal can receive the first random number used by the transmitting terminal and transmit the second random number used by the receiving terminal to the transmitting terminal. The sending terminal and the receiving terminal can synchronize the random number currently used by the sending terminal and the receiving terminal to each other through the out-of-chain channel before the first communication, and the out-of-chain channel in the embodiment of the application can be a disposable communication channel, for example, a data transmission channel based on SSL encryption, and the sending terminal and the receiving terminal can realize direct communication through the disposable communication channel so as to synchronize the random number currently used by the sending terminal and the receiving terminal, thereby having higher safety.
In some embodiments, the first random number of the sending terminal and the second random number of the receiving terminal may be deployed in advance at the sending terminal, and at the same time, the first random number and the second random number may be deployed at the receiving terminal side. When the sending terminal and the receiving terminal carry out first communication, the sending terminal and the receiving terminal can generate a shared secret key based on the first random number and the second random number, the sending terminal constructs first special transaction data based on the shared secret key, hidden data to be transmitted and a new first random number, and the receiving terminal recovers the hidden data and the new first random number from the first special transaction data based on the shared secret key.
For each communication, the transmitting terminal may transmit a new first random number structure to be used at the next communication to the receiving terminal in the first special transaction data. In this way, the transmitting terminal and the receiving terminal can generate a new shared key based on the new first random number when the transmitting terminal and the receiving terminal perform the next communication. The transmitting terminal may construct new first special transaction data based on the new shared key. The receiving terminal may recover the data content that the sending terminal originally wants to transmit from the new first special transaction data based on the new shared key.
In the embodiment of the application, the sending terminal and the receiving terminal can generate the same shared secret key, and the sending terminal and the receiving terminal can generate the symmetric secret key based on an elliptic curve encryption algorithm and a DH algorithm.
For example, the transmitting terminal and the receiving terminal may generate a public key of the counterpart based on the counterpart's random number, and then generate a symmetric key using the own random number and the counterpart's public key.
If G is used to represent the base point on the elliptic curve used by the blockchain, the first random number used by the sending terminal in a certain communication process isThe second random number used by the receiving terminal is +.>According to the public key generation rule of the elliptic curve cryptography algorithm, the transmitting terminal and the receiving terminal can respectively generate the public keys of the other party:
the second public key of the receiving terminal generated by the transmitting terminal is:
the first public key of the sending terminal generated by the receiving terminal is:
since the transmitting terminal and the receiving terminal can locally calculate each otherAnd->Further, the communication parties can locally perform the following operations to obtain the shared key:
the operation performed by the transmitting terminal:
the operation performed by the receiving terminal:
obviously, SK i1 =SK i2 =SK i ,SK i Can be used as a shared key when a sending terminal and a receiving terminal carry out hidden communication.
When a certain communication is carried out, because the random numbers used by the opposite party in the communication are stored locally by the two communication parties, the result matched with the random numbers of the opposite party, namely the public key, can be calculated locally, and then the shared secret key can be obtained.
For step S102, in an alternative embodiment, the hidden data to be transmitted and the new first random number are encrypted with a shared key to obtain first encrypted data, and first special transaction data is constructed based on the first encrypted data. For example, a symmetric encryption algorithm and a shared key SK may be used i Encrypting the data M to be transferred to obtain first encrypted data M' =enc (M, SK i ). The symmetric encryption algorithm Enc can be an algorithm such as AES and DES, and the communication parties can negotiate an encryption algorithm and a decryption algorithm in advance, and the encryption algorithm can be deployed in the sending terminal in advance, and meanwhile, a corresponding decryption algorithm needs to be deployed in the receiving terminal. In this embodiment, the data M to be transferred includes two parts: firstly, the hidden data m to be transmitted, secondly, the sending terminal will be at the next communication First random number RN used i+1 The method comprises the following steps: m=m+rn i+1
In an alternative embodiment, the hidden data may be encrypted using the shared key to obtain second encrypted data, and the first special transaction data may then be constructed based on the second encrypted data and the new first random number.
In order to further enhance the masking ability of the finally obtained first special transaction data, when the first special transaction data is constructed based on the first encrypted data, the first encrypted data may be subjected to encoding processing, and then the first special transaction data is constructed based on the encoded first encrypted data. That is, the first encrypted data M' may be encoded using an encoding algorithm on the basis of information encryption. The Coding method includes, but is not limited to, one-Hot (One-Hot) Coding, huffman Coding (Huffman Coding) and other Coding modes, and the communication parties can negotiate the Coding mode and the decoding mode in advance, and the Coding mode can be deployed in the sending terminal in advance, and meanwhile, the corresponding decoding mode needs to be deployed in the receiving terminal.
In order to solve the problem of damage resistance in data backup, when the data volume of the hidden data to be transmitted is relatively large, for example, when the data volume of the hidden data to be transmitted is determined to be larger than a preset data volume threshold, the first encrypted data after the encoding processing can be grouped to obtain n encrypted data sets on the basis of the encoding processing, m check data sets are generated for the n encrypted data sets by adopting an erasure coding technology, and a plurality of pieces of first special transaction data are constructed based on the encrypted data sets and the check data sets. Where n and m are integers greater than 0.
The receiving terminal can recover the original information transmitted by the transmitting terminal through any n data in n+m parts of data, namely, the grouping threshold of the data is (n+m, n), that is, even if m parts of data in n+m parts of data are failed to be transmitted, the receiving terminal can recover the original information to be transmitted by the transmitting terminal by using the n parts of data which are successfully transmitted.
When the first special transaction data is constructed based on the above-described second encrypted data and the new first random number, the second encrypted data may be processed in a similar manner to the above-described manner, or the second encrypted data and the new first random number may be processed, which will not be described in detail herein.
In order to facilitate the receiving terminal to quickly screen out the first special transaction data from the blockchain network, thereby quickly recovering the data originally required to be transferred by the transmitting terminal, the transmitting terminal can generate a special transaction tag, and construct the first special transaction data marked with the special transaction tag based on the hidden data, the new first random number and the shared key.
It should be noted that the sending terminal and the receiving terminal should deploy the same tag generation policy to generate the same special transaction tag. That is, the receiving terminal may generate a special transaction tag and screen the first special transaction data from the blockchain network according to the special transaction tag.
Illustratively, the special transaction tag includes a first address tag, generating the special transaction tag includes:
and determining a target block according to a reference block negotiated by the sending terminal and the receiving terminal before the communication, and determining a first address tag according to block identification information of the target block and the shared key.
At this time, constructing first special transaction data marked with a special transaction tag based on the hidden data, the new first random number, and the shared key, including:
determining block identification information of a reference block required to be used by a transmitting terminal and a receiving terminal in the next communication; first special transaction data marked with a first address tag is constructed based on the concealed data, the new first random number, the block identification information of the reference block, and the shared key.
It will be appreciated that at least one of the hidden data, the new first random number, and the block identification information of the reference block may be encrypted using the shared key, then the encrypted data is encoded, and further processed using the erasure coding technique mentioned above to generate a plurality of data sets, each of which is embedded into the blockchain transaction data. The rest of the information which is not subjected to encryption processing can be directly embedded into the blockchain transaction data, or after the encoding processing is performed and the further processing is performed by using an erasure code technology to generate another data set, the another data set is embedded into the blockchain transaction data to generate first special transaction data.
The transmitting terminal and the receiving terminal may negotiate a reference block before the present communication. For example, the transmitting terminal may determine, from the blockchain network, the blockidentification information of the reference block that needs to be used in the next communication before step S102, transmit the blockidentification information of the reference block to the receiving terminal through the out-of-chain channel, and receive, through the out-of-chain channel, a confirmation message sent by the receiving terminal to indicate that the blockidentification information of the reference block is received. It should be noted that the transmitting terminal may transmit the block identification information of the reference block and the self-used first random number to the receiving terminal through the one-time communication channel before the first communication with the receiving terminal, and then receive the self-used second random number and the acknowledgement message transmitted by the receiving terminal, thereby completing negotiation of the reference block and synchronization of the random numbers.
It will be appreciated that in other embodiments, the block identification information of the reference block may be stored in advance locally on both communication sides, and the first address tag may be determined based on the reference block when the transmitting terminal and the receiving terminal communicate for the first time.
In order to improve communication efficiency and communication safety, when the transmitting terminal transmits data to the receiving terminal next time, the transmitting terminal does not need to synchronize random numbers and negotiate reference blocks, and can determine the block identification information of the reference blocks needed to be used when communicating with the receiving terminal next time in the communication process and transmit the block identification information to the receiving terminal.
It will be appreciated that in step S102, the first special transaction data may be structured with reference to the format of the blockchain normal transaction data to enhance the concealment effect.
For example, a plurality of target blocks may be determined according to the positions of the reference blocks in the blockchain network, and for each target block, a corresponding first address tag may be determined according to its corresponding block hash value and a corresponding shared key in the current communication process. Then, according to the linking sequence of each target block, a plurality of pieces of first special transaction data marked with corresponding first address labels can be sequentially constructed, and one piece of first special transaction data is marked by one first address label.
Correspondingly, for the receiving terminal, step S104 includes: and generating a special transaction tag, and screening first special transaction data from the blockchain network according to the special transaction tag.
When the special transaction tag includes the first address tag, in step S104, the receiving terminal may determine the target block according to the reference block negotiated with the transmitting terminal before the current communication, and determine the first address tag according to the block identification information of the target block and the shared key. After screening the first special transaction data, the receiving terminal can recover the block identification information of the reference block which needs to be used by the receiving terminal and the transmitting terminal in the next communication from the first special transaction data, and store the block identification information. Thus, when the receiving terminal needs to communicate with the transmitting terminal next time, a new first address label can be generated based on the block identification information of the reference block, so that when the next communication is screened from the blockchain network according to the new first address label, the transmitting terminal constructs and transmits new first special transaction data. It should be noted that, when the receiving terminal stores the block identification information of the reference block and the new first random number of the sending terminal, encryption storage can be locally performed, so as to improve the security of information storage.
It should be noted that, the receiving terminal can screen out the first special transaction data marked with the special transaction tag from the local transaction pool, and the first special transaction data does not need to be screened out from the block, so that the time consumption caused by the process of linking the transaction data can be reduced, the efficiency of carrying out hidden communication based on the block chain can be improved, and the timeliness of the communication is further ensured.
For example, the special transaction tag further includes a second address tag, and for the transmitting terminal, after step S103, the transmitting terminal may screen the second special transaction data marked with the second address tag from the blockchain network, and recover the feedback information from the second special transaction data. The second special transaction data is transaction data marked with a second address label and constructed based on feedback information after the receiving terminal generates the feedback information according to the communication condition between the receiving terminal and the sending terminal.
Correspondingly, the receiving terminal can generate feedback information according to the communication condition between the receiving terminal and the sending terminal, and then construct second special transaction data marked with a second address tag based on the feedback information, and broadcast the second special transaction data to the blockchain network.
When the receiving terminal determines that the communication with the sending terminal is successful, generating success marking information for representing the success of the communication; when the communication failure between the receiving terminal and the sending terminal is determined, generating failure marking information for representing the communication failure and a new second random number needed to be used by the receiving terminal in the next communication.
If the receiving terminal only screens out a small amount of first special transaction data marked with special transaction labels from the blockchain network within the preset duration range, the receiving terminal determines that original information cannot be recovered, or the receiving terminal does not screen out the first special transaction data marked with the special transaction labels within the preset duration range, the receiving terminal can determine that the communication between the receiving terminal and the transmitting terminal fails, and the preset duration range can be flexibly set by a developer according to the timeliness of a communication task and the actual situation.
When the feedback information recovered by the sending terminal from the second special transaction data includes success marking information representing the success of communication, the sending terminal can not respond any more.
When the feedback information recovered from the second special transaction data by the transmitting terminal includes the failure flag information for characterizing the communication failure and the new second random number that needs to be used by the receiving terminal at the next communication, the transmitting terminal may generate a new shared key by using the new first random number in step S101 and the new second random number in the feedback information, construct new first special transaction data based on the hidden data and the new shared key in step S101, and broadcast the new first special transaction data to the blockchain network. I.e. regenerating the new shared key and retransmitting the hidden data that was not successfully transmitted.
It should be noted that, each time the transmitting terminal communicates with the receiving terminal, the transmitting terminal may send a new first random number that needs to be used for the next communication to the receiving terminal, so the manner in which the transmitting terminal constructs new first special transaction data based on the hidden data and the new shared key may refer to the manner described above, and will not be repeated here.
It should also be noted that the second address tag may be generated by a method similar to that for generating the first address tag, which is not described here again. The manner in which the receiving terminal constructs the second special transaction data may refer to the manner in which the transmitting terminal constructs the first special transaction data, which will not be described herein.
For step S102, the number k of transaction data pieces of the second type of special transaction data may be determined according to the data size of the hidden data to be transmitted, then the number k of transaction data pieces, the block identification information of the reference block to be used in the next communication, and the new first random number are encoded, spliced into a character string, the blockchain transaction data is embedded to obtain 1 piece of first type of special transaction data, and then k pieces of second type of special transaction data marked with the first address tag are constructed based on the hidden data to be transmitted. At this time, for step S103, the first type of special transaction data and the second type of special transaction data may be sequentially broadcast to the blockchain network.
Correspondingly, for the receiving terminal, for step S103, the first type of special transaction data may be preferentially screened out from the blockchain network according to the generated first address tag, the number k of transaction data may be extracted from the first type of special transaction data, and then the k second type of special transaction data may be screened out from the blockchain network. The receiving terminal preferentially extracts the number k of the transaction data, so that the number of the second type special transaction data which needs to be screened subsequently can be determined.
It should be noted that, in some embodiments, in the first type of special transaction data, the transaction data number information of the second type of special transaction data may not be included, the sending terminal and the receiving terminal may negotiate in advance or directly deploy a construction rule and a screening rule of the first special transaction data locally at the terminal, for example, d pieces of first special transaction data may be generated when negotiating in advance each time of communication, both parties of communication generate d first address labels and 1 second address label, the sending terminal marks d pieces of first special transaction data by using d first address labels, and the receiving terminal screens d pieces of first special transaction data from the blockchain network by using d first address labels. The receiving terminal marks the second special transaction data by using the second address tag, and the transmitting terminal screens the second special transaction data from the blockchain network by using the second address tag.
It can be understood that, based on the number k of transaction data, the block identification information of the reference block to be used in the next communication, and the new first random number, the manner of constructing the first type of special transaction data marked with the first address tag is not limited to the above-mentioned manner, and the construction manner can be flexibly set by a developer, so long as the corresponding extraction rule is deployed at the corresponding receiving terminal, so that the receiving terminal can screen out the first type of special transaction data according to the first address tag, and then extract and recover the number k of transaction data, the block identification information of the reference block to be used in the next communication, and the new first random number according to the corresponding extraction rule. For example, the transmitting terminal may construct one piece of first special transaction data using the number of transaction data, and then construct another piece of first special transaction data using the block identification information of the reference block that needs to be used at the next communication and the new first random number.
The specific process of determining the target block according to the reference block negotiated by the transmitting terminal and the receiving terminal before the present communication and determining the first address tag according to the block identification information of the target block and the shared key will be described.
The block identification information in the embodiment of the application can be a block height, and the block height represents the position of the corresponding block in the block chain. The first address tag and the second address tag in the embodiment of the present application may be dynamic address tags, where the dynamic address tags are used only once, and the sending terminal may use the wallet tool to generate a plurality of dynamic address tags in batch as needed to mark the first special transaction data.
If the two communication parties have negotiated the dynamic address label generation strategy, the dynamic address label generation strategy is: based on the block hash value of the target block height j and the above-mentioned shared key SK, an HMAC function value is calculated, and the HMAC function value is used as a key used in generating the public chain address, and a dynamic address label is generated based on the public chain address generation algorithm and the key. If the number of the first special transaction data to be embedded into the hidden data is determined to be k according to the data size of the hidden data, it is determined that k+2 dynamic address labels need to be generated, and if the blockchain is a public chain, a generating process of generating the dynamic address labels by an information sender (a sending terminal) can be seen from fig. 2, and the generating process includes:
Step one: and extracting a block hash value of the reference block from the public chain account book data, namely extracting a block hash value blockhash_j of a block height j, and calculating an HMAC function value by combining the shared key SK. The function value is used as a key used in generating the public chain address, and a dynamic address label is generated according to a public chain address generation algorithm, wherein the dynamic address label is used for marking the number k of transaction data of second type special transaction data to be transmitted subsequently and the block height of a reference block to be used in the next communication. As an alternative embodiment, the number k of transaction data and the block height of the reference block to be used in the next communication may be encoded using the encoding method described above, and spliced into a character string, and then the character string is embedded in the first special transaction data. As an alternative implementation manner, the shared key may be used to encrypt the character string, or the shared key may be used to encrypt the transaction data number k and the block height of the reference block to be used in the next communication before the transaction data number k and the block height of the reference block to be used in the next communication are encoded, and then encoded again, and spliced into the character string.
Step two: the iteration parameter i, the block with the block height of j-1, j-2, …, j-k-1 is used as a target block, the block hash values of the target blocks with the block heights of j-1, j-2, …, j-k-1 are sequentially extracted from public ledger data, k+1 dynamic address labels are generated according to the method, wherein the first k dynamic address labels can be used as first address labels for marking first special transaction data embedded with hidden data to be transmitted, and it should be noted that the hidden data to be transmitted can be the hidden data in the step S101 or the data after the hidden data are encrypted, coded or the like. The last dynamic address tag may be used as a second address tag for screening the blockchain network for second special transaction data tagged with the second address tag.
The function code of the dynamic address tag generation function is shown in fig. 3, and the input parameter j of the function is the block height of the reference block negotiated in advance by both communication parties, so that the first special transaction data of a certain communication can be rapidly screened out based on the parameter, and unnecessary transaction screening workload is reduced. Another input parameter SK of the algorithm is the shared key that both parties of the communication determine through the aforementioned non-interactive shared key generation mechanism.
The output character string processed by the HMAC function is used as a corresponding key when generating public chain account addresses. Compared with the common hash function, the hash value generated by the HMAC can be generated only by an information receiver with the key SK, and the same key character string can be ensured to be generated only by a transmitting terminal and a receiving terminal with the key SK. Thus, the shared key SK can also be used to confirm that the identity of both parties is trusted.
Addr_label in fig. 3 is a dynamic address tag generated according to the public chain address generation function Create_addr (addr_SK), and the address is used as a basis for the receiving terminal to filter the first special transaction data.
The public chain address is an essential parameter in public chain transaction data, and is used as tag information to be embedded in public chain business transaction data, so that the public chain address has high concealment. In addition, the tag (dynamic address tag) of the first special transaction data embedded with the hidden data is different from the ordinary transaction tag (ordinary account address in public link network) in that the key for generating the dynamic address tag is not randomly generated but is self-generated by both communication parties according to a mechanism of a pre-negotiation of the transmitting terminal and the receiving terminal. The transmitting terminal can start from a block with the height j according to a mechanism of pre-negotiation, determine the block hash value of the block according to the direction opposite to the block generation, generate k+2 dynamic address labels based on k+2 block hash values, and screen out the dynamic address labels used by the transmitting terminal by searching a local transaction pool, thereby rapidly screening out first special transaction data embedded with hidden information.
The specific process of constructing the first special transaction data is described below.
In order to ensure the concealment of the information transfer process, the first special transaction data generated by the transmitting terminal and the second special transaction data generated by the receiving terminal should have similar regularity to the common transaction data, so at least one of the following ways may be adopted to construct the first special transaction data and the second special transaction data:
mode one: according to the transaction data structure, hidden data such as an op_return field of a bitcoin, an input field of an ethernet, an exta field of a gate coin, etc. are embedded in a field for remarks.
Mode two: and embedding hidden data in the public chain account address. The specific method comprises the following steps: firstly, generating a plurality of dynamic address labels according to the dynamic address label generating strategy, and then replacing the last bits of the dynamic address labels one by using hidden information.
Mode three: the information is hidden by trading the transfer amount, firstly, the coded binary or hexadecimal number is converted into decimal number, transfer amount data is constructed based on the data, and then the constructed data is converted into the data form required by the transfer amount field.
Mode four: a sequence field may also be used when using bitcoin for information transfer.
It can be understood that the blockchain transaction data is transmitted in a broadcast manner, and after the sending terminal broadcasts the first special transaction data embedded with the hidden data into the public chain network, the first special transaction data is synchronized into the transaction pool of the nodes of the whole network along with the message flooding propagation mechanism of the public chain network. The receiving terminal can monitor the local transaction pool, and if the first special transaction data marked by the corresponding first address label exists, the first special transaction data is screened out.
Referring to fig. 4, the first special transaction data filtering process of the information receiver (receiving terminal) based on the dynamic address tag embedded with hidden information includes the following steps:
step one: the receiving terminal uses the block hash value of the reference block, namely the block hash value of the block height j, to generate a first address tag according to the same process as the transmitting terminal, continuously monitor a local transaction pool, identify first special transaction data marked by the first address tag, and extract the number k of transaction data and the block height j of the reference block to be used in the next communication
Step two: the receiving terminal generates k+1 dynamic address labels according to the process, and continuously monitors a local transaction pool, monitors whether new transaction data are received or not until k pieces of first special transaction data are identified. The last dynamic address tag generated is used as a second address tag for standby.
Step three: the receiving terminal rearranges the first special transaction data in the same order as the dynamic address tags are generated.
The code of the receiving terminal for fast screening the first special transaction data embedded with the hidden information is shown in fig. 5, and the function getTransactionByAddr (addr_i) in the code algorithm is used for traversing the first special transaction data in the local transaction pool until k+1 pieces of first special transaction data are found. Or, as an optional implementation manner, after the receiving terminal obtains the transaction data number information, the transaction data number meeting the data grouping threshold requirement can be found out according to the data embedding and screening rules agreed in advance.
After the receiving terminal acquires a plurality of pieces of first special transaction data, the receiving terminal can recover the hidden data from the first special transaction data by adopting a data decoding and decrypting method. The recovered hidden data can be recombined according to the generation sequence of the dynamic address labels, and restored into the information which the information sender wants to transfer.
In consideration of the possible exchange of the identities of the information sender and the information receiver in the communication process, after the target block height and the random number used by the opposite party in the next communication are extracted, the opposite party can immediately calculate the address label to be used by the opposite party and continuously monitor the local transaction pool.
Based on the same inventive concept, please refer to fig. 6, an embodiment of the present application further provides a transmitting terminal 600, which includes a first processor 601 and a first memory 602, wherein a first computer program is stored in the first memory 602, and the first processor 601 executes the first computer program to implement any one of the methods applied to the transmitting terminal.
Based on the same inventive concept, please refer to fig. 7, an embodiment of the present application further provides a receiving terminal 700, which includes a second processor 701 and a second memory 702, wherein a second computer program is stored in the second memory 702, and the second processor 701 executes the second computer program to implement any one of the methods applied to the receiving terminal.
The processor may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method may be performed by integrated logic circuits of hardware in a processor or by instructions in the form of software. The processor may be a general-purpose processor, including a central processing unit (Central Processing Unit, CPU for short), a network processor (Network Processor, NP for short), etc.; but may also be a Digital Signal Processor (DSP), application Specific Integrated Circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components. The disclosed methods, steps, and logic blocks in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present application may be embodied directly in the execution of a hardware decoding processor, or in the execution of a combination of hardware and software modules in a decoding processor. The software modules may be located in a random access memory, flash memory, read only memory, programmable read only memory, or electrically erasable programmable memory, registers, etc. as well known in the art.
Such memory includes, but is not limited to, random Access Memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable read-only memory (EPROM), electrically erasable read-only memory (EEPROM), and the like. In the present embodiment, the memory stores a program required for executing a compiling method of the code.
The processor and the memory are connected by a communication bus, which may be an ISA bus, a PCI bus, an EISA bus, or the like. The buses may be divided into address buses, data buses, control buses, etc. For ease of illustration, only one bi-directional arrow is shown in fig. 6 and 7, but not only one bus or one type of bus.
Referring to fig. 8, the embodiment of the present application further provides a block chain-based covert communication system, which includes any one of the above-mentioned transmitting terminals 600 and any one of the above-mentioned receiving terminals 700, where the transmitting terminals and the receiving terminals can communicate based on the block chain.
The embodiment of the present application further provides a computer readable storage medium, such as a floppy disk, an optical disc, a hard disk, a flash memory, a usb disk, a Secure Digital (SD) card, a multimedia (MMC) card, etc., where one or more programs for implementing the foregoing steps are stored in the computer readable storage medium, and the one or more programs may be executed by one or more processors, so as to implement the steps of the methods in the foregoing embodiments, which are not described herein.
The foregoing embodiment numbers of the present application are merely for the purpose of description, and do not represent the advantages or disadvantages of the embodiments.
From the above description of the embodiments, it will be clear to those skilled in the art that the above-described embodiment method may be implemented by means of software plus a necessary general hardware platform, or may be implemented by hardware, but in many cases the former is a preferred embodiment.
The above description is only an example of the present application and is not intended to limit the scope of the present application, and various modifications and variations will be apparent to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the protection scope of the present application.

Claims (13)

1. A block chain based covert communication method, applied to a transmitting terminal, comprising:
determining the current hidden data to be transmitted and a new first random number needed to be used by the sending terminal in the next communication;
constructing first special transaction data based on the covert data, the new first random number, and a shared key; the shared secret key is a symmetric secret key generated by the sending terminal according to a first random number which is currently used by the sending terminal and a second random number which is currently used by the receiving terminal;
Broadcasting the first special transaction data to a blockchain network so that the receiving terminal can acquire the first special transaction data from the blockchain network, generating the shared secret key according to the second random number which is used currently by the receiving terminal and the first random number which is used currently by the sending terminal, and recovering the hidden data and the new first random number from the first special transaction data according to the shared secret key;
said constructing first special transaction data based on said covert data, said new first random number, and a shared key, comprising:
encrypting the hidden data and the new first random number by using the shared secret key to obtain first encrypted data, and constructing first special transaction data based on the first encrypted data;
or alternatively, the first and second heat exchangers may be,
encrypting the hidden data by using the shared key to obtain second encrypted data, and constructing first special transaction data based on the second encrypted data and the new first random number;
said constructing first special transaction data based on said covert data, said new first random number and a shared key, further comprising:
Generating a special transaction tag;
constructing first special transaction data marked with the special transaction tag based on the hidden data, the new first random number and a shared key;
the special transaction tag includes a first address tag, and the generating the special transaction tag includes:
determining a target block according to a reference block negotiated by the sending terminal and the receiving terminal before the communication;
determining the first address tag according to the block identification information of the target block and the shared key;
said constructing first special transaction data marked with said special transaction tag based on said concealed data, said new first random number and a shared key, comprising:
determining block identification information of a reference block required to be used by the sending terminal and the receiving terminal in the next communication;
first special transaction data marked with the first address tag is constructed based on the hidden data, the new first random number, block identification information of the reference block, and the shared key.
2. The blockchain-based covert communication method of claim 1, wherein the determining the target block from the reference block negotiated by the transmitting terminal and the receiving terminal before the present communication comprises:
Determining a plurality of target blocks according to the positions of the reference blocks in the blockchain network;
the determining the address tag according to the block identification information of the target block and the shared key includes:
for each target block, determining a corresponding first address tag according to the corresponding block hash value and the shared key;
said constructing first special transaction data tagged with said address tag, comprising:
and sequentially constructing a plurality of pieces of first special transaction data marked with the corresponding first address labels according to the link sequence of each target block, wherein one piece of first special transaction data is marked by one first address label.
3. The blockchain-based covert communication method of claim 1, wherein the special transaction tag includes a second address tag; after said broadcasting the first special transaction data into a blockchain network, the method includes:
screening second special transaction data marked with the second address tag from the blockchain network; the second special transaction data is transaction data marked with the second address tag and constructed based on feedback information after the receiving terminal generates the feedback information according to the communication condition between the receiving terminal and the sending terminal;
And recovering the feedback information from the second special transaction data.
4. The blockchain-based covert communication method of claim 3, wherein when the feedback information includes failure flag information for indicating a communication failure and a new second random number that the receiving terminal needs to use at the next communication, the method further comprises:
generating a new shared key using the new first random number and the new second random number;
constructing new first special transaction data based on the covert data and the new shared key;
the new first special transaction data is broadcast into a blockchain network.
5. A block chain based covert communication method for a receiving terminal, the method comprising:
acquiring first special transaction data from a blockchain network; the first special transaction data is transaction data constructed by the sending terminal based on the shared secret key, the current to-be-transmitted hidden data and a new first random number needed to be used by the sending terminal in the next communication; the shared secret key is a symmetric secret key generated by the sending terminal according to a first random number which is used currently by the sending terminal and a second random number which is used currently by the receiving terminal;
Generating the shared secret key according to the second random number which is used currently by the sending terminal and the first random number which is used currently by the sending terminal;
recovering the covert data and the new first random number from the first special transaction data using the shared key;
the obtaining first special transaction data from the blockchain network includes:
generating a special transaction tag;
screening the first special transaction data from the blockchain network according to the special transaction tag; the first special transaction data is marked with the special transaction tag;
the special transaction tag includes a first address tag, and the generating the special transaction tag includes:
determining a target block according to a reference block negotiated by the receiving terminal and the sending terminal before the communication;
determining the first address tag according to the block identification information of the target block and the shared key;
the determining a target block according to the reference block negotiated by the receiving terminal and the sending terminal before the communication includes:
determining a plurality of target blocks according to the positions of the reference blocks in the blockchain network;
The determining the first address tag according to the block identification information of the target block and the shared key includes:
for each target block, determining a corresponding first address tag according to the corresponding block hash value and the shared key;
the obtaining first special transaction data from the blockchain network includes:
and sequentially screening first special transaction data marked with the corresponding first address tag from the blockchain network according to the link sequence of each target block.
6. The blockchain-based covert communication method of claim 5, further comprising:
and recovering the block identification information of the reference block which is needed to be used by the receiving terminal and the transmitting terminal in the next communication from the first special transaction data.
7. The blockchain-based covert communication method of claim 5, wherein the special transaction tag includes a second address tag, the method further comprising:
generating feedback information according to the communication condition between the current time and the sending terminal;
constructing second special transaction data marked with the second address tag based on the feedback information;
Broadcasting the second special transaction data into the blockchain network.
8. The blockchain-based covert communication method of claim 7, wherein the generating feedback information according to the communication situation between the present time and the transmitting terminal comprises:
when the communication with the sending terminal is successful, generating success marking information for representing the success of the communication;
when the communication failure between the receiving terminal and the sending terminal is determined, generating failure marking information for representing the communication failure and a new second random number needed to be used by the receiving terminal in the next communication.
9. The block chain-based covert communication method is characterized by being applied to a block chain-based covert communication system, wherein the covert communication system comprises a transmitting terminal and a receiving terminal; the method comprises the following steps:
the sending terminal determines the hidden data to be transmitted currently and a new first random number which needs to be used by the sending terminal in the next communication, constructs first special transaction data based on the hidden data, the new first random number and a shared key, and broadcasts the first special transaction data to a blockchain network; the shared secret key is a symmetric secret key generated by the sending terminal according to a first random number which is currently used by the sending terminal and a second random number which is currently used by the receiving terminal; said constructing first special transaction data based on said covert data, said new first random number, and a shared key, comprising: encrypting the hidden data and the new first random number by using the shared secret key to obtain first encrypted data, and constructing first special transaction data based on the first encrypted data; or, encrypting the hidden data by using the shared key to obtain second encrypted data, and constructing first special transaction data based on the second encrypted data and the new first random number; said constructing first special transaction data based on said covert data, said new first random number and a shared key, further comprising: generating a special transaction tag; constructing first special transaction data marked with the special transaction tag based on the hidden data, the new first random number and a shared key; the special transaction tag includes a first address tag, and the generating the special transaction tag includes: determining a target block according to a reference block negotiated by the sending terminal and the receiving terminal before the communication; determining the first address tag according to the block identification information of the target block and the shared key; said constructing first special transaction data marked with said special transaction tag based on said concealed data, said new first random number and a shared key, comprising: determining block identification information of a reference block required to be used by the sending terminal and the receiving terminal in the next communication; constructing first special transaction data marked with the first address tag based on the hidden data, the new first random number, block identification information of the reference block and the shared key;
The receiving terminal acquires the first special transaction data from the blockchain network, generates the shared key according to the second random number which is used currently by the receiving terminal and the first random number which is used currently by the sending terminal, and recovers the hidden data and the new first random number from the first special transaction data by using the shared key; obtaining first special transaction data from the blockchain network, including: generating a special transaction tag; screening the first special transaction data from the blockchain network according to the special transaction tag; the first special transaction data is marked with the special transaction tag; the special transaction tag includes a first address tag, and the generating the special transaction tag includes: determining a target block according to a reference block negotiated by the receiving terminal and the sending terminal before the communication; determining the first address tag according to the block identification information of the target block and the shared key; the determining a target block according to the reference block negotiated by the receiving terminal and the sending terminal before the communication includes: determining a plurality of target blocks according to the positions of the reference blocks in the blockchain network; the determining the first address tag according to the block identification information of the target block and the shared key includes: for each target block, determining a corresponding first address tag according to the corresponding block hash value and the shared key; the obtaining first special transaction data from the blockchain network includes: and sequentially screening first special transaction data marked with the corresponding first address tag from the blockchain network according to the link sequence of each target block.
10. A transmitting terminal comprising a first processor and a first memory, wherein a first computer program is stored in the first memory, and wherein the first processor executes the first computer program to implement the method of any of claims 1-4.
11. A receiving terminal comprising a second processor and a second memory, wherein the second memory has stored therein a second computer program, the second processor executing the second computer program to implement the method of any of claims 5-8.
12. A block chain based covert communication system comprising a transmitting terminal according to claim 10 and a receiving terminal according to claim 11.
13. A computer-readable storage medium, characterized in that the computer-readable storage medium stores a third computer program, which, when executed by at least one processor, implements the method according to any of claims 1-9.
CN202210731431.XA 2022-06-24 2022-06-24 Block chain-based covert communication method, terminal, system and storage medium Active CN115225337B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210731431.XA CN115225337B (en) 2022-06-24 2022-06-24 Block chain-based covert communication method, terminal, system and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210731431.XA CN115225337B (en) 2022-06-24 2022-06-24 Block chain-based covert communication method, terminal, system and storage medium

Publications (2)

Publication Number Publication Date
CN115225337A CN115225337A (en) 2022-10-21
CN115225337B true CN115225337B (en) 2023-11-28

Family

ID=83610643

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210731431.XA Active CN115225337B (en) 2022-06-24 2022-06-24 Block chain-based covert communication method, terminal, system and storage medium

Country Status (1)

Country Link
CN (1) CN115225337B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110225016A (en) * 2019-05-31 2019-09-10 北京理工大学 A kind of data hiding transmission method based on block chain network
CN112532613A (en) * 2020-11-25 2021-03-19 山东师范大学 Block chain address-based covert communication method
CN113256290A (en) * 2021-05-14 2021-08-13 杭州链网科技有限公司 Decentralized encrypted communication and transaction system
CN113438072A (en) * 2021-06-09 2021-09-24 北京理工大学 Block chain covert communication method based on derived chain
CN113691512A (en) * 2021-08-13 2021-11-23 北京理工大学 Data hiding transmission system and method combining block chain and onion network
CN114493593A (en) * 2022-01-26 2022-05-13 电子科技大学 Multi-block chain covert communication method
CN114567428A (en) * 2022-01-14 2022-05-31 北京理工大学 Block chain data hidden transmission method supporting dynamic labels

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201705621D0 (en) * 2017-04-07 2017-05-24 Nchain Holdings Ltd Computer-implemented system and method
US20210019429A1 (en) * 2018-01-15 2021-01-21 Jason Ryan Cooner Internet of things devices for use with an encryption service
CN110992026A (en) * 2019-11-29 2020-04-10 济南智数信息科技有限公司 Block chain-based account withdrawal method and system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110225016A (en) * 2019-05-31 2019-09-10 北京理工大学 A kind of data hiding transmission method based on block chain network
CN112532613A (en) * 2020-11-25 2021-03-19 山东师范大学 Block chain address-based covert communication method
CN113256290A (en) * 2021-05-14 2021-08-13 杭州链网科技有限公司 Decentralized encrypted communication and transaction system
CN113438072A (en) * 2021-06-09 2021-09-24 北京理工大学 Block chain covert communication method based on derived chain
CN113691512A (en) * 2021-08-13 2021-11-23 北京理工大学 Data hiding transmission system and method combining block chain and onion network
CN114567428A (en) * 2022-01-14 2022-05-31 北京理工大学 Block chain data hidden transmission method supporting dynamic labels
CN114493593A (en) * 2022-01-26 2022-05-13 电子科技大学 Multi-block chain covert communication method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
区块链环境下的新型网络隐蔽信道模型研究;李彦峰;丁丽萍;吴敬征;崔强;刘雪花;关贝;;通信学报(05);全文 *
基于区块链技术的密钥生命周期演示设计;刘天野;张艳硕;石钰;朱倩倩;;密码学报(03);全文 *

Also Published As

Publication number Publication date
CN115225337A (en) 2022-10-21

Similar Documents

Publication Publication Date Title
CN115277094B (en) Communication method, terminal, system and storage medium based on block chain
CN111079128B (en) Data processing method and device, electronic equipment and storage medium
Razzak Spamming the Internet of Things: A Possibility and its probable Solution
CN112600665B (en) Hidden communication method, device and system based on block chain and encryption technology
CN110335043B (en) Transaction privacy protection method, device and system based on blockchain system
US8688996B2 (en) Multipad encryption
KR101467067B1 (en) Embedded sfe: offloading server and network using hardware token
CN111555872A (en) Communication data processing method, device, computer system and storage medium
CN102594551A (en) Method for reliable statistics of privacy data on radio frequency identification (RFID) tag
CN114614994A (en) API interface data communication method, device, client and storage medium
CN113095826A (en) Covert communication method and system based on block chain multi-signature
CN114900304A (en) Digital signature method and apparatus, electronic device, and computer-readable storage medium
JP6473876B2 (en) Secure network communication method
CN115225337B (en) Block chain-based covert communication method, terminal, system and storage medium
CN116455572B (en) Data encryption method, device and equipment
Dey et al. Privileged authenticity in reconstruction of digital encrypted shares
CN112631836A (en) Method and device for block chain, storage medium and electronic equipment
CN114567427B (en) Block chain hidden data segmented transmission method
CN102624741A (en) TLV (Threshold Limit Value) based data transmission method and system thereof
CN115102768B (en) Data processing method and device and computer equipment
CN114205142B (en) Data transmission method, device, electronic equipment and storage medium
CN111835519A (en) Covert communication method based on public block chain
US9525674B2 (en) Method for the encryption of data
CN112583604B (en) Information transmission method and device, electronic equipment and storage medium
CN117200965A (en) Block chain hidden communication method for avoiding multiplexing address and negotiating private key in advance

Legal Events

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