掌桥专利:专业的专利平台
掌桥专利
首页

一种避免复用地址和提前协商私钥的区块链隐蔽通信方法

文献发布时间:2024-04-18 19:58:30


一种避免复用地址和提前协商私钥的区块链隐蔽通信方法

技术领域

本发明涉及一种区块链数据隐蔽传输方法,具体涉及一种避免复用地址和提前协商私钥的区块链隐蔽通信方法,属于区块链通信技术领域。

背景技术

计算机网络的快速发展和应用为数据传输带来了便利与快捷,但也出现了越来越多以窃取数据、阻碍通信为目的的攻击。目前,主流的防护对抗技术,是通过密码学手段来保护数据的保密性和完整性。现有研究表明,仅仅通过密码学技术保证数据的保密性和完整性是不够的,通信行为和通信方身份仍有可能被暴露和追踪,进而导致通信方隐私信息被进一步挖掘。因此,如何隐藏通信行为本身,成为了一个需要解决的重要问题。

隐蔽通信掩盖了通信的存在和传播行为,它为敏感信息传输和物联网(IoT)设备通信等提供服务。隐蔽信道是实现秘密通信的媒介。典型的隐蔽信道主要是通过互联网通信协议构建,它们将信息隐藏在看似正常的互联网协议包中,这些携带信息的协议包与正常的协议包难以区分。在第三方看来,这些隐蔽信道与正常的网络通信信道无异。随着计算机网络的发展,IPv6、流媒体和区块链等新技术应运而生,为构建隐蔽信道提供了天然的优势。

区块链是一种去中心化的网络,是一种具有不可篡改特性的分布式账本技术,它的不可篡改性、分布式和匿名性等属性极大地促进了最先进的隐蔽通道的构建。在区块链网络中构建的通道被称为基于区块链的隐蔽通道。区块链隐蔽信道通常使用交易字段作为传输消息的载体和接收方筛选交易的标志。这些交易字段是不可篡改的,因此区块链隐蔽信道具有很强的可靠性。此外,由于区块链地址的匿名性,区块链隐蔽信道具备一定的反溯源能力。同时,由于区块链账本公开透明,通信方不需要实时传输数据。鉴于上述优势,研究人员将重点放在区块链隐蔽信道构建上,并提出了一些方案。

目前,现有技术主要面临两个问题:

1.发送方通常需要通过采取重复使用某一区块链地址来创建交易的方式来传输一段完整的数据,这会降低信道的隐蔽性和削弱信道的反溯源能力。

一方面,大多数区块链(尤其是基于UTXO模型的区块链)通常不会重复使用某一地址,因为某一地址被使用多次是一个显著的特征,会导致信道易被检测。另一方面,复用某一地址会使攻击者能够通过地址溯源等技术,挖掘出该地址所属的IP地址,溯源交易发出者的身份,从而削弱信道的反溯源能力。

2.通信方需要提前共享用来创建携带信息的交易的输入私钥。共享私钥通常是为方便接收方筛选出携带信息的交易,或者使得接收方能够正确恢复出交易携带的数据。然而,在通信发生前事先共享私钥会导致一些安全风险。例如,由于接收方事先知晓发送方的某一私钥,接收方可以根据事先协商的隐蔽通信算法,伪造发送方发送携带任意信息的交易等。

在区块链中实现隐蔽信道,除了要考虑如何嵌入数据外,还需要考虑接收方如何筛选出携带数据的交易。这是因为在区块链中,发送方通常只将交易广播至区块链网络,与接收方之间没有直接的网络连接和网络通信。因此,接收方首先需要筛选出携带信息的交易。一种直观的方法是接收方对每条交易都执行数据恢复算法。但是,由于在大多数情况下,一条交易往往只携带密文片段,接收方实际上无法判断该片段到底是有意义的密文片段还是恢复出来的无关字符。此外,这种方式效率也较低。所以,区块链隐蔽通信方案实际上还需要交易筛选模块来帮助接收方筛选携带信息的交易。

发明内容

