抗恶意攻击的WSN时钟同步

一种针对恶意攻击的无线传感器网络安全时钟同步方案

摘要

本文研究了存在时变延迟和恶意攻击情况下传感器网络的安全且精确的时钟同步问题。提出了一种基于攻击检测机制、攻击补偿和最大一致性协议的新型时钟同步方案。所提出的方案首先对恶意攻击进行检测,并消除受攻击影响的时钟数据。在此基础上,更新软件时钟参数,使得网络中所有节点具有相同的软件偏斜和偏移,从而实现时钟同步。此外,理论上证明了该方案能够正确实现攻击检测,并进一步保证安全且精确的时钟同步。同时,还进行了大量仿真以验证所提出方案的有效性。

关键词 时钟同步,通信延迟,一致性,恶意攻击,无线传感器网络。

引言

近年来,无线传感器网络(WSNs)受到越来越多的关注,并被广泛应用于交通控制、环境监测、智能家居和军事等领域。然而,其应用受到多种因素的限制,其中关键因素之一是节点间的时钟同步,因为时钟同步是无线传感器网络各种应用的前提条件。

已经开展了大量研究来解决无线传感器网络中的时钟同步问题。例如,传感器网络时间同步协议(TPSN)[5]和泛洪时间同步协议(FTSP)[6],采用分层网络结构,将每一层中的每个节点与其上一层的一个节点进行同步,从而实现整个网络的同步。此外,还有一种典型的时钟同步方案称为参考广播同步(RBS)[3],,该方法利用最小二乘线性回归方法来减小普通节点与参考节点之间的同步误差。除了这些传统同步方案外,近年来一致性协议逐渐被应用于设计时钟同步算法。基于此,提出了平均时间同步(ATS)[7, 8]和最大时间同步(MTS)[9]。在ATS中,每个节点的参数与其邻居节点取平均值;而在MTS中,所有节点都与时间最快的节点同步。研究表明,基于一致性的方案能够提高无线传感器网络中时钟同步的精度和收敛速度[10]。此外,它们还能有效抵抗由通信延迟、时钟漂移和测量误差引起的噪声。

假设上述大多数方案是在良性环境中进行的。由于无线传感器网络的无线通信特性,传输的信息可能会受到恶意入侵者的攻击[11, 12]。攻击者可能导致时钟同步失败,甚至以不同方式破坏无线传感器网络[13]。例如,拒绝服务攻击会通过干扰通信信道来破坏资源的可用性[14]。这对时钟同步的影响有限,因为基于共识的协议的精度不会受到部分数据包丢失的影响[15]。然而,大多数现有的时钟同步协议无法抵御虚假数据注入攻击[16],,即使攻击者掌握的信息有限,也可以设计此类攻击。在这种情况下,受损节点可能会使用虚假数据进行时钟同步,从而阻碍时钟的收敛。

研究无线传感器网络时钟同步中的抗攻击方案非常重要,这一问题已在多项研究中被探讨 [17]。例如,早期的一项工作尝试检测针对时钟同步的恶意攻击,并在检测到攻击时中止时钟同步[18]。尽管该协议能够避免由于虚假数据注入导致的错误时钟同步,但也会导致时钟同步被拒绝。此外,斯南[19]提出了基于层级和基于扩散的方法,能够容忍多达合谋的恶意源节点以及每个正常节点邻居中合谋的恶意节点,为设计安全时钟同步方案提供了新思路[19]。

不可否认,近年来无线传感器网络的时钟同步研究取得了巨大进展,特别是当忽略恶意攻击时,能够很好地实现高精度同步[20–22]。然而,虚假数据注入的影响难以消除,可能导致时钟同步失败。如何消除恶意攻击对时钟同步的影响仍然是一个巨大的挑战,值得相关领域给予更多关注。因此,本研究的目标首先是提出一种攻击检测机制,以保证在恶意攻击下时钟同步的精度和收敛性,其次是提出一种精确的时钟同步方案,能够抵抗通信过程引起的不可避免的通信延迟。

