Block chain covert communication method based on contract call concealment

By adopting a contract call masking method in blocked blockchain communication, combining IPFS and blockchain joint storage, using derived address and group encryption technology, the lack of concealment, security problems and multi-interaction in the existing technology are solved. Support difficult problems and achieve efficient and secure hidden communication.

CN119420530APending Publication Date: 2025-02-11ZHENGZHOU UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411534291.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-30
Publication Date
2025-02-11

AI Technical Summary

Technical Problem

While the existing blockchain hidden communication solution increases the amount of transaction information hidden, it is insufficient invisible, the security problem of the combination of IPFS and blockchain, the pre-negotiation overhead of cryptobook technology, and the existing model is difficult to support multi-interaction scenarios. .

Method used

Using a blockchain hidden communication method based on contract call cover, through the process of communication prenegotiation, information processing, embedding, extraction and recovery, the ciphertext is disguised as contract call parameters using smart contracts, and combined with IPFS and blockchain to carry on the chain. Off-chain joint storage, using derived addresses as cryptobooks, and introducing group encryption technology to support many-to-many interactions.

Benefits of technology

It improves the hidden amount and concealment of a single transaction information, reduces the cost and overhead of pre-negotiation, supports multiple interaction modes, improves the embedding strength and time efficiency, and enhances the security and concealment of communication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119420530A_ABST
    Figure CN119420530A_ABST
Patent Text Reader

Abstract

According to the block chain covert communication method based on contract call concealment, an interstellar file system is used for storing a long ciphertext, and the defects of low block chain storage efficiency and high cost are overcome through on-chain and off-chain combined storage. According to the method, the idea of derivation relationship and password book is quoted, the separation of secret information and communication information is realized, the index information of the ciphertext hash instead of the ciphertext hash is linked, and the security is further enhanced. The suitable intelligent contract is self-defined according to the index information, the index information is disguised as the normal contract calling parameter, the concealment and safety can be guaranteed, the data field storage capacity of the contract calling transaction is large, and the information embedding amount of the transaction is further improved. The group encryption technology is introduced into the block chain covert communication model, so that a multi-user interaction scene can be well met. Experimental results show that the time efficiency and the information embedding amount can be further improved, the concealment and the safety are greatly improved, and the method can be suitable for interaction scenes of multiple receiving users.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of communications, and in particular relates to a blockchain covert communication method based on contract call concealment. Background Art

[0002] In the field of information security, the concepts of steganography and covert channels are the core components of covert communication. In 1973, American computer scientist Lampson first proposed the concept of "covert channel", emphasizing that there may be unauthorized communication paths in computer systems. The concept of covert channel has been clearly proposed in modern computer science to describe the use of the system's legitimate communication paths to transmit data without being noticed by system administrators or other monitoring personnel. As a research field, covert communication originated from the combination and development of the ancient steganography and the concept of covert channels in modern computer science.

[0003] The earliest covert communication model originated from the prisoner model proposed by Simmons, which assumes that two prisoners, Alice and Bob, are locked in different cells and want to cooperate to escape, but all their communications are reviewed by the warden Cindy. In order to avoid being discovered by the warden, the two prisoners must cleverly embed secret information into ordinary communication carriers to conduct covert communication.

[0004] Blockchain is a decentralized distributed database that records transaction information in a decentralized, transparent and secure manner. The blockchain technology associated with digital currency has the characteristics of decentralization, anonymity, strong robustness and tamper resistance, and is a natural carrier for building covert communication channels. Blockchain and covert communication are highly compatible in improving the security, privacy and tamper resistance of data transmission. The characteristics of blockchain that cannot be tampered with, decentralized and distributed trust complement the anonymity and privacy protection goals of covert communication.

[0005] The application prospects of blockchain technology in the field of information security are broad, involving data integrity, identity authentication, supply chain management, Internet of Things security and many other aspects. Using blockchain to store medical records and combining it with zero-knowledge proof technology ensures that only authorized personnel can access the data without exposing the patient's specific information, which can well protect patient privacy. Self-driving cars need to communicate with other vehicles and traffic systems in real time on the road to exchange traffic and navigation information. Using blockchain smart contracts, all information is encrypted during transmission and is not tampered with or stolen by third parties to ensure driving safety. The identities of both parties in communication are concealed through anonymous accounts or coin mixing technology, which is suitable for groups such as journalists and human rights activists who need to avoid surveillance. In natural disasters or wars, traditional communication networks may be interrupted, and blockchain can be used as a backup communication method to ensure the transmission of important information. It should be pointed out that blockchain covert communication technology is still in its infancy and has not yet been widely used and mature solutions. At the same time, the use of blockchain for covert communication also faces some challenges, including message capacity limitations, transmission efficiency and security issues. Therefore, the research and development of blockchain covert communication technology still needs further exploration and innovation.

