通信安全控制方法、装置及物联网节点的制作方法

文档序号:7981618阅读:250来源:国知局
通信安全控制方法、装置及物联网节点的制作方法
【专利摘要】本发明实施例公开了一种通信安全控制方法、装置及物联网节点,其中该通信安全控制方法,包括:从上一跳的第二物联网节点接收包括第一数据和第二数据的第一传输数据包;基于所述第二物联网节点的唯一识别信息和所述第一数据包传输序号生成第三数据;判断所述第三数据是否与第二数据相同,获取一判断结果;在所述判断结果指示第三数据与第二数据不同时,丢弃所述第一数据;在所述判断结果指示第三数据与第二数据相同时,根据第一物联网节点的唯一识别信息和第一物联网节点端当前的第二数据包传输序号生成第四数据;向下一跳的第三物联网节点发送包括第四数据和与所述原始数据相关的第五数据的第二传输数据包。本发明提高了物联网的安全性。
【专利说明】通信安全控制方法、装置及物联网节点
【技术领域】
[0001]本发明涉及通信安全【技术领域】,特别是一种通信安全控制方法、装置及物联网节点。
【背景技术】
[0002]随着移动通信、体感网,传感器等高新技术的发展,物联网这一【技术领域】越来越显示出广阔的市场前景。在物联网应用中,主要依靠蓝牙、低功耗蓝牙、Zigbee等短距离无线通信方式。
[0003]物联网由于其具有多跳、自组织网络等特性,除了具有一般无线网络所面临的信息泄露、信息篡改、重放攻击、拒绝服务等多种威胁外,还面临入侵者各种各样的攻击,如耗尽攻击、汇聚节点攻击、恶意节点攻击、方向误导攻击、虚假信息攻击等,这些都直接威胁到整个网络的正常工作以及寿命。
[0004]由于物联网的多跳、自组织网络的特性,传统的点对点加密认证方式不能满足物联网自组织多跳网络的需求,说明如下。
[0005]由于在自组织的物联网结构中,每一跳的中继节点的数据源节点不是一个而是多个,其传输数据的目的节点也不止一个,如果中继节点不对数据包进行任何新鲜性和安全性认证,完全透明转发,则会极易受到重放攻击、耗尽攻击的影响,节点会因连续转发攻击节点发出的数据包而能量耗尽,导致网络瘫痪。
[0006]物联网节点在处理收到的一个消息时,需要能够确认这个数据包的真实性、正确性,需要确保数据来源安全,而不是入侵者冒充的。因此必须设计保证数据安全的加密通信机制,及终端与采集设备间的身份认证机制,以保障设备采集的数据信息保密,不被他人窃取,以及终端对采集设备进行控制的过程中的运行使用安全。而同时由于物联网的特殊性,现有的如TESLA认证广播协议、uTESLA协议、以及用于个人终端的WCC智能卡所使用的通信网络鉴权和加密等方案并不适用于需要短距离通信的物联网应用的需求。

【发明内容】