本文致力于提高在存在恶意攻击和时变延迟情况下时钟同步的安全性。考虑了分布和边界均未知的虚假数据注入攻击。提出了一种攻击检测机制,用于判断接收到的信息是否受到入侵者的攻击。如果数据被判定为被破坏,则将其丢弃。此外,还提供了理论证明,以证明该攻击检测机制的有效性以及时钟同步的精度。

综上所述,本文的主要贡献如下。
- 我们提出了一种新颖的恶意攻击检测机制,能够精确检测对时钟数据的攻击。
- 我们基于最大一致性协议和受攻击数据丢弃机制,开发了一种安全的时钟同步方案,并从理论上证明了该时钟同步方案的精度。

本文其余部分组织如下:第2节阐述了在有界延迟和恶意攻击下的时钟同步问题;第3节提出了基于攻击检测机制的详细时钟同步方案及相关理论证明;第4节给出了验证所提出的方案有效性的仿真结果;最后,第5节对全文进行总结。

2 问题描述

本文中,无线传感器网络的拓扑结构表示为 G=(V, E),其中 V={1, 2,···, N}是传感器节点的集合; E ⊆ V×V是通信链路的集合。从节点i, j ∈ E到节点 i的有向边表示节点 i可以向节点 j发送消息,且这两个节点互为邻居。

假设2.1 在网络中,传感器周期性地将其硬件时钟和软件时钟参数传输给其邻居。在每个时间点,仅允许一个节点向其邻居广播信息,且所有通信拓扑的并集是强连通的。一个节点连续两次传输时间之间的间隔称为传输周期。

2.1 时钟模型

根据以往的研究发现,无线传感器网络中的每个节点都配备有一个晶体振荡器,以固定频率运行。通过计算其硬件振荡器的脉冲,为节点提供一种称为硬件时钟的时钟信息[ 8 ]。通常,节点 i的本地硬件时钟表示为 H i( t),其与真实时间之间的关系为

$$
Hi(t)= \alpha_it+ \beta_i, \tag{1}
$$

其中$\alpha_i$是与时钟速度相关的硬件时钟偏斜, $\beta_i$是硬件时钟偏移。这两个参数由振荡器的特性决定。

实际上,不同的振荡器通常以不同的频率运行,这会导致 $i \neq j$出现 $\alpha_i \neq \alpha_j$。类似地,由于振荡器的启动时间不同, $i \neq j$时会出现 $\beta_i \neq \beta_j$。因此,不同的硬件偏斜和偏移导致节点之间的硬件时钟各不相同。同时,由于 $\alpha_i$和 $\beta_i$是由硬件振荡器决定的不可调节参数,硬件时钟无法手动调整以保持一致。因此,引入了软件时钟的概念,以实现时钟同步[23],,其与硬件时钟的关系满足:

$$
Si(t)= \tilde{\alpha}_iHi(t)+ \tilde{\beta}_i= x_it+ y_i, \tag{2}
$$

其中$\tilde{\alpha}_i$和 $\tilde{\beta}_i$是软件时钟参数。相对于硬件时钟, $x_i= \alpha_i\tilde{\alpha}_i$和 $y_i= \tilde{\alpha}_i\beta_i+ \tilde{\beta}_i$分别被视为软件时钟偏斜和偏移,可以通过调整 $\tilde{\alpha}_i$和 $\tilde{\beta}_i$的值手动调节。

除了硬件时钟和软件时钟外,还需要获得反映两个硬件时钟之间差异的相对参数。显然,节点 i 和 j 之间的硬件时钟满足 [24]:

$$
Hj(t)= \frac{\alpha_j}{\alpha_i} Hi(t)+(\beta_j - \frac{\alpha_j}{\alpha_i} \beta_i)= \alpha_{ij}Hi(t)+ \beta_{ij},
$$