本发明的目的是针对现有技术存在的缺陷,为了避免区块链隐蔽通信中出现发送方复用地址和通信方提前共享区块链私钥等问题,提高区块链隐蔽传输系统的安全性和实用性,创造性地提出一种避免复用地址和提前协商私钥的区块链隐蔽通信方法。

本发明的创新点包括:本发明从携带秘密信息的交易明确划分出两类重要字段,分别用于嵌入信息以及存放标签,存放标签的字段可以包括但不限于地址,每条交易的标签都可以是动态变化互不相同的,为避免地址复用以及通信双方共享区块链私钥提供了基础。此外,用于嵌入信息的字段和用于存放标签的字段属于不同的交易字段,二者互不影响,避免了通信效率和筛选速度之间的冲突,为实现隐蔽且高效的区块链隐蔽通信带来了可能。

为实现上述目的,本方法包括信息嵌入、标签生成、交易广播、交易筛选和信息提取。其中,由发送方执行信息嵌入、标签生成和交易广播,由接收方执行交易筛选和信息提取。

具体地,发送方首先通过事先协商的密钥,对待传输的信息进行加密,并根据每个交易字段能够嵌入的信息量对加密后信息进行分段。必要时还需要设置标志位来表示该密文片段排序信息。然后,发送方将这些密文片段嵌入到区块链交易字段中,完成信息嵌入。

之后,发送方根据事先协商的密钥,为每一条携带秘密信息的交易生成特殊的标签数据,该标签数据本质上也是交易的某个或某几个字段的值,将这些标签值设置为交易字段值,完成标签生成。

最后,发送方将生成的携带秘密信息的交易广播至区块链网络中,完成交易广播。

对于接收方,其根据事先协商好的标签生成规则,判断该交易的某些字段是否满足上述标签规则,从而判断该交易是否携带秘密信息。对于所筛选到携带秘密信息的交易,接收方提取出多条秘密信息片段,并将它们组合得到原始密文,最终解密得到原始明文。

有益效果

本发明,对比现有技术,具有以下优点:

1.避免了复用地址。本发明方法能够为每一条携带信息的交易创建独立且互不相同的标签字段,接收方可以通过该字段识别出携带信息的特殊交易;与其他需要通过固定的交易地址来筛选特殊交易的方法相比,本发明能够避免复用区块链地址,从而显著增强区块链隐蔽信道的反溯源能力。

2.避免了提前共享区块链私钥。本发明方法能够避免发送方和接收方提前共享区块链私钥,该私钥的所属权代表对应地址中资产的使用权。如果接收方知晓发送方的私钥,那么他就能够随意使用其资产。更严重的是,由于接收方知晓所有通信相关的密钥,接收方还有可能伪造发送方发送虚假的秘密信息。

3.高效性。本发明明确划分并定义了多个交易字段,分别用于嵌入信息和存放标签,使得方案不会面临通信效率和筛选速度之间的冲突,具备高效性。而其他通过同一字段同时进行嵌入信息和存放标签的方案,因受到该字段容量的限制,无法在嵌入大量数据的同时减小误筛交易的可能,导致效率较低。

附图说明

图1为本发明的流程示意图。

具体实施方式

下面结合附图和实施例对本发明做进一步详细说明。

如图1所示,一种避免复用地址和提前协商私钥的区块链隐蔽通信方法,包括以下步骤:

步骤1:在通信开始之前,发送方与接收方利用带外信道协商必要参数。

在实施数据隐蔽传输前,发送方和接收方协商用于通信(包括加解密秘密信息、信息嵌入、生成标签、筛选交易、提取信息)的密钥。

密钥协商只在首次通信开始前执行一次。

具体地,包括以下步骤:

步骤1.1:发送方和接收方协商好加密算法,并在本地随机生成加解密密钥/公私钥对,将其分享给接收方。

步骤1.2:发送方和接收方协商用于嵌入信息的交易字段,并共享将密文片段转换成嵌入字段的规则,同时共享嵌入过程中必要的秘密参数。

