一种基于地址编码的高效区块链隐蔽通信方法技术

技术编号:39055095 阅读:11 留言:0更新日期:2023-10-12 19:48
本发明专利技术涉及隐蔽通信技术领域,具体涉及一种基于地址编码的高效区块链隐蔽通信方法,包括数据发送方和数据接收方之间共享地址编码规则和种子秘钥,发送方生成一对区块链公私钥对,并根据种子秘钥和私钥生成地址序列,将地址序列分为奇数地址序列和偶数地址序列;数据发送方从奇数地址序列中按顺序取一个作为通信交易的接收地址,并顺次选取偶数地址序列与消息按地址编码规则作用生成地址编码,将地址编码填入交易备注中;数据接收方使用种子秘钥和公钥生成地址序列,同样将地址序列分为奇数地址序列和偶数地址序列。接收方根据奇数地址识别出隐蔽通信交易,并将隐蔽通信交易按照奇数地址序列排序并保存,并根据地址编码规则通过偶数地址和交易备注解密得到发送的消息;本发明专利技术一方面提高了隐蔽通信的抗检测性,另一方面大大提高了传输效率,提高了通信的实时性。提高了通信的实时性。提高了通信的实时性。

【技术实现步骤摘要】
一种基于地址编码的高效区块链隐蔽通信方法


[0001]本专利技术涉及隐蔽通信
,具体涉及一种基于地址编码的高效区块链隐蔽通信方法。

技术介绍

[0002]随着信息技术的发展,其安全传输问题受到广泛关注。在当今的互联网环境下,几乎所有的人和企业都在利用公开信道进行通信,公开信道是及其不安全的,这带来了隐私与安全问题。在一些需要保护数据安全的场景下,虽然可以通过加密技术实现信息的保密,但由于是在公开信道下传输,一旦密文被攻击者截获,攻击者即使无法知道密文的具体内容,发送乱码的行为也会引起怀疑,给攻击者留下跟踪痕迹。因此在安全性需求较高的场景下,不仅需要保障通信内容的安全,还需要保障通信行为的隐蔽性。
[0003]传统隐蔽通信大多利用头元素或协议数据单元(protocol data unit,PDU)的空间特性嵌入秘密信息,例如通过修改字段长度、字段位置和字段值来编码秘密信息,或者通过发送数据包本身具有的时间差异来嵌入秘密信息。显而易见的,前者因为修改了字段长度或内容,会使隐蔽信道的字段与正常业务的字段产生差别,易被检测。后者在通信过程需要保证双方的网络状态同步。而网络环境本身就存在着各种噪声,影响时间间隔,同时监控者还可以发动大量请求破坏通信,可靠性较低。此外,由于传统隐蔽通信双方进行了直接通信,且PDU上记录了ip地址,代表了双方身份。若攻击者识别出特殊数据单元,也就意味着通信双方的身份被暴露,无法保证匿名性与反追踪性。
[0004]随着区块链技术的成熟,为了解决上面的问题,有学者便提出了基于区块链的隐蔽通信方案,基于区块链的隐蔽通信主要有以下优势:一、区块链的泛洪广播机制使隐蔽通信的发送方在发送特殊交易时不需要指定接收方,保障了匿名性。二、区块链的去中心化特性使网络中的数据和交易一旦经过确认,就无法再次更改,保障了可靠性。三、区块链中的匿名地址不包含任何身份信息,即使基于区块链的隐蔽通道被暴露,通信方的身份也不可追踪。
[0005]文献“J.Partala.Provably secure covert communication onblockchain.Cryptography.”是第一个可证明的区块链隐蔽通信方案,该方案利用交易地址的最低有效位携带秘密信息,每笔交易嵌入1bit秘密信息,嵌入效率较少。随着技术发展,越来越多的研究人员开始设计基于区块链的隐蔽通信方案。然而目前此技术还不够成熟,仍然存在着许多缺点,例如文献“DLchain:A Covert Channel Over Blockchain Based on Dynamic Labels”会连续发送两笔相同随机数签名的交易,容易暴露通信行为;文献“Whispers on Ethereum:Blockchain

