一种无线传感器网络中的实体认证方法

文档序号:7665151阅读:148来源:国知局
专利名称:一种无线传感器网络中的实体认证方法
技术领域
本发明涉及信息安全技术中传感器网络安全相关应用领域,尤其涉及一种传感器网络中的实体认证方案。

背景技术
无线传感器网络不存在基础设施,且所有的业务和配置均是动态的,缺乏基础设施的支持和比较容易遭受无线链路的攻击,安全保障就变得非常脆弱。网络面临以下安全问题 (1)网络拓扑和成员的动态变化由于节点的移动性或节点的随机与快速变化,移动网络的拓扑可能处在一种动态变化之中。这就强化了解决动态拓扑问题的安全方案。
(2)脆弱的无线链路像窃听、欺骗、拒绝服务(DoS)、冒充、伪造等被动和主动攻击均为无线链路的安全隐患。
(3)在危险的环境中漫游任何恶意节点都可能会攻击或剥夺其他节点提供的业务。
(4)特别是在路由攻击方式上,分为两种主要的攻击方式一种是来自外部攻击者行为,包括注入错的路由信息,或者重放旧的路由信息,或者歪曲路由协议;另一种是来自内部被破坏掉的节点,也是最具威胁性的一种攻击。这些被破坏掉的节点可能会向其他节点传播不正确的路由信息。检测这些错误的路由信息是很困难的。因为错误的原因可以使被破坏的节点发出的,也可以是由于网络拓扑变化而造成的,区分这两种情况不大容易。
为了让具有合法身份的用户加入到网络而有效的阻止非法用户的加入,确保无线传感器网络的外部安全,在无线传感器网络中必须采用实体认证机制,确定用户身份的合法性。
由于在无线传感器网络中需要大规模配置传感器节点,为了降低成本,传感器节点一般都是资源十分受限的系统,典型的传感器节点通常只有几兆或十几兆赫兹的处理能力,十几千字节的存储空间,带宽也十分有限,因此在经验上认为计算和存储开销较大的公钥密码算法不适用于WSN。而现有传统网络的实体认证机制主要都是基于公钥加密算法的(比如数字证书,数字签名等)。
基于公钥算法的实体认证机制具体可参考文献[1]基于RSA公钥算法的TinyPK实体认证方案(Watro R,Kong D,fen Cuti S,et al.TinyPKsecuring sensor networks with publickey technology[C].Proceedings of the 2nd ACM Workshop on Security of Ad Hoc and SensorNetworks(SASN’04),Washington,DC,USA,2004,59-64)、文献[2]基于公钥算法的强用户认证协议(Zinaida Benenson,Nils Gedicke,Ossi Raivio.Realizing Robust User Authenticationin Sensor Networks[C].Proceeding of the Workshop on Real-World Wireless Sensor Networks(REALWSN’05),Stockholm,Sweden,2005281-296)等公开文献。
该类实体认证由传感器节点执行RSA或ECC公钥算法的加密和验证签名,由能源充足的基站等设备执行解密和签名来完成认证过程。该方案虽采用公钥加密,相对解密而言降低能量消耗,但应用公钥算法使得协议本身就让节点能量消耗较大。同时,该方案还存在需要公钥基础设施且不能较好地防御拒绝服务攻击等不足。


