APP下载

无线传感器网络中基于密码hash函数认证协议

2014-12-23王月娇孙达志

计算机工程与设计 2014年2期
关键词:攻击者密钥消息

王月娇,孙达志,2

(1.天津大学 计算机科学与技术学院,天津300072;2.中国科学院 信息工程研究所 信息安全国家重点实验室,北京100093)

0 引 言

无线传感器网络 (wireless sensor networks,WSN)是由传感器节点以Ad Hoc方式构成的无线网络,由于传感器节点大多部署在恶劣环境,所以很容易遭到攻击破坏。为了保障无线传感器网络的安全,需要设计一套完善的身份认证方案[1-5]。Zhou在2007年提出了基于椭圆曲线密码(elliptic curve cryptography,ECC)的认证协议[6],比基于RSA 的认证方法更高效,但由于时间戳的引用使其很难获得推广 应 用。Huang 在2009 年 提 出NACP 协 议[7],在ECC的基础上使用hash链进行认证,但不能实现双向认证且存在重放攻击和假冒攻击等问题。随后Kim 等人对NACP协议进行改进并提出ENACP 协议[8],实现了双向认证但仍不能抵抗假冒攻击。最近Lee等人提出了基于hash值的认证方法—PACPs协议[9],安全性有所提高却不能解决新节点加入网络等问题。

本文重点分析了无线传感器网络中基于密码hash函数的两类认证协议:基于hash链的认证协议ENACP 和基于hash值的认证协议PACPs。针对这两类协议的不足,提出新的改进双向认证协议,新协议在解决安全认证问题的同时增加了旧节点撤销机制,满足了无线传感器网络的实际需求。

1 预备知识

1.1 相关概念

hash链:产生hash链是连续使用哈希函数h 计算一系列hash值的过程。例如要产生长度为N 的hash链,先选择一个随机数r,然后计算h(r)、h2(r)…hN(r)。由于哈希函数的单向性,已知h(r)求r在计算上是不可能的。

椭圆曲线离散问题:令E 为阶是n 的有限域Fq上的椭圆曲线,P 为椭圆曲线上一点。已知Q =rP 求r 在计算上是不可能的。

1.2 全认证问题

无线传感器网络的安全通信主要指传感器节点之间的安全通信以及传感器节点与基站 (base station,BS)之间的安全通信。基站的能量和存储能力是不受限制的,它负责整个网络的运行,并且假设基站是绝对安全的。但由于传感器节点的配置环境一般比较恶劣,加之无线网络本身固有的脆弱性,因而极易受到各种攻击。

为了保证信息的安全传递,需要有一种机制来验证通信各方身份的合法性。因此必须建立一套综合考虑安全、效率和性能的传感器网络身份认证方案。为了防止攻击者注入非法信息或篡改数据,在节点认证身份的同时必须建立会话密钥。此外,安全认证还需要考虑不可信节点的被发现、旧节点的能量耗尽以及新节点的加入等情况。

1.3 符号说明

下面是文中协议所用的一些符号。

Ni:第i个传感器节点;

IDX:节点X 的标识;

ki/ai:节点Ni的密钥/随机数;

ks/as:BS的密钥/随机数;

h:哈希函数;

z:哈希链的长度;

Kij:节点Ni和Nj的会话密钥;

kAB:节点A 和B 的共享密钥;

AS:认证集;

HID:AS 中的一个索引;

R_D/R_A:旧节点撤销/新节点加入的标志。

2 相关协议

2.1 ENACP协议

对于ENACP 协议重点介绍初始化和认证与建立密钥阶段,细节可参照文献 [8]。

(1)初始化

假设在指定区域有r 个传感器节点。BS首先产生ks、as、z、h并计算hz(ks‖as)。然后为传感器节点产生r个密钥k1,k2…kr,r 个随机数a1、a2…as,并将ki、ai、z、h、hz(ks‖as)加载到节点Ni(1≦i≦r)中。最后BS计算并广播所有的hz(ki‖ai)以及与椭圆曲线相关的信息Eq、P、n。