[0006] Juha Partala proposed a relatively complete and feasible system (BLOCCE, blockchain covert channel). The BLOCCE method cleverly distributes hidden information by using the least significant bit of the address, but the information embedding rate is very low. Song Shang et al. proposed a BLOCCE+ covert communication method based on the BLOCCE scheme. The low bit of the space is used to embed secret information. Although the embedding rate of secret information has been improved, it is still very low. She Wei et al. proposed a blockchain covert communication model for plain text information hiding. The model has high anti-detection and robustness, but the hidden capacity of a single transaction is low; then combined with the InterPlanetary File System (IPFS) technology and blockchain technology, a double-steganographic blockchain covert communication model was proposed. The model stores secret information on and off the chain, greatly improving the hidden capacity, but there are security risks in directly putting the IPFS file hash on the chain. Rong Xinpeng et al. proposed a generative blockchain covert communication model based on Markov chain. The model can reduce the risk of covert channel construction, avoid information crossover, and improve concealment, but a large text data set needs to be pre-negotiated before communication. Li Meipeng et al. proposed a high-reliability military information covert transmission protocol HRBCCM based on blockchain, which uses zero-knowledge proof mixed currency contracts to improve the concealment of transmission, but the efficiency of secret information transmission is not high. Xie Yaping et al. proposed a blockchain covert communication method based on hydropower sensor network, and designed a consensus algorithm based on the global reputation of block nodes, which can effectively reduce communication overhead and consensus delay, but the custom consensus algorithm has security risks. Pei Zhang et al. proposed a covert communication method based on Shamir threshold and STC mapping suitable for public chain network, breaking the limitation of the inability to securely transmit master keys due to the lack of secure channels in the covert communication research based on blockchain, and also improving the embedding ability, but it is difficult to achieve the transmission of a large number of secret messages in a short time. Lanyan Wang proposed an EDDAC scheme, which uses chameleon hashing to achieve attribute hiding, can resist dictionary attacks, and solve the problem of attribute privacy leakage in blockchain, but this scheme needs to consider attribute construction overhead and trust construction overhead.

[0007] Although the research on covert communication based on blockchain has been deepening in recent years, there are still some problems that have not been fully solved in the existing research.

[0008] (1) Trade-off between information hiding efficiency and confidentiality: Existing blockchain covert communication schemes basically use the address or amount of blockchain transactions to embed secret information. Since the address and amount of the transaction are not empty, using the address or amount to store secret information has a certain degree of confidentiality. However, due to the limited amount of data stored in the address and amount fields, the efficiency of embedding secret information using the address or amount of the transaction is low. Although some "remarks" fields of the blockchain, such as the well-known op field in Bitcoin transactions, have a large storage capacity, these remark fields are empty by default. Although using the remark field to embed secret information can increase the amount of information hidden in the transaction, it is easy to be analyzed and detected by attackers, and the confidentiality is greatly reduced. Therefore, how to increase the amount of transaction information hidden while taking into account confidentiality is a challenge in using blockchain for covert communication.

[0009] (2) Security issues of combining IPFS with blockchain: Some existing blockchain-based covert communication schemes, such as the literature, use IPFS technology to store ciphertext and blockchain to store ciphertext hash. This makes up for the disadvantage of low storage efficiency of blockchain, but does not process the ciphertext hash, which faces certain security risks. Since IPFS chooses data deduplication and sacrifices data encryption, and IPFS is open, if the attacker retrieves the ciphertext hash in the blockchain field through big data analysis, the ciphertext can be obtained from IPFS based on the hash. Therefore, how to effectively protect the ciphertext hash and improve the data security in IPFS is a challenge faced by the joint storage of IPFS and blockchain.

[0010] (3) Pre-negotiation overhead of codebook technology: Existing text steganography schemes using codebook technology generally select a larger data set as the codebook. Before communication, the two parties need to negotiate the codebook. Pre-negotiating a larger data set before communication is a time-consuming and complicated process, which will greatly increase the communication overhead. Therefore, reducing the number of negotiations and optimizing the negotiation content are challenges faced by codebook steganography.

[0011] (4) Support for multiple interaction scenarios: Most of the existing blockchain covert communication models are based on one-to-one communication with Alice and Bob as the sender and receiver respectively. There are relatively few articles on blockchain covert communication for one-to-many or many-to-many interactions. In practical applications, covert communication users may involve complex many-to-many or one-to-many communication scenarios. For example, in combat missions, commanders need to issue action instructions to multiple troops at the same time. Even if the communication network is limited or some nodes are attacked, they must ensure that the information is fully transmitted; stock exchanges need to synchronize real-time market prices and transaction data to multiple brokers and investors to ensure that the data cannot be tampered with during transmission, improve the transparency and synchronization of transaction data, and reduce the risk of market manipulation and information omissions. These scenarios place higher requirements on the flexibility and scalability of communication models. How to build a covert communication solution that supports multiple interaction modes is a challenge at this stage. Summary of the invention

[0012] The technical problem to be solved by the present invention is: In response to the above four problems, the present invention provides a blockchain covert communication method based on contract call concealment.

[0013] In order to solve the above technical problems, the present invention adopts the following technical solutions:

[0014] A blockchain covert communication method based on contract call covertly includes four processes: communication pre-negotiation, information processing, embedding, extraction and recovery;

[0015] Communication pre-negotiation process: The sender and receiver must first negotiate the pre-shared key PSK and the public key of derived address 1, and then both parties obtain the derived address through the calculation of the derivation relationship, and then use the derived address as the code book for information embedding and extraction;

[0016] Information processing: The sender first encrypts the information it wants to send. The process of encrypting information is as follows:

[0017] c=Encrypt(pk OA , pk1, pk2, … pk i ,n,m) (5)

[0018] The above formula represents selecting i members as receivers from a scene with n members, pk OA Indicates the public key of the authority, pk1, pk2, ...pk i represents the public key information of the receiver, m represents the secret information, and c represents the encrypted ciphertext; then each character of the ciphertext is matched one by one with the code book to obtain the corresponding index information,

[0019] cH1||cH2||…||cH t=cHash (8)

[0020] index t =(cH t ,addrcode) (9)