其中 $\alpha_{ij}= \frac{\alpha_j}{\alpha_i}$ 和 $\beta_{ij}= \beta_j - \frac{\alpha_j}{\alpha_i} \beta_i$分别定义为相对偏斜和相对偏移。 $\alpha_{ij}$和 $\beta_{ij}$是时钟同步的关键参数,因为它们揭示了两个节点硬件时钟之间的关系和差异。显然,$\alpha_{ij}$和 $\beta_{ij}$由 $\alpha_i$、$\alpha_j$、 $\beta_i$和 $\beta_j$的值决定,而这些参数无法获得,因为真实时间 t不可获取。因此,$\alpha_{ij}$和 $\beta_{ij}$无法直接计算。因此,估计$\alpha_{ij}$和 $\beta_{ij}$的值,并进一步基于 $\alpha_{ij}$和 $\beta_{ij}$补偿软件偏斜和偏移至关重要。用于估计 $\alpha_{ij}$和 $\beta_{ij}$的协议将在第3节中介绍。

2.2 延迟模型

有许多不可避免的因素可能在时钟同步过程中引入通信延迟[25]。图1以两个节点为例,通过展示它们的通信过程来说明通信延迟是如何发生的。

示意图0

如图1所示,节点 j在时间$t’_1$ 将其当前的硬件时钟 $H_j(t’_1)$ 发送给节点 i。然后,节点 i在时间 $t_1$接收到该数据,并立即记录其自身的硬件时钟 $H_i(t_1)$。如果 $d_1 = 0$,这意味着 $t’_1 = t_1$,没有通信延迟,这两个节点之间的时钟同步将很容易实现。然而,通信延迟不可避免且无法测量。

定义 $t’_k$为传感器 j的第 k次发送时刻, $t_k(k \ge 0)$为传感器 j到传感器 i的第 k次到达时刻。引入$H’_j(t_k)$表示包含延迟 [23],的时钟信息,其表达式为

$$
H’_j(t_k)= H_j(t’_k)= H_j(t_k)- \theta_j(t_k)= \alpha_jt_k+ \beta_j - \theta_j(t_k), \tag{3}
$$

其中 $H_j(t_k)$是节点 j在 $t_k$的真实硬件时钟, $\theta_j(t_k)$定义为延迟。

参考以往关于时钟同步领域中延迟模型的研究,对延迟作出如下假设。

假设 2.2 $\theta_j(t_k)$ 的概率密度函数用 $f_\theta(x)$ 表示,且满足

$$
\begin{cases}
f_\theta(x)> 0, & a \le x \le b, \
f_\theta(x)= 0, & \text{otherwise},
\end{cases}
\tag{4}
$$

其中 a 和 b 是常数, $a \ge 0$ 和 $b \le h$, $h> 0$ 是传输周期。

基于上述假设,建立了无线传感器网络中时钟同步的有界延迟模型 $\theta_j(t_k)$。由公式 (4) 可知,延迟 $\theta_j(t_k)$ 可以取 a 和 b之间的任意值,且$\theta_j(t_k)$ 等于 a 或 b 的概率不为零。

注释 2.1 假设 2.2 意味着延迟小于周期,这可以通过设计适当的通信协议来实现。在许多现有的时钟同步方案中,延迟模型通常需要满足特定的概率分布,或需要具有固定且已知的均值或方差。事实上,延迟可能在不同时间满足不同的分布,其均值和 variance 也可能随时间变化。根据上述假设,所提出的延迟模型可以在 a和 b之间取任意值,这更加合理且符合实际。此外, a和 b的值可通过实验获得,因此本文假设 a和 b是已知的。

2.3 攻击模型

除了延迟之外,还有另一个可能导致时钟同步失败的潜在因素,即恶意攻击。入侵者可以通过两种方式破坏时钟同步:干扰网络通信信道以阻止数据到达其目的地,或操纵在网络上传输的数据包以破坏数据的完整性。根据[15],基于共识的时钟同步方案可以对拒绝服务攻击的影响具有鲁棒性,但无法抵御虚假数据注入攻击。因此,本文重点设计一种能够抵抗虚假数据注入的时钟同步方案。

假设入侵者希望通过破坏一定数量的信道并向节点发送虚假的时钟信息,以使时钟同步失败来攻击系统。节点 i从节点 j接收到的第 k条数据(可能受到入侵者攻击)可表示为 $H^+_j(t_k)$, 其与真实硬件时钟的关系可以表示为

