基于双线性对的无线传感器网络匿名通信方法及装置与流程

文档序号:28630285发布日期:2022-01-26 14:59阅读:96来源:国知局
基于双线性对的无线传感器网络匿名通信方法及装置与流程

1.本发明涉及无线传感器网络的匿名通信技术领域,尤其涉及基于双线性对的无线传感器网络匿名通信方法及装置。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.无线传感器网络(wireless sensor network)是一种基于数据的网络,通常其节点采集到数据后通过无线的方式进行传输,经路由节点传输至汇聚节点,最终对数据进行加工和处理。数据从采集到传输再到应用的过程中,不但要保证数据的机密性,还要保障包括节点的身份、地理位置、网络地址以及节点拓扑关系等隐私信息的安全性。匿名通信(anonymous communication)技术作为一种重要的隐私保护技术,能够有效地防止攻击者通过数据包跟踪等方法分析出报文中的隐私信息,进而利用这些隐私信息对网络发起攻击,该技术的研究具有重要的意义和广泛的应用前景。然而无线传感网络中的节点自身计算和存储资源有限,使其无法加载传统的安全机制与隐私保护策略,导致网络中隐私信息可能遭受的信息量分析、信息编码、共谋攻击等方面的安全威胁。因此,针对无线传感器网络的特点和匿名性安全需求,研究一种适用于无线传感器网络的匿名通信保护机制是非常有必要的。


技术实现要素:

4.本发明实施例提供一种基于双线性对的无线传感器网络匿名通信方法,用以解决现有技术中无线传感网络中的节点使用匿名通信存在缺陷的问题,该方法包括:应用于无线传感器网络,无线传感器网络包括源节点、中间节点和目的节点,包括:
5.源节点生成密钥材料和认证参数,根据所述密钥材料和认证参数生成路由请求信息包,将所述路由请求信息包发送至下一跳邻居节点;认证参数中包括认证码,所述认证码表明源节点与目的节点进行了匿名会话密钥协商认证;
6.下一跳邻居节点接收所述路由请求信息包,根据所述路由请求信息包计算相应的认证码,若所述相应的认证码与认证码不同,则该下一跳邻居节点为中间节点,更新所述路由请求信息包,将更新后的路由请求信息包发送至下下一跳邻居节点,下下一跳邻居节点重复下一跳邻居节点的操作,直到相应节点计算得到的相应的认证码与认证码相同,则相应的节点为目的节点,源节点与目的节点建立共享会话密钥;
7.目的节点生成假名身份信息,根据共享会话密钥、真实身份信息和所述假名身份信息生成路由响应信息包,将所述路由响应信息包按照路由请求时的相反节点路径进行返回;
8.与目的节点相邻的下一跳邻居节点接收所述路由响应信息包,对路由响应信息包进行解密,获得目的节点的真实身份信息和假名身份信息,根据生成的下一跳邻居节点的
假名身份信息和真实身份信息、目的节点的真实身份信息和假名身份信息获得更新后的响应信息包,将更新后的路由响应信息包发送至下下一跳邻居节点,下下一跳邻居节点重复下一跳邻居节点的操作,直到源节点接收到更新后的路由响应信息包,源节点与目的节点建立匿名通信路由路径;
9.源节点生成最新假名身份信息,基于所述共享会话密钥、源节点的假名身份信息、源节点的最新假名身份信息、目的节点的假名身份信息生成数据包,基于匿名通信路径发送至目的节点;
10.下一跳邻居节点接收到所述数据包,对所述数据包进行解密,获得源节点的假名身份信息和目的节点的假名身份信息,基于生成的下一跳邻居节点的最新假名身份信息、源节点的假名身份信息和目的节点的假名身份信息获得更新后的数据包,将更新后的数据包继续发送至下下一跳邻居节点,下下一跳邻居节点重复下一跳邻居节点的操作,直到目的节点接收到更新后的数据包;
11.目的节点基于所述共享会话密钥对所述数据包进行解密,获得相应数据。
12.本发明实施例还提供一种基于双线性对的无线传感器网络匿名通信装置,用以解决现有技术中无线传感网络中的节点使用匿名通信存在缺陷的问题,该装置包括:包括源节点、中间节点和目的节点;
13.源节点用于:生成密钥材料和认证参数,根据所述密钥材料和认证参数生成路由请求信息包,将所述路由请求信息包发送至下一跳邻居节点;认证参数中包括认证码,所述认证码表明源节点与目的节点进行了匿名会话密钥协商认证;
14.下一跳邻居节点用于:接收所述路由请求信息包,根据所述路由请求信息包计算相应的认证码,若所述相应的认证码与认证码不同,则该下一跳邻居节点为中间节点,更新所述路由请求信息包,将更新后的路由请求信息包发送至下下一跳邻居节点,下下一跳邻居节点重复下一跳邻居节点的操作,直到相应节点计算得到的相应的认证码与认证码相同,则相应的节点为目的节点,源节点与目的节点建立共享会话密钥;
15.目的节点用于:生成假名身份信息,根据共享会话密钥、真实身份信息和所述假名身份信息生成路由响应信息包,将所述路由响应信息包按照路由请求时的相反节点路径进行返回;
16.与目的节点相邻的下一跳邻居节点用于:接收所述路由响应信息包,对路由响应信息包进行解密,获得目的节点的真实身份信息和假名身份信息,根据生成的下一跳邻居节点的假名身份信息和真实身份信息、目的节点的真实身份信息和假名身份信息获得更新后的响应信息包,将更新后的路由响应信息包发送至下下一跳邻居节点,下下一跳邻居节点重复下一跳邻居节点的操作,直到源节点接收到更新后的路由响应信息包,源节点与目的节点建立匿名通信路由路径;
17.源节点用于:生成最新假名身份信息,基于所述共享会话密钥、源节点的假名身份信息、源节点的最新假名身份信息、目的节点的假名身份信息生成数据包,基于匿名通信路径发送至目的节点;
18.下一跳邻居节点用于:接收到所述数据包,对所述数据包进行解密,获得源节点的假名身份信息和目的节点的假名身份信息,基于生成的下一跳邻居节点的最新假名身份信息、源节点的假名身份信息和目的节点的假名身份信息获得更新后的数据包,将更新后的
数据包继续发送至下下一跳邻居节点,下下一跳邻居节点重复下一跳邻居节点的操作,直到目的节点接收到更新后的数据包;
19.目的节点用于:基于所述共享会话密钥对所述数据包进行解密,获得相应数据。
20.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于双线性对的无线传感器网络匿名通信方法。
21.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述基于双线性对的无线传感器网络匿名通信方法的计算机程序。
22.本发明实施例中,基于路由请求信息包中的认证参数,源节点与目的节点建立共享会话密钥;基于路由响应信息包中的假名身份信息、共享会话密钥和路由请求时的相反节点路径,源节点与目的节点建立匿名通信路由路径;基于所述共享会话密钥和匿名通信路径,源节点和目的节点实现数据包的发送和接收。本发明不仅保证了节点的匿名性,且具有较小的计算开销和通信开销。
附图说明
23.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
24.图1为本发明实施例中基于双线性对的无线传感器网络匿名通信方法流程图;
25.图2为一种匿名通信方案网络拓扑结构;
26.图3为本发明实施例中节点通信能量开销示意图;
27.图4为本发明实施例中匿名通信方案与经典方案通信开销对比图;
28.图5为本发明实施例中匿名通信方案与经典方案匿名数据传输通信开销对比图。
具体实施方式
29.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
30.匿名通信技术是由chaum在mix-net密码系统中提出来的,后来研究者逐渐把匿名通信思想引入到无线网络中。一些研究学者利用洋葱路由和假名机制提出一种ad-hoc网络匿名路由协议,该匿名路由协议将数据包进行逐跳加密,使攻击者难以通过数据包追踪的方式推测出其源节点和目的节点,保证了源和目的节点的匿名性。但是该匿名通信协议在进行解密和认证的过程中,需要使用大量的公钥对数据包进行加密和解密操作,所造成的计算开销较大。
31.一些研究学者使用多播机制和分层加密技术,将所有中间节点的身份信息和会话密钥嵌入到路由请求信息中并对其进行加密处理,且只有所选择的邻居节点才能解密,确保发送节点和接收节点的匿名性。该方案在发送和接收数据包的过程中,同样使用了大量的公钥对数据包进行加密和解密操作,造成了较大的计算开销。
32.一些研究学者提出一种轻量级加解密匿名路由协议,该匿名路由协议使用一种不需要公钥基础设施的加解密算法来保障源节点和目的节点的匿名性。但是该协议需要每一个节点预存储一个比较大的哈希密钥表,网络中的每个节点依靠这个哈希密钥表生成会话密钥,在实施该方案的过程中同样需要较大的存储空间,且预存储的哈希密钥表给网络的扩展带来了一定的局限性。
33.一些研究学者针对无线自组织网络中路由没有解决匿名认证和密钥交换的问题,提出一种新的匿名路由协议。该协议在保证了源节点、目的节点和中间路由节点匿名性的同时,使用特定验证者签名技术对节点进行双重身份认证,解决了匿名节点认证的问题。但是,该方案的认证码中使用了公钥算法来进行数字签名,给节点造成了较大的能量开销。
34.一些研究学者针对ad-hoc网络匿名认证的问题,在为节点提供匿名性保护的时,同样使用了身份认证算法保证通信节点的合法性。但是非对称认证算法往往会导致节点消耗较大的能量,没有充分考虑到该协议在大规模环境下的可用性和稳定性等问题。
35.综上所述,无线传感器网络节点大多是资源受限的微型嵌入式设备,且其存储能力、计算能力和通信能力受到很大限制,一般来说,为网络中节点添加匿名机制的同时,也会产生一定的能耗开销,因此针对现有的匿名性相关研究存在的不足和匿名性安全需求,研究出一种轻量级匿名方案是解决无线传感器网络中匿名性问题的关键。
36.图1为本发明实施例中基于双线性对的无线传感器网络匿名通信方法流程图,如图1所示,该方法应用于无线传感器网络,无线传感器网络包括源节点、中间节点和目的节点,包括:
37.步骤101:源节点生成密钥材料和认证参数,根据所述密钥材料和认证参数生成路由请求信息包,将所述路由请求信息包发送至下一跳邻居节点;认证参数中包括认证码,所述认证码表明源节点与目的节点进行了匿名会话密钥协商认证;
38.步骤102:下一跳邻居节点接收所述路由请求信息包,根据所述路由请求信息包计算相应的认证码,若所述相应的认证码与认证码不同,则该下一跳邻居节点为中间节点,更新所述路由请求信息包,将更新后的路由请求信息包发送至下下一跳邻居节点,下下一跳邻居节点重复下一跳邻居节点的操作,直到相应节点计算得到的相应的认证码与认证码相同,则相应的节点为目的节点,源节点与目的节点建立共享会话密钥;
39.步骤103:目的节点生成假名身份信息,根据共享会话密钥、真实身份信息和所述假名身份信息生成路由响应信息包,将所述路由响应信息包按照路由请求时的相反节点路径进行返回;
40.步骤104:与目的节点相邻的下一跳邻居节点接收所述路由响应信息包,对路由响应信息包进行解密,获得目的节点的真实身份信息和假名身份信息,根据生成的下一跳邻居节点的假名身份信息和真实身份信息、目的节点的真实身份信息和假名身份信息获得更新后的响应信息包,将更新后的路由响应信息包发送至下下一跳邻居节点,下下一跳邻居节点重复下一跳邻居节点的操作,直到源节点接收到更新后的路由响应信息包,源节点与目的节点建立匿名通信路由路径;
41.步骤105:源节点生成最新假名身份信息,基于所述共享会话密钥、源节点的假名身份信息、源节点的最新假名身份信息、目的节点的假名身份信息生成数据包,基于匿名通信路径发送至目的节点;
42.步骤106:下一跳邻居节点接收到所述数据包,对所述数据包进行解密,获得源节点的假名身份信息和目的节点的假名身份信息,基于生成的下一跳邻居节点的最新假名身份信息、源节点的假名身份信息和目的节点的假名身份信息获得更新后的数据包,将更新后的数据包继续发送至下下一跳邻居节点,下下一跳邻居节点重复下一跳邻居节点的操作,直到目的节点接收到更新后的数据包;
43.步骤107:目的节点基于所述共享会话密钥对所述数据包进行解密,获得相应数据。
44.在本发明实施例中,在匿名通信方案部署之前(即在进行步骤101之前),需要由可信第三方为每个节点i分配一个身份标识idi并建立基于身份的公钥系统。令g1与g2均是q阶乘法循环群,q是一个大素数,建立双线性映射g1×
g2→
g2。密钥生成中心kgc(key generation center)随机选取一个参数作为系统密钥,其中表示模q的乘法群。系统密钥kc仅由密钥生成中心kgc保存,系统公开参数为仅由密钥生成中心kgc保存,系统公开参数为
45.为了方便描述,现将相关参数符号说明如表1所示:
46.表1相关符号说明
[0047][0048]
(1)匿名会话密钥协商:
[0049]
参与该匿名通信的节点有三种类型:即源节点、目的节点和中间节点。当网络中源节点n0要与目的节点nn进行安全数据通信时,由于它们之间既没有一条安全的匿名路由,也没有共享的会话密钥,因此必须协商出源和目的节点之间的共享密钥,并建立一条安全的匿名路由。其网络拓扑结构如图2所示。
[0050]
对于网络中的源节点n0,其身份信息为id0,密钥生成中心kgc计算出源节点n0的公钥pk0和私钥sk0,并将公私钥对安全地分发给源节点n0。
[0051]
公私钥对的计算如下:
[0052]
pk0=h1(id0)
ꢀꢀꢀ
(1)
[0053]
sk0=kc·
pk0ꢀꢀꢀ
(2)
[0054]
采用同样的方法计算目的节点nn的公私钥对为(pkn,skn)。源节点n0和目的节点nn的共享会话密钥sk
session
计算如下:
[0055]
1)源节点n0选择一个随机数r计算密钥材料r
·
pk0,同时选择目的节点nn的公钥pkn计算共享密钥并将密钥材料r
·
pk0发送出去。
[0056]
2)目的节点nn收到源节点n0发出的r
·
pk0后,计算共享密钥后,计算共享密钥则此时,由双线性对相关性质可知:
[0057][0058]
3)目的节点nn将会话密钥建立状态进行反馈,源节点n0收到反馈信息后确认自己生成会话密钥sk
session
=k
0,n
=k
n,0
的有效性。
[0059]
通过以上过程,源节点n0与目的节点nn建立了共享的会话密钥sk
session
,且它们皆未泄露自己的真实身份信息。
[0060]
(2)匿名身份认证:
[0061]
在无线传感器网络中节点进行匿名数据通信时,需要对接收到数据包的节点进行身份认证,以判断该接收节点是不是目的节点。源节点n0生成对目的节点nn的认证码hmac
0,n
和认证参数cert的计算如下:
[0062][0063][0064]
当网络中的任意节点ni收到数据包后,首先进行如下计算:
[0065][0066][0067]
其中,k
i,0
是节点ni生成的与源节点n0之间的共享密钥,hmac
i,0
是节点ni生成认证码。节点ni将hmac
i,0
与hmac
0,n
进行对比,若hmac
i,0
与hmac
0,n
相等,则可说明节点ni就是目的节点nn;若hmac
i,0
与hmac
0,n
不相等,则可说明节点ni不是目的节点,而是中间节点。
[0068]
在匿名通信方案部署之前,源节点n0和目的节点nn之间没有一条安全的匿名路由,利用(1)匿名会话密钥协商和(2)匿名身份认证,设计一种基于双线性对的无线传感器网络匿名通信方法,通过路由请求和路由响应的交互,生成会话密钥和一条匿名通信路径,使节点在传输数据的过程中实现匿名通信并对数据提供机密性保护。匿名路由方案包括路由请求、路由响应和数据传输,即步骤101-步骤107。
[0069]