[0021] Finally, concatenate all the index information to get the complete index information corresponding to the ciphertext hash.

[0022] index=index1||index2||…||index t (10)

[0023] Among them, cHash represents the ciphertext hash, cH t Represents a single character in the ciphertext hash, index t Represents the mapping index between a single ciphertext hash character and the address code book, where index is the complete index information corresponding to the ciphertext hash;

[0024] Embedding process: The sender and receiver use the pre-negotiated address as the transaction address for calling the communication smart contract. After obtaining the index of the ciphertext information, the sender calls the smart contract and uses the index information as input information, thereby embedding the index information into the input parameter inputdata of the contract call transaction, that is,

[0025] parameter = index (11)

[0026]

[0027] Among them, parameter represents the contract call parameter, index represents the index information obtained during the information processing process, callcontract represents the contract call, T represents the contract call transaction of Ethereum, and Tinputdata represents the inputdata field of the transaction;

[0028] Extraction and recovery process: The receiver quickly finds the smart contract call transaction based on the pre-negotiated transaction address, and extracts the contract call parameters from the smart contract call input parameters, which are the input data field of the contract call transaction. The contract call parameters are the value of the index information index. The process is as follows.

[0029]

[0030] Index = parameter (15)

[0031] The receiver first splits the index information index to obtain an index sequence, then maps each index value of the index sequence to the address code book to obtain a single character in the ciphertext hash, and finally concatenates the characters of the ciphertext hash to obtain the complete ciphertext hash, i.e. cHash. The process is as follows:

[0032] index1||index2||…||index t =index (16)

[0033] H t =(index t ,addrcode) (17)

[0034] cHash=cH1||cH2||…||cH t (18)

[0035] After the receiver obtains the ciphertext hash information cHash, cHash can then obtain the ciphertext c from IPFS, and finally decrypt it according to its own private key. Only the receiver set by the sender can correctly obtain the ciphertext.

[0036] m=Decrypt(sk i ,c) (19)

[0037] Among them, the above formula is the decryption algorithm of group encryption, sk i Represents the private key of the i-th receiver. Each receiver decrypts the ciphertext independently according to its own private key to recover the plaintext secret information m.

[0038] During the communication pre-negotiation process, the ciphertext is stored in IPFS to generate a ciphertext hash, which is then used to replace the ciphertext for subsequent processing;

[0039] Convert the derived address to Base58 format, and concatenate the derived addresses in Base58 format to form a codebook:

[0040] addrb j =φ(addrhex j ) (6)

[0041] addrcode=addrb1||addrb2||…||addrb n (7)

[0042] Among them, Φ(x) represents the conversion of hexadecimal address information x into Base58 format address information, addrb jis the converted address information in Base58 format, and addrcode is the final code book constructed from the address information.

[0043] The present invention adopting the above technical solution has the following technical effects:

[0044] 1) The present invention disguises secret information as contract call parameters by using blockchain smart contract technology. Since the input data in the transfer transaction is empty by default, while the input data in the contract call transaction is not empty, and the storage capacity of the input field in the transaction is much larger than the address or amount. Since the call parameters in the smart contract are mostly user-defined, it is very difficult for attackers to detect and analyze the input data of the transaction. Using contract call parameters to hide secret information increases the amount of information hidden in a single transaction while also ensuring the confidentiality of the transaction, solving the aforementioned problem (1) to a certain extent.

[0045] 2) The present invention introduces IPFS technology and blockchain for joint storage on and off the chain. IPFS is used to store group-encrypted ciphertext, but the ciphertext hash is not directly uploaded to the chain. Instead, the ciphertext hash is indexed and mapped. Only the index information corresponding to the hash is uploaded to the chain, making it difficult for attackers to obtain the ciphertext hash, thereby achieving separation of secret information and index information, and solving the aforementioned problem (2) to a certain extent.

[0046] 3) The present invention uses a derived address as the code book for communication. The code book used for general communication is a large data set document. The present invention does not need to negotiate a large code book document, but only needs to negotiate an initial address and derived parameters. The derived address is used as the code book, and both the sender and the receiver can calculate and obtain it by themselves through the derived relationship. Using the derived address as the code book greatly reduces the cost of pre-negotiation and also solves the above-mentioned problem (3) to a certain extent.

[0047] 4) The present invention introduces group encryption technology into the blockchain covert communication model. Group encryption technology is based on multiple receivers. The message sender can send the ciphertext to multiple selected receivers at the same time, and the receivers can decrypt it according to their own keys. It can be well applied to the blockchain covert communication scenario of many-to-many interaction, and also solves the above-mentioned problem (4) to a certain extent. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] Figure 1 This is a diagram of the covert communication model;

[0049] Figure 2 Get the derived address for the sender;

[0050] Figure 3 Diagram of the process of deriving addresses for the receiver;

[0051] Figure 4 This is the experimental diagram for comparing information embedding rates;

[0052] Figure 5 This is a time comparison experiment chart. DETAILED DESCRIPTION

[0053] Ethereum is an open source blockchain platform launched by Vitalik Buterin in 2015. It not only supports cryptocurrency transactions, but also allows developers to build and deploy smart contracts and decentralized applications (DApps). Ethereum's native cryptocurrency is Ether (ETH). Through the Ethereum Virtual Machine (EVM), smart contracts can be automatically executed in a decentralized and tamper-proof environment.