[0007]本发明实施例的目的在于提供一种通信安全控制方法、装置及物联网节点,提供一种适合在物联网中应用的安全方案。
[0008]为了实现上述目的,本发明实施例提供了 一种通信安全控制方法,用于一第一物联网节点,所述第一物联网节点为一源物联网节点向目标物联网节点传输一原始数据时经过的中间节点,所述通信安全控制方法包括:
[0009]从上一跳的第二物联网节点接收包括第一数据和第二数据的第一传输数据包,所述第一数据为与所述原始数据相关的数据;所述第二数据为第二物联网节点根据自身唯一识别信息和第二物联网节点当前的第一数据包传输序号生成的数据;
[0010]基于所述第二物联网节点的唯一识别信息和所述第一数据包传输序号生成第三数据;[0011]判断所述第三数据是否与第二数据相同,获取一判断结果;
[0012]在所述判断结果指示第三数据与第二数据不同时,丢弃所述第一数据;
[0013]在所述判断结果指示第三数据与第二数据相同时,根据第一物联网节点的唯一识别信息和第一物联网节点端当前的第二数据包传输序号生成第四数据;
[0014]向下一跳的第三物联网节点发送包括第四数据和与所述原始数据相关的第五数据的第二传输数据包。
[0015]上述的通信安全控制方法,其中,所述第一数据为所述源物联网节点利用所述源物联网节点和目标物联网节点之间共享的第一密钥对所述原始数据进行加密得到的数据,所述第五数据与所述第一数据相同。
[0016]上述的通信安全控制方法,其中,所述第一物联网节点的唯一识别信息为节点ID,所述根据第一物联网节点的唯一识别信息和第一物联网节点端当前的第二数据包传输序号生成第四数据具体为:
[0017]利用线性反馈移位寄存器对第一物联网节点的节点ID和所述第二数据包传输序号进行处理生成所述第四数据;
[0018]其中线性反馈移位寄存器的种子采用两个大素数乘积的倍数,第一物联网节点的节点ID作为初始化种子,第二数据包传输序号作为移位次数。
[0019]上述的通信安全控制方法,其中,所述第一数据为第二物联网节点利用所述第一物联网节点和第二物联网节点之间共享的第二密钥对所述原始数据进行加密得到的数据,所述通信安全控制方法还包括:
[0020]在所述判断结果指示第三数据与第二数据相同时,利用所述第二密钥对所述第一数据解密,得到所述原始数据;
[0021]利用所述第一物联网节点和第三物联网节点之间共享的第三密钥对所述原始数据进行加密得到所述第五数据。
[0022]上述的通信安全控制方法,其中,两个物联网节点之间共享的密钥依据所述两个物联网节点的唯一识别信息计算得到。
[0023]上述的通信安全控制方法,其中,所述两个物联网节点的唯一识别信息分别为第一 ID和第二 ID,第一密钥为逐位异或结果和循环移位结果的乘积,所述逐位异或结果为对扩展第一 ID后得到的第一扩展结果和扩展第二 ID后得到的第二扩展结果进行逐位异或得到的数据;所述循环移位结果为对所述逐位异或结果进行循环移位得到的数据。
[0024]为了实现上述目的,本发明实施例还提供了 一种通信安全控制装置,用于一第一物联网节点,所述第一物联网节点为一源物联网节点向目标物联网节点传输一原始数据时经过的中间节点,所述通信安全控制装置包括:
[0025]接收模块,用于从上一跳的第二物联网节点接收包括第一数据和第二数据的第一传输数据包,所述第一数据为与所述原始数据相关的数据;所述第二数据为第二物联网节点根据自身唯一识别信息和第二物联网节点当前的第一数据包传输序号生成的数据;
[0026]第一数据生成模块,用于基于所述第二物联网节点的唯一识别信息和所述第一数据包传输序号生成第三数据;
[0027]判断模块,用于判断所述第三数据是否与第二数据相同,获取一判断结果;
[0028]丢弃模块,用于在所述判断结果指示第三数据与第二数据不同时,丢弃所述第一数据;
[0029]第二数据生成模块,在所述判断结果指示第三数据与第二数据相同时,根据第一物联网节点的唯一识别信息和第一物联网节点端当前的第二数据包传输序号生成第四数据;
[0030]第一发送模块,用于向下一跳的第三物联网节点发送包括第四数据和与所述原始数据相关的第五数据的第二传输数据包。
[0031]上述的通信安全控制装置,其中,所述第一数据为所述源物联网节点利用所述源物联网节点和目标物联网节点之间共享的第一密钥对所述原始数据进行加密得到的数据,所述第五数据与所述第一数据相同。
[0032]上述的通信安全控制装置,其中,所述唯一识别信息为节点ID,所述第一数据生成模块和第二数据生成模块具体为一线性反馈移位寄存器,用于对节点ID和数据包传输序号进行处理生成所述数据;
[0033]其中线性反馈移位寄存器的种子为两个大素数乘积的倍数,节点ID作为初始化种子,数据包传输序号作为移位次数。
[0034]上述的通信安全控制装置,其中,所述第一数据为第二物联网节点利用所述第一物联网节点和第二物联网节点之间共享的第二密钥对所述原始数据进行加密得到的数据,所述通信安全控制装置还包括:
[0035]解密模块,用于在所述判断结果指示第三数据与第二数据相同时,利用所述第二密钥对所述第一数据解密,得到所述原始数据;
[0036]加密模块,用于利用所述第一物联网节点和第三物联网节点之间共享的第三密钥对所述原始数据进行加密得到所述第五数据。
[0037]上述的通信安全控制装置,其中,两个物联网节点之间共享的密钥依据所述两个物联网节点的唯一识别信息计算得到。
[0038]上述的通信安全控制装置,其中,所述两个物联网节点的唯一识别信息分别为第一 ID和第二 ID,所述通信安全控制装置还包括一硬件密钥生成模块,包括:
[0039]扩展单元,分别对第一 ID和第二 ID扩展至指定位数,得到第一扩展结果和第二扩展结果;
[0040]逐位异或单元,用于对第一扩展结果和第二扩展结果进行逐位异或,得到逐位异或结果;
[0041]循环移位单元,用于对逐位异或结果进行循环移位,得到循环移位结果;
[0042]乘法器,用于输出逐位异或结果和循环移位结果的乘积作为共享密钥。
[0043]为了实现上述目的,本发明实施例还提供了一种物联网节点,包括上述的通信安全控制装置。
[0044]为了实现上述目的,本发明实施例还提供了 一种通信安全控制方法,用于第四物联网节点,所述第四物联网节点与相邻的第五物联网节点之间具有共享的第四密钥,所述通信安全控制方法包括:
[0045]利用所述第四密钥对待传输到所述第五物联网节点的原始数据进行加密得到第六数据;
[0046]根据第四物联网节点的唯一识别信息和第四物联网节点端当前的第三数据包传输序号生成第七数据;
[0047]向所述第五物联网节点发送包括第六数据和第七数据的第三传输数据包,使得所述第五物联网节点能够比较第八数据和第七数据,并在相同时,利用所述第四密钥解密所述第六数据获取所述原始数据,否则丢弃所述第六数据;
[0048]所述第八数据为利用第五物联网节点自身保存的所述第四密钥和所述数据包传输序号生成的数据。
[0049]为了实现上述目的,本发明实施例还提供了 一种通信安全控制方法,用于第五物联网节点,所述第五物联网节点与相邻的第四物联网节点之间具有共享的第四密钥,所述通信安全控制方法包括:
[0050]接收第四物联网节点发送的包括第六数据和第七数据的第三传输数据包,所述第六数据为第四物联网节点利用所述第四密钥对待传输到所述第五物联网节点的原始数据进行加密得到的数据;所述第七数据为第四物联网节点根据第四物联网节点的唯一识别信息和第四物联网节点当前的第三数据包传输序号生成的数据;
[0051]利用第五物联网节点自身保存的第四密钥和所述第三数据包传输序号生成第八数据;
[0052]判断所述第八数据是否与第七数据相同,获取一判断结果;
[0053]在所述判断结果指示第八数据与第七数据相同时,利用所述第四密钥解密所述第六数据获取所述原始数据,否则丢弃所述第六数据。
[0054]本发明实施例具有如下的效果中的至少一个:
[0055]本发明实施例的方法中,任意一个中间节点都会对上一跳节点进行验证,只有在身份验证通过时,才会将数据连同自身的身份验证信息转发到下一跳节点,而在下一跳节点同样会进行身份验证操作,因此能够满足多跳自组织物联网络的应用需求,实现网络中每个节点对他每个邻居节点所发的数据包以及广播数据包都能进行身份认证,能够识别攻击节点,因此能够避免因连续转发攻击节点发出的数据包而能量耗尽,导致网络瘫痪。
[0056]本发明实施例在不解密数据包的情况下先通过数据包末尾的身份认证码进行认证,可以加快接收节点认证数据包的速度,接收节点在收到数据包后可以马上对密文进行认证,发现问题直接丢弃。
[0057]在本发明的具体实施例中,为了进一步提高数据的安全性,对传输的原始数据利用节点间的共享密钥进行加密。即使窃听方窃听到了传输数据,但由于窃听方并不知道加密的密钥,也不知道加密的算法,因此无法恢复出原始数据,保证了数据的安全性。
[0058]本发明具体实施例中,对于密钥计算采用硬件方式实现,且密钥计算方式对于两个物联网节点具有计算的对称性,可以使两个物联网节点互为源节点和目的节点时也能保证得到相同密钥,同时密钥的散列性很好,安全性较高。
[0059]由于采用收发双方的节点ID生成对称密钥,无须明文发送密钥,也无须通过网关节点或者服务器来协助建立安全通道,具有更高的安全性能,同时降低了网络通信开销。
【专利附图】

