APP下载

应用可逆数字水印的无线传感器网络层级安全模型*

2021-11-25蒋建峰尤澜涛

传感器与微系统 2021年11期
关键词:数字水印差值信任

蒋建峰, 尤澜涛

(1.南京邮电大学 计算机学院,江苏 南京 210000; 2.苏州大学 计算机学院,江苏 苏州 215123)

0 引 言

分簇机制[1~3]能够很好地解决无线传感器网络(wireless sensor networks,WSNs)能量消耗过快的问题[4],典型的分簇算法未能解决簇头能量负担重的问题,且没有身份认证[5,6],如刘伟等人提出了数字水印节点的认证安全技术[7],但使用典型的路由协议LEACH分簇,导致分簇不平衡,簇首节点能量消耗过快导致簇首过早死亡的情况。

针对以上的问题,本文提出了基于可逆数字水印技术的层次型传感网络安全模型,初始布置的无线传感网络,使用典型的分簇算法LEACH协议进行分簇,成员通过可逆数字水印技术嵌入水印,簇首节点负责水印提取,并且负责簇内数据的融合交由汇聚(sink)节点,重新分簇过程中充分考虑节点剩余能量、位置信息以及信任因子值等因素,优化分簇过程,力求在保障网络安全的前提下极力提升网络性能,延长网络生命周期。

1 可逆数字水印算法

本文设计的可逆数字水印算法基于像素矢量差值,其嵌入容量高并且计算效率高,簇内成员通过密钥和水印算法在感知数据中嵌入水印,簇首节点通过水印提取算法进行数据完整性验证。无线传感网节点感知数据流定义为D={d1,d2,…,di},其中i表示传感节点工作时间周期,di表示第i个工作周期节点所采集到的数据集,时间集合定位为T={t1,t2,…,ti},ti表示第i个工作周期采集数据所花的时间,定义di={a1,a2,…,aj},aj表示第i个工作周期采集到数据的字段值。

1.1 水印生成

水印信息生成依托于原始感知数据D,用Hash算法MD5表示密钥信息K,可以将任意长度的数据转换成一个固定长度的值。通过单向Hash算法对感知数据流中每个数据进行Hash运算,生成一个水印信息集H={h1,h2…,hi},其中hi=Hash(K,di,ti),K表示密钥,只有收发的双方知晓,由此保证Hash值的安全性,水印信息W的计算法方法如式(1)所示,水印长度为i-1

W=Wi-1,Wi-2,…,W2,W1=groupXOR(hk),

k∈(1,i)

(1)

1.2 水印嵌入算法

水印的嵌入基于像素矢量差值,通过式(2)计算差值如下

Zj=diaj-d1aj

(2)

将计算所得差值转换为二进制之后左移1位,从计算的水印W中去对应j位置的二进制数值嵌入在差值空出位置,这样可以保证相邻周期同类型的数据差值很小,差值的位移不会导致数据溢出,嵌入水印后的数据记作D′,水印生成及其嵌入感知数据的算法描述如下:

输入:感知数据D,密钥K

1)fori=0 tondo

2)hi=Hash(K,di,ti)

3)end for

4)W=Wi-1,Wi-2,…,W2,W1=groupXOR(hk),k∈(1,i)

5)forj=0 tomdo

7)fori=0 tondo

8)Zj=diaj-d1aj∥计算差值

9)Z′j=2×Zj+W[j]∥二进制左移,嵌入水印

11)F′j=Fj+Z′j

12)end for

13)end for

输出:嵌入水印数据D′,数据通信

1.3 水印提取算法

当簇首节点接收数据之后,开始水印提取与数据恢复操作,通过数据D′计算均值和差值,然后从差值的最低有效位提取水印信息W1,在嵌入水印的过程中,水印是差值左移1位之后嵌入,所以提取水印之后需要将差值右移1位还原,然后通过水印嵌入算法对恢复的原始数据重新计算生成水印信息W2,通过比较W1与W2是否一样来判断数据的完整性,水印提取算法描述如下:

输入:嵌入水印数据D′,密钥K

1)forj=0 tomdo

2)fori=0 tondo

8)diaj=d1aj+Zj

9)end for

10)end for

11)fori=0 tondo

12)hi=Hash(K,di,ti)

13)end for

14)W2=Wi-1,Wi-2…W2W1=groupXOR(hk),k∈(1,i)∥重新计算水印信息

15)if(compare(W1,W2)==Equal)∥比较水印信息

16)Dmarked authenticated∥数据完整

17)else

18)Dmarked unauthenticated∥数据破坏

输出:原始感知数据D,数据完整

2 改进层级安全算法

为避免传感网络路由协议LEACH在簇头选择过程中的随机性,层级安全算法首轮分簇使用LEACH协议完成之后,第二轮以及后续分簇过程中引入节点信任因子来优化分簇算法。

2.1 节点信任因子

节点信任因子的确定通过引入贝叶斯(Bayes)评估方法[8~11],其原理是利用已知条件概率密度参数表达式和先验概率通过贝叶斯公式转换为后验概率,然后进行决策。

假设节点Ni和Nj当前相互通信次数为x和y次,其中x表示正常通信次数,y表示异常通信次数,异常通信会导致信任因子降低,有贝叶斯评估方法可以得到Ni对Nj的统计信任因子Rij的概率为公式(3)

