(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 202011342770.6
(22)申请日 2020.11.25
(71)申请人 山东师范大学
山东师范大学
申请人 临沂大学
(72)发明人 黄善云 张问银 宋万水 夏子云
魏秀元 王九如
(74)专利代理机构 淄博市众朗知识产权代理事
务所(特殊普通合伙) 37316
代理人 吕明哲
(51)Int.Cl.
H04L 29/06(2006.01)
H04L 9/06(2006.01)
H04L 9/08(2006.01)
H04L 29/08(2006.01)
(54)发明名称
(57)摘要
本发明涉及一种基于区块链地址的隐蔽通
更改、安全性和可信度高、数据量庞大、交易双方
隐藏并实现隐蔽传输具有先天性的优势。通过改
变区块链地址的生成过程,在生成地址的公钥哈
文作为公钥哈希生成相应的特殊地址;秘密信息
发送者通过交易来向特殊地址中转入一部分金
额,通过区块链共识机制将含有特殊地址的交易
发布到区块链网络;秘密信息接收者通过事先协
商好的地址查询相关交易并获得特殊地址,进而
对特殊地址进行解码解密并提取秘密信息。此
外,本发明还引入了秘密共享算法来实现隐蔽通
信,利用shamir秘密共享算法将秘密信息分割,
分散在多个交易中,采用区块链上和链下普通网
络相结合的方式传输秘密信息,以此来提高隐蔽
性。本发明可以很好的实现通信双方在区块链网络下进行隐蔽通信,并具有较强的可用性、鲁棒
性和隐蔽性。权利要求书2页 说明书4页 附图2页CN 112532613 A 2021.03.19
C N 112532613
A
1.一种基于区块链地址的隐蔽通信方法,其特征在于存在三个阶段,一是双方进行通信前的信息交互阶段,二是秘密信息嵌入阶段,三是秘密信息提取阶段。存在两种办法,一种是生成单个特殊地址办法进行隐蔽通信,一种是采用秘密共享算法进行秘密分割的办法,并结合区块链链上网络和普通网络共同进
行隐蔽通信。确定隐蔽通信双方为S和R,S为秘密信息发送者,R为秘密信息接收者,S要发送的秘密信息用m来表示。
其方法流程如下:
一是双方进行通信前的信息交互阶段,如果采用生成单个特殊地址办法,协商相关的密码学算法以及对称密钥;如果采用秘密共享算法进行秘密分割的办法,确定好使用的秘密共享算法。两种办法都需要通信双方交换区块链地址。
二是秘密信息嵌入阶段,利用区块链地址的生成办法,来生成自定义的公钥哈希。如果采用生成单个特殊地址办法,将秘密信息加密后的密文隐藏在公钥哈希中,用来生成特殊地址,构建带有特殊地址的交易,并发布到区块链网络;如果采用秘密共享算法进行秘密分割的办法,将秘密信息进行分割,嵌入到多个公钥哈希中,生成多个特殊地址,并构建多个特殊交易,发布到区块链网络中,特别是通过区块链链上和链下普通网络结合来共同传递秘密信息。
三是秘密信息提取阶段,通过查相关交易或者特殊地址,以此提取出秘密信息。如果采用生成单个特殊地址办法,查的含有秘密信息的地址,并进行解码解密得到明文信息m;如果采用秘密共享算法进行秘密分割的办法,收集到足够的含有秘密信息的秘密片段,并通过秘密共享算法对秘密信息进行重构。
2.根据权利要求1所述的一种基于区块链地址的隐蔽通信方法,其中方法流程一中所述,其特征在于以下具体步骤:
a)采用生成单个特殊地址办法:
步骤一:双方确定好密码学算法、所使用到的对称密钥。
步骤二:发送者S和接收者R交换彼此的区块链地址。
b)采用秘密共享算法进行秘密分割的办法:
步骤一:确定好使用的秘密共享算法。
步骤二:发送者S和接收者R交换彼此的区块链地址。
3.根据权利要求1所述的一种基于区块链地址的隐蔽通信方法,其中方法流程二中所述,其特征在于以下具体步骤:
秘密信息嵌入阶段:
a)采用生成单个特殊地址办法:
步骤一:发送者S将秘密信息m用对称密码算法加密,生成密文c。
步骤二:发送者S将密文c充当区块链地址生成算法过程中的公钥哈希,生成特殊的无私钥的含有秘密信息的区块链地址。
步骤三:发送者S通过普通地址向特殊地址发起交易,构建一个输出为特殊地址的交易。
步骤四:发送者S将含有特殊地址的特殊交易发送到区块链网络。
b)采用秘密共享算法进行秘密分割的办法:
步骤一:发送者S通过秘密共享算法对秘密信息m进行分割。
步骤二:将合适数量的被分割的秘密片段转化为符合要求的格式,除去链下普通网络发送的片段,余下的每个秘密片段充当一个公钥哈希,来生成多个特殊地址。
步骤三:发送者S通过使用多个普通地址向多个特殊地址发起交易,构建多个输出为特殊地址的交易。
步骤四:发送者S将含有特殊地址的多个特殊交易发送到区块链网络。
4.根据权利要求1所述的一种基于区块链地址的隐蔽通信方法,其中方法流程三中所述,其特征在于以下
具体步骤:
秘密信息提取阶段:
a)采用生成单个特殊地址办法:
步骤一:接收者R通过查询发送者S的区块链地址信息,得到相关的交易信息,并从中提取到特殊地址。
步骤二:接收者R将特殊地址解码,然后通过协商好的密钥解码后的信息进行解密得到秘密信息m。
b)采用秘密共享算法进行秘密分割的办法:
步骤一:接收者R通过查询发送者S的区块链地址信息,得到相关的交易信息,并从中提取多个特殊地址。
步骤二:对多个特殊地址进行解码得到部分秘密片段,结合普通网络收到的秘密片段,通过秘密共享算法对片段进行重构,得到秘密信息m。
一种基于区块链地址的隐蔽通信方法
技术领域
[0001]本发明涉及区块链、密码学以及信息安全的相关技术,涉及到区块链网络进行信息隐藏秘密通信办法,以及通过秘密共享算法进行隐蔽通信方案,具体为一种基于区块链地址的隐蔽通讯方法。
背景技术
[0002]随着区块链技术的蓬勃发展,有关区块链的技术也相继进行着火热的研究,如区块链大数据分析、区块链隐私保护、区块链访问控制、区块链+物联网新模式等。本发明研究的是将区块链网络和隐蔽通信相结合,在区块链上进行信息隐藏实现隐蔽通信,旨在通过在区块链上构建隐蔽信道来隐藏信息并进行秘密信息的传输,结合传统的网络隐蔽信道技术,加以融合和改进实现区块链上隐蔽信道的构建,这是网络信息安全中一个新的挑战,具有极深远的科研意义。
[0003]近年来,信息隐藏技术作为隐秘通信和知识产权保护的重要手段,已成为信息安全领域研究和关注的热点,并得到广泛的应用。隐蔽信道应用最多的是存储型隐蔽信道和时间型隐蔽信道,存储型隐蔽信道传输隐藏信息的传输效率比较高,但隐藏性相对比较差,容易被检测出来,需要使用其他手段来提高隐蔽信道的隐藏性;而时间型隐蔽信道隐藏性比较高,不容易被检测出来,但传输隐藏信息的效率比较低,信道容量相对较小,需要想办法提高其传输容量和效率,并且要求接受和发送的双方同步进行,对网络的要求不较高,受网络条件的限制比较大,所以将目光转向了区块链网络。
[0004]传统的区块链隐蔽通信的方法,比较新颖的方法是在签名中隐藏信息,但其信道容量相对较小,
计算相对复杂;针对区块链地址的LSB方案也存在信道容量较小的问题;其他的诸如在金额字段,OP_RETURN字段中进行隐蔽通信的办法,其安全性和隐蔽性相对较低。事实上,利用区块链地址在公钥哈希中进行信息存储已经持续了很长一段时间,如在2013年,就有人利用地址在比特币网络上嵌入了信息,信息内容为曼德拉的图片和生平简介,交易哈希为8881a937a437ff6ce83be3a89d77ea88ee12315f37f7ef0dd3742c30eef92d ba。虽然将信息嵌入了区块链,但缺乏信息隐藏和隐蔽通信的理念以及相关技术的支撑,无法达到信息隐藏并实现秘密信息隐蔽传输的目的。基于以上背景,本发明选择了以区块链网络来代替传统网络来,通过区块链地址来实现隐蔽通信,通过加密技术将秘密信息加密成十六进制字符作为假的公钥哈希,其与真正的公钥哈希在形式和内容上是不可区分的,实验证明本方法在实际操作中信道容量,隐蔽性,安全性和传输效率都比较高。
发明内容
[0005]本发明目的在于提供一种基于区块链地址的隐蔽通信方法,来解决传统网络进行隐蔽通信效率低、安全性差、隐蔽性不足的弊端。存在两种办法,一种是生成单个特殊地址办法进行隐蔽通信,一种是采用秘密共享算法进行秘密分割的办法,并结合区块链链上网络和普通网络共同进行隐蔽通信。确定隐蔽通信双方为S和R,S为秘密信息发送者,R为秘密
信息接收者,S要发送的秘密信息用m来表示。
[0006]具体分为分为三个阶段:
[0007]一是双方进行通信前的信息交互阶段,如果采用生成单个特殊地址办法,协商相关的密码学算法以及对称密钥;如果采用秘密共享算法进行秘密分割的办法,确定好使用的秘密共享算法。两种办法都需要通信双方交换区块链地址。
[0008]二是秘密信息嵌入阶段,利用区块链地址的生成办法,来生成自定义的公钥哈希。如果采用生成单个特殊地址办法,将秘密信息加密后的密文隐藏在公钥哈希中,用来生成特殊地址,构建带有特殊地址的交易,并发布到区块链网络;如果采用秘密共享算法进行秘密分割的办法,将秘密信息进行分割,嵌入到多个公钥哈希中,生成多个特殊地址,并构建多个特殊交易,发布到区块链网络中,特别是通过区块链链上和链下普通网络结合来共同传递秘密信息。
[0009]三是秘密信息提取阶段,通过查相关交易或者特殊地址,以此提取出秘密信息。如果采用生成单个特殊地址办法,查含有秘密信息的地址,并进行解码解密得到明文信息m;如果采用秘密共享算法进行秘密分割的办法,收集到足够的含有秘密信息的秘密片段,并通过秘密共享算法对秘密信息进行重构。
[0010]所述流程步骤如下:
[0011] 1.通信前信息交互阶段:
[0012]采用生成单个特殊地址办法:
[0013]步骤一:双方确定好密码学算法、所使用到的对称密钥。
[0014]步骤二:发送者S和接收者R交换彼此的区块链地址。
[0015]采用秘密共享算法进行秘密分割的办法:
[0016]步骤一:确定好使用的秘密共享算法。
[0017]步骤二:发送者S和接收者R交换彼此的区块链地址。
[0018] 2.秘密信息嵌入阶段:
[0019]采用生成单个特殊地址办法:
[0020]步骤一:发送者S将秘密信息m用对称密码算法加密,生成密文c。
[0021]步骤二:发送者S将密文c充当区块链地址生成算法过程中的公钥哈希,生成特殊的无私钥的含有秘密信息的区块链地址。
[0022]步骤三:发送者S通过普通地址向特殊地址发起交易,构建一个输出为特殊地址的交易。
[0023]步骤四:发送者S将含有特殊地址的特殊交易发送到区块链网络。
[0024]采用秘密共享算法进行秘密分割的办法:
[0025]步骤一:发送者S通过秘密共享算法对秘密信息m进行分割。
[0026]步骤二:将合适数量的被分割的秘密片段转化为符合要求的格式,除去链下普通网络发送的片段,余下的每个秘密片段充当一个公钥哈希,来生成多个特殊地址。[0027]步骤三:发送者S通过使用多个普通地址向多个特殊地址发起交易,构建多个输出为特殊地址的交易。
[0028]步骤四:发送者S将含有特殊地址的多个特殊交易发送到区块链网络。
[0029] 3.秘密信息提取阶段: