一种基于多节点时间戳共谋的区块链网络隐蔽通信方法与流程

专利2022-06-30  75


本发明属于网络安全技术领域,涉及一种基于多节点时间戳共谋的区块链网络隐蔽通信方法,实现了机密信息的隐蔽传输。



背景技术:

随着网络技术的发展,网络信息通信的安全性越来越受到重视。一方面,恶意信息(例如:木马程序,病毒,网络攻击等)需要被阻断和检测;另一方面,正常通信信息(例如:商业信息,个人隐私信息等)的安全性和隐私性需要被保护。网络隐蔽信道可以应用在网络信息通信安全的两个方面,因此也越来越受到重视。

网络隐蔽信道定义为将网络隐蔽信道定义为在网络环境下违反通信限制规则进行隐蔽信息传输的通信信道,研究目标是提供不能被监测到的隐蔽通信通道进行信息传输,寻找可以网络信息载体(例如:网络协议、网络数据包等)、载体特征(例如:协议字段,时间特征等)及特征模式(例如值调制模式、时间间隔模式等)作为码元进行编码、优化进行隐蔽信息传输。网络隐蔽信道分为存储型网络隐蔽信道和时间型网络隐蔽信道两大类,存储型网络隐蔽信道通过协议数据单元(pdu,protocoldataunits)传递隐藏信息,例如:数据包、数据帧、数据段的未使用或保留的协议头元素(例如:协议头字段);时间型网络隐蔽信道通过协议数据单元或协议指令的间隔时间或包的顺序编码传递隐藏信息。

然而现有的时间型网络隐蔽信道存在一些弊端:

(1)时间特性易受网络条件变化影响,由于大部分时间型网络隐蔽信道都是基于网络数据包间隔(inter-packet-delay,简称ipd)进行隐蔽信息传输的,因此一旦网络条件发生变化(例如:网络延迟、噪音等)会导致网络数据包时间间隔发生变化,从而影响时间型网络隐蔽信道通信[4]

(2)单一线路通信方式,大多数时间型网络隐蔽信道都只有唯一的发送方和唯一的接收方,并采用信息发送方和接收方直接通信的方式,通信线路静态单一,一旦检测方对通信节点和线路进行跟踪,很容易被针对性地检测、干扰和阻断。

(3)隐蔽信息载体连续,时间型网络隐蔽信道需要在一段时间内采用连续的隐蔽信息载体(例如:数据包)进行通信,中间不能插入其它通信内容,否则会破坏时间型隐蔽信道原有的时间特性,因此常规的检测方法只要针对一段时间内某两个节点之间通信的所有网络数据包间隔时间进行分析即可,容易被集中采样和检测。

综上所述,由于时间型网络隐蔽信道存在时间特性易受网络条件变化影响、单一线路通信方式、隐蔽信息载体连续的弊端,制约了它的发展和实际应用,需要寻找可以弥补这些弊端的方法。



技术实现要素:

本发明的技术解决问题:针对时间型网络隐蔽信道现有弊端,本发明提供一种基于多节点时间戳共谋的区块链网络隐蔽通信方法,克服现有时间型网络隐蔽信道存在的缺陷,利用数据全局可见的特性实现多个区块链节点在共同的数据域(即:区块链)对数据进行操作从而进行共谋;利用具有唯一性标识的特性使单一用户可以使参与隐蔽信息传输的共谋节点与普通信息传输的区块链节点加以区分,从而使隐蔽信息接收方对隐蔽信息和正常信息进行识别;利用包含时间戳的特性实现共谋节点对时间戳的控制从而可以利用时间戳时间间隔共谋生成隐蔽信息。从而实现多节点对多节点的隐蔽通信。

为实现上述目的,本发明提出一种基于多节点时间戳共谋的区块链网络隐蔽通信方法,其特征在于,包括以下步骤:

步骤1:信息编码,利用事先约定的信源编码或信道编码机制,对原始隐蔽信息进行编码,生成编码序列;