需要注意的是,该步骤中,协商的秘密参数同样能够帮助接收方完成信息提取过程,并且协商的参数不包括任意区块链地址对应的私钥。

步骤1.3:发送方和接收方协商用于存储标签的交易字段,并共享生成标签字段的规则,同时共享生成过程中必要的秘密参数。

需要注意的是,该步骤中协商的秘密参数同样能够帮助接收方完成交易识别过程,并且协商的参数不包括任意区块链地址对应的私钥。

步骤2:发送方将秘密信息编码成交易字段,这些字段被称为嵌入字段。

具体地,包括以下步骤:

步骤2.1:发送方按照步骤1.1中协商的加密密钥,对秘密信息进行加密。

步骤2.2:发送方按照步骤1.2中共享的分段规则,对步骤2.1中得到的密文进行分段处理。

步骤2.3:发送方按照步骤1.2中共享的秘密参数,对步骤2.2中得到的密文片段进行处理,得到嵌入字段。

步骤2.4:发送方将多条交易的对应交易字段分别设置为步骤3.2得到的嵌入字段值。

步骤3:发送方生成多个标签作为后续生成的特殊交易的特定交易字段,这些字段被称为标签字段。

具体地,包括以下步骤:

步骤3.1:发送方按照步骤1.3中共享的标签生成规则以及必要的秘密参数,生成标签字段。

步骤3.2:发送方将交易的对应交易字段分别设置为步骤3.1得到的标签字段值。

步骤4:发送方对步骤3和步骤4中得到的含有嵌入字段和标签字段的交易进行签名,并将其广播至区块链网络中。

具体地,包括以下步骤:

步骤4.1:发送方将步骤3得到的携带信息和标签的交易补充完整,直至无缺失的交易字段(如果存在缺失字段)。

步骤4.2:发送方对步骤4.1得到的交易进行签名。

步骤4.3:发送方对步骤4.2得到的已签名交易进行广播,最终交易将被记录到链上。

步骤5:接收方获取新产生的交易数据,并筛选出携带信息的特殊交易。

具体地,包括以下步骤:

步骤5.1:接收方获取区块链交易数据。

可以通过第三方API获取,也可以通过接收方自己维护的全节点获取。

步骤5.2:接收方对步骤5.1得到的交易数据进行筛选,并根据步骤1.3中协商的秘密参数,筛选出所有携带信息的特殊交易。

步骤6:接收方根据步骤5中得到的特殊交易,还原得到秘密信息。

具体地,包括以下步骤:

步骤6.1:接收方根据步骤5.2得到的特殊交易,以及步骤1.2中协商的秘密参数,还原得到所有的秘密信息密文片段。

步骤6.2:接收方根据步骤6.1中得到的密文片段,以及步骤1.2中协商的分段规则,还原得到完整的密文。

步骤6.3:接收方根据步骤1.1中协商的加解密密钥/公私钥对,对步骤6.2中得到的密文进行解密,最终提取出原始的明文秘密信息。

实施例

如图1所示,本方法基于密码学原语生成伪随机数进行嵌入和筛选。本发明以使用ECDSA算法实现交易签名的UTXO模型公有链为例叙述实施例,但是,发明能够应用于所有在签名交易时引入了随机因子作为签名参数的区块链平台。此外,假设所有的交易都具有1个输入和2个输出,因为此类交易最为常见,其他类型的交易也能够应用于本发明。

本实施例包含以下步骤。

步骤1:在通信开始之前,发送方与接收方利用带外信道协商必要的参数。

在实施数据隐蔽传输前,发送方和接收方需要协商用于通信(包括加解密秘密信息、信息嵌入、生成标签、筛选交易、提取信息)的密钥。需要注意的是,该密钥协商步骤只会在首次通信开始前执行一次。

首先,本实施例给出区块链交易签名的概念和方法:区块链交易签名通常通过数字签名算法实现,其目的是为了保证只有区块链私钥持有者能够自由控制其资产。基于ECDSA的交易签名通常包括以下步骤。

