APP下载

基于节点标识密钥预分配的无线传感网安全系统

2022-05-10丁慧洁蒋建峰

无线电工程 2022年5期
关键词:数据流传感密钥

丁慧洁,蒋建峰

(1.广东开放大学 人工智能学院,广东 广州 510091;2.南京邮电大学 计算机学院,江苏 南京 210023;3.苏州工业园区服务外包职业学院,江苏 苏州 215123)

0 引言

无线传感网(Wireless Sensor Network,WSN)是目前极为广泛并主流的网络形式。由于无线传感网由大量的节点组成,这些节点又会限制计算机的资源,当无线传感网部署在一个意想不到或是敌对的环境中时,会遭到不同类型的恶意攻击,所以其网络安全问题成为了一个重要的关注点[1-3]。目前无线传感网的安全问题多聚焦于传统的网络安全层面,包括应用系统、信息审计、通信加密、灾难恢复和安全扫描等多个安全组件问题;或是注重在组网技术、路由算法等安全机制方面。本文依托无线传感网在数据传输过程中涉及的节点、族等环节在节点管理模块、发送方处理模块、数据传输模块、接收方数据处理模块中对节点信息的生成、密钥的产生和密钥中加入水印技术的使用展开研究,通过对实际工业区无线传感网的相关数据采集,利用系统在IAR7.30环境中开发编译完成,而后在Chipcon公司的无线单片机CC2430/CC2431上进行仿真测试。

通过对无线传感网的结构及其安全模块的研究,分析出本系统的设计原理,利用水印技术与传感网数据互相符合为中心,且以很低的运算开销实现并适合传感网动态性的特点,还能容忍网内处理对数据内容的改动。采用基于时间戳的水印技术,能克服密码技术中加密的内容在解密之后缺乏有效的手段以保证其不被非法拷贝、恶意篡改等,从而实现对无线传感网传输数据的加密与解密,保障了传感网的安全。

由于无线传感网多数部署在有限、受控的环境中,很容易受到外界的攻击和破坏,加之目前无线传感网技术在网络的机密性、完整性及防攻击的措施上仍存在提升空间,所以无线传感网的安全同时对无线传感网的安全模块提出了更高的要求,本文在能力受限的传感网上,聚焦密钥预分配的主要问题:密钥的创建、分配的方式和节点存储对密钥的存储。在著名EG方案的基础上,提出了一种新的密钥管理和更新方案,此方案基于节点标识的无线传感网密钥预分配方案(Based on Identification-Node Key Pre-distribution Security System,BIKPS),即利用节点标识密钥预分配设计一个高安全又低开销的安全机制。

1 系统概述

无线传感网的网络结构有3种重要节点类型:传感器节点、中继节点和汇节点。传感器节点分布在一定的监控区域内,利用传感器将实时数据以数据包形式发送到中继节点;中继节点接收到数据包后形成数据流,继而以数据流形式发送至汇节点;最后由汇节点将整个实时数据融合并通过无线传感网传输。

本系统以此3种类型中的不同节点为研究对象,通过分配并管理密钥,再根据不同的节点类型,采用不同的加密策略,从而提高传感数据的真实性和可靠性。系统模块构成如图1所示。

图1 系统模块构成Fig.1 System module structure

因为传感器节点资源有限,计算能力差[4],当传感器节点发出监控数据时,节点会与数据形成一个感知数据流区域。由于无线传感器节点的脆弱特性,导致传输过程中,性能较差的节点会很快丢失数据或传输中断,所以传统网络的加密认证方法不适用于无线传感网。无线传感网对自身网络安全性能的特点要求是数据流本身不应该在传输过程中改变,此系统将可逆水印技术嵌入至节点中,利用接收端完成水印提取和数据恢复,当数据丢失或被黑客篡改时,接收器可以快速检测到被篡改的位置并在接收数据和验证数据时进行正确数据处理[5-6]。

1.1 分组方案