步骤2:信息调制,将编码信息调制为以前后两个区块链应用业务操作中时间戳时间的差值,即时间戳时间间隔作为调制符号转化为隐蔽信息,生成时间间隔序列,并根据发送信息的起始时间生成时间戳序列;

步骤3:信息分配,依据区块链应用的不同,预先生成若干隐蔽信息区块链节点唯一性标识,将时间戳序列分配给这些用于隐蔽信息传输的、包含区块链节点唯一性标识的区块链节点,生成由区块链节点唯一性标识、时间戳以及业务数据组成的携带隐蔽信息的业务操作数据序列;

步骤4:信息发送,依据分配的时间戳信息,各个隐蔽通信节点依次发送携带隐蔽信息的业务操作数据序列,隐蔽信息通过区块链网络发送并存储至区块链的所有节点;

步骤5:信息接收,信息接收方依据事先约定的隐蔽信息节点的唯一性标识,对所有区块链中存储的业务操作数据进行信息识别获得隐蔽信息业务操作数据序列,将具有用于隐蔽信息传输的区块链节点唯一性标识的业务操作数据中的时间戳信息提取出来还原为时间戳序列,并生成相应的时间间隔序列;

步骤6:信息解调,对时间间隔序列进行解调,生成编码序列;

步骤7:信息解码,对编码序列进行解码,生成原始信息。

进一步的,所述步骤2的具体包括:

将编码信息调制为以前后两个业务操作中时间戳时间间隔{△t1,△t2,△t3,...,△ti,...},i为整数,△ti为第i个时间间隔,并根据隐蔽信息通信发送信息的起始时间t0生成隐蔽信息的时间戳序列{t1,t2,t3...,ti,...},{t1,t2,t3...,ti,...}={t0 △t1,t0 △t2,t0 △t3,...,t0 △ti,...},其中ti是第i个时间戳的时间。

进一步的,所述步骤3的具体步骤包括:

(3.1)依据具体的区块链应用,预先生成若干隐蔽信息区块链节点唯一性标识,所述标识集合为{id1,id2,id3...,idx,...},x为隐蔽信息区块链节点的序号,节点数量为x个;

(3.2)将时间戳序列分配给这些用于隐蔽信息传输的区块链节点唯一性标识,生成由用于隐蔽信息传输的区块链节点唯一性标识、用于调制隐蔽信息的时间戳以及其它业务数据组成的隐蔽信息业务操作数据序列{{id1,t1},{id2,t2},{id3,t3}...,{idi,ti},...};所述的idi是从前述标识集合中抽取的,idi为标识集合中某一idx所对应的标识的数值,所述抽取包括重复抽取到idx的情况。

所述步骤4具体包括:

(4.1)信息传输以sstart开始;

(4.2)多个区块链隐蔽信息发送节点依据分配给各自节点唯一性标识获取本节点的业务数据序列;各个节点按照业务数据序列中的时间戳信息的时间,依次将隐蔽信息通过区块链网络发送;

(4.3)信息传输以send结束。

所述步骤5具体包括:

(5.1)隐蔽信息接收方持续记录和分析区块链网络中隐蔽信息发送方区块链地址发送的信息,当发现带有预先预定的隐蔽信息区块链节点唯一性标识{id1,id2,id3...,idx,...}时,记录业务操作数据的时间戳并进行解调和解码;

(5.2)如果发现包含信息传输开始标志sstart,则开始信息接收,记录所有携带隐蔽信息标识的区块链业务操作数据{{id1,t1},{id2,t2},{id3,t3}...,{idi,ti},...}中的时间戳{t1,t2,t3...,ti,...},并将时间戳序列转换为时间间隔序列{△t1,△t2,△t3,...,△ti,...},并进行解调和解码,直至接收到信息传输结束标志send结束通信。