based Covert Data Embedding Schemes”将信息嵌入至以太坊交易金额中,虽然提升了安全性,但嵌入容量依然不大,单笔交易中最多也只能嵌入20bit,且金额成本较大。
[0006]因此针对嵌入效率低、安全性不足和金额成本较高的问题,需要找一种新的隐蔽通信方法,在保证安全性和交易成本的前提下,提高嵌入效率。

技术实现思路

[0007]为了在保证安全性的情况下提高嵌入效率,本专利技术提出一种基于地址编码的高效区块链隐蔽通信方法,具体包括以下步骤:
[0008]消息发送方和消息接收方之间共享地址编码规则和种子秘钥,消息发送方随机生成一对公私密钥对,并将公钥共享给消息接收方;消息发送方将种子秘钥扩展为消息加密秘钥和地址生成秘钥;
[0009]消息发送方使用地址生成秘钥和区块链私钥生成地址序列;
[0010]消息发送方对消息进行AES加密得到消息密文ciphertext,并将密文ciphertext转为二进制流text
binary

[0011]将地址序列中处于奇数位置和偶数位置的元素提取出来,得到奇数地址序列和偶数地址序列;
[0012]偶数地址序列依次和二进制流text
binary
在编码规则下进行编码得到地址编码,并将奇数地址序列作为隐蔽通信消息的接收地址;
[0013]消息发送方加入区块链网络后,在进行交易时,从奇数地址中按顺序取一个作为通信交易的接收地址,并顺次生成地址编码,将地址编码填入交易备注中;
[0014]消息发送方按奇数地址序列的次序发送消息;
[0015]消息接收方将种子秘钥进行扩展得到地址生成秘钥,并使用消息发送方共享的公钥与地址生成秘钥生成地址序列,将地址序列中处于奇数位置和偶数位置的元素提取出来,得到奇数地址序列和偶数地址序列;
[0016]消息接收方扫描区块链中的交易,根据奇数地址识别出隐蔽通信交易,并将隐蔽通信交易按照地址序列排序并保存;
[0017]提取每笔交易的交易备注,将交易备注转换为二进制比特流,并将偶数地址也转换为二进制比特流,将两个二进制比特流按照地址编码规则还原得到密文;
[0018]将所有密文二进制流重组得到完整的消息密文二进制流,转化为字符后使用K
data
解密得到最终的明文消息。
[0019]进一步的,消息发送方使用地址生成秘钥和区块链私钥生成地址序列包括:
[0020]将地址生成密钥K
addr
扩展成哈希密钥链,哈希密钥链表示为:
[0021]K
addr

K1=H(K
addr
)

