无线传感器网络(Wireless-Sensor-Network,WSN)由部署在监测区域内大量的廉价微型传感器节点组成,通过无线通信方式形成的一个多跳的自组织的网络系统,其目的是协作地感知、采集和处理网络覆盖区域中感知对象的信息,并发送给观察者。无线传感器网络的研究起步于20世纪90年代末期。从21世纪开始,无线传感器网络引起了学术界、军界和工业界的极大关注,美国和欧洲相继启动了许多关于无线传感器网络的研究计划。特别是美国通过国家自然基金委、国防部等多种渠道投入巨资支持传感器网络的研究。传感器技术、微机电系统、现代网络和无线通信等技术的进步,推动了具有现代意义的无线传感器网络的产生和发展。无线传感器网络是一种“无处不在”的传感技术,它可以使用户更加深入地了解和把握周围的世界。具有随机布设、自组织、环境适应等特点,因此在军事、环境、医疗、家庭和其他商用领域有着广阔的应用前景和很高的应用价值。
随着相关技术的进步,无线传感网络的应用面越来越广,随之而来的是在不同场合中对数据安全的要求也越来越高。由于无线传感网络本身拓扑结构的特殊性和网络节点构造的限制,应用于普通互联网络的对称和非对称数据加密方法已无法满足无线传感网络数据安全的要求。需要根据网络特点,选择新的数据加密方法,以实现网络的安全。
1 无线传感网络安全现状
无线传感网络的节点主要由传感模块、运算处理模块、无线传输模块和电源模块4部分组成。工作时将大量传感器的节点分布于感兴趣的区域,节点通过自组织方式快速形成一个无线网络。每个节点都有自己控制的一个区域,通过感知设备,如温度、湿度、声音或光学设备,化学分析装置,电磁感应装置等,对周围的物理环境进行监控,也可以通过配置一些专用的功能单元来实现与特定环境交互的功能。无线传感器节点采用电池供电,由于受到体积、价格等因素的影响,电池的容量一般不是很大。传感器节点个数多,成本要求低廉,分布区域广,部署区域环境复杂,有些区域甚至人员不能达到,通过更换电池的方式来补充传感器节点能源是不现实的。因此在传感器网络设计过程中,任何技术和协议的使用都要以节能为前提,设计有效的节能策略,延长网络的生命周期已成为无线传感器网络的核心问题。网络传输加密也必须采取节能的数据加密方法。
无线传感器网络系统具有严格的资源限制,需要设计低开销的通信协议,但同时会带来严重的安全问题。一方面,入侵者可以比较容易地进行服务拒绝攻击;另一方面,无线传感器网络系统的资源严格受限,以及节点间自组织协调工作的特点,使其难以实现严密的安全防护。由于低成本的限制,一些无线传感器网络系统只能采用单频率通信机制。入侵者通过频率扫描的手段就可以很容易地捕获无线传感器网络的工作频率,通过在网络中植入伪装节点,采用各种手段发动攻击。
目前常用的安全策略是使用时变密钥加密的方法对无线传感网络的信息进行加密。时变加密就是连续的广播信息单元在传输之前,使用一个从密钥串中按一定的算法选取不同的密钥对需要传输的信息单元进行加密。网络中的传感节点在不同的信息单元和不同的时间拥有的密钥不同,通过使用单向的哈希算法生成一系列的密码,一个根密码值通过反复的哈希计算产生一系列的密钥,密钥系列以反向的顺序用来对连续的数据包进行加密,这种方法可以产生加密机制。接收器可以通过对接收的密码进行哈希计算,将计算的结果同老的密码进行比较,如果与旧密码相同,则密钥有效,否则密钥失效。这种机制保证密码确实来自同一个源,单向的哈希算法保证接收器可以使用下一个密钥,但不能伪造密钥。工作原理如图1所示。
当无线传感网络的节点分布时,通过静态输入或者通过密钥管理模式对每个节点初始化密钥,每一个节点都有相同的初始密钥,在传输过程中,数据包使用根密钥进行加密,下一个密钥同数据包一同传输;接收器使用根密钥对数据包进行解码,并将密钥的哈希算法值与旧密钥进行比较,如果相同就将新密钥替换旧密钥,作为下一次数据包解码的密钥。这样的密钥解密使用的是对称加密的方法,运算的强度大大小于非对称加密算法。但由于密钥的不固定性,使监听和破译的难度加大,因此可以很好地满足无线开放数据传输同时要求低耗能的要求。
2 安全方案的改进
在传感器网络中,由于受环境噪声、地面和建筑物的反射、多普勒效应和多径等多种衰变效应的影响,传感器信号通过无线信道传输的过程中很容易发生错误,使接收端接收到错误的信息。并且在无线传感器网络某些特殊的应用环境,必须保证数据传输的可靠性。同时时变加密方法也存在明显的缺点,由于密钥的连续性,要求每一次接收器都能够收到正确密钥,才能够完成数据解密和更新密钥。如果一个合法的接收器由于传输中的干扰而收到了错误的密钥数据或者暂时的无法连接而失去了密钥的更新操作。那么它就无法继续解密数据和更新密钥,节点将与整个网络失去了联系。
通过增大发送端的输出功率可以提高数据传输的可靠性,但同时也提高了无线传感网络节点的能源功耗,这样就减少了节点的使用寿命。如果通过编码方式提高数据传输的可靠性,随着纠错位数的增加,编码的长度会大大增加,数据包的编码处理和解码处理同样需要增加节点的能耗。只有在对可靠性要求较高时,才可以考虑这种方案。但是通过对数据传输采用差错补救控制,在无需太多增加编码复杂程度的条件下,可以将数据传输错误造成的损失降到最低。
通过研究,知道节点间传输数据包的数据分为2部分,一部分为业务数据,一部分为密钥数据。业务数据传输中出现一次错误,可以放弃这一数据,不会影响传输节点的工作,但是如果密钥数据出现错误,节点就会失去下一次解密的密钥,结点就会与整个网络失去联系。因此可以在传输数据包中,通过增加再后一次解密的密钥 Ki+1字节,使接收节点在开始数据传输后始终保证拥有本次解密的K值和下一次解密的Ki+1值,当本次数据传输发送错误后,可以丢弃本次数据包,等待下一数据包成功收到后直接使用密钥Ki+1进行解密,减少一次数据包错误造成节点失去和源节点联系的可能性,降低节点对单一密钥的依赖,改进的编码原理如图 2所示。
3 结语
通过增加1次密钥的方法可以增强时变加密方法的薄弱环节,减少接收节点对一次密钥的依赖。并可通过此种方式进行扩展,增加Ki+2字节,使接收节点同时拥有第2次解密的密钥,这样就可以防止2次数据包错误对节点的影响。在不增加传输数据字节和编码耗费的情况下,达到节点安全工作的目的。由于随机错误连续出现大概率大大低于1次出现的概率,因此这种方案可改善无线传感网络节点的数据传输安全和节点连接的可靠性。