[0054] Blockchain is a decentralized database technology that consists of a series of data blocks called "blocks" that are linked together according to a strict encryption algorithm. Each block contains a certain amount of transaction data, and each new block contains the encrypted hash value of the previous block, thus forming an unalterable chain. Ethereum's blockchain is particularly suitable for building smart contracts and decentralized applications because it provides a flexible and programmable platform on which developers can build various applications without having to worry about infrastructure issues.

[0055] Ethereum has great potential. It not only promotes the development of blockchain technology, but also lays the foundation for the popularization of decentralized applications and smart contracts. Ethereum 2.0 introduces proof of stake (PoS) and sharding technology, which improves the scalability and efficiency of the network. With the launch of Ethereum 2.0 and the continuous expansion of the ecosystem, Ethereum is expected to continue to lead the development of blockchain technology and application innovation in the future.

[0056] Ethereum smart contracts are self-executing programs on the Ethereum blockchain that can automatically execute predefined operations when certain conditions are met, ensuring the transparency, fairness, and immutability of transactions. Smart contracts are executed through the Ethereum Virtual Machine (EVM), and its decentralized nature eliminates the reliance on traditional trust intermediaries, reducing trust costs and transaction risks. Smart contracts are widely used in decentralized finance (DeFi), non-fungible tokens (NFTs), supply chain management and other fields, bringing efficiency and transparency improvements to these industries.

[0057] In simple terms, think of a smart contract as a vending machine: after the script is called with specific parameters, some action or calculation is performed if certain conditions are met. For example, a simple seller smart contract can create and assign digital asset ownership if the caller sends Ether to a specific recipient. Any developer can create a smart contract and use the blockchain as its data layer, making it public to the network, but paying Ether to the network. Then, any user can call the smart contract to execute its code, again paying a fee to the network.

[0058] Ethereum transactions involve the transfer of value from one account to another and the invocation of smart contracts. Transaction fees are calculated in gas, which is a measure of the computing resources required to perform a specific operation. Ethereum transactions refer to the transfer of money or the invocation of smart contracts on the Ethereum blockchain. Each transaction contains the sender address, the receiver address, the transaction amount, an optional data payload (such as contract call parameters), and a mining fee (Gas). After the transaction is verified by a digital signature, it is packaged into a block by the miner and added to the blockchain. Once a transaction is confirmed, it becomes part of the blockchain's permanent record, ensuring the transparency and immutability of the transaction.

[0059] The concept of group encryption was proposed by Aggelos Kiayias, Yiannis Tsiounis and Moti Yung in 2007. Its main purpose is to solve the data privacy and security problems in multi-party communications, especially to ensure that information can be securely distributed and accessed among a dynamically changing group of users. Group encryption technology is a cryptographic method for securely distributing information among multiple recipients. It relies on group keys to ensure that only group members can decrypt and access encrypted data. This technology is widely used in scenarios where data privacy and security need to be guaranteed, such as secure conferencing, cloud storage, and multi-party computing, to achieve strict access control through efficient encryption and decryption processes.

[0060] Group encryption includes senders, receivers, authorities, and group administrators. Group encryption technology has the characteristics of dynamic member management and high efficiency, allowing members to be added or removed without regenerating keys. Its security depends on the security of key management and preventing attacks on the key distribution center.

[0061] InterPlanetary File System is a peer-to-peer distributed file system. In IPFS, files are addressed not by location (URL), but by the cryptographic hash value of their content. Each file or data block has a unique hash value, which ensures the integrity and uniqueness of the data. By storing and sharing data through content addressing, it divides files into small blocks and generates a unique cryptographic hash value for each block, allowing files to be efficiently transmitted and retrieved in a decentralized network, thereby improving the availability and security of data.

[0062] IPFS uses content addressing, so the same file is only stored once and there will be no duplication. This helps save storage space. In addition, IPFS supports file versioning, and each file update will generate a new hash value to retain historical versions. IPFS supports file sharing and publishing. Users can add files to the IPFS network through nodes, and other users can access these files through hash values.

[0063] The present invention provides a blockchain covert communication method based on contract call concealment, including four processes: communication pre-negotiation, information processing, embedding, extraction and recovery. The covert communication model is as follows: Figure 1 shown.

[0064] Communication pre-negotiation process: The sender and receiver must first negotiate the pre-shared key PSK and the public key of the derived address 1, and then the two parties can obtain the derived address through the calculation of the derivation relationship, and then use the derived address as the code book for information embedding and extraction. The meaning of the symbols in the derivation algorithm is shown in Table 1.

[0065] symbol meaning sk Private Key pk Public Key PSK Pre-shared key * Elliptic curve multiplication G Elliptic curve base point % Modulo Operation N Ethereum’s private key space PkToAddress Convert a public key to an address

[0066] Table 1.

[0067] The key generation algorithm for the private key and public key of the derived chain is as follows:

[0068] sk i *PSK%N=sk i+1 (1)

[0069] sk i+1 *G=pk i+1 (2)

[0070] It should be noted that the * in the above formula refers to elliptic curve multiplication, and the % refers to the modular operation based on Ethereum. After importing the private key into the Ethereum wallet, the corresponding address can be obtained. The number of private keys and public keys that need to be calculated depends on the number of bytes of the secret information.

[0071] The sender can calculate the derived address in sequence according to the key generation algorithm above. The sender calculates the derived address as follows Figure 2 shown.

[0072] The receiver can also derive the derived address in turn based on the derived relationship, that is,

[0073] pk i *PSK=pk i+1 (3)

[0074] sendaddr i = PublickeyToAddress(pk i ) (4)

[0075] The receiver derives the address as follows: Figure 3 shown.