实时传感数据流是连续的并且数量庞大,例如,在测量温度时,每个传感器节点可以获取和传输2个或以1 min为单位的数据。基于“水印诞生”的理念将水印数据嵌入到数据中。当面对传感数据流,通过利用2个相邻的组[7-10]形成一个验证组,第1组是发电机组,负责生成水印序列,然后,水印序列被嵌入第2组——载体组中[8]。无论是生成水印还是嵌入水印,当实时传感数据被篡改时,接收端可以通过解码操作检测到恶意篡改[11-15]。另外,为了避免追踪器寻找出分组方式,本文采用了动态分组方法,由决定了同步的位置点,通过判断数据Si的哈希值来动态分组。在实施动态分组过程中,DAHDE使用MD5函数计算哈希值,同时利用任意形式数据的MD5值,其中长度十六进制时是32 bit,二进制时是128 bit。

1.2 密钥的产生与发送

① 在节点管理模块中,在节点部署之前,预先产生一个密钥池,节点分配的密钥就从这个密钥池中提取;

② 基于LEACH的分簇,确保簇首的能量和位置信息,然后设定节点标识等信息;

③ 根据节点信息,用不同的方式给簇内节点和簇头节点分配密钥,即为密钥的预分配,并根据分配到的密钥,建立安全的通信链路;

④ 在发送方采集传感数据,进行产生数据包、加密、嵌入水印等一系列操作;

⑤ 在接收方接收传感数据,检测数据是否遭到恶意攻击,解密、提取水印等一系列操作;

⑥ 对节点存储区中的数据进行融合等处理,通过选择不同的路由算法进行数据的传输与转发,选择路由的同时更新网络及节点的状态等。

1.3 水印的生成和嵌入

当生成器组生成水印时,对组内所有数据的MD5值取相同的固定长度进行异或运算;然后得到长度为d的水印序列,如w1,w2,…,wd。注意,这里选择的d值和起止位置也是预设的,和m的值一样,只有传感器节点和接收器知道,而跟踪器无法判断水印是怎么产生的,它是什么规则[12,16-17]。同时,将生成组中所有数据的平均值作为对应载波组的初始预测值s。

pe由载波组的第一个数据与s的差得到,然后将pe左移一位,并在其LSB上加水印w1。此时,嵌入水印后的pe′和s之和即为更新后的嵌入组的第一个数据。此外,s需要随着操作的进行而更新,并与当前数据平均得到一个新的s,这个新的设置是为了让预测值更接近真实数据[18]。

2 系统设计原理

所有节点按LEACH协议分簇,LEACH是一种自组织自适应的分簇协议,如图2所示能够通过分簇的方式有效地节约能量损耗,延长网络生存周期。

图2 节点分布图Fig.2 Node distribution map

2.1 密钥预分配

无线传感网主要用于近距离的节点间对等通信。在通信之前,对所有节点做密钥预处理,构建安全通信链路。

密钥管理被定义为在通信各方之间分发、维护和建立私钥的一组程序和技术,包括刷新或更新受感染节点的密钥,必须保持前向和后向保密。密钥管理方案应满足以下3个要求:安全性、效率和灵活性。密钥管理包括将多个密钥分发给节点,2个节点之间的密钥协议共享相同的秘密密钥,或者在某些节点妥协时生成密钥和密钥撤销。它还包括刷新密钥,在根据应用程序要求的特定时间间隔之后,网络的安全性至关重要,安全的网络密钥起着至关重要的作用。为了生成密钥,使用了许多数学模型,其中质数起着重要作用。对于无线传感网络,提出了许多概率密钥方案,以及对于大、中、小规模的网络,多少个密钥就足够了。

由于节点的特殊性,密钥预分配的主要问题是密钥的创建、分配的方式和节点存储对密钥的存储。在著名EG方案的基础上,提出了一种新的密钥管理和更新方案——BIKPS。

2.2 隐私和安全

无线传感网无处不在,设计为可从多个位置访问,允许任何用户或计算机连接。因此,其很容易受到未经授权的进入,保护和隐私成为任何新技术进步的主要问题和障碍。当大量互连设备构成网络时,这一点变得更加重要。拒绝服务、未经授权的进入和修改内容只是设备受到攻击和破坏的一些方式,使用当前可用的技术,无法强制执行适当的隐私保护机制。

传感器网络部署在一个大领域,可扩展性可能会根据应用和要求而有所不同。随着网络规模的扩大,分发和管理密钥并不容易,产生高密钥和安全分发需要新的改进和算法。对于数据分析,建议使用另一种称为无线传感器网络的方法,这些网络在将传感数据发送到分散的计算机进行分析之前交换有关传感器节点的信息。