$$
H^+_j(t_k)= H_j(t’_k)+ \omega(t_k)= H_j(t_k)- \theta_j(t_k)+ \omega_j(t_k), \tag{5}
$$

其中$\omega_j(t_k)$被定义为加性攻击,用于描述入侵者造成的影响。显然, $\omega_j(t_k)= 0$表示节点 j在时间 $t_k$发送的数据未受到攻击。

在实际中,攻击者应在检测到存在通信后才会对通信信道发起攻击。因此,可以合理地假设不存在初始攻击。此外,假设攻击者能够攻击任意两个节点之间的任意数量的信道,但无法持续攻击所有信道。这意味着对攻击规模没有限制,从而使攻击模型更加全面和真实。

2.4 问题描述

根据上述描述,无线传感器网络中有两种不同的时钟:由振荡器决定的本地硬件时钟,以及其软件参数可任意调整的软件时钟。因此,时钟同步的目标是通过调整每个节点的软件参数 ($\tilde{\alpha}_i, \tilde{\beta}_i$),使得网络中的所有节点 i具有相同的软件时钟(参见[1]),这意味着

$$
S_i(t)= S_j(t), \quad \forall i, j \in V.
$$

由于只有当所有软件时钟偏斜和偏移都相等时,才能实现时间同步,因此上述方程也可以表述如下

$$
\lim_{t\to+\infty} |x_i(t)- x_j(t)| = 0, \quad \forall i, j \in V, \tag{6}
$$

$$
\lim_{t\to+\infty} |y_i(t)- y_j(t)| = 0, \quad \forall i, j \in V, \tag{7}
$$

其中 $x_i(t)$ 和 $y_i(t)$ 分别是 t 处的软件时钟偏斜和偏移。

总之,本文的目标是设计一种具有攻击检测机制的时钟同步方案,该方案能够抵御有界延迟和虚假数据注入。在该方案中,可以确定数据是否被入侵者破坏,最终为每个节点 i找到合适的$(\tilde{\alpha}_i , \tilde{\beta}_i)$,以满足公式(6)和公式(7)的基本要求。此外,所提出的方案还应保证高精度和快速收敛速度。

3 同步方案的设计

本节提出一种由两部分组成的时钟同步协议:攻击检测机制和时钟同步方案。本节将分别详细讨论这两个部分,并给出相应的证明。

3.1 攻击检测机制

攻击检测是一个关键步骤,直接影响在恶意攻击下时钟同步的结果。其目的是确定节点 i接收到的数据是否受到入侵者的攻击,并进一步确认这些数据是否可用于时钟同步。

在时钟同步过程中,每个节点 j定期向其邻居发送其硬件时钟和软件参数。在此过程中,攻击者可能通过向信道注入虚假数据来攻击节点。本文假设只有硬件时钟可能受到入侵者的攻击。当节点 i接收到消息后,应将其刚刚接收到的时钟与最近一次被确定为未受攻击的时钟进行比较,并根据攻击检测机制判断当前接收到的时钟是否已被入侵者攻击。因此,定义 $T_n( n \ge 0)$为传感器 j的信息到达传感器i且未检测到攻击的第 n次到达时间,$T’_n$为对应的传输时间。然后,可以表示四个集合: $S_0={t_0, t_1,\cdots, t_k,\cdots}$、$S’_0={t’_0, t’_1,\cdots, t’_k,\cdots}$, $S_1={T_0, T_1,\cdots, T_n,\cdots}$,和$S’_1={T’_0, T’_1,\cdots, T’_n,\cdots}$。显然,$T_k \le t_k$、 $S_1 \subseteq S_0$和 $S’_1 \subseteq S’_0$。

为了表示攻击检测的结果,为每个节点 j 引入一个二进制变量 $u^j_{ik}$ ,使得当节点 j 在第 k 次传输中发送的时钟信息未受到攻击时$u^j_{ik}= 1$,否则 $u^j_{ik}= 0$。显然, $u^j_{ik}$ 取决于节点 i 当前从节点 j 接收到的时钟以及最近接收到的未受攻击的时钟。