[0076] Since the derived addresses are derived from each other, the receiver only needs to know the pre-shared key PSK and the public key of derived address 1 to obtain each of the following derived addresses in turn. The sender and receiver do not need to negotiate the codebook file, but only need to negotiate the pre-shared key PSK and the public key of derived address 1. The sender and receiver can obtain the codebook required for subsequent communication through calculation, which greatly reduces the cost of pre-negotiation.

[0077] Information processing: The sender first encrypts the information he wants to send. The process of encrypting information is as follows.

[0078] c=Encrypt(pk OA , pk1, pk2, … pk i ,n,m) (5)

[0079] The above formula represents selecting i members as receivers from a scene with n members, pk OA Indicates the public key of the authority, pk1, pk2, ...pk i represents the public key information of the receiver, m represents the secret information, and c represents the encrypted ciphertext.

[0080] The ciphertext after group encryption is long, and the storage capacity of the blockchain is limited, so the ciphertext can be stored in IPFS, which will generate a ciphertext hash, and the ciphertext hash will be used instead of the ciphertext for subsequent processing.

[0081] The address of Ethereum is in hexadecimal format, while the file hash of IPFS is in Base58 format, so the derived address needs to be converted to Base58 format for easy mapping. The derived addresses in Base58 format are concatenated to form a codebook.

[0082] addrbj =φ(addrhex j ) (6)

[0083] addrcode=addrb1||addrb2||…||addrb n (7)

[0084] Among them, Φ(x) represents the conversion of hexadecimal address information x into Base58 format address information, addrb j is the converted address information in Base58 format, and addrcode is the final code book constructed from the address information.

[0085] Then each character of the ciphertext hash is matched with the code book one by one to obtain the corresponding index information.

[0086] cH1||cH2||…||cH t =cHash (8)

[0087] index t =(cH t ,addrcode) (9)

[0088] Finally, concatenate all the index information to get the complete index information corresponding to the ciphertext hash.

[0089] index=index1||index2||…||index t (10)

[0090] Among them, cHash represents the ciphertext hash, cH t Represents a single character in the ciphertext hash. t Represents the mapping index between a single ciphertext hash character and the address codebook. Index is the complete index information corresponding to the ciphertext hash.

[0091] Embedding process: The sender and receiver use the pre-negotiated address as the transaction address for calling the communication smart contract. The smart contract can be an existing one in Ethereum or a user-defined smart contract. After obtaining the index of the ciphertext information, the sender calls the smart contract and uses the index information as input information, thereby embedding the index information into the input parameter inputdata of the contract call transaction, that is,

[0092] parameter = index (11)

[0093]

[0094] Among them, parameter represents the contract call parameter, index represents the index information obtained during the information processing process, callcontract represents the contract call, T represents the contract call transaction of Ethereum, and Tinputdata represents the inputdata field of the transaction.

[0095] In order to achieve better concealment, you can choose smart contracts such as registration or registration that require input information, and you can change different smart contracts for each communication. Since the index information index is a string of numbers, financial smart contracts that require a string of numbers as call parameters are more suitable for our method. By calling the contract to embed the index information, the concealment of the embedded information behavior can be achieved.

[0096] Since the ciphertext is stored in the Interstellar File System, the ciphertext hash is used instead of the ciphertext for subsequent operations. The amount of information in the ciphertext hash is small, so the amount of information in the corresponding index is also small. Since the storage capacity of the call parameters of the smart contract is large, usually initiating a contract call transaction can meet the communication needs.

[0097] Extraction and recovery process: The receiver quickly finds the smart contract call transaction based on the pre-negotiated transaction address, and extracts the contract call parameters from the smart contract call input parameters, which are the input data field of the contract call transaction. The contract call parameters are the value of the index information index. The process is as follows.

[0098]

[0099] Index = parameter (15)

[0100] The receiver first splits the index information index to obtain an index sequence, then maps each index value of the index sequence to the address code book to obtain a single character in the ciphertext hash, and finally concatenates the characters of the ciphertext hash to obtain the complete ciphertext hash, i.e. cHash. The process is as follows.

[0101] index1||index2||…||index t =index (16)

[0102] H t =(index t ,addrcode) (17)

[0103] cHash=cH1||cH2||…||cH t (18)

[0104] After the receiver obtains the ciphertext hash information cHash, cHash can then obtain the ciphertext c from IPFS, and finally decrypt it according to its own private key. Only the receiver set by the sender can correctly obtain the ciphertext.

[0105] m=Decrypt(sk i ,c) (19)

[0106] Among them, the above formula is the decryption algorithm of group encryption, sk i Represents the private key of the i-th receiver. Each receiver can independently decrypt the ciphertext according to his own private key to recover the plaintext secret information m.

[0107] The present invention conducted a simulation experiment: the simulation experiment used Ganache to simulate the blockchain network under the Windows system, used Remix as the development environment of the smart contract, used Python to implement the algorithm for deriving addresses, and simulated the entire covert communication process.

[0108] The sender and receiver first conduct pre-communication negotiation. Through the negotiated parameters, both the sender and the receiver can obtain the derived address based on the derivation relationship. The derived address in Base58 format is the codebook required for subsequent communication. The derived address is only used as a codebook and is not used as an address for encrypted transactions. The data information related to the derivation experiment is shown in Table 2.

[0109]

[0110] Table 2 Derived experimental data information.