路由请求阶段
[0070]
首先源节点n0按照(1)匿名会话密钥协商和(2)匿名身份认证计算密钥材料r
·
pk0和认证参数cert。
[0071]
源节点n0生成如下路由请求信息包req,并将其发送出去:
[0072][0073]
其中,seq为该路由请求信息包req序列号,在整个网络中,具有唯一性;r
·
pk0为源节点n0生成的密钥材料;cert为身份认证参数,用于对接收到该req包的节点进行身份认证;是源节点n0为其与下一跳邻居节点n1之间分配的对称密钥。
[0074]
节点n1收到req信息包后,首先通过查看seq来判断此节点是否接收过此req包。若节点已接收过此req包,则将其丢弃;否则记录源节点n0分配的对称密钥节点n1利用自身的私钥sk1和req包中的密钥材料r
·
pk0计算共享密钥k
1,0
和认证码hmac
1,0
,计算如下:
[0075][0076][0077]
节点n1将hmac
1,0
与认证参数cert中的hmac
0,n
进行对比,若hmac
1,0
与hmac
0,n
相等,则可说明节点n1就是目的节点nn;若hmac
1,0
与hmac
0,n
不相等,则可说明节点n1不是目的节点,而是中间节点。
[0078]
由(2)匿名身份认证可以得出,在网络中仅有节点nn计算的k
n,0
与k
0,n
相等,从而也仅有节点nn计算的认证码hmac
n,0
与hmac
0,n
相等。即由对比可知,hmac
1,0
与hmac
0,n
不相等,节点n1更新并转发路由请求信息包,其中更新后的路由请求信息包如下所示:
[0079][0080]
其中,是节点n1为其与下一跳邻居节点n2之间分配的对称密钥。
[0081]
节点n2收到路由请求信息包后,重复节点n1的操作步骤,直到节点nn收到路由请求信息包。
[0082]
节点nn收到路由请求信息包后,首先将上一跳邻居节点n
n-1
分配的对称密钥进行存储,然后利用私钥skn和密钥材料r
·
pk0计算共享密钥k
n,0
和认证码hmac
n,0
,计算如下:
[0083][0084][0085]
节点nn将所生成的hmac
n,0
与hmac
0,n
进行对比,以确认自己的合法身份。由(2)匿名身份认证可知,k
n,0
=k
0,n
,因此有,因此有即可证明节点nn的身份合法。目的节点nn用自己计算的共享密钥k
n,0
对认证参数cert中的进行解密,可得到源节点n0的身份信息id0和共享密钥k
0,n
。目的节点nn将自己所生成的共享密钥k
n,0
与源节点n0的共享密钥k
0,n
进行对比,以确认共享密钥k
n,0
的合法性。由(2)匿名身份认证可知,k
n,0
=k
0,n
,因此,目的节点nn已与源节点n0建立了共享会话密钥sk
session
=k
0,n
=k
n,0
。至此,路由请求阶段执行结束,目的节点nn开始执行路由响应操作。
[0086]