然后,重点在于二进制变量 $u^j_{ik}$ 的设计。对于任意节点 i,为了设计攻击检测条件,我们定义

$$
p(t_k)= H^+ j(t_k)- H^+_j(T {n-1}), \tag{8}
$$

其中, $H^+ j(t_k)$ 表示节点 i 在第 k 次从节点 j 接收到的时钟值,而 $H^+_j(T {n-1})$ 表示在$t_k$ 之前节点 i 从节点 j 接收到的最近一次被确定为安全的时钟值。显然, $T_{n-1} \le t_{k-1}$。然后,二进制变量 $u^j_{ik}$ 将按如下方式计算

$$
u^j_{ik} =
\begin{cases}
1, & \text{if } p(t_k)= mh;\
0, & \text{otherwise},
\end{cases}
\tag{9}
$$

其中$h= H_j(t’ k) - H_j(t’ {k-1})$ 为先验给定传输周期, m是一个满足$mh= H_j(t’ k) - H_j(T’ {n-1})$ 的正整数,表示传感器 i在时间$(T_{n-1}, t_k]$内从传感器 j接收到的时钟数量,可直接获得。根据 $T_n$的定义,若通过比较$H^+ j(t_k)$和 $H^+_j(T {n-1})$得到 $u^j_{ik} = 1$,则 $T_n = t_k$。

定理3.1 通过使用公式(8)和(9)中的攻击检测机制,可以检测到被篡改的数据。

证明 首先,由于 $H^+ j(T {n-1})$未受到攻击, $p(t_k)$可以被计算为

$$
p(t_k)= H^+ j(t_k)- H^+_j(T {n-1}) = H_j(t’ k)+ \omega(t_k)- H_j(T’ {n-1})
= mh+ \omega(t_k),
$$

其中 $m \ge 1$表示在时间$(T_{n-1}, t_k]$内,从传感器 j到传感器 i的传输次数。

如果 $p(t_k) \ne mh$,则 $\omega(t_k)$ 必须非零且包含攻击。

定理3.1 提供了一种检测攻击的方法,并保证在后续的时钟同步算法中不会使用被篡改的数据,这是时钟同步的基础。

3.2 时钟同步算法

攻击检测完成后,使用未受攻击的数据执行时钟同步算法。该时钟同步方案基于最大一致性,主要包含两个部分:基于相对斜率估计的软件偏斜补偿,以及基于相对偏移估计的软件偏移补偿。

软件偏斜的补偿是时钟同步的基础。以两个节点为例,根据两种情况计算软件偏斜参数。

情况1 在时间 $t_k$,节点 i 接收来自节点 j 的数据,并确定它们未受到攻击。
它首先计算一个中间变量 $E_{ij}(T_n)$,其表达式为

$$
E_{ij}(T_n)= \frac{H^+ j(T_n)- H^+_j(T {n-1})- b + a}{H_i(T_n)- H_i(T_{n-1})}, \tag{10}
$$

其中,$T_n= t_k$、 $H^+ j(T_n)$ 和 $H^+_j(T {n-1})$ 表示被确定为安全的节点 j 的当前和最近的硬件时钟, $H_i(T_n)$ 和 $H_i(T_{n-1})$ 分别表示节点 i 在 $T_n$ 和 $T_{n-1}$ 时刻对应的硬件时钟。此外, $a$ 和 $b$ 是延迟的下界和上界。

然后,相对偏斜 $\alpha_{ij}$ 的估计值表示为 $\tilde{\alpha} {ij}$,其通过公式(11)进行更新,初始条件为 $\tilde{\alpha} {ij}(T_0) = E_{ij}(T_0)$,其中

$$
\tilde{\alpha} {ij}(T_n)= \max{\tilde{\alpha} {ij}(T_{n-1}) , E_{ij}(T_n)}. \tag{11}
$$

基于相对偏斜的估计,可以进行软件偏斜补偿,为每个节点 i 找到一个合理的 $\tilde{\alpha}_i$,使得网络中所有节点的软件偏斜都相同。根据我们之前的研究,对于每个节点 i,其软件偏斜 $\tilde{\alpha}_i$ 可以通过以下方式更新