从吞吐量和带宽组成的主要元素来衡量无线传感网程序的服务质量(QoS)。从连接到接口组件或环境传感器,或者对智能扬声器大喊大叫时,无线传感网产生了大量的统计数据。因此,提供 QoS 变得困难。共享 Wi-Fi 媒体中有用的资源分配和管理能力限制,确保了无线传感网络的安全。云计算中的QoS是一个不同的主要研究领域,随着物联网所需的事实和工具在云上变得可用,人们也会越来越关注无线传感网的QoS。

如果任何节点离开系统,它必须没有任何关于网络的信息可以透露,并且可以添加新节点而不提供有关先前网络状态的信息。新添加的节点必须在没有网络知识的情况下正常工作。

许多对象在物联网传感器网络中相互连接。在这种网络中,连接的保护和人工制品的安全都至关重要。避免所有相关对象未经授权访问网络至关重要。任何未经授权的数据访问都会导致数据损坏和系统停止正常工作。与基站相连的传感器网络中有许多相互连接的传感器,在这种网络中,需要保护所有连接和人工制品。密钥必须在间隔后或按要求刷新。

2.3 加密、解密与水印技术

考虑到节点能量的限制及CC2430芯片的特点,采用基于RC4的加解密方案。RC4是加密密钥长度可变的流加密算法簇,算法简单,速度约是DES加密的10倍,且具有很高级别的非线性。

水印技术与传感网以数据为中心的特点相符合,且能以很低的运算开销实现并适合于传感器网络动态性的特点,还能容忍网内处理对数据内容的改动。采用基于时间戳的水印技术,能克服密码技术中加密的内容在解密之后缺乏有效的手段,保证其不被非法拷贝、恶意篡改。

本系统采用基于时间戳的单水印技术,原理如下:发送方先用时间戳做密钥,加密方法采用类RC4’,再按照一定规则嵌入时间戳;接收方先按照一定规则提取时间戳,与发包时间对比,若相同,则还原数据包的内容,并准备下一次传送;否则直接丢包。

3 系统设计方案

整个系统在IAR7.30环境中开发编译完成,而后在Chipcon公司的无线单片机CC2430/CC2431上进行仿真测试。

通过研究无线传感网的结构及其安全模块,分析出本系统的设计原理,从而实现对无线传感网传感数据的加密与解密,保障了传感网的安全。

系统总体设计流程如图3所示。

图3 系统流程Fig.3 System flow

3.1 BIKPS 密钥预分配

在节点部署之前,先构造一个密钥池,根据分簇信息进行密钥预分配[5],建立密钥管理树实现对网络安全通信的密钥管理。按照网络层次进行分组,簇首为根节点,簇内成员为叶子节点,生成密钥池S为根节点的密钥管理树。

密钥池按照密钥组分配,簇首和簇内成员的密钥不同,这样每个节点可以选取密钥存入存储器负责数据加解密,簇内成员的数据通道由簇内密钥负责,簇首负责簇之间的数据通道。

3.2 安全通信链路的构建

簇内安全数据通道的建立以预分配共享密钥为基础进行数据的加解密[6],表示为:

(M)key->C,(C)key->M,

式中,M表示原文;C表示密文。

如果簇内成员之间没有找到共享密钥,则安全数据通道都必须经过簇首,其加解密过程为:

(M)key->C,(C)key->M,

(C)key->M,(M)key->C。

簇间节点的通信必须经由簇首完成,首先簇内节点与簇首建立安全数据通道将数据传送给簇首,簇头先对传来的信息解密,用时间戳作为密钥加密,再将密文与时间戳打乱,记录在CRC中后,把整个数据包传送给簇间节点所在簇的簇头,簇头提取时间戳并检测,若检测合格则将数据包解密,通过与节点的共享密钥加密后安全传送给节点,节点解密得到传送数据,整个传送过程都是安全的。其中簇头与簇头间的传送过程如下:

(M)Em->C,(C)Ex->M,

式中,Em表示时间戳嵌入算法;Ex表示时间戳提取算法。

3.3 节点的加入和退出