[0111] In this experiment, the secret information that the sender wants to transmit is set to "zzu". There are 10 users in the scenario, and the sender wants to transmit to 3 of them. The sender performs group encryption on the secret information, then stores the ciphertext in IPFS and obtains the ciphertext hash. Since the ciphertext is long, it is not fully displayed. The ciphertext hash obtained is QmQJkQewbcLay579o1FB467qUYzd9TpgjbRe8X9q8iT6nE.

[0112] The address information of the experiment is shown in Table 3. The complete address code book is composed of the addresses in Table 3.

[0113] Address number value 1 2Zrc4g9kf2gzqa4UdgGSE7dFVLP 2 3TwHiRLPPmtrMLZXGmvKxVL6ipwd 3 2WNU7oBqZj8yUantJS32S16fgJzk 4 3KCwJBmpCmsfmcpvkzFMjeY2ipxc 5 2FoBtraEaV6TUeCsQMvgKjJrrvMu 6 2MALLkifcZPz537EKt7mpuy7P7Cr 7 47yy7DR8D7VCfGSzR9Tf1jqa6zAH 8 gAkysbExPkCgoNWPSgzjzH7B4Vy 9 4PYvwHEe8p5cRpxziRjbjYmXKbo 10 4F8v52shaWx77RATnLYkdZjKeNAt

[0114] Table 3 Address code book information.

[0115] After testing, generally about 10 derived addresses can completely cover 58 codes in Base58 encoding. If 10 do not completely cover it, the address derivation calculation can be continued until the address obtained covers 58 codes. After getting the ciphertext hash, i.e. cHash, map cHash with the address codebook. Since the file hash of IPFS starts with Qm, in order to improve efficiency, the mapping starts from the characters after Qm. cHash is 46 characters. After removing Qm, there are 44 characters left, corresponding to 44 index information. The obtained index information is (128,72,8,128,105,30,201,4,26,14,67,152,22,7,61,77,24,62,5,51,22,13,16,106,12,17,7,29,53,6,65,201,33,105,66,43,7,13,66,32,29,51,0,21).

[0116] The index information is then used as a calling parameter of the smart contract. The sender uses the transaction address negotiated with the receiver to initiate a contract call transaction to put the index information on the chain. The index information is a string of numbers. In order to better conceal the index information, the present invention customizes a simple lottery-based smart contract. The user enters a string of numbers and compares it with the randomly generated string of numbers. If they are completely equal, they can get a reward. Other existing or customized smart contracts that require the input of a string of digital scenes can also be used to make the contract call transaction more concealed. The smart contract can also be replaced for each communication, and the address of the contract call transaction can be renegotiated. The negotiated transaction address information and the contract call transaction ID are shown in Table 4.

[0117] Fields value Transaction ID 0x9a848a9bbf62477ae36a6284a01f55b0a32e0613ffb264a b87d0f9b71244e6ad Transaction address 0x039555ada71e96bDa3aDB90EABA62145f8AEBb4a

[0118] Table 4 Contract call transaction information.

[0119] The receiver can quickly find the contract call transaction based on the previously negotiated transaction address. The contract call parameters are stored in the input field of the call transaction. The receiver can extract the embedded index information from the end of the input field. The information in the transaction field is in hexadecimal format. After the hexadecimal and string conversion, the ciphertext index information index can be obtained. The index information index data is (128,72,8,128,105,30,201,4,26,14,67,152,22,7,61,77,24,62,5,51,22,13,16,106,12,17,7,29,53,6,65,201,33,105,66,43,7,13,66,32,29,51,0,21).

[0120] The receiver maps the derived address code addrcode obtained by the previous calculation with the index information index, and can obtain the ciphertext hash characters in sequence, namely (Q,J,k,Q,e,w,b,c,L,a,y,5,7,9,o,1,F,B,4,6,7,q,U,Y,z,d,9,T,p,g,j,b,R,e,8,X,9,q,8,I,T,6,n,E).

[0121] By concatenating the characters obtained above and adding Qm at the beginning, we can get the complete ciphertext hash. The resulting cHash is QmQJkQewbcLay579o1FB467qUYzd9TpgjbRe8X9q8iT6nE. The receiver can extract the ciphertext c from IPFS based on cHash. Finally, each receiver can use his own private key to decrypt the ciphertext and restore the plaintext secret information "zzu". Since the receivers in the experiment are user1, user2, and user3, only three users can successfully decrypt using their own private keys. At this point, the entire communication process ends.

[0122] The present invention mainly analyzes the covert communication method from three aspects: embedding strength, security and time efficiency.

[0123] 1. Embedding strength

[0124] In blockchain-based covert communication, embedding strength refers to the amount of hidden information embedded in a single blockchain transaction data. Most existing blockchain covert communication methods embed secret information into the address or amount field, but the storage capacity of the address and amount is small, which makes the amount of information embedded in each secret transaction low. Both dual steganography and the method of the present invention use IPFS and blockchain for joint storage on and off the chain, and the embedding strength is greatly improved. Usually, only one transaction needs to be initiated to meet the communication needs. Comparison of hidden information embedding rate Figure 4 shown.

[0125] The method of the present invention is to embed the index information corresponding to the ciphertext hash into the call parameters of the smart contract, disguised as a normal contract call transaction, and the contract call transaction will put the call parameters at the end of the input data field. The storage capacity of the input data field of the transaction can be very large in theory. Even if it is limited by gas fees and block capacity, the storage capacity is much higher than the transaction address and amount fields. In addition, the present invention stores the ciphertext in IPFS, and the information on the chain is a relative index to the ciphertext hash. The ciphertext hash is much smaller than the ciphertext information, which further improves the embedding strength. When transmitting secret files with a small amount of information, only one contract call, that is, initiating a contract call transaction, can meet the needs. The comparison of the embedding strength of the covert communication method is shown in Table 5.