$$
\tilde{\alpha} i(T_n)= \max{\tilde{\alpha}_i(T {n-1}) , \tilde{\alpha} j(T_n)\tilde{\alpha} {ij}(T_n)}, \tag{12}
$$

其中,$\tilde{\alpha} i(T {n-1})$ 是在 $T_{n-1}$ 处估计的软件参数, $\tilde{\alpha}_{ij}(T_n)$ 是在$T_n$ 处相对偏斜的估计。

情况2 在时间 $t_k$,确定从节点 j 接收到的数据受到攻击。然后,

$$
\tilde{\alpha} i(t_k)= \tilde{\alpha}_i(T {n-1}). \tag{13}
$$

与软件偏斜补偿类似,软件偏移补偿也是基于相对偏移估计设计的,同样从两种情况出发。

情况1 在时间 $t_k$,节点 i 接收到节点 j 的数据,并确定其未受到攻击。
应首先计算一个中间变量 $D_{ij}(T_n)$,其表达式为

$$
D_{ij}(T_n)=(H^+ j(T {n-1})- b)-\left(H^+ j(T_n)- H^+_j(T {n-1})+ b- a\right) \cdot \frac{H_i(T_{n-1})}{H_i(T_n)- H_i(T_{n-1})}. \tag{14}
$$

然后,相对偏移 $\beta_{ij}(T_n)$ 将按如下方式估计:

$$
\tilde{\beta} {ij}(T_n)= \max{\tilde{\beta} {ij}(T_{n-1}), D_{ij}(T_n)}, \tag{15}
$$

其中 $\tilde{\beta} {ij}(T_n)$ 是相对偏移的估计,初始条件为 $\tilde{\beta} {ij}(T_0) = D_{ij}(T_0)$。

利用公式(14)和公式(15),可以实现对相对偏移的估计。在此基础上,软件偏移补偿的目标是通过调整每个节点 i的 $\tilde{\beta}_i(T_n)$值,使得网络中所有节点具有相同的软件偏移,从而完全实现时钟同步。类似于软件偏斜补偿,对于任意节点 i,软件偏移通过以下方式更新

$$
\tilde{\beta} i(T_n)= \max{\tilde{\beta}_i(T {n-1}), \tilde{\alpha} j(T_n)\tilde{\beta} {ij}(T_n)+ \tilde{\beta}_j(T_n)}, \tag{16}
$$

其中 $\tilde{\beta} i(T {n-1})$ 是在 $T_{n-1}$ 时刻软件参数的估计值, $\tilde{\beta}_{ij}(T_n)$ 是本次迭代中相对偏移的估计。

情况2 在时间 $t_k$,确定从节点 j 接收到的数据受到攻击。然后,

$$
\tilde{\beta} i(t_k)= \tilde{\beta}_i(T {n-1}). \tag{17}
$$

基于攻击检测机制的时钟同步方案可以总结为算法1。

表1 算法1

  1. 初始化
    对于每个节点 $i$, $\tilde{\alpha}_i(t_0) = 1$ 和 $\tilde{\beta}_i(t_0) = 0$。

  2. 当在 $t_k$ 接收到信息时
    节点 i 使用 (8)–(9) 来确定时钟信息是否受到攻击。

  3. 时钟同步 :
    如果 $u^j_{ik} = 1$,则通过使用更新软件偏斜和偏移 (10)–(12) 和 (14)–(16),分别;
    如果 $u^j_{ik} = 0$,软件偏斜和偏移保持不变。

定理3.2 考虑满足假设2.1–2.2的传感器网络。在基于攻击检测的时钟同步算法——表1中的算法1下,时钟同步可以渐近地实现,即对于任意节点 i和 j,

$$
\lim_{k\to+\infty} |\tilde{\alpha}_i(T_n)\alpha_i - \tilde{\alpha}_j(T_n)\alpha_j| = 0, \tag{18}
$$

$$
\lim_{k\to+\infty} |\tilde{\beta}_i(T_n) - \tilde{\beta}_j(T_n)| = 0. \tag{19}
$$