本发明设计并实现了一种基于多节点时间戳共谋的区块链网络隐蔽通信方法。首先进行信息编码,利用事先约定的信源编码或信道编码机制,对原始隐蔽信息进行编码,生成编码序列;之后进行信息调制,将编码信息调制为以前后两个业务操作中时间戳时间的差值,即时间戳时间间隔作为调制符号转化为隐蔽信息,生成时间间隔序列,并根据发送时间生成时间戳序列;然后进行信息分配,依据区块链应用的不同,预先生成若干隐蔽信息区块链节点唯一性标识,将时间戳序列分配给这些用于隐蔽信息传输的、包含区块链节点唯一性标识的区块链节点,生成由区块链节点唯一性标识、时间戳以及其它业务数据组成的隐蔽信息业务操作数据序列;之后进行信息发送,利用基于不同区块链节点唯一性标识的多个区块链节点发送隐蔽信息,将隐蔽信息通过区块链网络发送并存储至区块链的所有节点;之后进行信息接收,信息接收方对所有区块链业务操作数据进行信息识别获得隐蔽信息业务操作数据序列,将具有用于隐蔽信息传输的区块链节点唯一性标识的业务操作数据中的时间戳信息提取出来,获得时间戳序列,并生成相应的时间间隔序列;之后进行信息解调,对时间间隔序列进行解调,生成编码序列;之后进行信息解码,对编码序列进行解码,生成原始信息。

本发明针对时间型网络隐蔽信道现有弊端,提供一种基于多节点时间戳共谋的区块链网络隐蔽通信方法,利用区块链环境下数据全局可见、具有唯一性标识、包含时间戳的特性,实现抗干扰、抗检测的隐蔽通信。

附图说明

图1是本发明的区块链网络下的隐蔽通信结构图;

图2是本发明的一种基于多节点时间戳共谋的区块链网络隐蔽通信方法流程图;

图3是本发明的区块链网络下的隐蔽通信接收流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅为本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域的普通技术人员在不付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。

如图1所示,本发明的区块链网络下的隐蔽通信方法,如图1,其中tnormal指正常通信数据包的时间属性,tcovert-i指第i个隐蔽通信载体数据包的时间属性。发送方由x个隐蔽信息节点组成,隐蔽信息发送方按照一定时间特性将隐蔽信息嵌入到时间戳中,隐藏信息发送方发送的信息和其它正常信息发送方(y个,y远大于z)发送的信息混合在一起被封装到区块链中并被发送到区块链所有节点中;由于区块链中数据是全局可见的,信息接收方由包含隐蔽信息接收方在内的区块链中的所有z个节点组成。因此,即使检测方对隐蔽信息传输过程进行取样,某一个隐蔽信息发送方节点发送的隐蔽信息片段,无法得到完整的隐蔽信息,也无法确认确切的发送方、接收方以及通信数据。主要包括如下步骤:

(1)信息编码。利用事先约定的信源编码或信道编码机制,对原始隐蔽信息进行编码,生成编码序列。

具体地,一种基于多节点时间戳共谋的区块链网络环境下的隐蔽通信流程图如图2所示,区块链网络下的隐蔽通信信息编码详细说明如下:

(1a)利用事先约定的信源编码或信道编码机制,可以包括源编码或信道编码(例如:二进制编码、霍夫曼编码、扩频码等),对原始隐蔽信息序列{m1,m2,m3...,mi,...}进行编码,生成编码信息序列{c1,c2,c3...,ci,...}。其中{m1,m2,m3...,mi,...}中的m1,m2,m3…mi指原始隐藏信息序列的每一个信息,i为信息序号,{c1,c2,c3...,ci,...}中的c1,c2,c3...,ci,...指编码信息序列的每一个信息。转到(1b);

(1b)结束。

(2)信息调制。将编码信息调制为以前后两个业务操作中时间戳时间的差值,即时间戳时间间隔作为调制符号转化为隐蔽信息,例如,字符’a’调制为间隔1秒,字符’b’调制为间隔2秒,字符’c’调制为间隔3秒,以此类推,每个ci对应1个或多个△ti,生成时间间隔序列{△t1,△t2,△t3,...,△ti,...},并根据发送时间t0生成时间戳序列{t1,t2,t3...,ti,...}={t0 △t1,t0 △t2,t0 △t3,...,t0 △ti,...}。