[0126] method Embedding strength BLOCCE 1bit Space method 2bit BLOCCE+ αbit A Practical Covert Channel on Monero with Provably Secure Cryptocurrency 256bit Joint Transaction Image Statistics for High-Capacity Secret Communications KB level Double Steganography MB Method of the present invention MB

[0127] Table 5 Comparison of embedding strength of covert communication methods.

[0128] 2. Security analysis: Security analysis is conducted from three aspects: data analysis, traffic monitoring, and secure interaction between blockchain and IPFS.

[0129] 1) Data analysis

[0130] In order to improve the embedding strength, some blockchain-based covert communication methods will embed secret information into some "remarks" fields of transactions, such as the OP-RETURN field of Bitcoin. Although these remark fields have large storage capacity, they are empty by default. Embedding secret information in them will make it easy for attackers to detect secret transactions, which will create security risks.

[0131] The method of the present invention customizes a smart contract based on lottery. Normally calling the contract requires inputting multiple digital numbers, so the index information is used as a contract calling parameter to disguise it as a normal contract calling transaction, which has better concealment.

[0132] Secondly, the input data field of Ethereum transfer transactions is empty by default, while the input data field of Ethereum contract call transactions stores the contract bytecode and input parameters, so it is generally not empty. Ethereum users can customize smart contracts according to their needs. In addition, the input data field has a large storage capacity and the data is messy, so it is difficult for attackers to analyze and detect the input data in all transactions.

[0133] The anti-detection property of secret information refers to the consistency of the secret information and the carrier information in statistical characteristics, that is, the degree to which the information is not easily detected or discovered. The relative entropy D(P||Q) is an important indicator of anti-detection property. The smaller the relative entropy, the higher the consistency and the stronger the anti-detection ability. P represents the probability distribution of the carrier information after the secret information is embedded, and Q represents the probability distribution of the carrier information before the secret information is embedded. The formula of relative entropy D(P||Q) is as follows:

[0134]

[0135] If there exists an ε such that D(P||Q)≤ε, then the system is resistant to detection. The smaller the ε, the stronger the anti-detection ability.

[0136] The carrier information before and after the secret information is embedded in this experiment is used for calculation, and the frequency of each character is calculated, and then the frequency of each character is divided by the total number of characters to obtain the probability of each character. Finally, D(P||Q)=0.0379 is calculated. That is, there is a smaller number ε=0.05, which satisfies D(P||Q)≤ε. Therefore, the communication method of the present invention is anti-detection, and the attacker cannot distinguish between the secret transaction and the ordinary transaction, and the security is relatively high. The security comparison of the embedded information in the transaction field is shown in Table 6.

[0137] Transaction Type Data Fields default Security Bitcoin transfer transactions op-return Empty Lower Ethereum transfer transaction input data Empty Lower Ethereum call transaction input data Not null Higher

[0138] Table 6: Security comparison of transaction data fields.

[0139] 2) Flow monitoring

[0140] In addition to analyzing data, attackers also analyze traffic. That is, the attacker will continuously monitor the traffic fluctuations caused by nodes in the network. When the sender node is continuously monitored, the attacker analyzes the frequency of its sending transactions. Due to the low embedding strength of the BLOCCE method and the space method, multiple encrypted transactions will be initiated in a time period during communication, which can be easily detected by attackers and pose a security risk. The solution of the present invention usually initiates one transaction to meet communication needs, and can resist frequency-based traffic monitoring.

[0141] 3) Secure interaction between blockchain and IPFS

[0142] The present invention uses blockchain and IPFS for joint storage on and off the chain. IPFS stores data copies through multiple nodes, which enhances the persistence of data. The consensus mechanism of blockchain ensures that data cannot be tampered with. The combination of the two can ensure the persistent storage and secure access of data.

[0143] Both blockchain and IPFS have permanent storage characteristics, and they are permanently saved after being written. A timing mechanism can be designed to allow IPFS nodes to automatically delete specified data after a predetermined time. Although IPFS is designed for permanent storage, it can be made impossible to retrieve by actively removing data blocks or stopping providing the data.

[0144] Double steganography is to put the stego-image hash on the chain. The solution of the present invention is to put the index information of the ciphertext hash on the chain, but the ciphertext hash information is not on the chain. Even if the attacker obtains the index information, without the address code book for mapping, what is obtained is just a string of numbers without any value. The two communicating parties can regularly renegotiate the derived address parameters to update the address code book, or use different smart contracts each time, which has good security and concealment.

[0145] 3. Time efficiency

[0146] Communication requires timeliness, and time efficiency is also a factor that needs to be analyzed and considered in covert communication. The BLOCCE method can only initiate one secret transaction to transmit 1 bit of information in each block. The time for Bitcoin to generate a block is about 10 minutes. The time required to transmit 1 Byte of information using the BLOCCE method is more than 1 hour. The embedding strength of each transaction of the space method is low, and multiple transactions need to be initiated. The time required to transmit 1 Byte of information is about 10 minutes. The embedding strength of the double steganography method and the solution of the present invention is high, and usually initiating a transaction can meet the communication needs. The time overhead of double steganography is mainly in image generation and steganography, and the time required to transmit 1 Byte of information is about 5 minutes. The time overhead of the present invention is mainly in group encryption and corresponding decryption, and the time required to transmit 1 Byte of information is about 3 minutes. In order to facilitate the comparison of the time efficiency of related blockchain covert communication methods, the time for transmitting 1 Byte of secret information is uniformly recorded for experiments, and the hidden information transmission time is compared. Figure 5 As shown, the time efficiency comparison of covert communication methods is shown in Table 7.

