计 算过程,即可W通过简单计算判断sybil攻击,因此,具有独立性强,扩展性强,同时能提高 了信息处理速度,降低硬件能耗。
[00巧]实施例二
[0076] 如图2所示,为本发明第二实施例的无线传感器网络抗攻击加密定位方法的流程 框图。
[0077] (1)加密方法
[0078] 信标节点BN(beacon node)产生测距报文,该测距报文中包含信标节点的ID和发 射功率Pi,假定信标节点BN需要传送的二进制测距报文为k,发射端的编码过程为:
[0079] 1)对k进行曼彻斯特编码,即m = Mancheste;Kk)。规则为1对应"01"和0对应"10", 如k= "1010",可得m= %1100110"。
[0080] 2)采用伪随机调制方法对m进行伪随机处理,得到伪随机信号,即信码b,b = PR (m)。
[0081] 3)在信息发送过程中,在信码b中插入分界符后再定时发送出去,其中分界符用于 表示每个帖的起止。
[0082] 分界符可W为"111000",用于表示每个帖的起止。因为"111000"不是合法的曼彻 斯特码字,不会出现在任何信标帖中,所W不影响真实信息的准确性。本实施例的无线传感 器网络加密定位方法与第一实施例不同的是,插入分界符表示每个帖的起止,则信息发送 的过程可W是定时发送,可W减小能耗。
[0083] 其中,可W根据应用环境和节点的功耗特点选择合适的伪随机序列的长度,也可 W根据把随机序列长度作为变量分析其功耗等参数的变化特征,从而决定信息的安全性, 但由于无线传感器网络的资源受限的原因,所W要根据具体网络的特点来选择合理的参 数。
[0084] 未知节点N处的接收端监听信道并接收广播信息,并测量广播信息的接收功率Ri。 接收端包括滤波单元,解码单元W及数据处理单元,未知节点N从信标节点BN发送的信息中 随机接收一个bl作为测距信标,接收端的解码过程如下:
[0085] 1)滤波单元对接收到的广播信息进行限幅滤波,并随机选取一个周期内的信码bl 作为测距信标;
[0086] 2)解码单元根据伪随机参数,对信码bl进行还原处理,从而获得码字ml,并对根据 曼彻斯特编码规则对码字ml进行校验,判断接收到的ml是否为合法的曼切斯特码,若合法, 进入下一步骤,若不合法,则对下一个周期的信码b进行还原处理;
[0087] 3)解码单元对码字ml进行曼彻斯特解码,获得测距报文kl,并校验其完整性。
[0088] 在信息发送过程中,可W不间断发送,但是为了减小能耗可W定时发送,此时发射 端还用于在信码b中插入分界符后W广播发送,分界符用于表示每个帖的起止。
[0089] (2)抗攻击定位方法
[0090] 接收端的未知节点接收到测距报文k后,接收端的数据处理单元根据测距报文kl 中包含的发射功率Pi,和测量得到的广播信息的接收功率Ri(即RSSI值),可W计算出未知 节点到信标节点的距离Di。若能接收到3个信标节点传来广播信息中的测距报文k,根据各 测距报文k中的ID信息和发射功率,即可W对该未知节点N进行准确定位。
[0091] 抗攻击定位过程中,还包括五个监测节点01,02,03,04,05。当未知节点在*1时刻 接收到一个信标节点S1的广播消息并得到测距报文kl时,五个监测节点01、02、03、04、05分 别接收包括ID信息(IDl)的广播消息,并测量信标节点SI发送的广播信息到自身的RSSI值 度式、i?其、i?京、i?其、i?岩,然后将监测节点D1作为基准监测节点,监测节点D2、D3、D4、D5 分别将RSSI值巧贵、i?基、巧贵、i?蟲报告给节点D1,节点D1计算各个监测节点相互的比 率,艮I
的值,并且把运个值进行存储。
[0092] 同样,当未知节点在t2时刻又接收到一个信标节点S2的消息后,五个监测节点D1、 D 2、D 3、D 4分别接收包括ID信息(ID 2)的广播消息,并测量该广播消息到自身的R S SI值 欠某、礎篇、嗤、i?品,然后监测节点02、03、04、05分别将3551值成-;、钱;、成;、铅 报告给节点D1,节点D1计算各个监测节点相互的比率,即
的值,比较两 个时刻相同两个监测节点的RSSI比率,若相同,则说明节点S1受到了Sybil攻击,WSN会将消 息报告数据处理单元,数据处理单元自动隔离来自节点S1的消息,若不相同,则说明该信标 节点S1为可靠信标节点,未知节点接受该信标节点传来的广播信息,并根据至少3个可靠信 标节点发送的广播信息中包含的测距报文,和对应的R S SI值(即对应广播信息的接收功 率),实现对未知节点的安全定位。
[0093] 本实施例的无线传感器网络抗攻击加密定位装置还包括抗攻击计算单元,抗攻击 计算单元设置在基准监测节点D1上,用于计算各个监测节点(01、02、03、04、05)的信号功率 比值,并将不同广播信息下的对应监测节点的接收功率比值进行比较,根据比值是否相同 来判断该信标节点区域是否为可靠信标节点,并将判断结果传送给未知节点的数据处理单 元。数据处理单元根据从至少3个可靠信标节点发送的广播信息得到的测距报文kl和对应 的接收功率Ri,对接收端,即未知节点N进行定位。
[0094] 本实施例的无线传感器网络抗攻击加密定位方法可W保护信息的完整性,不依赖 信息加密技术,可W提高系统的抗攻击能力和信息处理速度,降低硬件的能耗,所W具有低 功耗、高保密性和独立性强,扩展性强的优点。
[0095] 本实施例采用优化的抗攻击加密定位方法,只需要测量各监测节点的接收到的信 标节点的RSSI比值,而不用复杂地计算信标节点的位置,简化了抗攻击的计算过程,即可W 通过简单计算判断sybil攻击,因此,具有独立性强,扩展性强,同时能提高了信息处理速 度,降低硬件能耗。
[0096] 本发明中,无线传感器节点采用忍片CC2431提供测量接收强度检测方法,节点可 在接收数据的同时完成RSSI测量,无需配置额外硬件。
[0097] 为了检验本发明的编码过程,在MATLAB的环境下进行了实验,W发射端传送的二 进制测距报文为1000001为例,对该数字信息进行曼彻斯特编码:01101010101001,随机化 过程为下:
[009引1、首先编写一个mseq.m文件,内容为:
[0099] function[mseq]=m_sequence(fbconnection)
[0100] n = length(fbconnection);
[0101] N=2'n-1;
[0102] register=[ze;ros(l ,n-l)l]; %移位寄存器的初始状态
[0103] mseq(l) =registe;r(n); %m序列的第一个输出码元
[0104] for i = 2:N
[0105] newregister(l)=mod(sum(fbconnection.*register),2);
[0106] for j = 2:n
[0107] newregister( j) =register( j-1);
[010 引 end;
[0109] register = newregister ;
[0110] mseq(i) =register(n);
[0111] end
[0112] 2、在matlab中打开运个文件
[0113] 3、在matlab的命令行窗口中运行
[0114] primpoly(7,,air)
[011引4、得到的结果为
[0116] Primitive polynomial(s)=
[0117] D'7+D'l+l [om] D~7+D~3+l
[0119] D~7+D~3+D~^D~1+1
[0120] D'7+D'4+l
[0121] D'7+D'4+D'3+D'2+l
[0122] D~7+D~5+D~^D~1+1
[0123] D-7+D-5+D-3+D-1+1
[0124] D'7+D'5+D'4+D'3+l
[0125] D-7+D-5+D-4+D-3+D-化D-1+1
[0126] D'7+D'6+l
[0127] D'7+D'6+D'3+D'l+1
[012引 D~7+D~6+D~4+D~l+1
[0129] D'7+D'6+D'4+D'2+l
[0130] D'7+D'6+D'5+D'2+l
[0131] D~7+D~6+D~5+D~3+D~^D~1+1
[0132] D'7+D'6+D'5+D'4+l
[0133] D-7+D-6+D-5+D-4+D-化D-1+1
[0134] D'7+D'6+D'5+D'4+D'3+D'2+l
[0135] ans =
[0136] 131
[0137] 137
[013引 143
[0139] 145
[0140] 157
[0141] 167
[0142] 171
[0143] 185
[0144] 191
[0145] 193
[0146] 203
[0147] 211 [014 引 213
[0149] 229
[0150] 239
[0151] 241
[0152] 247
[0153] 253
[0154] 5、输入 mseq([ 1000001])
[01巧]6、便可得到一个127位的m序列,整理之后为
[0156] 100000011111110101010011001110111010010110001101111011010110110010010 0011100001011111001010111001101000100111100010100001100000。
[0157] 接收端:(1)接受到的数字信息进行限幅滤波;(2)根据随机参数还原算法,反变换 还原出曼彻斯特编码数据01101010101001; (3)根据曼彻斯特解码原理,还原始