具体地,基于多节点时间戳共谋的区块链网络环境下的隐蔽通信信息调制详细说明如下:

(2a)将编码信息调制为以前后两个业务操作中时间戳时间间隔{△t1,△t2,△t3,...,△ti,...},并根据隐蔽信息通信开始时间t0生成隐蔽信息的时间戳序列{t1,t2,t3...,ti,...}={t0 △t1,t0 △t2,t0 △t3,...,t0 △ti,...},其中ti是第i个时间戳的时间。转到(2b);

(2b)结束。

(3)信息分配。将隐蔽信息分散到不同的区块链节点进行发送以提高信息的隐蔽性,依据区块链应用的不同,预先生成若干用于发送隐蔽信息的隐蔽信息区块链节点唯一性标识;将时间戳序列分配给这些用于隐蔽信息传输的、包含区块链节点唯一性标识的区块链节点,生成由区块链节点唯一性标识、时间戳以及业务数据(例如:食品溯源应用中的食品信息)组成的隐蔽信息业务操作数据序列。

(3a)依据具体的区块链应用,预先生成若干隐蔽信息区块链节点唯一性标识,标识的集合为{id1,id2,id3...,idx,...},x为节点唯一性标识的序号,节点总数为x。转到(3b);

(3b)将时间戳序列分配给这些用于隐蔽信息传输的区块链节点唯一性标识,生成由用于隐蔽信息传输的区块链节点唯一性标识、用于调制隐蔽信息的时间戳以及其它业务数据组成的隐蔽信息业务操作数据序列{{id1,t1},{id2,t2},{id3,t3}...,{idi,ti},...}。所述的每个idi抽取自标识的集合{id1,id2,id3...,idx,...},每个idi为集合任意的一个标识;可选的,抽取后形成的隐蔽信息业务操作数据序列中可以有重复的idx;例如,发送序列中的{id1,id2,id3...}可能转换为唯一性标识表集合中的元素为{id3,id1,id2...},也可能是{id2,id2,id3...},即可以改变顺序或重复使用标识id。转到(3c);

(3c)结束。

(4)信息发送。利用基于不同区块链节点唯一性标识的多个区块链节点发送隐蔽信息,多个区块链节点将隐蔽信息通过区块链网络发送并存储至区块链的所有节点。

具体地,基于多节点时间戳共谋的区块链网络环境下的隐蔽通信的隐蔽信息发送流程图如图3所示,区块链网络下的隐蔽通信信息发送详细说明如下:

(4a)信息传输以sstart(例如:000)开始。转到(4b);

(4b)多个区块链隐蔽信息发送节点依据分配给各自节点唯一性标识获取本节点的业务数据序列,例如,可选的,节点唯一性标识id1对应的标识数值为id1:节点唯一性标识为id1的隐蔽信息发送节点的业务数据序列为{{id1,t1’},{id1,t2’},{id1,t3}...,{id1,ti’},...},节点唯一性标识为id2的隐蔽信息发送节点的业务数据序列为{{id2,t1”},{id2,t2”},{id2,t3”}...,{id2,ti”},...},节点唯一性标识为idx的隐蔽信息发送节点的业务数据序列为{{idx,t1”’},{idx,t2”’},{idx,t3”’}...,{idx,ti”’},...},以此类推。各个节点按照业务数据序列中的时间戳信息的时间,依次将隐蔽信息通过区块链网络发送。转到(4c);

(4c)信息传输以send(例如:111)结束。转到(4d);

(4d)结束。

(5)信息接收。信息接收方对所有区块链业务操作数据进行信息识别获得隐蔽信息业务操作数据序列,将具有用于隐蔽信息传输的区块链节点唯一性标识的业务操作数据中的时间戳信息提取出来,获得时间戳序列,并生成相应的时间间隔序列。