[0147] method Time / KB BLOCCE Hourly Space method Hourly Double Steganography Minute level Method of the present invention Minute level

[0148] Table 7. Time comparison of covert communication methods.

[0149] In addition to one-to-one, normal communication interaction scenarios also include one-to-many. Suppose there are n users in a scenario, each user may be the recipient of the message, and the sender wants to send secret information to t of them. The BLOCCE method and the space method assume that there is only one receiving user by default. If you want to transmit to t users, the communication process needs to be carried out t times, which will generate a large number of secret transactions, and the time and cost overhead will be very high. The above two methods are not suitable for the hypothetical multi-user interaction scenario. Since the solution of the present invention uses group encryption technology, only one contract call transaction is initiated, and t recipients can obtain secret information, while other users who are not the communication party cannot obtain the secret information.

[0150] The present invention proposes a blockchain covert communication method based on contract calls, selects appropriate smart contracts with input requirements, and disguises ciphertext as contract call parameters for transmission, which improves the hidden capacity while taking into account the concealment. The interstellar file system is combined with the blockchain for joint storage on and off the chain, which alleviates the low utilization rate of blockchain storage space. At the same time, the introduction of derived address technology can obtain the codebook by calculating the derived address, reducing the pre-negotiation overhead, and using the index information of the ciphertext hash instead of the ciphertext hash on the chain to further enhance security. In addition, the use of group encryption technology can realize the sending of messages to multiple users at the same time. After verification and comparison, this method improves the embedding strength and time efficiency, and has good concealment and security. It is suitable for covert communication under multi-user scenario interaction. The comprehensive comparison of covert communication methods is shown in Table 8.

[0151]

[0152]

[0153] Table 8 Comprehensive comparison of covert communication methods.

Claims

1. A blockchain covert communication method based on contract call concealment, characterized by: It includes four processes: communication pre-negotiation, information processing, embedding, extraction and recovery; Communication pre-negotiation process: The sender and receiver must first negotiate the pre-shared key PSK and the public key of derived address 1, and then both parties obtain the derived address through the calculation of the derivation relationship, and then use the derived address as the code book for information embedding and extraction; Information processing: The sender first encrypts the information it wants to send. The process of encrypting information is as follows: c=Encrypt(pk OA ,pk1,pk2,…pk i ,n,m) (5) The above formula represents selecting i members as receivers from a scene with n members, pk OA Indicates the public key of the authority, pk1, pk2, ...pk i represents the public key information of the receiver, m represents the secret information, and c represents the encrypted ciphertext; then each character of the ciphertext is matched one by one with the code book to obtain the corresponding index information, cH1||cH2||…||cH t =cHash (8) index t =(cH t ,addrcode) (9) Finally, concatenate all the index information to get the complete index information corresponding to the ciphertext hash. index=index1||index2||…||index t (10) Among them, cHash represents the ciphertext hash, cH t Represents a single character in the ciphertext hash, index t Represents the mapping index between a single ciphertext hash character and the address code book. Index is the complete index information corresponding to the ciphertext hash. Embedding process: The sender and receiver use the pre-negotiated address as the transaction address for calling the communication smart contract. After obtaining the index of the ciphertext information, the sender calls the smart contract and uses the index information as input information, thereby embedding the index information into the input parameter inputdata of the contract call transaction, that is, parameter = index (11) Among them, parameter represents the contract call parameter, index represents the index information obtained during the information processing process, callcontract represents the contract call, T represents the contract call transaction of Ethereum, and Tinputdata represents the inputdata field of the transaction; Extraction and recovery process: The receiver quickly finds the smart contract call transaction based on the pre-negotiated transaction address, and extracts the contract call parameters from the smart contract call input parameters, which are the input data field of the contract call transaction. The contract call parameters are the value of the index information index. The process is as follows. Index = parameter (15) The receiver first splits the index information index to obtain an index sequence, then maps each index value of the index sequence to the address code book to obtain a single character in the ciphertext hash, and finally concatenates the characters of the ciphertext hash to obtain the complete ciphertext hash, i.e. cHash. The process is as follows: index1||index2||…||index t =index (16) cH t =(index t ,addrcode) (17) cHash=cH1||cH2||…||cH t (18) After the receiver obtains the ciphertext hash information cHash, cHash can then obtain the ciphertext c from IPFS, and finally decrypt it according to its own private key. Only the receiver set by the sender can correctly obtain the ciphertext. m=Decrypt(sk i ,c) (19) Among them, the above formula is the decryption algorithm of group encryption, sk i Represents the private key of the i-th receiver. Each receiver decrypts the ciphertext independently according to its own private key to recover the plaintext secret information m.

2. According to claim 1, a blockchain covert communication method based on contract call concealment is characterized in that: During the communication pre-negotiation process, the ciphertext is stored in IPFS to generate a ciphertext hash, which is then used to replace the ciphertext for subsequent processing; Convert the derived address to Base58 format, and concatenate the derived addresses in Base58 format to form a codebook: addrb j =φ(addrhex j ) (6) addrcode=addrb1||addrb2||…||addrb n (7) Among them, Φ(x) represents the conversion of hexadecimal address information x into Base58 format address information, addrb j is the converted address information in Base58 format, and addrcode is the final code book constructed from the address information.