路由响应阶段
[0087]
在路由响应阶段,目的节点nn生成自己的假名身份信息pidn,并生成路由响应信息包rep,将该rep包沿着路由请求相反的路径进行返回,直到源节点n0收到此rep包。其中,目的节点nn生成的rep包为:
[0088][0089]
当路由上的节点n
n-1
接收到该rep包后,节点n
n-1
首先利用对称密钥对进行解密。则节点n
n-1
获得节点nn的真实身份信息idn和假名身份信息pidn。节点n
n-1
生成自己的假名身份信息pid
n-1
并更新自己的本地路由表信息,其中节点n
n-1
的本地
路由表信息如表2所示。
[0090]
表2节点n
n-1
的本地路由表信息
[0091][0092]
节点n
n-1
更新并转发路由响应信息包,其中更新后的路由响应信息包如下所示:
[0093][0094]
节点n
n-2
收到路由响应信息包后,重复节点n
n-1
的操作步骤,直到源节点n0收到此路由响应信息包,源节点与目的节点建立匿名通信路由路径。
[0095]
上述提到的假名身份是通过认证服务器将用户的真实身份通过加密运算得到,然后分发给用户,作为用户的另一个身份。一种是可以有可信第三方统一产生假名,一种用户根据自己的身份信息在客户端生成假名。
[0096]

