·104· 通 信 学 报 第 39 卷
攻击者的攻击能力并无明确的强弱之分,尽管好奇
的攻击者在收不到任何数据时策略会更灵活,但耐
心的攻击者的攻击能力也可能会大于好奇的攻击
者,如基于最短路径的路由,耐心的攻击者可以捕
获更多的数据分组
[4]
。
假设这里的攻击者有如下特性:1) 本地的,即
攻击者的监视范围是它邻近的传感器节点;2) 被动
的,其攻击方式为监听且无法控制或破坏传感器节
点,不会对网络产生任何的功能性影响;3) 移动的,
从 sink 节点出发寻找源节点的位置。
攻击者的攻击轨迹如算法 1 所示。每发动一
次攻击,攻击者都从 sink 节点出发(第 1)~3)行),
在没有捕获到源节点之前,每捕获到一个新的数
据分组(第 4)和 5)行),便根据收到数据分组的
发送角度和信号强度,判断出数据分组直接发送
者所在位置的方向,从而向直接发送者移动(第
6)~9)行)。若攻击者在一定时间 T 内未监听到数
据分组(第 10)行),则采用随机游走的方式寻找
正发送数据的节点,并继续监听(第 11)~13)行),
直到找到源节点或没有找到但时间耗尽算法结
束。若 T 的时间比较短,则为好奇的攻击者;若
T 无限大,则为耐心的攻击者。
攻击者以恒定的速度 V
A
移动,其中 ,
A m
VV ,
V
m
为相邻节点间数据分组的发送速度。攻击者的监
听范围不大于节点的通信范围,即
R≤ ,其中,
D 和 R 分别为攻击者的监听半径和传感器节点的通
信半径。
算法 1 攻击者攻击轨迹
1)
hunter = sink;//攻击者从 sink 出发
2) pre_hunter = sink;
3) next_hunter = sink;
4) while (next_hunter≠ source & time < Time)
5) msg = ListenMessage();
6) if (TimedListen()<T&IsNewMessage (msg))
7) next_hunter = alculateImmediateSender
(msg);
//判断出发送节点位置
8)
pre_hunter = hunter;
9) hunter = next_hunter;
10) else if (TimedListen() ≥ T)
11) next_hunter = ran_hunter ;
12) hunter = next_hunter;
13) ran_hunter = GetRandomHunter(hunter);
//攻击者随机游走后的位置
14) end if
15) end while
3.3 能量模型
研究表明 2 个节点在 100 m 的距离内传输 1 kbit
的数据相当于执行 300 万次的一般程序指令
[29]
,因
此,传感器的能量消耗主要是通信引起的。传感器
发送数据分组所消耗的能量与传感器的电子元器
件功率成正比,同时,传输的距离越长,消耗的能
量也越大,即
elec amp
(, )
n
ti j
Evv E d
ξ
=+ (2)
elec
()
rj
Ev E= (3)
其中,E
t
(v
i
,v
j
)为在时间 t 内从 v
i
发送 1bit 到 v
j
需要
的能量,
E
r
(v
j
)为 v
j
接收 1bit 的能量,d 为 v
i
到 v
j
的
距离,
n 为路径损耗指数,E
elec
为通信电子消耗的能
量,
amp
为功率放大器消耗的能量。因此,网络中的
总能耗为
()()
()
network
0
,
p
tij r j
k
EsEvvEvk
λ
−
=
=+
∑
(4)
其中,p 和 λ 分别为网络中经过时间 T,所有参与数
据传输的节点数量以及形成的数据传输路径条数,
因此,网络中分别有
p−λ 个发送节点和接收节点。
经过时间
T,网络中共有 p 个节点形成 λ 条路径,
发送
s bit 的数据会在网络中产生的总能量如式(5)
所示。
network elec
(2 )( )
n
EsEdp
λ
+− (5)
由此可见,在网络发送的数据量相同,并且
路由算法是固定的情况下,路径越短,能量消耗
越少。
4 基于攻击感知的源位置隐私保护方法
4.1 攻击感知技术
攻击者不会对网络结构和功能产生任何影
响,所以传统的入侵检测(
IDS)系统无法检测出
攻击者。但攻击者还是有其自身特点的,首先它是
一个移动对象,并且它是携带有电磁广播信号的,
本文部署的传感器节点可以监测和追踪非授权的
或异常的移动物体。
本文使用的传感器节点包括移动物体检测
(
M-DS, motion detection sensor)模块和控制模块 2
个功能模块,如图 2 所示。
2018001-4