新加入的节点首先在密钥组内抽取预共享密钥存入存储器,新节点发送共享密钥ID到簇首,并且经由簇首广播到其他簇内成员,这样其他节点就能够与新节点建立安全数据通道。如果没有找到共享密钥,那么所有的安全数据通道都经由簇首完成建立。

节点退出时也由簇首广播其退出信息,簇首和其他簇内节点同时删除与新节点的共享密钥信息。

3.4 簇内加解密算法

在初始化过程中,密钥的主要功能是利用密钥将sBox搅乱,并保证sBox的每个元素都得到处理,且sBox的搅乱是随机的。sBox经过算法处理得到随机子密钥序列,并且经过子密钥运算得到密文。加密算法流程图如图4所示。

图4 加密流程Fig.4 Encryption flowchart

解密过程就是通过共享密钥将密文还原得到原文。由于算法加密采用的是异或运算,一旦子密钥序列出现了重复,密文就有可能被破解,其不足主要体现在无线网络中初始化向量不变性漏洞,所以在簇间通信时,采用嵌入水印的方案保证其安全性能。

3.5 嵌入/提取时间戳

嵌入时间戳的方法与数字水印的嵌入方法基本相同。时间戳嵌入过程包括:原始信息处理、选择数据内容、嵌入水印算法等,如图5所示。

图5 时间戳嵌入流程Fig.5 Timestamp embedding process

首先将时间戳转化为一个十六进制流,命名为输入时间流;将传感数据也转化为一个十六进制流,命名为输入数据流;将输出的含有敏感数据的数据流命名为输出数据流,则时间戳嵌入过程描述如下:若输入时间流当前位置的最低有效位是奇数,则将输入数据流的偶位与输入时间流交换,并依次添加到输出数据流中;若输入时间流当前位置的最低有效位是偶数,则将输入数据流的奇位与输入时间流交换,并依次添加到输出数据流中。

时间戳的提取过程与嵌入过程相反,分如下几个步骤进行水印的提取:选择数据、水印提取算法和水印验证等。将接收到的含有水印的数据流命名为输入数据流,将提取出的十六进制时间流命名为输出时间流,将输出的传感数据流命名为输出数据流。则时间戳提取过程描述如下:首先从数据包中取出时间戳,经十六进制数转换后,存入阈值。根据阈值的最低有效位的奇偶性,从输入数据流中提取时间戳,同时添加到输出时间流中。如果输出时间流与阈值相等则解密,并添加到输出数据流中;否则,说明数据包已被篡改,直接丢弃该包。最后,将输出数据流转换为传感数据。时间戳提取流程如图6所示。

图6 时间戳提取流程Fig.6 Timestamp extraction process

4 系统实现及结果分析

系统的开发编译是基于IAR 7.30平台实现的。根据节点是簇内节点还是簇头节点,编写不同的发送接收模块。各个模块成功编译后,经过物理地址烧写,将代码下载到CC2430/CC2431芯片中。

4.1 系统演示

程序成功下载后,便可开始仿真测试。作为简单演示,只设置了3个节点,分别与传输模块TX、接收模块RX和簇间传输模块RX_TX相对应,系统演示如图7。

图7 系统演示图Fig.7 System demo diagram

从左到右依次为传输TX节点11,簇头RX节点10,簇头RX_TX节点20。左边2个的通信属于簇内节点间的通信,右边2个的通信属于簇头节点间的通信。

传输过程:节点11将采集到的数据,经类RC4加密后传输给节点10,节点10对收到的传感信息做CRC校验,若不正确,则丢包;否则解密,并准备簇头间的传输。根据簇头间的通信原理,节点10将传感信息加密后嵌入水印,然后发送给节点20;节点20从收到的传感信息中提取水印,若水印正确,则准备下一下传输;否则丢包。

簇内节点的通信如图7中左边2个节点所示,第1个与第2个节点间的数据传输,而第3个节点等待第2个节点的数据,处于等待状态。在第2个节点的液晶屏上,第1行显示接收,标志节点处于接收状态,第2行显示经发送节点加密后的密文,第3行是根据簇内节点间的加密原理,对密文进行解密并显示,第4行显示的是加密/解密密钥。

