基于区块链技术的信息隐藏方法研究
【摘要】:信息隐藏是一门将秘密信息隐蔽地嵌入到文本、图像、视频、网页等载体中的技术。为了不引起对手的怀疑,通信双方通常使用错综复杂的社交网络发送包含秘密信息的载体。然而在现实生活中,社交网络中的含秘载体经常遭遇压缩、格式转换、调整大小等攻击。在中心化的网络结构中,含秘载体还可能遭受中心机构的恶意篡改。为了解决这些难题,本文致力于研究在去中心化的区块链中嵌入秘密信息的信息隐藏方法。区块链固有的去中心化和不可篡改性可以保证区块中的含秘载体不被任何一方恶意篡改。区块链的P2P网络可以方便地传输秘密信息,结合公有区块链的公开性,我们可以将区块链网络视为一个去中心化的、不可篡改的社交网络平台。然而,区块链中的信息大多为结构化信息,通常以交易的形式被存储。上链的信息必须符合区块链的规范要求。因此,如何设计出一种符合区块链规范要求的信息隐藏方案是研究的一个难点。另一方面,提高隐蔽性和隐藏容量仍是基于区块链的隐写术面临的两个挑战。针对上述问题,本文提出了两种基于区块链技术的信息隐藏方案:(1)基于智能合约的区块链信息隐藏方案。本方案将秘密信息嵌入到智能合约源码或字节码中。通信双方需要事先共享部署合约的交易地址。Solidity智能合约源码中的一些元素可以被重新排序或替换,而且不影响合约的部署和调用。同样,合约字节码中的一些基本块可以被重新排序。利用设计好的基于重新排序或替换的信息隐藏算法,发送方可以在原始合约中嵌入秘密信息,然后将含秘合约部署到区块链中。接收方可以根据事先约定好的交易地址从区块链中获取含秘合约,进而提取出秘密信息。(2)基于深度神经网络的区块链信息隐藏方案。为了提高基于区块链的信息隐藏方案的隐蔽性,本方案利用基于RNN(Recurrent Neural Network)的自编码器生成含秘交易,并使用CNN(Convolutional Neural Network)判别器提高含秘交易的隐蔽性。通信双方需要事先共享交易地址。以太坊交易中包含一些被改变而不影响交易正确执行的属性,因此可以利用编码器改变这些属性值来嵌入秘密信息。自编码器训练完成后,输入原始交易和秘密信息可以生成含有秘密信息的交易,并重构出秘密信息。该方案直接在以太坊交易中嵌入秘密信息,因此具备极强的鲁棒性。隐写分析实验表明该信息隐藏方案有很高的隐蔽性。