摘要:本文提出一种基于密钥预分配的无线传感器网络安全加密方案。该方案在数据加密过程中引入计数器与消息认证码,充分满足传感器网络对机密性、真实性与完整性的核心安全需求。同时,针对传感器节点在计算能力、存储空间与通信带宽方面资源受限的实际情况,方案中的相关协议与算法设计得较为精简,完全规避了代价高昂的公钥运算,从而显著降低了计算开销、存储开销与通信开销,执行效率得到大幅提升。
关键词:无线传感器网络;加密;安全方案

先说几个核心判断。近年来,随着无线通信、集成电路、嵌入式计算以及微机电系统技术的飞速发展与日益成熟,具备感知、计算与通信能力的微型无线传感器开始在全球范围内涌现。这些传感器以低成本、低功耗、多功能为显著特点,同时具备无线通信、数据采集、信息处理及协同合作等能力。由它们构成的传感器网络,能够实时、协同地监测和采集分布区域内的各种环境或对象信息,经过处理得到详尽准确的数据,并传递给需要这些信息的用户。可以说,传感器网络[1]是信息感知与采集领域的一场技术革命,它能在任何时候、任何地点、任何环境下提供大量可靠信息,因此被广泛应用于军事斗争、国家安全、环境监测、交通管理、医疗卫生、制造业及反恐抗灾等多个领域。然而,由于传感器网络通常部署在恶劣环境、无人区域甚至敌方阵地中,再加上无线网络本身固有的脆弱性,其安全问题[2,3]正引发越来越多的关注。许多应用——比如军事目标监测与跟踪——在很大程度上依赖于网络的安全运行。一旦网络遭受攻击或破坏,后果可能相当严重。如何在节点计算速度、电源能量、通信能力和存储空间极为有限的前提下,设计并实现有效的安全机制,提供机密性保护与身份认证,防止各类恶意攻击,为传感器网络营造相对安全的工作环境,这就成了一个攸关其能否真正走向实用化的关键问题。
传感器网络的研究从上世纪90年代末期就已启动,但安全方面的成果近几年才陆续出现,各种安全方案[4~13]也在不断被提出。不过,由于传感器网络尚未被真正模型化和量化,相关安全方案目前仍停留在理论研究阶段,距离实际应用和形成公认标准还有相当长的路要走。本文的结构如下:第二部分阐述无线传感器网络的安全需求;第三部分详细描述消息加密方案的相关协议与算法;第四部分对方案的安全性与效率进行全面分析;最后是总结与结论。
二、无线传感器网络的安全需求
传感器网络的特点非常鲜明:通信能力有限、电源能量有限、计算速度和存储空间有限、节点部署密集以及网络拓扑灵活多变——这些都给安全方案设计带来了一系列挑战。一套完善的无线传感器网络解决方案至少应具备以下基本特征[2~4]:
机密性:传感器网络不得向其他网络泄露任何敏感信息,即便某个密钥不慎泄露,其影响范围也应尽可能小,避免一次泄露危及整个网络的安全。
真实性:节点身份认证或数据源认证在许多应用中至关重要。攻击者很容易向网络注入虚假信息,接收方只有通过数据源认证,才能确认消息确实来自正确的节点。
完整性:在通信过程中,数据完整性确保接收方收到的信息在传输中没有被篡改或替换。
新鲜性:为防止攻击者实施各种重放攻击,必须保证每条消息都是“新鲜”的——也就是说,发送方传给接收方的数据是在最近时间内生成的最新数据。
扩展性:传感器网络的可扩展性体现在节点数量、覆盖区域、生命周期、时延、感知精度等多个方面。因此,针对给定的可扩展性级别,安全方案必须提供相应的机制与算法来保障网络的良好运行状态。
可用性:解决方案所提供的各类服务必须能被授权用户正常使用,同时能有效防范非法攻击者试图中断网络服务的恶意行为。此外,安全设计本身不应对网络的可用性造成过多限制。
三、基本协议
协议中用到的符号说明:
- ← 表示在集合N中随机选取;
- H1和H2表示两个不同、碰撞自由的单向散列函数(如MD5和SHA-1);
- ‖ 表示字符串连接操作符;
- E(Ki, M)表示使用秘密密钥Ki对消息M进行加密;
- MAC(Ki, M)表示使用密钥Ki生成M的消息认证码。
1. 会话密钥建立协议
在传感器网络中,一个完整的会话密钥建立过程通常包含三个阶段:密钥预分发、单跳密钥发现和多跳密钥建立。
(1)基站产生n个密钥及其对应的标识符(ID),这些密钥与标识符构成一个密钥池P,即P = {(k1, ID1), (k2, ID2), ..., (kn, IDn)},其中ki是基站生成的密钥,IDi是对应的标识符。
(2)基站从n个密钥中随机选出r个密钥,构成节点A的密钥环RA,并将其加载到A的存储器中:RA = {(kA1, IDA1), (kA2, IDA2), ..., (kAr, IDAr)}。基站也会保存每个节点的密钥环信息(含r个密钥及其标识符)。
(3)节点A计算与基站共享的密钥KBA = H1(k1 ‖ IDA1 ‖ ... ‖ kAr ‖ IDB),并加载到存储器中(IDB表示基站的身份标识)。至此,密钥预分发阶段结束。这一阶段保证了簇内任意两个节点有概率在各自的密钥环上找到双方共享的会话密钥。
(4)传感器网络配置时,节点A被随机或特定地散布在感知区域内。簇形成后,它广播一条消息:A → *: (IDA1, ..., IDAr, LA),其中*表示节点A所在簇内的任意节点,LA是A的位置信息。
(5)收到这条消息的节点,会确认自己处于A的传输范围内(即同簇),然后遍历自己的密钥环,检查是否有与A广播的密钥标识符集相交的元素。假设节点C在其密钥环上发现与IDAC相交的标识符,那么C与A共享有对应的会话密钥KAC。于是C返回给A一条响应消息:C → A: E(KAC, IDAC ‖ IDC)。
(6)A用共享的会话密钥KAC解密响应消息,确认密钥环与C有交集。单跳密钥发现过程使节点能够通过广播找到簇内与其共享某个会话密钥的节点。该过程结束后,A会保存已建立共享关系的密钥,删除密钥环上的其余密钥。
(7)那些尚未与A建立共享密钥的节点,则通过以下步骤生成会话密钥。假设节点D在单跳密钥发现后仍未与A建立共享密钥,但它与C共享密钥KDC,而A与C也共享KAC。此时,A向C发送一条挑战信息A → C: E(KAC, KAD ‖ LA)(对C进行身份认证后,该信息包含A与D即将共享的密钥KAD及A的位置信息LA)。
(8)节点C解密消息,再用密钥KDC加密后转发给D:C → D: E(KDC, KAD ‖ LA)。
(9)节点D验证挑战消息的合法性,并向A发送响应信息:D → A: E(KAD, nonce ‖ LD),其中nonce是随机数,LD是D的位置信息。
(10)A使用共享密钥KAD解密响应消息,确认与D的密钥已成功建立。多跳密钥建立过程结束后,簇内任意两个节点之间都会拥有一个共享的会话密钥。
2. 消息加密协议
会话密钥建立后,任意两个节点即可按照消息加密协议进行安全通信。
(1)假设节点A需要与节点C进行通信,它首先计算加密密钥Ke和认证密钥Km:
Ke = H1(KAC ‖ counter),
Km = H2(KAC ‖ counter)。
其中,counter是单调递增的计数器。
(2)节点A使用加密密钥、认证密钥和计数器对消息M进行加密,发送的消息格式如下:
A → C: E(Ke, M ‖ counter) ‖ MAC(Km, E(Ke, M ‖ counter))。
(3)节点C收到消息后,根据共享密钥KAC重新计算Ke和Km,验证消息的合法性。
三、性能分析
1. 安全性分析
节点A与C在会话中使用共享密钥KAC对消息加密,节点C与D、D与A在建立会话密钥时也采取了类似的加密方法,使得攻击者无法获知传输内容,机密性因此得到保障。由于通信双方独享唯一的会话密钥,它具备类似数字签名的身份认证功能——接收者能通过数据源认证确认消息来自正确节点,从而确保消息的真实性。消息认证码要求将共享密钥和待检验的消息连接后进行散列运算,而散列函数的强无碰撞特性意味着对数据的任何细微改动都会显著影响消息认证码的值,这就能有效防止攻击者篡改截获的信息,保证消息的完整性。
该加密方案还将计数器信息包含在待加密消息中,共享密钥加密确保攻击者无法获取或篡改计数器内容,而计数器的信息又能让接收方确信收到的数据是最近生成的,即消息具有新鲜性。此外,会话过程不依赖基站参与,认证密钥和加密密钥由通信双方根据共享的会话密钥自主计算,这有效降低了基站的工作负荷,避免了基站成为网络通信的瓶颈,因而方案具有良好的可扩展性。通过引入认证密钥、加密密钥和计数器,方案同时具备了身份验证、消息保密和内容保鲜等功能,能够有效防范包括重放攻击在内的各种攻击,可用性也大大提高。
2. 效率分析
在设计加密方案时,充分考虑了节点计算速度、电源能量、通信能力和存储空间有限的现实情况。会话密钥建立协议和消息加密协议都设计得尽量简洁,通信各方需要传输的内容也尽可能地少。与此同时,通过科学的分簇方法,合理控制簇的规模,确保通信质量,减少因节点通信能力有限造成的会话失败概率。更重要的是,方案完全规避了代价昂贵的公钥运算,转而依靠对称密钥、散列算法和计数器来实现类似公钥基础设施的功能。通过减少不必要的会话步骤、简化计算方法,节点的工作负荷被有效降低,整个方案的计算、存储和通信开销都很小,执行效率得到显著提升。
四、结论
本文提出一种适用于传感器网络的加密方案。该方案无需基站参与,认证密钥和加密密钥由通信双方根据共享会话密钥自主计算,因而具备良好的可扩展性;方案在加密过程中使用了计数器和消息认证码,较好地满足了传感器网络的安全需求。同时,考虑到传感器节点在计算速度、电源能量、通信能力和存储空间方面的实际限制,方案中的相关协议与算法都设计得比较简单,并通过对称加密算法替代了代价昂贵的公钥算法,使得整个方案的开销很小,执行效率大幅提高。
参考文献
[2] Haowen Chan, Adrian Perrig. Security and Privacy in Sensor Networks. IEEE Computer, October 2003, 36 (10): 103~105.
[3] Adrian Perrig, John Stankovic, Da vid Wagner. Security in Wireless Sensor Networks. Communications of the ACM, June 2004, 47 (6): 53~57.
[5] G. Jolly, M.C. Kuscu, P. Kokate, M. Younis, et al. A Low-Energy Key Management Protocol for Wireless Sensor Network. In: Proceedings of the Eighth IEEE International Symposium on Computers and Communication (ISCC’03). Turkey: July 2003, volume 1: 335~340.
[7] Ashraf Wadaa, Stephan Olariu, Larry Wilson, et al. Scalable Cryptographic Key Management in Wireless Sensor Networks. In: Proceedings of the 24th International Conference on Distributed Computing Systems Workshops (ICDCSW’04). Tokyo: IEEE Computer Society, March 2004, pages 796~802.
[8] Wenliang Du, Jing Deng, Yunghsiang S. Han, et al. A Key Management Scheme for Wireless Sensor Networks Using Deploying Knowledge. In: Proceedings of INFOCOM 2004.