具体地,基于多节点时间戳共谋的区块链网络环境下的隐蔽通信的隐蔽通信信息传输详细说明如下:

(5a)隐蔽信息接收方持续记录和分析区块链网络中隐蔽信息发送方区块链地址发送的信息,当发现带有预先预定的隐蔽信息区块链节点唯一性标识{id1,id2,id3...,idx,...}时,对业务操作数据的时间戳进行记录并解调和解码。转到(5b)

(5b)如果发现包含信息传输开始标志sstart(例如:000),则开始信息接收,记录所有携带隐蔽信息标识的区块链业务操作数据{{id1,t1},{id2,t2},{id3,t3}...,{idi,ti},...}中的时间戳{t1,t2,t3...,ti,...},并将时间戳序列转换为时间间隔序列{△t1,△t2,△t3,...,△ti,...},并进行解调和解码,直至接收到信息传输结束标志send(例如:111)结束通信。转到(5c);

(5c)结束。

(6)信息解调。对时间间隔序列进行解调,生成编码序列。

具体地,基于多节点时间戳共谋的区块链网络环境下的隐蔽通信的隐蔽通信接收流程图如图3所示,区块链网络下的隐蔽通信信息接收详细说明如下:

(6a)对时间戳序列进行解调获取编码信息{c1,c2,c3...,ci,...}。转到(6b);

(6b)结束。

(7)信息解码。利用事先约定的信源编码或信道编码机制,对原始隐蔽信息进行解码。

具体地,基于多节点时间戳共谋的区块链网络环境下的隐蔽通信的隐蔽通信信息编码详细说明如下:

(7a)利用事先约定的信源编码或信道编码机制,对编码信息{c1,c2,c3...,ci,...}进行解码,生成原始信息对编码信息进行解调,获得原始信息{m1,m2,m3...,mi,...},转到(7b);

(7b)结束。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求所述为准。

以上虽然描述了本发明的具体实施方法,但是本领域的技术人员应当理解,这些仅是举例说明,在不背离本发明原理和实现的前提下,可以对这些实施方案做出多种变更或修改,因此,本发明的保护范围由所附权利要求书限定。


技术特征:

1.一种基于多节点时间戳共谋的区块链网络隐蔽通信方法,其特征在于,包括以下步骤:

步骤1:信息编码,利用事先约定的信源编码或信道编码机制,对原始隐蔽信息进行编码,生成编码序列;

步骤2:信息调制,将编码信息调制为以前后两个区块链应用业务操作中时间戳时间的差值,即时间戳时间间隔作为调制符号转化为隐蔽信息,生成时间间隔序列,并根据发送信息的起始时间生成时间戳序列;

步骤3:信息分配,依据区块链应用的不同,预先生成若干隐蔽信息区块链节点唯一性标识,将时间戳序列分配给这些用于隐蔽信息传输的、包含区块链节点唯一性标识的区块链节点,生成由区块链节点唯一性标识、时间戳以及业务数据组成的携带隐蔽信息的业务操作数据序列;

步骤4:信息发送,依据分配的时间戳信息,各个隐蔽通信节点依次发送携带隐蔽信息的业务操作数据序列,隐蔽信息通过区块链网络发送并存储至区块链的所有节点;

步骤5:信息接收,信息接收方依据事先约定的隐蔽信息节点的唯一性标识,对所有区块链中存储的业务操作数据进行信息识别获得隐蔽信息业务操作数据序列,将具有用于隐蔽信息传输的区块链节点唯一性标识的业务操作数据中的时间戳信息提取出来还原为时间戳序列,并生成相应的时间间隔序列;

步骤6:信息解调,对时间间隔序列进行解调,生成编码序列;

步骤7:信息解码,对编码序列进行解码,生成原始信息。