发明内容
本发明的主要目的在于提供一种无线传感器网络中的实体认证方案,以对无线传感器网络中的节点身份进行认证,保证节点之间通信的安全。
本发明是针对无线传感器网络节点能量、计算和存储有限的特点,以及公开密钥算法和数字签名实施认证耗能多等不足,提出一种无线传感器网络的实体认证方案(Reputationand Trust Troop Based Authentication Scheme,RTTAS)。该方案利用节点声誉和信任组的思想,可获得有效的安全认证策略;通过引入对称密钥加密算法,避免了采用公开密钥算法实施数字签名计算量大的问题,有效地降低了认证的时延、增大了网络生存期。为了达到上述目的,本发明的技术方案是这样实现的 一、网络模型 无线传感器网络的节点是随机而稠密地分布在一个区域内,每个节点在网络中有唯一地址标识符,并且其发射功率为固定值,不同节点有不同或相同的发射功率。网络模型结构如图1所示。
网络由基站、汇聚节点和传感器节点组成,其中要求基站是绝对安全的,且能量可持续补充,发射功率较大可以覆盖所有汇聚节点;汇聚节点的能量足够完成整个网络生存寿命、存储和计算都优于传感器节点;传感器节点的地位是平等的。根据汇聚节点,把分布在区域内的传感器节点组成许多子网,各个子网内的传感器节点可与汇聚节点通信或相互通信,子网间通过汇聚节点相互通信。
为便于表述,作如下记号和定义 BS表示基站;Sink表示汇聚节点;每个Sink对应一个子网N,其网络规模为节点数n;A,B,C,D,E,F,G,S为传感器节点。
定义1网络中,当坏节点或失效节点数量达到一定阈值时,则称此时网络生命终止。把这时传感器节点的寿命定义为网络生命期。
定义2节点T申请加入网络到网络中第一个节点确认其合法性所用的时间称为认证时延。在上述定义下,某节点的认证时延与网络规模、认证方案密切相关。
定义3网络中,每一个节点都存储一个节点信任值列表。表中的每个节点都根据其可靠性设置了一个信任值。节点的信任值可以为-1(不可信任),0(忽略),1(最小),2(一般),3(良好),4(极好),其中,数字是信任值,“( )”中的词表示信任值的程度。只要节点的信任值≥2,就设置为“yes”,即“可信任的”,反之设置为“no”,即“不可信任的”。二方法流程 一种无线传感器网络中的实体认证方案,该方案包括 由于节点能量耗尽或受到攻击等原因,造成的部分节点退出网络或丢失,为了完成数据采集和传输任务,经常会有节点的加入。节点为了保证收集和融合的数据都来自合法的可信任的节点,因此必须认证数据源节点的是否可以信任。节点是否合法可信的认证需要经过节点信任值管理(信任值收集,信任值评价,信任值维护,信任监督),信任组构建,信任组更新。
其中,S源节点,D为目的节点,A,B,C,E,G,F为中间转发节点。网络新建立时,网络中的节点和新加入网络的节点的信任值都为4。
1节点信任值获得 1)信任值收集 当节点A认证另一节点B时,节点A首先检查它自己的信任列表。如果节点B在它的列表中,并且信任值为“yes”,那么B可信任;如果信任值为“no”,则B不可信。如果B不在A的信任列表中,A向它信任列表中所有可信任的节点发送一个对B的信任值请求。
如果列表中的可信任的某个节点不知道节点B,则此节点把A的请求转发给它自己信任列表中的节点。
因此,这是一个递归循环过程。最终这个信任值请求将到达某个知道节点B的信任值的节点,如节点C,向C发送此信任值请求的节点,如节点E的信任值列表中有C。节点C沿着信任值请求路径的反相路径发送给A一个信任值回复。
信任值回复中有节点B的信任值。当信任值回复到达节点E时,节点E把节点C的信任值放到信任值回复中,继续向A发送。节点A可能收到许多来自其它节点的信任值。接下来,节点A对节点的信任值进行评价。
2)信任值评价 评价过程允许A决定B能否可信任。处理接收到的数据并输出节点的信任值。B的信任值由以下公式计算 其中 n认证节点收到回复的数量 Rtruval(Nwa)待认证节点的信任值 Rtruval_rp(i)返回的第i个信任值。
Rtruval(i)返回信任值Rtruval_rp(i)的节点的信任值。
3)信任值维护 当A从C收到了关于B是信任值≥2的“yes”,但之后A发现自己被B欺骗了,A将B放入黑名单,并且A通知C将B放入黑名单中,C查询自己的信任列表,如果A可信任,则C将B放入黑名单,否则C不将B放入黑名单。
4)信任监督 节点的行为状态是不断变化的。可信任的节点可能一会儿就变成不可信任节点。监督网络节点的行为状态并及时调整它们的信任值很重要。网络中的每一个节点都时刻监督它的邻居节点。如果发现其邻居节点的行为异常,如丢弃数据包、连续发包10次。当判断节点是不可信节点,把它放到黑名单中,黑名单包含了不可信节点,即节点信任值小于2的节点号Node_ID和信任值Trust_Val,黑名单的结构如图5所示。
2信任组构建 如果两个节点互相信任,在传感器网络中,节点之间通信时仍然需要对路由信息包进行加密,以防节点受到攻击。当在实际情况下,节点之间必须存在互相信任的关系。因此,当某些节点之间存在信任关系时,它们就能建立一个信任组。每个节点中有一个信任组的节点列表,表的内容有信任组节点的总数Node_Num,节点Node_ID,节点信任值Trust_Val,表结构如图6所示。
3信任组更新 1)当信任组中的有节点的信任值降到2以下即有的节点变得不可信任,就应当更新信任组。
2)当信任组中的可信节点要与组外的节点通信时,网络中信任组中的节点将对此节点的信任值进行计算,当信任组外要通信的节点的信任值在2以上,则添加此新加入网络的节点到原有的信任组中,当信任组外要通信的节点的信任值在2以下,则信任组不更新,并将此新节点放入黑名单。
4节点间通信及密钥分发规则 (1)节点间通信规则 1)信任组中的节点间的通信的信息用对称密钥加密后传输,采用在信息包后加上消息认证码(MAC)的方式。
2)信任组内的节点不与信任组外的节点通信。
3)网络中的节点分为三种状态①当信任值在小于2时,信任组中的可信节点将不与其进行通信;②当节点的信任值大于等于2小于4时,信任组中的节点可将此节点归入信任组内,可以相互通信,信息采用在其消息结尾附上MAC加密;③当节点信任值等于4时直接传输信息,无需加密。
(2)密钥分发规则 每个传感器节点与BS共享一个密钥,每个传感器在这里BS可以作为密钥分发中心。BS保存和所有节点的共享密钥,如一个节点要和另一个节点通信,它需要向BS发出请求,然后BS产生会话密钥,并将其传给相应的节点。如图2所示当节点A想与节点B进行通信,A首先向基站发送请求信息,基站收到信息后生成会话密钥并用与A的共享密钥加密发送给A同时将会话密钥用与B的共享密钥加密发送给B,那么A与B就可以通过会话密钥建立起的安全通道进行通信。
从上述技术方案可以看出,本发明具有以下有益效果 1.利用节点声誉和信任组的思想,可获得有效的安全认证策略; 2.通过引入对称密钥加密算法,避免了采用公开密钥算法实施数字签名计算量大,而采用在消息尾部附上消息认证码(MAC)相比于公钥加密算法(例如RSA算法)有效的增大了网络生存期。
3.基站不需实时参与到认证操作中来,这使得RTTAS能够很好的支持大规模的无线传感器网络;认证方式是多点认证,安全强度并未降低 4.RTTAS还可以抵御以下攻击 1)Sybil攻击。攻击者在网络中其他节点面前扮演多个不同的身份来获得信息。协议中的信息收取方必须存储有发送方的密钥才能解密信息包并转发,攻击者即使得到信息包,也无法获取信息。
2)重放攻击和拒绝服务攻击(DOS)。从协议中可以发现,节点只接收那些消息鉴别码正确的认证请求,而由于外部不可信任节点不知道组密钥从而不能构造正确的消息鉴别码,因此这在很大程度上限制了不可信任节点想要发起重放攻击和拒绝服务攻击的可能。即使不可信任节点通过内部被捕获节点获取到了组密钥,它也只能间断的发起少数虚假认证请求,因为每次认证请求消息和发起认证的控制消息都首先需要检查该消息的时间戳time是否过期,以及是否被修改过,如果过期或已被修改,则丢弃该消息,并且不进行进一步的操作。
3)节点位置跟踪。攻击者可以通过截获移动节点的身份来对节点实施跟踪。节点的地址标识符对应唯一的密钥,攻击者欲得到节点的身份信息,需要得到BS存储的密钥,因此,只要BS不泄露密钥,攻击者就无法实施跟踪。