设在运算在整数域

1.在

2.计算(r,y)=k·G,其中G是椭圆曲线的生成元;

3.计算s=k

4.得到签名(r,s);

本实施例将签名算法中的d作为嵌入字段,k作为标签字段。

步骤1.1:发送方和接收方协商对称加密算法Π,并在本地随机生成一个256bit的加解密密钥k

步骤1.2:发送方和接收方协商伪随机置换算法P,并在本地随机生成一个256bit的伪随机函数密钥k

步骤1.3:发送方和接收方协商伪随机函数算法F,并在本地随机生成一个256bit的伪随机函数密钥k

步骤2:发送方将秘密信息编码成若干交易字段(这些字段被称为嵌入字段)。

具体地,包括以下步骤:

步骤2.1:通信用户根据要传输的消息m进行和对称加密算法Π进行加密。用户先将明文消息m填充至256比特的整数倍得到m′,再对m′得到密文c=Enc(k

步骤2.2:发送方按照步骤1.2中共享的分段规则,对步骤2.1中得到的密文c进行分段处理。

具体地,先将按照240bit对c进行分组,得到一系列{b

步骤2.3:发送方按照步骤1.2中共享的秘密参数,对步骤2.2中得到的密文片段进行处理。对于任意的i∈[1,n],计算

步骤2.4:发送方将{d

步骤3:发送方生成多个标签作为后续生成的特殊交易的特定交易字段(这些字段被称为标签字段)。

具体地,包括以下步骤:

步骤3.1:在对步骤2.4中创建的新交易进行签名时,发送方不是像ECDSA算法中那样随机生成随机数k,而是利用伪随机函数F生成一个伪随机数。

具体地,设私钥{d

步骤3.2:发送方保存上述随机因子,用这些伪随机的值为交易进行签名。

步骤4:发送方对步骤3和步骤4中得到的含有嵌入字段和标签字段的交易进行签名,并将其广播至区块链网络中。

具体地,包括以下步骤:

步骤4.1:对于任意的i∈[1,n],发送方计算(r

步骤4.2:发送方通过第三方API或者自己维护的全节点,将上述签名后的交易广播至整个区块链网络。

步骤5:接收方获取一段时间内新产生的交易数据,并筛选出携带信息的特殊交易。

具体地,包括以下步骤:

步骤5.1:接收方通过第三方API或者自己维护的全节点获取区块链交易数据。接收方无需仅获取链上交易数据,而是获取交易池中的交易数据,这使得接收方能够在短时间内(交易被广播至整个区块链网络,大约2-3秒内)获取特殊交易。

步骤5.2:接收方对步骤5.1得到的交易数据进行筛选。设接收方获取了N条正常交易{tx

步骤6:接收方根据步骤5中得到的特殊交易,还原得到秘密信息。

具体地,包括以下步骤:

步骤6.1:接收方根据步骤5.2得到的特殊交易,以及步骤1.2中协商的秘密参数,还原得到所有的秘密信息密文片段。假设步骤5.2中筛选出来n条携秘密信息的特殊交易{tx

步骤6.2:接收方根据步骤6.1中得到的所有密文片段,以及步骤1.2中协商的分段规则,还原得到一段完整的密文。

设接收方得到了n条片段{b′

步骤6.3:接收方根据步骤1.1中协商的加解密密钥/公私钥对,对步骤6.2中得到的密文进行解密,最终提取出原始的明文秘密信息,即计算m=Dec(k

为了说明本发明的内容及实施方法,本说明书给出了上述具体实施例。但是,本领域技术人员应理解,本发明不局限于上述实施方式,任何人在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本申请相同或相近似的技术方案,均落在本发明的保护范围之内。

相关技术
  • 一种大师钱包区块链私钥存储与加密方法
  • 一种区块链私钥的存储方法、装置及电子设备
  • 一种多地址的时间型区块链隐蔽通信方法
  • 一种基于区块链地址的隐蔽通信方法
技术分类

06120116497933