证明 由于当传感器 i从传感器 j接收到的时钟数据受到攻击时,传感器 i对应的软件偏斜和偏移保持不变,因此我们只需考虑数据未受攻击的情况。

在定理3.2中,公式(10)和公式(11)用于估计节点i和 j之间的相对偏斜,而公式(12)根据从节点 j发送的时钟信息补偿节点 i的软件偏斜。因此,定理3.2的证明可以分为以下两个部分。

根据公式(10),$E_{ij}(T_n)$ 满足

$$
E_{ij}(T_n)= \frac{H^+ j(T_n)- H^+_j(T {n-1})- b + a}{H_i(T_n)- H_i(T_{n-1})} = \frac{H_j(T_n)- H_j(T_{n-1})}{H_i(T_n)- H_i(T_{n-1})} + \frac{-\theta_j(T_n)+ \theta_j(T_{n-1})- b + a}{H_i(T_n)- H_i(T_{n-1})}
= \alpha_{ij}+ g_1(T_n, T_{n-1}),
$$

其中 $g_1(T_n, T_{n-1})= \frac{-\theta_j(T_n)+ \theta_j(T_{n-1})- b + a}{H_i(T_n)- H_i(T_{n-1})}$。

根据假设2.1,可以推断出$a \le \theta_j(T_n) \le b$在每一时刻 $T_n$。因此,显然有 $g_1(T_n, T_{n-1}) \le 0$,从而

$$
E_{ij}(T_n)= \alpha_{ij}+ g_1(T_n, T_{n-1}) \le \alpha_{ij}.
$$

此外,可以得出结论

$$
\tilde{\alpha} {ij}(T_n) \le \max {1\le l\le n}{E_{ij}(T_l)} \le \alpha_{ij}. \tag{20}
$$

公式(20)保证了相对偏斜$\tilde{\alpha} {ij}(T_n)$的估计具有上界$\alpha {ij}$。在公式(11)中,显然可以看出 $\tilde{\alpha} {ij}(T_n)$是一个单调递增序列。根据单调收敛定理, $\tilde{\alpha} {ij}(T_n)$必须收敛到一个小于或等于$\alpha_{ij}$ 的常数。此外,根据假设 2.2,当 $\theta_j(T_n) = a$且$\theta_j(T_{n-1}) = b$时,存在 $g_1(T_n , T_{n-1}) = 0$,这意味着存在一个时间 $T_n$,使得 $\tilde{\alpha} {ij}(T_n) = \alpha {ij} + g_1(T_n , T_{n-1}) = \alpha_{ij}$ 成立。因此,可以得出以下结论

$$
\lim_{n\to+\infty} |\tilde{\alpha} {ij}(T_n)- \alpha {ij}| = 0. \tag{21}
$$

上述分析证明了相对斜率估计的精度。接下来,重点是软件补偿的证明。根据最大一致性,只有具有软件偏斜较小的节点需要改变其软件参数 $\tilde{\alpha} i$,而软件偏斜较大的节点则具有固定的软件参数。
为简便起见,假设$\tilde{\alpha}_i(T_0) < \tilde{\alpha}_j(T_1)\tilde{\alpha}
{ij}(T_1)$,即表示节点 j具有较大的软件偏斜。在这种情况下, $\tilde{\alpha}_j(T_n)$是固定的,因此 $\tilde{\alpha}_i(T_n)$可以简化为

$$
\tilde{\alpha} i(T_n)= \max {l\le n}{\tilde{\alpha} j(T_n)\tilde{\alpha} {ij}(T_l)}
= \tilde{\alpha} j(T_n)\max {l\le n}{\tilde{\alpha} {ij}(T_l)}
\le \tilde{\alpha}_j(T_n)\alpha
{ij}. \tag{22}
$$