(2)认证与建立密钥

传感器节点每次认证成功之后更新自己的hash链,假设Ni和Nj分别完成了u 次和v 次认证,则此时认证Ni和Nj的hash链的值分别为hz-u(ki‖ai)和hz-v(kj‖aj)。Ni和Nj之间认证与建立密钥过程如图1所示。

图1 ENACP协议证与建立密钥阶段

(3)新节点加入

当新节点Nr+1加入网络时,BS首先对Nr+1进行初始化,然后广播与Nr+1有关的hash链信息,最后广播自己的hash链。各节点收到广播检验消息无误后确认新节点并更新BS的hash链。

(4)hash链重定义

在认证过程中传感器节点的hash链长度会越来越短,如果Ni需要重新定义hash链则先向BS发出请求,BS确认请求后重置ai、hz(ki‖ai)并把相关信息广播给各节点。各节点收到广播确认BS身份后更新Ni和BS的hash链。

2.2 secPACP协议

secPACP协议和ePACP协议共同组成PACPs协议,其中ePACP协议只是对secPACP的存储进行了优化。下面以secPACP协议为例进行分析,具体内容可参照文献[9]。

(1)初始化

假设系统最初有N 个传感器节点,每个节点都有自己的密钥和认证集。BS首先为N 个传感器节点产生N 个密钥k1,k2…kN,然后为每个节点随机选择其它m (m<N)个节点组成认证集。例如对于节点X,BS 为它产生密钥kX,随机选择m 个节点的密钥为 {kYi},i∈{1,2…m}。则ASX= {(HIDi,h(IDX‖kYi)},其中HIDi代表kYi的所有者。最后BS将kX、ASX等信息加载到节点X 中。

(2)认证与建立密钥

假设传感器节点A 与B 是邻居,且ASA中含有(HIDB、h(IDA‖kB)),则A 可以向B 发起认证与建立会话密钥的通信,交互过程如图2所示。

(3)新节点加入

新节点NN+1加入到网络时,BS将h、kN+1、ASN+1等信息加载到NN+1中,对已存在的节点没有多余步骤。

图2 secPACP协议与建立密钥阶段

2.3 协议分析

(1)ENACP协议分析

文献 [9]指出ENACP协议对hash链的更新造成极大的通信量,而且协议是有状态的,这会产生数据不同步问题。文献 [10]指出ENACP协议在新节点加入与hash链重定义阶段存在假冒攻击。除了假冒攻击,攻击者在这两个阶段修改BS发出的Nr+1、Ni会造成新节点Nr+1、合法节点Ni不能被认证,所以协议也不能抵抗消息篡改攻击。

ENACP协议最严重的安全问题是在认证与建立密钥阶段仍存在假冒攻击。由于认证身份的hash值明文传输,使得攻击者能假冒通信的任何一方。攻击者先进行窃听,拦截hz-u-1(ki‖ai)中断当前认证。然后 冒充节点Ni产生随机数ti’并计算相应的Ai’、si’、zi’,重放消息hz-u-1(ki‖ai),这样节点Nj检验hz-u-1(ki‖ai)、zi’、si’都是正确的。最后Nj会错误的认为攻击者是节点Ni,并和攻击者共享会话密钥Kij’。

(2)secPACP协议分析

secPACP协议主要在效率和功能上存在问题。在认证与建立密钥阶段,协议一共使用4 条消息存在消息冗余。而数据发送所需电量占总电量很大比重,所以减少通信量对节省传感器节点的资源有很大意义。

在功能上,secPACP协议不能保障网络的连通性。协议要求节点之间进行通信的前提是认证集中包含对方的信息,但是在初始化阶段认证集中节点的随机选择会造成个别节点不能与任何节点进行通信。此外,协议的新节点加入阶段是无效的。作者指出在新节点加入阶段对已存在节点没有任何多余步骤,这样已存在节点的认证集中没有新节点的信息,新节点便不能与网络中原来的节点进行通信。

3 改进的新协议

3.1 协议过程

(1)初始化

假设系统最初有N 个传感器节点,BS首先产生传感器节点X 与BS的共享密钥kXS(1≦X ≦N),然后为X 产生与其它m (m<N)个节点的共享密钥kXYi,并与对应的IDYi一起 组 成 认 证 集ASX。即ASX= {(IDYi,kXYi),(BS,kXS)},其中i∈ {1,2…m}。最后BS 将ASX、h、椭圆曲线参数Eq、P、n 加载到X 中,并将 (IDX,kXYi)添加到ASYi中,保证共享密钥出现在成对的节点中。

(2)认证与建立密钥

图3所示为节点A 和B 的交互过程,具体步骤如下。

图3 新协议认证与建立密钥阶段

步骤1 A 产生随机数tA,计算TA,然后广播 {IDA,TA}。

步骤2 B 收到消息后产生随机数tB,计算TB、KAB、ZB并广播 {IDB,TB,ZB}。

步骤3 A 收到消息后计算KAB,检查ZB是否等于h (IDB‖TB‖KAB‖kAB)。如果ZB正确则确认B 的身份和会话密钥KAB,最后计算并广播ZA。否则丢弃消息,认证失败。

步骤4 节点B 收到消息后检查ZA是否等于h(IDA‖TA‖KAB‖kAB)。如果ZA正确则确认A 的身份及会话密钥KAB。否则丢弃消息,认证失败。

传感器节点与BS的认证与建立会话密钥过程与上述过程类似。将图3 中的B、IDB、kAB分别改为BS、BS、kAS即变成A 与BS的认证与建立密钥过程。

(3)旧节点撤销

传感器节点由于能量耗尽或被攻击者俘获等原因会变成无效甚至恶意的节点,撤销这些节点是实现安全认证必须要考虑的问题。当节点X 需要退出网络时,BS将撤销X的消息发送给所有与X 有共享密钥的节点Ni,然后再撤销X 在BS中的记录。图4所示为BS与节点Ni的交互过程。

步骤1 BS产生随机数tS,广播 {R_D,IDNi,tS}。

步骤2 Ni收到消息后产生随机数ti,用共享密钥kis加密 (R_D‖IDNi‖tS‖ti)得到Zi。然后发送 {IDNi,ti,Zi}。

步骤3 BS用kis对Zi解密并检查Zi的正确性,如果正确则计算并发送ZS。

图4 新协议旧节点撤销阶段

步骤4 Ni收到消息后用kis对ZS解密并检查其正确性。如果正确则认证BS并从ASi中删除 (IDX、kiX)。

(4)新节点加入

当新节点NN+1加入网络时,BS首先对它进行初始化,将ASN+1、h、Eq、P、n 等 信 息 加 载 到NN+1中。假 设(IDNi、ki(N+1))在ASN+1中,则BS与节点Ni的通信过程如图5所示。

图5 新协议新节点加入阶段

步骤1 BS产生随机数tS,广播 {R_A,IDNi,tS}。

步骤2 Ni收到消息后产生随机数ti,用共享密钥kis加密 (R_A‖IDNi‖tS‖ti)得到Zi,然后发送 {IDNi,ti,Zi}。

步骤3 BS用kis对Zi解密检查Zi的正确性,如果正确则计算并发送ZS。

步骤4 Ni收到消息后用kis对ZS解密并检查其正确性。如果正确则认证BS,添加(IDN+1、ki(N+1))到ASi中。

3.2 安全性分析

新协议实现了双向认证,利用随机数保证了消息的新鲜性;ZA、ZB等值的构造体现了消息的完整性;椭圆曲线离散问题保证了会话密钥的前向安全性;认证协议的实施过程为安全有效的访问控制提供了基础,下面具体说明新协议可以抵抗各种攻击。

抵抗被动攻击:在认证与建立密钥阶段,椭圆曲线离散问题使攻击者通过窃听不能获得tA、tB,hash函数的单向性使攻击者不能获取有关共享密钥和会话密钥的信息。在旧节点撤销和新节点加入阶段,认证消息通过密文传输也可以抵抗被动攻击。

抵抗重放攻击:协议的各阶段都产生随机数保证消息的新鲜性,认证信息包含在hash函数中没有以明文形式传送。因此攻击者重放之前的消息不能通过认证。

抵抗消息篡改攻击:协议中ZA、ZB等值的构造保证了消息的完整性,可以有效的防止攻击者对消息进行篡改。

抵抗假冒攻击:在认证与建立密钥阶段,协议使用含有共享密钥的hash值作为认证信息;在旧节点撤销和新节点加入阶段,认证消息经过共享密钥加密后传输。攻击者在不知道共享密钥的情况下不能进行假冒。

3.3 协议比较

下面主要从安全、效率、功能3个方面对协议进行比较,结果如表1、表2、表3所示。表1中×表示不存在此类攻击,○表示存在此类攻击。结果表明新协议和secPACP协议的安全性高于ENACP协议。

表1 安全性比较

效率比较的是存储量、计算量和通信量。以认证与建立密钥阶段为例,由表2 可知新协议只需2 次点乘、2 次hash计算、3条消息,效率明显优于其它两种协议。

表2 效率性比较

表3中√表示能够实现此功能,×表示不能实现此功能。结果表明新协议在保证网络连通性的同时能够有效实现认证与建立会话密钥,并且可以适应无线传感器网络的拓扑结构变化。

4 结束语

实现认证是保证无线传感器网络安全的关键。本文从无线传感器网络的实际需求出发,提出了一个安全、高效、实用的基于hash运算的认证协议。该协议解决了已有协议在安全、效率以及功能上的不足,具有很高的应用价值。但是由于对称加密的局限性,当节点被攻击者俘获且没有退出网络时,攻击者不但可以假冒被俘获的节点欺骗其它节点,还可以假冒其它节点欺骗被俘获的节点。如何解决节点俘获之后的假冒攻击,设计一个具有强安全的公钥认证协议是今后的研究方向。

表3 功能性比较

[1]Dwoskin J,Xu D,Huang J,et al.Secure key management architecture against sensor-node fabrication attacks [C]//Global Telecommunications Conference. IEEE, 2007:166-171.

[2]Karl H,Willig A.Protocols and architectures for wireless sensor networks[M].Wiley,2007.

[3]Du X,Xiao Y,Guizani M,et al.An effective key management scheme for heterogeneous sensor networks[J].Ad Hoc Networks,2007,5 (1):24-34.

[4]Xiao Y,Rayi V K,Sun B,et al.A survey of key management schemes in wireless sensor networks [J].Computer Communications,2007,30 (11):2314-2341.

[5]Liu A,Ning P.TinyECC:A configurable library for elliptic curve cryptography in wireless sensor networks[C]//International Conference on Information Processing in Sensor Networks.IEEE,2008:245-256.

[6]Zhou Y,Zhang Y,Fang Y.Access control in wireless sensor networks[J].Ad Hoc Networks,2007,5 (1):3-13.

[7]Huang H F.A novel access control protocol for secure sensor networks[J].Computer Standard and Interfaces,2009,31(2):272-276.

[8]Kim H S,Lee S W.Enhanced novel access control protocol over wireless sensor networks[J].IEEE Transactions on Consumer Electronics,2009,55 (2):492-498.

[9]Lee H,Shin K,Lee D H.PACPs:Practical access control protocols for wireless sensor networks[J].IEEE Transactions on Consumer Electronics,2012,58 (2):491-499.

[10]Zeng P,Choo K K R,Sun D Z.On the security of an enhanced novel access control protocol for wireless sensor networks [J].IEEE Transactions on Consumer Electronics,2010,56 (2):566-569.

猜你喜欢

攻击者密钥消息
基于微分博弈的追逃问题最优策略设计
密码系统中密钥的状态与保护*
一张图看5G消息
TPM 2.0密钥迁移协议研究
正面迎接批判
一种对称密钥的密钥管理方法及系统
有限次重复博弈下的网络攻击行为研究
消息
消息
消息