再根据密度函数式(4)所示

推得公式(5)

推理可得,节点Ni对Nj的统计信任因子Rij服从参数x和x+y的Beta分布如下

则其数学信任因子为

由此推得节点Ni的信任因子计算公式如式(8)所示

式中n为当前节点Ni所在簇内节点数量,节点的信任因子由簇首节点保存和更新。

2.2 簇首权值设计

为平衡簇首节点剩余能量以及簇首节点和簇内成员节点之间的位置因素,应该选择剩余能量值相对较大,簇内平均距离因子相对较小且节点信任因子大的节点作为簇首节点。在每个簇内所有节点的位置信息标识为L={l1,l2,…,li}每个li都有x和y方向的分量,所有节点的能量信息标识为E={e1,e2,…,ei},其中i为节点的数量,li为第i个节点的位置信息,ei为第i个节点的剩余能量,则节点i与簇内节点j的距离计算公式如式(9)所示

式中lxi为节点i在x方向的位置分量,lyi为节点i在y方向的位置分量,簇内平均距离因子Δdi的计算公式如式(10)所示

由此,引入簇首权值w的计算公式如式(11)所示

式中α+β=1且α,β∈[0,1],α为能量影响因子,β为距离影响因子,Ri为节点信任因子,R为初始信任因子。

2.3 算法流程

网络布置完成,通过LEACH协议完成分簇;簇内成员获取感知数据,启动可逆数字水印嵌入,把数据发送给簇首节点;簇首节点接收簇内信息,通过数字水印算法提取水印,验证数据完整性,最后负责数据融合与上传数据工作;簇重组阶段,簇内所有成员节点在TDMA时隙发送节点的剩余能量信息和位置信息,簇首根据收到的信息计算节点信任因子,同时设定能量影响因子和距离影响因子,以此计算簇首权重,并且重新分簇。

3 仿真与测试

3.1 仿真参数设置

通过网络仿真平台NS搭建传感网络场景,引入文献[1]中的无线通信模型计算能量损耗。传感网络场景大小为100 m×100 m,Sink位置坐标为50,175,传感节点数量100个,节点每次发送数据包大小为2 000 bit,节点初始能量设置为2 J,能量影响因子和距离影响因子都设置为0.5,慢衰弱每比特消耗100 pJ,快衰弱每比特消耗0.001 pJ,电路能耗为50 nJ/bit。

3.2 实验结果分析

1)鲁棒性能分析

图1是通过固定时隙选取的通信数据,包括原始感知数据、嵌入水印后的数据以及恢复后的数据值比较,从结果可以得知,通过可逆数字水印算法还原的数据与原始数据的误差极小,几乎没有误差,算法完全能够保证数据完整性和安全性。

图1 数据数值对比

2)安全性能测试

每次测试随机选取10 000个传感器节点感知数据,以篡改率10 %的方式篡改原始数据,即共有1 000个原始数据被篡改。当嵌入水印的感知数据被传送到簇首节点之后,簇首节点根据算法提取水印并且验证,若数据被篡改,簇首节点判定数据被恶意破坏且丢弃数据包,图2是重复10次实验的仿真结果。

图2 数据丢包率

数据的篡改率保持在10 %,在理论情况下,根据可逆数字水印算法,簇首节点验证数据后,丢弃数据包的占比应该是10 %。而实测的网络数据丢包率基本保持在10 %左右,误差不超过0.05 %,证明算法能够很好的达到认证数据的效果,保证了数据的完整性和安全性。

3)节点能耗比较

可逆数字水印算法基于像素矢量差值,其嵌入容量高且计算效率高,算法的复杂度是O(n2),算法本身只在水印嵌入和提取时消耗很少的能量,图3结果证明算法能保障网络的安全性且没有影响网络的整体性能。

图3 节点能量消耗比较

4)网络生命周期比较

如图4所示,层级安全算法执行到300 s后才开始有节点死亡,并且在网络运行900 s时还有生存的节点,而未改进的LEACH协议在200 s时就出现了节点死亡的现象,由于分簇不均衡的原因导致网络在400 s后就消亡了,证明层级安全算法能够有效延长网络的生存时间。

图4 节点生存时间

4 结束语

针对传感网络的弱安全防御能力以及不均衡能量管理能力,设计了一种基于可逆数字水印技术的安全层级模型。通过可逆数字水印的嵌入与提取来保障数据的完整性和安全性,并且充分考虑节点剩余能量、位置信息以及信任因子的因素下优化分簇策略。结果表明:算法能够很好地保障数据的完整性和安全性,数据正确率控制在99.95 %以上,通过优化传感网络分簇策略,有效延长了网络生存时间。

猜你喜欢

数字水印差值信任
差值法巧求刚体转动惯量
基于网屏编码的数字水印技术
枳壳及其炮制品色差值与化学成分的相关性
嘤嘤嘤,人与人的信任在哪里……
基于FPGA的数字水印提取系统设计研究
基于数字水印的人脸与声纹融合识别算法
信任
基于区域最大值与平均值差值的动态背光调整
用平均差值法制作乡镇精细化温度预报
基于矩阵分解和混沌置乱的数字水印算法