公式(22)表明,$\tilde{\alpha} i(T_n)$具有一个上界,即为 $\tilde{\alpha}_j(T_n)\alpha {ij}$。此外,公式(12)保证了 $\tilde{\alpha} i(T_n)$是一个单调递增序列。因此可以得出,当 $n \to+\infty$时,$\tilde{\alpha}_i(T_n)$能够收敛到一个常数。根据之前的分析可知,当 $\theta_j(t_n) = b$且 $\theta_j(t {n-1}) = a$时,我们有 $\tilde{\alpha} {ij}(T_n) =\alpha {ij}+ g_1(T_n, T_{n-1}) = \alpha_{ij}$。
同时,满足 $\tilde{\alpha} i(T_n) = \tilde{\alpha}_j(T_n)\alpha {ij}$。

总之,我们已经

$$
\lim_{n\to+\infty} |\tilde{\alpha} i(T_n)- \tilde{\alpha}_j(T_n)\alpha {ij}| = 0. \tag{23}
$$

由于$\alpha_i \ne 0$,公式(23)可简化如下

$$
\lim_{n\to+\infty} |\tilde{\alpha}_i(T_n)\alpha_i - \tilde{\alpha}_j(T_n)\alpha_j| = 0.
$$

通过同样的方法,我们可以证明软件偏移的同步性。这完成了证明。

4 性能评估

在本部分中,在Matlab上实现了在恶意攻击和有界延迟下的不同时钟同步方案。为了进行性能比较,我们对比了两种不同方案的结果:具有攻击检测机制的所提出的方案,以及没有攻击检测机制的RMTS方案。通过比较,验证了所提出的攻击检测机制的重要性。

考虑一个由50个节点组成的网络,这些节点被随机部署在 $100 \times 100\ \text{m}^2$的区域内,每个节点的通信范围为20米。对于时钟模型,部分参数设置如下:首先,硬件时钟偏斜$\alpha_i$和偏移$\beta_i$分别从$[0.9999, 1.0001]$和$[0, 0.0002]$中随机选取,各节点的软件参数初始化为 $\tilde{\alpha}_i(0) = 1$和$\tilde{\beta}_i(0) = 0$(针对每个节点 i)。此外,两次迭代之间的周期为1秒。对于有界延迟模型,下界和上界分别设置为 $a= 0$和$b= 0.0001$。另外,在恶意攻击模型中,仿真中的攻击满足0到1之间的随机分布,攻击速率为50%。但需要注意的是,正如我们的理论结果所证明的,攻击模型的分布和范围不会影响我们算法的收敛性。

这里我们使用差值最大值来衡量同步误差。定义$d_{sm}(t_k)$为网络中任意两个节点之间软件偏斜的最大差值,$d_{om}(t_k)$为软件偏移的最大差值,即

$$
d_{sm}(t_k)= \max{|x_i(t_k)- x_j(t_k)|}, \quad i, j \in V,
$$
$$
d_{om}(t_k)= \max{|y_i(t_k)- y_j(t_k)|}, \quad i, j \in V.
$$

那么很明显,如果 $d_{sm}(t_k) = 0$且 $d_{om}(t_k) = 0$,则实现了时钟同步。

图2和图3显示了有无攻击检测时的最大同步误差。如图2所示,当未采用攻击检测机制时,软件偏斜的最大差异是发散的,这意味着时钟同步失败。然而,使用所提出的方案,即使存在恶意攻击,软件偏斜的最大差异也能收敛到0。图2(b)进一步清晰地展示了所提出的攻击检测机制的效果。此外,图3显示了软件偏移最大差异的变化情况,这是时钟同步的另一个组成部分。显然,借助攻击检测机制,软件偏移的差异可以收敛至0。因此,所提出的方案能够在恶意攻击下保证准确且快速的时钟同步。

示意图1

示意图2

5 结论

本文研究了在有界延迟和恶意攻击下无线传感器网络中的分布式时钟同步问题。提出了一种基于攻击检测机制的时钟同步方案,该方案包括攻击检测以及软件偏斜和偏移的补偿。通过分析无攻击情况下的时钟范围,我们从理论上证明了所提出的机制能够正确实现攻击检测。同时进行了大量仿真,以评估所提出方案的性能。本文考虑了恒定硬件偏斜和偏移。在存在攻击和噪声(包括通信延迟、时钟漂移、测量误差)的情况下,具有时变硬件偏斜和偏移的无线传感器网络中的时钟同步是我们的未来研究方向。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值