数据传输阶段
[0097]
网络中的源节点n0和目的节点nn通过路由请求阶段和路由响应阶段之后,便生成了会话密钥和一条匿名通信路径。在数据传输阶段,节点使用路由表中的假名身份信息代替真实身份信息来进行匿名数据通信,并实时的更新路由表中的假名身份信息。当网络中源节点n0需要与目的节点nn进行匿名数据通信时,源节点n0生成如下数据包并通过匿名通信路径发送出去:
[0098][0099]
匿名路由路径上的节点n1收到data0数据包后,节点n1首先利用k
0,1
对加密的数据载荷进行解密,获得其上一跳节点n0的新假名pid
′0,节点n1生成自己的新假名pid
′1并更新自己的本地路由表信息。节点n1更新并转发接收到的数据包,其中节点n1更新后的数据包为:
[0100][0101]
节点n2收到data1数据包后,重复节点n1的操作步骤,直到目的节点nn收到此数据包。当目的节点nn收到数据包后,利用与源节点n0之间的会话密钥sk
session
对数据载荷进行解密以得到有效的数据信息。
[0102]
本发明实施例中还提供了一种基于双线性对的无线传感器网络匿名通信装置,包括源节点、中间节点和目的节点。由于该装置解决问题的原理与基于双线性对的无线传感器网络匿名通信装置方法相似,因此该装置的实施可以参见基于双线性对的无线传感器网络匿名通信装置方法的实施,重复之处不再赘述。
[0103]
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于双线性对的无线传感器网络匿名通信方法。
[0104]
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有
执行上述基于双线性对的无线传感器网络匿名通信方法的计算机程序。
[0105]
综上所述,本发明提出的方法具有如下有益效果。
[0106]
(1)匿名性分析
[0107]
(11)节点的匿名性
[0108]
该匿名通信方法可以有效的保证无线传感器网络中源节点、中间节点和目的节点的匿名性。在路由请求信息包中,源节点n0没有直接将与自己真实身份信息的公钥pk0作为密钥材料,而是将r
·
pk0作为密钥材料嵌入到路由请求信息包中进行发送,因此路由请求信息包没有暴露源节点n0的真实身份信息;当节点在进行身份认证时,因为所生成的认证码hmac
0,n
也没有直接将与节点身份信息相关的信息暴露,而是采用哈希函数和加密的方式对其进行处理,因此有效的保证了目的节点nn的匿名性。在路由响应信息包req中,没有直接使用与节点身份的信息,因此在路由响应阶段,没有暴露所有节点的真实身份信息。在匿名数据传输的过程中,每一跳数据报文都采用假名进行传输,有效的保证了中间路由节点的匿名性。
[0109]
(12)数据报文不可关联性
[0110]
在匿名通信方法部署过程中,不管是路由请求信息包req还是路由响应信息包rep,中间路由节点都会更新并转发收到的数据包,并且中间路由节点也只能从接收到的req数据包或者rep数据包中推测出其邻居节点,并不能推测出该数据包的真实源节点和目的节点的对应关系。在匿名数据传输过程中,网络中的节点使用各自产生的假名身份信息代替真实身份信息来进行安全数据通信,网络窃听者只能观察到网络中有许多数据包在传输,并不能推测出是哪些节点在发送和接收数据包。因此该匿名通信方法达到了网络中数据报文不可关联性的目的,即实现了通信关系的匿名。
[0111]
(2)安全性分析
[0112]
(21)双线性对求解困难。
[0113]
本发明所提出的匿名通信方法的安全性是建立在求解双线性对的相关困难问题的基础之上的。当攻击者捕获到了某一节点ni后,即使获得了该节点的公钥pki和私钥ski,但由于面临求解离散对数困难问题而无法获得系统密钥kc,因此攻击者不能获得该节点的会话密钥,对其它节点的安全性不造成威胁。
[0114]
(22)抗被动攻击。
[0115]
若窃听者捕获到某一节点ni的密钥材料r
·
pki,但由于其没有捕获到当前节点nj的私钥skj,因此该窃听者无法推测出有效的会话密钥sk
session
,也不能通过身份认证获取认证码hmac
0,n
中的隐私信息,伪装成网络中的合法节点。当网络中的节点进行数据通信时,它们之间使用各自产生的假名身份信息代替真实身份信息来进行匿名数据通信,窃听者从网络报文中分析不出发送数据报文的真正源节点、目的节点和中间路由节点。因此该方案可以抗被动攻击。
[0116]
(23)抗主动攻击。
[0117]
在本发明所提出的匿名通信协议中,传输的用于构建会话密钥的密钥材料r
·
pk0,并没有直接将与源节点身份信息相关的pk0进行传输,攻击者捕获到r
·
pk0之后,并不能推测出源节点的真实身份信息;在路由响应rrep信息包中,关于节点的真实身份信息和假名身份信息都使用在路由请求阶段分配的对称密钥进行加密传输,因此攻击者无法获得
与节点有关的有用信息。
[0118]
(3)计算开销分析
[0119]
对本发明所提出的匿名通信方案的计算开销进行分析,并且将其与经典匿名通信方案进行对比。为了方便性能评估,将本发明方案中各个阶段所采用密码算法的计算时延与其它方案在同一环境下进行对比,通过其计算时延大小来反映出时间复杂度和计算效率。在同一网络环境中,定义了几个计算参数如下:
[0120]
t
exp
表示模幂运算所需的平均计算时延;t
xor
表示异或运算所需的平均计算时延
[0121]
t
hash
表示哈希函数运算所需的平均计算时延;t
sym
表示对称加密/解密操作所需的平均计算时延;t
asym
表示非对称加密/解密操作所需的平均计算时延。
[0122]
其中,在利用洋葱路由和假名机制提出的一种ad-hoc网络匿名路由协议方案中,基于inter strong arm 206mhz cpu的ipaq3670 pocket pc平台下,各种密码体制计算时延如表3所示。
[0123]
表3各种密码体制计算时延对比表
[0124][0125]
此外,由于执行一个加法运算所需的计算时延大约需要0.4us,执行一个乘法运算所需的时延大约需要0.4us,因此将本方案与轻量级加解密匿名路由协议方案(简称a方案),使用多播机制和分层加密技术方案(简称b方案)和在保证了源节点、目的节点和中间路由节点匿名性的同时,使用特定验证者签名技术对节点进行双重身份认证的新的匿名路由协议方案(简称c方案)对比时暂时不考虑加法运算和乘法运算所产生的计算时延,其对比结果如表4所示。
[0126]
表4本发明与其他匿名通信方案计算时延对比
[0127]
[0128][0129]
注:n表示网络中节点的个数,且n≥3。
[0130]
根据表4中本发明匿名通信方案各个阶段与a方案,b方案和c方案各个阶段的计算时延详细对比结果和表3中给出的各种运算操作所产生的计算时延大小可以看出,本发明方案具有相对较小的计算时延。
[0131]
将本发明方案的匿名会话密钥协商和匿名身份认证进行理论分析计算可知,本发明方案单个节点进行一次会话密钥协商和身份认证的理论计算时延分别约为1.473ms和2.496ms,相比于a方案,b方案和c方案所产生的计算开销都要小。
[0132]
(4)通信开销分析
[0133]
在本发明的方案中,系统初始化、公私钥对的生成,节点真实身份id的分配等都在网络的安全管理中心和kgc密钥生成中心完成,因此其通信开销可以不考虑,本小节内容只讨论本发明中的匿名会话密钥协商、匿名身份认证、匿名路由的构建以及数据传输阶段假名的产生与更新阶段所产生的通信开销。根据本发明所采用的各种密码算法可得本发明方案各阶段通信报文的长度信息,具体如表5所示。
[0134]
表5各阶段通信报文长度信息
[0135][0136]
注:x表示被加密密文的数据长度。
[0137]
由上表可知,以生成一个会话密钥和对一个节点添加匿名属性为例,每个节点增加的通信开销约为195bytes的能耗。在匿名数据传输过程中,节点在采用本发明匿名通信方案下传输数据比未采用匿名通信方案传输数据增加的通信开销约为6bytes的能耗。在本发明的整体方案中,通信开销主要集中在路由请求阶段传输req数据包和路由响应阶段传输rep数据包,以及节点在进行匿名数据传输时所增加的通信开销。
[0138]
本发明将以无线传感器网络中常见的cc2530节点为例,分别对网络中节点在部署
匿名通信方法时产生的通信开销和匿名数据传输时产生的通信开销进行简单分析。当该类型的节点数据率为250kbps时,节点发送数据包的平均能耗为e
tx
=296nj/bit,节点接收数据包的平均能耗为e
tx
=324nj/bit。则在理想情况下,cc2530节点完成一次数据发送与接收所消耗的能量约为:
[0139]
e=l
tx
×
296nj/bit+l
rx
×
324nj/bit
ꢀꢀꢀ
(18)
[0140]
其中,e表示节点收发一次数据所消耗的总能耗,l
tx
表示节点完成一次数据发送时发送报文的长度,l
rx
表示节点完成一次数据接收时接收报文的长度。
[0141]
(41)匿名通信方法部署的通信开销
[0142]
网络中的节点在部署本发明方案时,通信开销由在路由请求阶段和路由响应阶段所发送和接收的通信报文产生。假设网络中节点的个数为n,节点的路由路径长度为l,每个节点有m个邻居。
[0143]
在本方案的匿名通信方法部署过程中,根据表5中给出的各阶段交互报文与报文信息长度信息可知,每个节点发送的req数据包的长度约为181bytes,接收的rep数据包的长度约为8bytes。则本方案中节点在匿名通信方法部署时所增加的通信报文长度约为(181lm+8l)bytes,其中l为节点的路由路径长度,m为每个节点的邻居个数。根据公式(18)可知,节点产生的通信开销约为(181lm
×
296+8l
×
324)nj。当网络中节点的路由路径长度l的取值范围为[1,10],节点的邻居节点m的取值范围为[1,30]时,由分析可知,节点的通信能量开销如图3所示。
[0144]
假如规定方案中每个节点的邻居节点个数m=1,将本方案与a方案,b方案和c方案匿名通信方案进行对比,其对比结果如图4所示。
[0145]
由图4可以看出,在同时实现了网络中源节点匿名、目的节点匿名和网络中通信关系匿名的情况下,部署本发明方案时所产生的通信开销比b方案要小,但是比a方案和c方案的方案要大。由对比可知,当网络中节点的邻居节点数目和路由路径数目相同时,本方案在部署过程中所产生的通信开销比a方案通信开销仅增加约12.47%,c方案通信开销仅增加约37.76%,但是由上述计算的开销对比可知,本方案在计算开销上比a方案和c方案在计算开销上都要小,且由于网络中匿名通信协议部署完后,其通信开销的产生主要在匿名数据传输阶段。因此,下面将本方案与a方案和c方案在匿名数据传输过程中所产生的通信开销进行对比。
[0146]
(42)匿名数据传输的通信开销
[0147]
匿名通信协议部署完后,当网络中的节点需要进行数据通信时,它们之间使用各自产生的假名身份信息代替真实身份信息来进行安全数据通信,并更新路由表中的假名身份信息。则节点在采用本发明匿名通信方案比未采用匿名通信方案时收发数据所增加的通信报文长度约为6lbytes。根据公式(18)知,节点产生的通信开销约为(6l
×
296+6l
×
324)nj。将本方案与a方案和c方案在匿名数据传输过程中所产生的通信开销进行对比,其对比结果如图5所示。由对比可以得出,本方案单个节点进行一次匿名数据发送与接收所增加的通信开销约为3.72
×
10-6
j,相比于a方案和c方案具有较小的通信开销。当网络中节点的邻居节点数目和路由路径数目相同时,随着匿名节点的路由路径长度逐渐增加,本发明方案的通信开销与a方案和c方案通信开销的差距逐渐增大,说明本发明的匿名通信隐私保护方案在网络中路由路径比较长的情况下更有优势。
[0148]
综上所述,本发明以双线性对及相关困难问题为基础,针对无线传感器网络的特点及匿名性安全需求设计一种匿名性强、开销较小的匿名通信方案。分析表明本发明方案不仅保证了源节点、中间节点和目的节点的匿名性,且相比于使用多播机制和分层加密技术的匿名通信方案、使用轻量级加解密匿名路由协议的匿名通信方案和新的匿名路由协议中的匿名通信方案具有较小的计算开销和通信开销。
[0149]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0150]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0151]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0152]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0153]
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1