K2=H(H(K
addr
))
→…→
K
n
=H(

(K
addr
)

)
[0022]其中,K
n
表示进行n次hash运算后的结果;H(
·
)表示hash运算;
[0023]将消息发送方随机生成的私钥Sk0扩展成哈希私钥链,表示为:
[0024]Sk
i
=H(K
i
‑1)+Sk
i
‑1[0025]其中,Sk
i
表示哈希密钥链中扩展得到的第i个私钥,i∈{1,2,

,n};
[0026]根据哈希密钥链计算对应的哈希公钥链,表示为:
[0027]Pk
i
=G
×
Sk
i
[0028]其中,Pk
i
表示哈希公钥链中扩展得到的第i个公钥;G为随机生成公私密钥过程中所用椭圆曲线基点;
[0029]根据哈希公钥链计算区块链地址序列,表示为:
[0030]addr
i
=CreatAddr(Pk
i
)
[0031]其中,addr
i
表示第i个区块链地址;CreatAddr(
·
)表示由公钥生成对应的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于地址编码的高效区块链隐蔽通信方法,其特征在于,具体包括以下步骤:消息发送方和消息接收方之间共享地址编码规则和种子秘钥,消息发送方随机生成一对公私密钥对,并将公钥共享给消息接收方;消息发送方将种子秘钥扩展为消息加密秘钥和地址生成秘钥;消息发送方使用地址生成秘钥和区块链私钥生成地址序列;消息发送方对消息进行AES加密得到消息密文ciphertext,并将密文ciphertext转为二进制流text
binary
;将地址序列中处于奇数位置和偶数位置的元素提取出来,得到奇数地址序列和偶数地址序列;偶数地址序列依次和二进制流text
binary
在编码规则下进行编码得到地址编码,并将奇数地址序列作为隐蔽通信消息的接收地址;消息发送方加入区块链网络后,在进行交易时,从奇数地址中按顺序取一个作为通信交易的接收地址,并顺次生成地址编码,将地址编码填入交易备注中;消息发送方按奇数地址序列的次序发送消息;消息接收方将种子秘钥进行扩展得到地址生成秘钥,并使用消息发送方共享的公钥与地址生成秘钥生成地址序列,将地址序列中处于奇数位置和偶数位置的元素提取出来,得到奇数地址序列和偶数地址序列;消息接收方扫描区块链中的交易,根据奇数地址识别出隐蔽通信交易,并将隐蔽通信交易按照地址序列排序并保存;提取每笔交易的交易备注,将交易备注转换为二进制比特流,并将偶数地址也转换为二进制比特流,将两个二进制比特流按照地址编码规则还原得到密文;将所有密文二进制流重组得到完整的消息密文二进制流,转化为字符后使用消息加密秘钥解密得到最终的明文消息。2.根据权利要求1所述的一种基于地址编码的高效区块链隐蔽通信方法,其特征在于,消息发送方使用地址生成秘钥和区块链私钥生成地址序列包括:将地址生成密钥K
addr
扩展成哈希密钥链,哈希密钥链表示为:K
addr

K1=H(K
addr
)

K2=H(H(K
addr
))
→…→
K
n
=H(

(K
addr
)

)其中,K
n
表示进行n次hash运算后的结果;H(
·
)表示hash运算;将消息发送方随机生成的私钥Sk0扩展成哈希私钥链,表示为:Sk
i
=H(K
i
‑1)+Sk
i
‑1其中,Sk
i
表示哈希私钥链中扩展得到的第i个私钥,i∈{1,2,

,n};根据哈希密钥链计算对应的哈希公钥链,表示为:Pk
i
=G
×
Sk
i
其中,Pk
i
表示哈希公钥链中扩展得到的第i个公钥;G为随机生成公私密钥过程中所用椭圆曲线基点;根据哈希公钥钥链计算区块链地址序列,表示为:addr
i
=CreatAddr(Pk
i
)其中,addr
i
表示第i个区块链地址;CreatAddr(
·
)表示由公钥生成对应的区块链地址。3.根据权利要求1所述的一种基于地址编码的高效区块链隐蔽通信方法,其特征在于,
从一个地址序列中获取的奇数地址和偶数地址表示为:addr1[]={addr[1],addr[3],

,addr[2k+1]}addr0[]={addr[0],addr[2],

,addr[2k]}其中,addr1[]表示从一个地址序列中获取的奇数地址,addr0[]表示从一个地址序列中获取的偶数地址;addr[i]表示一个地址序列中的第i个位置的地址。4.根据权利要求1所述的一种基于地址编码的高效区块链隐蔽通信方法,其特征在于,偶数地址序列和二进制流text
binary
在编码规则下进行编码得到地址编码的过程包括:令消息密文二进制流text
binary
逐位与地址二进制流匹配,若该位消息与地址二进制流的此位一致,记为匹配成功,地址编码标记为1,若不一致,则为匹配失败,地址编码标记为0;消息密文二进制流text
binary
匹配失败的一位继续与地址二进制流的下一位匹配,若匹配成功则编码标记为1,匹配失败则继续标记为0,重复该过程直到匹配成功;若地址二进制流的所有比特被使用完,则生成一个新的地址编码addrIndex,使用下一个偶数地址继续匹配,直到消息密文二进制流text
binary
所有位完成匹配。5.根据权利要求1所述的一种基于地址编码的高效区块链隐蔽通信方法,其特征在于,利用交易备注对应的二进制比特流和偶数地址对应的二进制比特流按照地址编码规则还原得到密文的过程包括:按次序从偶数地...

【专利技术属性】
技术研发人员:肖敏关琪黄永洪
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1