【附图说明】
[0060]图1表示本发明实施例的应用场景示意图;
[0061]图2表示本发明实施例的通信安全控制方法的流程示意图;[0062]图3表示本发明实施例的一种计算身份认证数据的硬件电路示意图;
[0063]图4表示本发明实施例的一种具体的密钥生成的硬件电路示意图;
[0064]图5表示本发明实施例的通信安全控制装置的流程示意图;
[0065]图6表示本发明实施例的用于相邻的物联网节点间的通信安全控制方法流程示意图;
[0066]图7表示本发明实施例的控制单元的状态机的示意图。
【具体实施方式】
[0067]本发明实施例的通信安全控制方法、装置及物联网节点中,提供一种逐跳认证的方式,避免了因中间节点完全透明转发带来的安全隐患。
[0068]如图1所示,为本发明实施例的应用场景示意图,其中包括:8个物联网节点A0-A7,其中AO可以是一个普通节点,也可以是一个汇聚节点,如对于A1-A7为设置于展览馆中的多个传感器,这些传感器的监测数据都传输到节点A0,由AO根据收集到的信息传输给安防主机进行预警处理。
[0069]如图1所示,其中具有箭头直接连接的节点为相邻节点,如A4具有Al、A2和A6三个相邻节点,而Al具有A3、A4和AO三个相邻节点,……
[0070]当A6需要向AO发送数据时,可以发现,可以通过如下的传输路径:
[0071]A6-A4-A1-A0 ;或者
[0072]A6-A4-A2-A0。
[0073]现有技术中,对于A4、Al和A2而言,其作为中继节点,如果透明传输的话,则攻击节点就有可能冒充物联网中的节点向其发送数据,导致整个网络易受到重放攻击、耗尽攻击的影响,节点会因连续转发攻击节点发出的数据包而能量耗尽,导致网络瘫痪。
[0074]针对上述情况,本发明实施例的通信安全控制方法,用于一第一物联网节点,所述第一物联网节点为一源物联网节点向目标物联网节点传输一原始数据时经过的中间节点(如图1中的节点A1、A2、A4或A5),如图2所示所述通信安全控制方法包括:
[0075]步骤201,从上一跳的第二物联网节点接收包括第一数据和第二数据的第一传输数据包,所述第一数据为与所述原始数据相关的数据;所述第二数据为第二物联网节点根据自身唯一识别信息和第二物联网节点当前的第一数据包传输序号生成的数据;
[0076]步骤202,基于所述第二物联网节点的唯一识别信息和所述第一数据包传输序号生成第三数据;
[0077]步骤203,判断所述第三数据是否与第二数据相同,获取一判断结果;
[0078]步骤204,在所述判断结果指示第三数据与第二数据不同时,丢弃所述第一数据;
[0079]步骤205,在所述判断结果指示第三数据与第二数据相同时,根据第一物联网节点的唯一识别信息和第一物联网节点端当前的第二数据包传输序号生成第四数据;
[0080]步骤206,向下一跳的第三物联网节点发送包括第四数据和与所述原始数据相关的第五数据的第二传输数据包。
[0081]本发明实施例的方法中,任意一个中间节点都会对上一跳节点进行验证,只有在身份验证通过时,才会将数据连同自身的身份验证信息转发到下一跳节点,而在下一跳节点同样会进行身份验证操作,因此能够满足多跳自组织物联网络的应用需求,实现网络中每个节点对他每个邻居节点所发的数据包以及广播数据包都能进行身份认证,能够识别攻击节点,因此能够避免因连续转发攻击节点发出的数据包而能量耗尽,导致网络瘫痪。
[0082]同时,身份认证信息中还包括了数据包序列号,因此既保证了对上一跳节点的身份的认证,也确保了数据包的新鲜有效。
[0083]本发明具体实施例中,上述的第一数据可以是原始数据本身,也可以是其它的由原始数据计算得到的数据,说明如下。
[0084]本发明具体实施例上述的方案虽然保证了对攻击节点的识别,只能保证网络不会受到攻击节点的攻击,但对于数据的安全并没有保证,存在一定的安全隐患。
[0085]因此,在本发明的具体实施例中,为了进一步提高数据的安全性,对传输的原始数据利用节点间的共享密钥进行加密。
[0086]对原始数据进行加密在本发明的具体实施例中具体包括两种情况:
[0087]1、作为中间节点,不对数据进行处理,仅进行身份验证;
[0088]2、中间节点进行身份验证,身份验证后同时对数据进行加密和解密。
[0089]第一种方式下,由于利用节点间的共享密钥进行加密,这种方式下,由于中间节点不对数据处理,此时考虑到所有传输情景,要求任意两个节点都具有共享密钥,此时目标节点才能够对其他任意一个节点作为源节点发过来的加密数据利用共享密钥进行解密。
[0090]第二种方式下,中间节点进行身份验证,身份验证后同时对数据进行加密和解密,此时只要节点和与之相邻的节点具有共享密钥即可。对此利用图1解释如下。
[0091]以A6-A4-A1-A0这条传输路径为例对加密解密说明如下。
[0092]A6利用A4和A6之间的共享密钥加密数据后传输到A4 ;
[0093]A4利用A4和A6之间的共享密钥解密数据;
[0094]A4利用A4和Al之间的共享密钥加密数据后传输到Al ;
[0095]Al利用A4和Al之间的共享密钥解密数据;
[0096]Al利用Al和AO之间的共享密钥加密数据后传输到AO ;
[0097]AO利用Al和AO之间的共享密钥解密数据。
[0098]当物联网中的节点数量非常大时,如10000个,此时利用方式1,每个节点需要维护9999个共享密钥,这对密钥的查找和存储都是极大的挑战,而利用方式二由于仅仅存储具有相邻关系的节点的共享密钥,这就大大节约了密钥的存储开销,在查找密钥时速度也比较快。
[0099]下面对上述两种方式分别详细说明如下。
[0100]〈方式一〉
[0101]由源物联网节点在发送数据时预先对数据进行加密,而加密的密钥为源物联网节点和目标物联网节点之间共享的第一密钥,也就是说:所述第一数据为所述源物联网节点利用所述源物联网节点和目标物联网节点之间共享的第一密钥对所述原始数据进行加密得到的数据,所述第五数据与所述第一数据相同。
[0102]因此目标物联网节点即可直接利用自身保存的密钥进行解密,而不用传输密钥,进一步提闻了安全性。
[0103]上述方式下,由于第一数据为利用加密密钥对原始数据进行加密得到的数据,这种情况下,即使窃听到了该第一数据,但由于窃听方并不知道加密的密钥,也不知道加密的算法,因此无法恢复出原始数据,保证了数据的安全性。
[0104]下面结合图1对A6-A4-A1-A0这条传输路径为例详细说明如下。
[0105]A6作为源物联网节点会执行如下操作:
[0106]利用A6与AO之间的共享密钥K6tl对原始数据加密,得到加密数据;
[0107]同时A6根据自身唯一识别信息和A6与A4之间的数据包传输序号生成认证数据;
[0108]A6将包括加密数据和认证数据的传输包发送到A4 ;
[0109]A4根据A6的唯一识别信息和A6与A4之间的数据包传输序号重新计算一认证数据,并判断自己计算的认证数据和传输包中的认证数据是否一致,如果不一致则认定传输包的发送方为攻击节点,否则根据A4的唯一识别信息和与Al之间的数据包传输序号重新计算一新认证数据,替换接收到的传输包中的认证数据后发送到Al ;
[0110]Al根据A4的唯一识别信息和Al与A4之间的数据包传输序号重新计算一认证数据,并判断自己计算的认证数据和传输包中的认证数据是否一致,如果不一致则认定传输包的发送方为攻击节点,否则根据Al的唯一识别信息和与AO之间的数据包传输序号重新计算一新认证数据,替换接收到的传输包中的认证数据后发送到AO ;
[0111]AO作为目标物联网节点,首先会对Al进行身份验证,即:根据Al的唯一识别信息和Al与AO之间的数据包传输序号重新计算一认证数据,并判断自己计算的认证数据和传输包中的认证数据是否一致,如果不一致则认定传输包的发送方为攻击节点,如果是,则通过认证,会利用A6与AO之间的共享密钥K6tl对加密数据进行解密,得到原始数据。
[0112]在本发明的具体实施例中,利用硬件方式来生成认证数据(即第二数据、第三数据以及第四数据等),其中,利用线性反馈移位寄存器对第一物联网节点的节点ID和所述第二数据包传输序号进行处理生成所述第四数据;
[0113]其中线性反馈移位寄存器的种子采用两个大素数乘积的倍数,第一物联网节点的节点ID作为初始化种子,第二数据包传输序号作为移位次数,以此生成不可逆的身份认证数据。
[0114]下面以线性反馈移位寄存器的特征多项式为G(X) = ?χ?+Ι为例对线性反馈移位寄存器的结构说明如下。
[0115]如图3所示,其中,当节点ID作为初始化的种子输入大素数查找表后会得到一个数,将该数值输入到对应的寄存器。
[0116]而同时,使用数据包传输序号作为移位次数,对初始输入到加法器和下方的0#寄存器的初始值进行移位。
[0117]然后加法器的输出与上方查找到的数值进行逐位异或,最终输出该认证数据。
[0118]本发明实施例也可以采用其他的特征多项式进行处理。
[0119]当然,本发明实施例也可以采用其他的方式依据节点ID和数据包序号来生成认证数据,如简单的逐位异或,又或者简单的相乘等方式,本发明具体实施例并不限定。
[0120]〈方式二〉
[0121]上述的方式一中,需要任意两个节点具有共享密钥,而在方式二中,只需要相邻节点间具有共享密钥即可。
[0122]此时,所述第一数据为第二物联网节点利用所述第一物联网节点和第二物联网节点之间共享的第二密钥对所述原始数据进行加密得到的数据,所述通信安全控制方法还包括:
[0123]在所述判断结果指示第三数据与第二数据相同时,利用所述第二密钥对所述第一数据解密,得到所述原始数据;
[0124]利用所述第一物联网节点和第三物联网节点之间共享的第三密钥对所述原始数据进行加密得到所述第五数据。
[0125]上述的方式下,同样由于利用加密密钥对原始数据进行加密,这种情况下,即使窃听到了该传输数据,但由于窃听方并不知道加密的密钥,也不知道加密的算法,因此无法恢复出原始数据,保证了数据的安全性。
[0126]方式二中计算认证数据的方式与方式一相同,在此不作重复描述。
[0127]下面还是结合图1对A6-A4-A1-A0这条传输路径为例详细说明如下。
[0128]利用A6与A4之间的共享密钥K64对原始数据加密,得到加密数据;
[0129]同时A6根据自身唯一识别信息和A6与A4之间的数据包传输序号生成认证数据;
[0130]A6将包括加密数据和认证数据的传输包发送到A4 ;
[0131]A4根据A6的唯一识别信息和A6与A4之间的数据包传输序号重新计算一认证数据,并判断自己计算的认证数据和传输包中的认证数据是否一致,如果不一致则认定传输包的发送方为攻击节点,否则利用K64对加密数据解密,得到原始数据;然后利用K41对原始数据加密,得到加密数据;并根据A4的唯一识别信息和与Al之间的数据包传输序号重新计算一新认证数据,然后A4将包括加密数据和认证数据的传输包发送到Al ;
[0132]Al根据A4的唯一识别信息和Al与A4之间的数据包传输序号重新计算一认证数据,并判断自己计算的认证数据和传输包中的认证数据是否一致,如果不一致则认定传输包的发送方为攻击节点,否则利用K41对加密数据解密,得到原始数据;然后利用Kltl对原始数据加密,得到加密数据;并根据Al的唯一识别信息和与AO之间的数据包传输序号重新计算一新认证数据,然后Al将包括加密数据和认证数据的传输包发送到AO ;
[0133]AO作为目标物联网节点,首先会对Al进行身份验证,即:根据Al的唯一识别信息和Al与AO之间的数据包传输序号重新计算一认证数据,并判断自己计算的认证数据和传输包中的认证数据是否一致,如果不一致则认定传输包的发送方为攻击节点,如果是,则通过认证,会利用Kltl对加密数据进行解密,得到原始数据。
[0134]不管在方式一还是方式二中,物联网节点之间都有共享密钥,下面对本发明实施例中的一种具体密钥计算方式详细说明如下。
[0135]本发明实施例中,两个物联网节点之间共享的密钥依据所述两个物联网节点的唯一识别信息计算得到。
[0136]假定所述两个物联网节点的唯一识别信息分别为第一 ID和第二 ID,第一密钥为逐位异或结果和循环移位结果的乘积,所述逐位异或结果为对扩展第一 ID后得到的第一扩展结果和扩展第二 ID后得到的第二扩展结果进行逐位异或得到的数据;所述循环移位结果为对所述逐位异或结果进行循环移位得到的数据。
[0137]本发明具体实施例中,对于上述的密钥计算采用硬件方式实现,可以发现,上述密钥计算方式对于两个物联网节点具有计算的对称性,可以使两个物联网节点互为源节点和目的节点时也能保证得到相同密钥,同时密钥的散列性很好,安全性较高。
[0138]由于采用收发双方的节点ID生成对称密钥,无须明文发送密钥,也无须通过网关节点或者服务器来协助建立安全通道,具有更高的安全性能,同时降低了网络通信开销。
[0139]一种具体的密钥生成的硬件电路如图4,其中,包括两个扩展单元,分别对第一 ID和第二 ID扩展至指定位数(可根据应用需要扩展为不同的位数,如128位或256位),然后由逐位异或单元对扩展第一 ID后得到的第一扩展结果和扩展第二 ID后得到的第二扩展结果进行逐位异或,得到逐位异或结果;
[0140]该逐位异或结果分别传输到一循环移位单元和一乘法器。
[0141]循环移位单元对该逐位异或结果进行循环移位,得到循环移位结果后传输到乘法器。
[0142]乘法器输出逐位异或结果和循环移位结果的乘积作为共享密钥。
[0143]当对原始数据进行加密时,或者经过的每一个节点都需要解密,或者在目标节点需要解密。
[0144]在此,对加密和解密简要说明如下。
[0145]本发明实施例中,由硬件加解密单元完成对发送数据的加密和接收数据的解密功倉泛。
[0146]当需要加密时,利用密钥矩阵S将需要加密的待发送数据按设定的分组长度分成等长的若干数据块,每一数据块与S矩阵的每一行向量递归的进行相加、异或、移位等运算,直到全部数据块计算完成,得到加密编码,然后返回中断给处理器,由处理器读取加密后密文进行发送。
[0147]其解密操作完成对称的计算过程,处理器在接收到密文数据后将其输入安全协处理器,并向控制模块发出解密命令,解密模块使能信号有效,利用相同的密钥矩阵S,对数据进行逆向运算实现解密。
[0148]加密解密过程是对称的,都需要加法器、移位寄存器、异或等运算单元,减法器则可以用加法器和非门代替,因此本发明具体实施例中采用可复用的逻辑单元,在不同的运算周期重复调用此逻辑单元,以降低节点的硬件开销。
[0149]本发明实施例还提供了一种通信安全控制装置,用于一第一物联网节点,所述第一物联网节点为一源物联网节点向目标物联网节点传输一原始数据时经过的中间节点,如图5所示,所述通信安全控制装置包括:
[0150]接收模块,用于从上一跳的第二物联网节点接收包括第一数据和第二数据的第一传输数据包,所述第一数据为与所述原始数据相关的数据;所述第二数据为第二物联网节点根据自身唯一识别信息和第二物联网节点当前的第一数据包传输序号生成的数据;
[0151]第一数据生成模块,用于基于所述第二物联网节点的唯一识别信息和所述第一数据包传输序号生成第三数据;
[0152]判断模块,用于判断所述第三数据是否与第二数据相同,获取一判断结果;
[0153]丢弃模块,用于在所述判断结果指示第三数据与第二数据不同时,丢弃所述第一数据;
[0154]第二数据生成模块,在所述判断结果指示第三数据与第二数据相同时,根据第一物联网节点的唯一识别信息和第一物联网节点端当前的第二数据包传输序号生成第四数据;
[0155]第一发送模块,用于向下一跳的第三物联网节点发送包括第四数据和与所述原始数据相关的第五数据的第二传输数据包。
[0156]本发明具体实施例中,分为两种情况,作为中间节点,第一物联网节点可以对第一数据进行处理,也可以不处理。
[0157]在第一物联网节点不对第一数据进行处理的情况下,所述第一数据为所述源物联网节点利用所述源物联网节点和目标物联网节点之间共享的第一密钥对所述原始数据进行加密得到的数据,所述第五数据与所述第一数据相同。
[0158]在第一物联网节点对第一数据进行处理的情况下,所述第一数据为第二物联网节点利用所述第一物联网节点和第二物联网节点之间共享的第二密钥对所述原始数据进行加密得到的数据,所述通信安全控制装置还包括:
[0159]解密模块,用于在所述判断结果指示第三数据与第二数据相同时,利用所述第二密钥对所述第一数据解密,得到所述原始数据;
[0160]加密模块,用于利用所述第一物联网节点和第三物联网节点之间共享的第三密钥对所述原始数据进行加密得到所述第五数据。
[0161]在本发明的具体实施例中,所述第一物联网节点的唯一识别信息为节点ID,所述第二数据生成模块具体为一线性反馈移位寄存器,用于对第一物联网节点的节点ID和所述第二数据包传输序号进行处理生成所述第四数据;
[0162]其中线性反馈移位寄存器的种子为两个大素数乘积的倍数,第一物联网节点的节点ID作为初始化种子,第二数据包传输序号作为移位次数。
[0163]同时,在本发明的具体实施例中,用于对原始数据加密的两个物联网节点之间共享的密钥依据所述两个物联网节点的唯一识别信息计算得到。
[0164]其中一种具体的计算方式如下:
[0165]所述两个物联网节点的唯一识别信息分别为第一 ID和第二 ID,第一密钥为逐位异或结果和循环移位结果的乘积,所述逐位异或结果为对扩展第一 ID后得到的第一扩展结果和扩展第二 ID后得到的第二扩展结果进行逐位异或得到的数据;所述循环移位结果为对所述逐位异或结果进行循环移位得到的数据。
[0166]本发明实施例还提供了 一种物联网节点,包括上述的通信安全控制装置。
[0167]本发明实施例还提供了一种用于相邻的第四物联网节点与第五物联网节点间的通信安全控制方法,所述第四物联网节点与相邻的第五物联网节点之间具有共享的第四密钥,如图6所示,在第四物联网节点一端,所述通信安全控制方法包括:
[0168]步骤601,利用所述第四密钥对待传输到所述第五物联网节点的原始数据进行加密得到第六数据;
[0169]步骤602,根据第四物联网节点的唯一识别信息和第四物联网节点端当前的第三数据包传输序号生成第七数据;
[0170]步骤603,向所述第五物联网节点发送包括第六数据和第七数据的第三传输数据包,使得所述第五物联网节点能够比较第八数据和第七数据,并在相同时,利用所述第四密钥解密所述第六数据获取所述原始数据,否则丢弃所述第六数据;所述第八数据为第五物联网节点利用所述第四密钥和所述数据包传输序号重新生成的数据。
[0171]在第五物联网节点一端,所述通信安全控制方法包括:
[0172]步骤604,接收第四物联网节点发送的包括第六数据和第七数据的第三传输数据包,所述第六数据为第四物联网节点利用所述第四密钥对待传输到所述第五物联网节点的原始数据进行加密得到的数据;所述第七数据为第四物联网节点根据第四物联网节点的唯一识别信息和第四物联网节点当前的第三数据包传输序号生成的数据;
[0173]步骤605,利用第五物联网节点自身保存的第四密钥和所述第三数据包传输序号生成第八数据;
[0174]步骤606,判断所述第八数据是否与第七数据相同,获取一判断结果;
[0175]步骤607,在所述判断结果指示第八数据与第七数据相同时,利用所述第四密钥解密所述第六数据获取所述原始数据,否则丢弃所述第六数据。
[0176]为了方便相邻的物联网节点建立共享密钥,本发明实施例进一步提供了一种共享密钥的建立方法,结合图1说明如下。
[0177]首先,在网络初始化时刻,建立动态建立路由表,由其中一个物联网节点(如汇聚节点Al)以洪泛的形式广播发送查询数据包,当物联网节点Ai接收到查询数据包后一方面建立路由表,记录上一跳物联网节点的节点ID,另一方面转发查询数据包。并将上一跳物联网节点的ID输入特定硬件电路中,根据Ai上一跳节点ID和本节点ID (Ai)共同生成Ai与各个上一跳邻居节点的通信密钥,并保存与邻居节点密钥池中,以后每次通信都使用此密钥进行加密通信。
[0178]例如,节点A4会将Al、A2的节点ID存入邻居节点密钥池中,并通过特定硬件电路,生成节点M与节点Al以及A2的通信密钥K41、K42。
[0179]当传感节点的路由表建立完成后,每个节点要发送回返回确认包,发送时按照节点自身路由表的信息向指定的上一跳节点发送,当传感节点接收到其他节点发送的信息数据包后也同样按照路由表的内容向上一跳节点转发数据包,同时每个节点Ai在收到上一跳节点返回确认包时,记录上一跳节点的节点ID,并将上一跳节点ID输入特定硬件电路中,根据Ai上一跳节点I D和本节点ID (Ai)共同生成Ai与各个上一跳邻居节点的通信密钥,并保存与邻居节点密钥池中,密钥具有对称性,其邻居节点Aj可根据Ai的ID和其本身的ID利用相同的电路得到通信密钥Kij,以后每次通信都使用此密钥进行加密通信。
[0180]由于网络的双向性,通过转发广播包和转发确认包的过程,使每个节点都记录了其上下行邻居节点的ID,并与他们建立了对应的密钥,用于后面的加密通信使用,既保障了对每个来自汇聚节点的控制数据包的加密解密传输,也满足了来自各个传感器节点的数据包的加密解密传输,汇聚节点按照一定周期发送查询数据包,以通知传感节点更新路由表,从而实现网络的自组织性。
[0181]该查询数据包可以采用如下表所示的格式:
[0182]
【权利要求】
1.一种通信安全控制方法,用于一第一物联网节点,所述第一物联网节点为一源物联网节点向目标物联网节点传输一原始数据时经过的中间节点,其特征在于,所述通信安全控制方法包括: 从上一跳的第二物联网节点接收包括第一数据和第二数据的第一传输数据包,所述第一数据为与所述原始数据相关的数据;所述第二数据为第二物联网节点根据自身唯一识别信息和第二物联网节点当前的第一数据包传输序号生成的数据; 基于所述第二物联网节点的唯一识别信息和所述第一数据包传输序号生成第三数据; 判断所述第三数据是否与第二数据相同,获取一判断结果; 在所述判断结果指示第三数据与第二数据不同时,丢弃所述第一数据; 在所述判断结果指示第三数据与第二数据相同时,根据第一物联网节点的唯一识别信息和第一物联网节点端当前的第二数据包传输序号生成第四数据; 向下一跳的第三物联网节点发送包括第四数据和与所述原始数据相关的第五数据的第二传输数据包。
2.根据权利要求1所述的通信安全控制方法,其特征在于,所述第一数据为所述源物联网节点利用所述源物联网节点和目标物联网节点之间共享的第一密钥对所述原始数据进行加密得到的数据,所述第五数据与所述第一数据相同。
3.根据权利要求1所述的通信安全控制方法,其特征在于,所述第一物联网节点的唯一识别信息为节点ID,所述根据第一物联网节点的唯一识别信息和第一物联网节点端当前的第二数据包传输序号生成第四数据具体为: 利用线性反馈移位寄存器对第一物联网节点的节点ID和所述第二数据包传输序号进行处理生成所述第四数据; 其中线性反馈移位寄存器的种子采用两个大素数乘积的倍数,第一物联网节点的节点ID作为初始化种子,第二数据包传输序号作为移位次数。
4.根据权利要求1所述的通信安全控制方法,其特征在于,所述第一数据为第二物联网节点利用所述第一物联网节点和第二物联网节点之间共享的第二密钥对所述原始数据进行加密得到的数据,所述通信安全控制方法还包括: 在所述判断结果指示第三数据与第二数据相同时,利用所述第二密钥对所述第一数据解密,得到所述原始数据; 利用所述第一物联网节点和第三物联网节点之间共享的第三密钥对所述原始数据进行加密得到所述第五数据。
5.根据权利要求2或4所述的通信安全控制方法,其特征在于,两个物联网节点之间共享的密钥依据所述两个物联网节点的唯一识别信息计算得到。
6.根据权利要求5所述的通信安全控制方法,其特征在于,所述两个物联网节点的唯一识别信息分别为第一 ID和第二 ID,第一密钥为逐位异或结果和循环移位结果的乘积,所述逐位异或结果为对扩展第一 ID后得到的第一扩展结果和扩展第二 ID后得到的第二扩展结果进行逐位异或得到的数据;所述循环移位结果为对所述逐位异或结果进行循环移位得到的数据。
7.一种通信安全控制装置,用于一第一物联网节点,所述第一物联网节点为一源物联网节点向目标物联网节点传输一原始数据时经过的中间节点,其特征在于,所述通信安全控制装置包括: 接收模块,用于从上一跳的第二物联网节点接收包括第一数据和第二数据的第一传输数据包,所述第一数据为与所述原始数据相关的数据;所述第二数据为第二物联网节点根据自身唯一识别信息和第二物联网节点当前的第一数据包传输序号生成的数据; 第一数据生成模块,用于基于所述第二物联网节点的唯一识别信息和所述第一数据包传输序号生成第三数据; 判断模块,用于判断所述第三数据是否与第二数据相同,获取一判断结果; 丢弃模块,用于在所述判断结果指示第三数据与第二数据不同时,丢弃所述第一数据; 第二数据生成模块,在所述判断结果指示第三数据与第二数据相同时,根据第一物联网节点的唯一识别信息和第一物联网节点端当前的第二数据包传输序号生成第四数据;第一发送模块,用于向下一跳的第三物联网节点发送包括第四数据和与所述原始数据相关的第五数据的第二传输数据包。
8.根据权利要求7所述的通信安全控制装置,其特征在于,所述第一数据为所述源物联网节点利用所述源物联网节点和目标物联网节点之间共享的第一密钥对所述原始数据进行加密得到的数据,所述第五数据与所述第一数据相同。
9.根据权利要求7所述的通信安全控制装置,其特征在于,所述唯一识别信息为节点ID,所述第一数据生成模块和第二数据生成模块具体为一线性反馈移位寄存器,用于对节点ID和数据包传输序号进行处理生成所述数据; 其中线性反馈移位寄存器的·种子为两个大素数乘积的倍数,节点ID作为初始化种子,数据包传输序号作为移位次数。
10.根据权利要求7所述的通信安全控制装置,其特征在于,所述第一数据为第二物联网节点利用所述第一物联网节点和第二物联网节点之间共享的第二密钥对所述原始数据进行加密得到的数据,所述通信安全控制装置还包括: 解密模块,用于在所述判断结果指示第三数据与第二数据相同时,利用所述第二密钥对所述第一数据解密,得到所述原始数据; 加密模块,用于利用所述第一物联网节点和第三物联网节点之间共享的第三密钥对所述原始数据进行加密得到所述第五数据。
11.根据权利要求8或10所述的通信安全控制装置,其特征在于,两个物联网节点之间共享的密钥依据所述两个物联网节点的唯一识别信息计算得到。
12.根据权利要求11所述的通信安全控制装置,其特征在于,所述两个物联网节点的唯一识别信息分别为第一 ID和第二 ID,所述通信安全控制装置还包括一硬件密钥生成模块,包括: 扩展单元,分别对第一 ID和第二 ID扩展至指定位数,得到第一扩展结果和第二扩展结果; 逐位异或单元,用于对第一扩展结果和第二扩展结果进行逐位异或,得到逐位异或结果; 循环移位单元,用于对逐位异或结果进行循环移位,得到循环移位结果;乘法器,用于输出逐位异或结果和循环移位结果的乘积作为共享密钥。
13.一种物联网节点,包括权利要求7-12中任意一项所述的通信安全控制装置。
14.一种通信安全控制方法,用于第四物联网节点,其特征在于,所述第四物联网节点与相邻的第五物联网节点之间具有共享的第四密钥,所述通信安全控制方法包括: 利用所述第四密钥对待传输到所述第五物联网节点的原始数据进行加密得到第六数据; 根据第四物联网节点的唯一识别信息和第四物联网节点端当前的第三数据包传输序号生成第七数据; 向所述第五物联网节点发送包括第六数据和第七数据的第三传输数据包,使得所述第五物联网节点能够比较第八数据和第七数据,并在相同时,利用所述第四密钥解密所述第六数据获取所述原始数据,否则丢弃所述第六数据; 所述第八数据为利用第五物联网节点自身保存的所述第四密钥和所述数据包传输序号生成的数据。
15.一种通信安全控制方法,用于第五物联网节点,其特征在于,所述第五物联网节点与相邻的第四物联网节点之间具有共享的第四密钥,所述通信安全控制方法包括: 接收第四物联网节点发送的包括第六数据和第七数据的第三传输数据包,所述第六数据为第四物联网节点利用所 述第四密钥对待传输到所述第五物联网节点的原始数据进行加密得到的数据;所述第七数据为第四物联网节点根据第四物联网节点的唯一识别信息和第四物联网节点当前的第三数据包传输序号生成的数据; 利用第五物联网节点自身保存的第四密钥和所述第三数据包传输序号生成第八数据; 判断所述第八数据是否与第七数据相同,获取一判断结果; 在所述判断结果指示第八数据与第七数据相同时,利用所述第四密钥解密所述第六数据获取所述原始数据,否则丢弃所述第六数据。
【文档编号】H04L9/08GK103580863SQ201210272627
【公开日】2014年2月12日 申请日期:2012年8月1日 优先权日:2012年8月1日
【发明者】王 义, 许利群, 信伦, 李凯 申请人:中国移动通信集团公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1