图1无线传感器网络子网组成模型 BS表示基站;ZN表示子网;

表示传感器节点;

表示汇聚节点;

表示无线链路;

表示子网边界线。
图2会话密钥的分配流程 (1)表示利用基站分发的密钥通信; (2)表示分发密钥信息; (3)回复密钥信息; (4)表示请求与B通信; (5)请求与D通信; BS表示基站; ○表示传感器节点; A,B,C,D表示四个不同的传感器节点; →表示单向通信链路; 表示双向通信链路;

表示传感器节点的区域。
图3传感器网络中节点的通信 ○表示传感器节点; A,B,C,D,E,F,G,S表示八个不同的传感器节点; 表示双向通信链路。
图4 RTTAS认证模型 图5黑名单结构图 Node_ID表示不可信任节点的节点号; Trust_Val表示不可信节点的信任值。
图6信任组的节点列表结构图 Node_Num表示节点总数; Node_ID表示可信任节点的节点号; Trust_Val表示节点的信任值。

具体实施例方式 下面结合实例对本发明作进一步说明 网络新建立时,网络中的节点信任值初始为4,对于新加入网络节点对于其邻居节点信任值为4。
1节点信任值获得 1)信任值收集 当节点A认证另一节点B时,节点A首先检查它自己的信任列表。如果节点B在它的列表中,并且信任值为“yes”,那么B可信任;如果信任值为“no”,则B不可信。如果B不在A的信任列表中,A向它信任列表中所有可信任的节点发送一个对B的信任值请求 RREQ={request,IDA,IDB,time‖K(MAC)} 其中time表示发包时间戳序列号用来抗重播。如果列表中的可信任的某个节点不知道节点B,则此节点把A的请求转发给它自己信任列表中的节点, RREQ={request,IDA,IDelse,time‖K(MAC) 因此,这是一个递归循环过程。最终这个信任值请求将到达某个知道节点B的信任值的节点,如节点C,向C发送此信任值请求的节点,如节点E,的信任值列表中有C。节点C延着信任值请求路径的反相路径发送给A一个信任值回复 RREP={response,IDC,IDA,time‖K(MAC) 信任值回复中有节点B的信任值。当信任值回复到达节点E时,节点E把节点C的信任值放到信任值回复中,继续向A发送。节点A可能收到许多来自其它节点的信任值。接下来,节点A对节点的信任值进行评价。
2)信任值评价 评价过程允许A决定B能否可信任。处理接收到的数据并输出节点的信任值。B的信任值由以下公式计算 其中 n认证节点收到回复的数量 Rtruval(Nwa)待认证节点的信任值 Rtruval_rp(i)返回的第i个信任值。
Rtruval(i)返回信任值Rtruval_rp(i)的节点的信任值。
假设节点C(信任值为3)是第一个把节点B的信任值(2.5)送回给节点A的节点,则Rtruval_rp(1)=2.5,Rtruval(1)=3。
计算得到B的信任值后,A就能决定B是否可信,设置一个“yes”或“no”并把B添加到它的信任列表中。
3)信任值维护 当A从C收到了关于B是信任值≥2的“yes”,但之后A发现自己被B欺骗了,A将B放入黑名单,并且A通知C将B放入黑名单中,C查询自己的信任列表,如果A可信任,则C将B放入黑名单,否则C不将B放入黑名单。
4)信任监督 节点的行为状态是不断变化的。可信任的节点可能一会儿就变成不可信任节点。监督网络节点的行为状态并及时调整它们的信任值很重要。网络中的每一个节点都时刻监督它的邻居节点。如果发现其邻居节点的行为异常,如丢弃数据包、连续发包10次等,应减少它的信任值。当节点的信任值在2值以下,则认为它是不可信任节点,并把它放到黑名单中。同时在网络中广播对称密钥算法加密的警告消息,通知其它节点已检测到此节点为不可信任节点。当其它节点收到警告消息后,检测这个警告消息源是否可信任。如果可信任,此节点则把此不可信任节点加入它自己的黑名单中。反之,丢弃此警告消息。
2信任组构建 如果两个节点互相信任,在传感器网络中,节点之间通信时仍然需要对路由信息包进行加密,以防节点受到攻击。当在实际情况下,节点之间必须存在互相信任的关系。因此,当某些节点之间存在信任关系时,它们就能建立一个信任组。
我们假设某些节点之间存在信任关系,并且信任关系具有传递特性。当一个节点与某些节点有信任关系时,则它们利用之间的信任关系形成一个信任组。如信任组内的一个节点要和另一个节点通信,它需要向基站发出请求,然后基站产生会话密钥,并将其传给相应的节点。为了满足信任组的需求,我们定义信任组成员之间的信任关系应该满足等价关系的要求。因为我们的方案中的信任关系有传递特性,如果某些节点的信任关系形成了一个双向连接图,这些节点就能形成一个信任组。
3信任组更新 1)当信任组中的有节点的信任值降到2值以下即有的节点变得不可信任,就应当更新信任组。当节点检测出信任组中的某些节点的信任值降低到2值以下,根据节点之间的信任关系具有传递特性,节点就可以向信任组内的其它节点广播警告消息,信任组进行更新,去除不可信任节点。
2)当信任组中的可信节点要与组外的节点通信时,网络中信任组中的节点将根据公式(1)对此节点的信任值进行计算,当信任组外要通信的节点的信任值在2以上,则添加此新加入网络的节点到原有的信任组中,当信任组外要通信的节点的信任值在2以下,则信任组不更新,并将此新节点放入黑名单。
4节点间通信及密钥分发方式 (1)节点间通信方式 1)信任组中的节点间的通信的信息用对称密钥加密后传输,采用在信息包后加上消息认证码(MAC)的方式。
2)信任组内的节点不与信任组外的节点通信。
3)网络中的节点分为三种状态①当信任值在小于2时,信任组中的可信节点将不与其进行通信;②当节点的信任值大于等于2小于4时,信任组中的节点可将此节点归入信任组内,可以相互通信,信息采用在其消息结尾附上MAC加密;③当节点信任值等于4时直接传输信息,无需加密。
(2)密钥分发方式 每个传感器节点与BS共享一个密钥,在这里BS可以作为密钥分发中心。BS保存和所有节点的共享密钥,如一个节点要和另一个节点通信,它需要向BS发出请求,然后BS产生会话密钥,并将其传给相应的节点。如图2所示当节点A想与节点B进行通信,A首先向基站发送请求信息,基站收到信息后生成会话密钥并用与A的共享密钥加密发送给A同时将会话密钥用与B的共享密钥加密发送给B,那么A与B就可以通过会话密钥建立起的安全通道进行通信。
权利要求
1.一种无线传感器网络中的实体认证方法,其特征在于将基站、汇聚节点和传感器节点组成网络,每个传感器节点与基站共享一个密钥,基站具有密钥分发功能;基站保存和所有节点的共享密钥,网络新建立时网络中的节点信任值初始为4,对于新加入网络的节点对邻居节点的信任值初始为4,当一个节点要和另一个节点通信,它需要向基站发出请求,基站产生会话密钥,并将其传给相应的节点;每一个汇聚节点或传感器都存储一个节点信任值列表,表中的每个节点都根据其可靠性设置了一个信任值,节点的信任值为-1是不可信任,0是忽略,1是最小,2是一般,3是良好,4是极好,节点的信任值≥2,为“yes”,即“可信任的”,反之设置为“no”,即“不可信任的”;
步骤一(a)信任值收集,当节点A认证另一节点B时,节点A首先检查它自己的信任列表,当节点B在它的列表中,并且信任值为“yes”,那么B可信任,当信任值为“no”,则B不可信,当B不在A的信任列表中,A向它信任列表中所有可信任的节点发送一个对B的信任值请求,当列表中的可信任的某个节点不知道节点B,则此节点把A的请求转发给它自己信任列表中的节点,如此循环,最终这个信任值请求到达某个知道节点B的信任值的节点,节点A会收到两个以上的其它节点的信任值,因此节点A对节点的信任值进行评价;
(b)信任值评价,评价由公式计算,其中n为认证节点收到回复的数量,Rtruval(Nwa)为待认证节点的信任值,Rturval_rp(i)为返回的第i个信任值,Rtruval(i)为返回信任值,Rtruval_rp(i)的节点的信任值;
(c)信任值维护,当A从C收到了关于B是信任值≥2的“yes”,但之后A发现自己被B欺骗了,A将B放入黑名单,并且A通知C将B放入黑名单中,C查询自己的信任列表,当A可信任,则C将B放入黑名单,否则C不将B放入黑名单;
(d)信任监督,网络中的每一个节点都时刻监督它的邻居节点,当发现其邻居节点的行为异常时,则将邻居节点的信任值减少0.1,丢弃数据包或连续发包10次为行为异常,当判断节点是不可信节点,把它放到黑名单中;
步骤二信任组构建,要求节点之间存在信任关系,并且信任关系具有传递特性,当节点之间有信任关系时,则它们利用之间的信任关系形成一个信任组,如信任组内的一个节点要和另一个节点通信,它需要向基站发出请求,然后基站产生会话密钥,并将其传给相应的节点,为了满足信任组的需求,要求信任关系有传递特性,一旦节点之间的信任关系形成了一个双向连接图,这些节点则形成一个信任组;
步骤三信任组更新,(a)当信任组中的有节点的信任值降到2值以下即有的节点变得不可信任,就应当更新信任组,根据节点之间的信任关系具有传递特性,节点就向组内的其它节点广播警告消息,信任组进行更新,去除不可信任节点;
(b)当有可信任节点要与网络中其它节点通信时,信任组中的节点将对此节点的信任值进行计算,可信节点根据公式计算出要通信的节点的信任值,其中n为认证节点收到回复的数量,Rtruval(Nwa)为待认证节点的信任值,Rtruval_rp(i)为返回的第i个信任值,Rtruval(i)为返回信任值,Rtruval_vp(i)的节点的信任值,当信任组外要通信的节点的信任值在2以上,则添加此新加入网络的节点到原有的信任组中,当信任组外要通信的节点的信任值在2以下,则信任组不更新,并将此新节点放入黑名单。
全文摘要
本发明提供了一种无线传感器网络中的实体认证方法,涉及信息安全技术中传感器网络安全相关应用领域。本发明以对无线传感器网络中的节点身份进行认证,保证节点之间通信的安全。节点是否合法可信的认证需要经过节点信任值管理,信任组构建,信任组更新,从而使节点中保存相关节点的信任值,在信息传输过程中,节点就可以根据信任值的大小来确定信息传输的方式和路径。该方法利用节点声誉和信任组的思想,可获得有效的安全认证策略,通过引入对称密钥加密算法,避免了采用公开密钥算法实施数字签名计算量大的问题,有效地降低了认证的时延、增大了网络生存期。
文档编号H04L29/06GK101159748SQ20071017729
公开日2008年4月9日 申请日期2007年11月14日 优先权日2007年11月14日
发明者周贤伟, 扬 杨, 王建萍, 明 李, 杨裕亮, 安建伟 申请人:北京科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1