2.根据权利要求1所述的一种基于多节点时间戳共谋的区块链网络隐蔽通信方法,其特征在于:所述步骤2的具体包括:

将编码信息调制为以前后两个业务操作中时间戳时间间隔{△t1,△t2,△t3,...,△ti,...},i为整数,△ti为第i个时间间隔,并根据隐蔽信息通信发送信息的起始时间t0生成隐蔽信息的时间戳序列{t1,t2,t3...,ti,...},{t1,t2,t3...,ti,...}={t0 △t1,t0 △t2,t0 △t3,...,t0 △ti,...},其中ti是第i个时间戳的时间。

3.根据权利要求1所述的一种基于多节点时间戳共谋的区块链网络隐蔽通信方法,其特征在于:所述步骤3的具体步骤包括:

(3.1)依据具体的区块链应用,预先生成若干隐蔽信息区块链节点唯一性标识,所述标识集合为{id1,id2,id3...,idx,...},x为隐蔽信息区块链节点的序号,节点数量为x个;

(3.2)将时间戳序列分配给这些用于隐蔽信息传输的区块链节点唯一性标识,生成由用于隐蔽信息传输的区块链节点唯一性标识、用于调制隐蔽信息的时间戳以及其它业务数据组成的隐蔽信息业务操作数据序列{{id1,t1},{id2,t2},{id3,t3}...,{idi,ti},...};所述的idi是从前述标识集合中抽取的,idi为标识集合中某一idx所对应的标识的数值,所述抽取包括重复抽取到idx的情况。

4.根据权利要求1所述的一种基于多节点时间戳共谋的区块链网络隐蔽通信方法,其特征在于:所述步骤4具体包括:

(4.1)信息传输以sstart开始;

(4.2)多个区块链隐蔽信息发送节点依据分配给各自节点唯一性标识获取本节点的业务数据序列;各个节点按照业务数据序列中的时间戳信息的时间,依次将隐蔽信息通过区块链网络发送;

(4.3)信息传输以send结束。

5.根据权利要求1所述的一种基于多节点时间戳共谋的区块链网络隐蔽通信方法,其特征在于:步骤5具体包括:

(5.1)隐蔽信息接收方持续记录和分析区块链网络中隐蔽信息发送方区块链地址发送的信息,当发现带有预先预定的隐蔽信息区块链节点唯一性标识{id1,id2,id3...,idx,...}时,记录业务操作数据的时间戳并进行解调和解码;

(5.2)如果发现包含信息传输开始标志sstart,则开始信息接收,记录所有携带隐蔽信息标识的区块链业务操作数据{{id1,t1},{id2,t2},{id3,t3}...,{idi,ti},...}中的时间戳{t1,t2,t3...,ti,...},并将时间戳序列转换为时间间隔序列{△t1,△t2,△t3,...,△ti,...},并进行解调和解码,直至接收到信息传输结束标志send结束通信。

技术总结
本发明涉及一种基于多节点时间戳共谋的区块链网络隐蔽通信方法,利用区块链环境下数据全局可见、具有唯一性标识、包含时间戳的特性,将编码后的信息调制为以前后两个区块链业务操作中的时间戳时间间隔,生成携带隐蔽信息的时间戳序列;之后利用预先生成若干隐蔽信息区块链唯一性标识,构建由用于隐蔽信息传输的区块链唯一性标识、用于调制隐蔽信息的时间戳以及其它业务数据字段的隐蔽信息业务数据序列;之后各个隐蔽信息发送节点按照分配给自身节点的隐蔽信息业务数据中的时间戳时间信息发送隐蔽信息业务数据;信息接收方依据事先约定的隐蔽信息标识识别并提取区块链业务操作数据中携带隐蔽信息的时间戳,并将其解调、解码得到原始信息。

技术研发人员:李彦峰;丁丽萍;吴敬征;崔强;关贝;刘雪花
受保护的技术使用者:中国科学院软件研究所
技术研发日:2020.01.14
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-57024.html

最新回复(0)