簇头节点间的通信中,第2个节点与第3个节点间进行数据传输。从演示过程中可以看到,2块液晶屏的第1行都显示为Cluster Trams,标志着这2个节点属于簇头间通信。第2块液晶屏上显示的是采集到的数据、密文和嵌入的时间戳等。第3块液晶屏上显示的是密文、原文和提取的时间戳等。

从演示结果可以看出,无论是簇内节点还是簇间节点的通信,加密解密的策略都是正确的,而且因时间戳的动态变化,簇间的安全策略在一定程度上比簇内的高,开销也不会很大,符合传感器网络设计的要求。

4.2 仿真结果分析

收集并统计模拟仿真过程中的相关数据,如表1所示。第1列是采集到的白天的光照强度,此参数可预设为能量供给数值,第2列是原来的RC4算法,第3列是改进后的RC4’算法,第4列是时间戳嵌入,最后一列是当时的时间戳。

表1 仿真数据截图Tab.1 Screenshot of simulation data

基于IAR 7.30平台,通过采集白天的光照强度作为能量供给,单位是J,收集并统计模拟仿真过程中的相关数据加密后,无论是簇头或簇内,经过预处理,都变为十六进制,提高传感节点的通信量和节点的利用率。在场景中,初始能量都是2 J的前提下,在能量影响因子和距离影响因子不同的参数的情况下,总共运行10次结果取平均值,吞吐量数据如图8所示。

图8 网络吞吐量Fig.8 Network throughput

从仿真数据图中,看到原RC4算法加密后的数据有一定的规律,而改进后的RC4算法的安全性明显比原来的高。每次测试随机选取10 000个传感器节点感知数据,以篡改率为10%的方式篡改原始数据,即共有1 000个原始数据被篡改。当嵌入水印的感知数据被传送到簇首节点之后,簇首节点根据算法提取水印并且验证,若数据被篡改,簇首节点判定数据被恶意破坏且丢弃数据包,图9是重复10次实验的仿真结果。

图9 数据丢包率Fig.9 Data packet loss rate

单水印技术能防止数据被篡改,但是数据内容对外是可见的,所以在簇间通信的方案中,采用时间戳以减少信息外泄的机率,提高传感信息的机密性和安全性。节点生存时间如图10所示,采用时间戳执行到300 s后才开始有节点死亡,并且在网络运行900 s时还有生存的节点,而未改进的LEACH协议在200 s时就出现了节点死亡的现象,由于分簇不均衡的原因导致网络在400 s后就消亡了,证明时间戳能够有效地延长网络地生存时间。

图10 节点生存时间Fig.10 Node lifetime

5 结束语

虽然无线传感网的应用领域较为广泛,但是目前仍然面临很多安全问题,通过本次相关仿真数据测试,比如当传感器节点能量无法充足供给时,无线通信信号极易受到干扰,无法体现其他网络形式的健壮性,为此展开研究力争采取有效的应对措施。同时密钥管理也是无线传感网应对安全问题时常用的一种安全机制,其技术核心在加密技术也有所涉及,目前也一直是本领域的一个研究热点。本文主要实现了无线传感网的安全控制模块的设计,重点旨在提高节点的利用率,降低网络开销的基础上设计出安全性较高的传输系统。

本文采用的是基于时间戳的单水印技术,根据最新的文献研究,针对无线传感网的数据安全问题,提出了一种适用于无线传感网的数字水印技术,将水印信息嵌入到节点采集的数据中进行发送,并在数据融合的过程中保留这种信息,接收方节点通过验证水印信息来判断数据的可靠性,一旦检测到了水印信息则进行存储和转发,使水印信息的数据不被丢弃。基于节点标识的无线传感网系统的设计及程序模拟仿真测试,正是为后续水印信息在数据抽样和汇总中不被破坏的可行性提供有效的实验数据。

猜你喜欢

数据流传感密钥
《传感技术学报》期刊征订
新型无酶便携式传感平台 两秒内测出果蔬农药残留
优先级驱动的泛化航电网络实时性能分析
幻中邂逅之金色密钥
幻中邂逅之金色密钥
汽车维修数据流基础(上)
汽车维修数据流基础(下)
数据流安全查询技术综述
Android密钥库简析
硅硼掺杂碳点的制备及其在血红蛋白传感中的应用