面向物联网安全的高效分布式轻量级认证与加密技术
1 引言
在当代,物联网(IoT)正成为理论与应用领域中不断发展的课题。物联网是一个典范,它包含具有智能能力的日常物品,能够通过互联网与相关策略进行交流。由于宽带互联网如今普遍可用且连接成本低廉,越来越多的设备和传感器被连接到互联网。所有这些情况为物联网的发展创造了有利条件。物联网正在将传统的互联网、传感器系统和移动系统推向一个新阶段,因为所有事物都将连接到互联网。预计物联网将连接数十亿个在线分发数据的传感器。传感器将不断产生大量信息。在物联网环境中,统计数据持续不断地生成,而网络上的许多可用数据由我们自身提供。物联网已经在多个领域确立了其地位,包括监测医疗植入物和可穿戴健康策略、物品追踪、建筑与家庭自动化、生产与贸易监管系统、远程安全开关、运输监控以及生态监测。全球已有数十亿设备相互连接以实现这些应用。当前,物联网传感器产生的数据必须在网络和本地系统中进行存储、处理(通常还需)传输。
物联网标志着互联网概念从人与人之间的通信工具转变为万物互联的通信理想,这将带来大量的安全挑战和风险。特别是保密性、验证、访问控制以及数据收集与管理正成为亟需控制和维护的关键问题。为了扩大其非法活动并提高连接增长的可能性,黑客毫不犹豫地将物联网视为一个智能且新颖的有利环境。根据其应用领域,物联网的安全需求包括隐私、可靠性、可用性、验证等。
为了利用多种加密方法保护数据或证据,已开展了大量可应用于汇编作品中的研究工作。近几个世纪以来,提出了许多基于对称密钥加密的数据加密方法。这些方法通过误解或/和分散过程实现数据加密。其中一些方法采用替换技术以获得更优的加密效果。基于混沌的数据加密方法因其极高的随机性和对初始条件的敏感性而迅速发展。密钥构成这些动态方案的控制规则以及初始条件,因此这些方案更加依赖于密钥。许多密码方案使用双密钥生成替代密钥,并依次为不同的限制组生成密钥。
在交互周期开始时,通常会启动一个静态用户认证流程,以验证用户的唯一性,而用户在登录到相同的服务设施时常常感到不便。通常,会使用由诚实操作员所知悉的机密信息或其天生固有的特征作为验证请求的凭据,例如密码、个人识别码、智能卡、安全标志、生物特征和指纹。然而,静态认证无法有效防御会话劫持攻击。现有的无线系统虽然存在大量的安全性解决方案,但由于以下挑战,这些方案并不能直接适用于基于物联网的医疗应用:(a)由于医疗传感节点的处理能力、存储和通信带宽有限,安全性解决方案必须具备资源效率,因此涉及大量计算的传统加密方法不可行;(b)医疗传感节点体积微小,在考虑其尺寸的情况下容易丢失或被盗。
1.1 问题识别与目标
集成安全和访问控制方案应能降低功耗。因此,接收节点可在验证请求的真实性之前保持在睡眠模式。
在一些物联网应用(如患者监护系统)中,传感器设备需要在较短的时间间隔内发送感知数据。因此,网关必须频繁地对这些设备进行认证。为了在短时间内实现设备的快速认证,需要进行连续认证。
SEA7架构依赖于基于证书的握手方法。PAuthKey协议9基于证书和集中式证书颁发机构(CA)。
在所提出的技術中,我們旨在實現以下目標:
- 认证应该是分布式和轻量级的。
- 令牌生成应基于设备的信任值。
- 应确保快速认证和授权。
- 应集成认证与加密。
- 休眠周期应根据剩余电池电量自适应调整。
2 相关工作
穆罕默德·乌斯曼等人提出了一种简单加密流程。该流程的设计结合了费斯妥结构和偶数置换‐代换系统。实验结果表明,该流程仅通过五轮加密轮次即可提供相当的安全性。该流程的硬件应用在预算较低的8位微控制器上实现,并且程序规模、内存占用以及加密/解密执行轮次的结果与标准加密流程进行了对比。
马尼什·库马尔等人提出了一种创新的对称加密原型以增强安全性。据设想,该建议的加密原型将允许多种物联网策略在开放/不确定通信网络上更安全地传输数据或交接数据,同时提供更高的数据真实性。
用于密钥设计的混沌动力学方案被摒弃,以生成极为精细的密码文本。此外,通过采用类似的等式对密钥进行能量上的合理化,以增强输出密码文本对输入原始文本的依赖性。
Pereira等人对对称密码学基础进行了全面评估,针对物联网和无线传感器网络特有的现实生活阶段和工作方案提供了多样化的安全性保障。他们发现,以往研究中的某些成果仅反映了(相对)过去在单一阶段或单一工作模式下的应用。他们还根据输入数据的维度提供了一些可能的参考流程。
Pinto等人提出了一种改进的哈希链验证设备,该设备借助智能手机,能够在使用开放无线网络时,通过一次性密码(OTP)对设备与REST Web服务之间的每次通信进行验证。此外,所提出的验证机制遵循REST Web服务可预期的移位的类HTTP操作,同时允许在预定义的时间间隔内隐藏服务器验证响应。目前尚无其他已知的网络设施验证设备以这种方式运行。
Porambage 等人针对分布式物联网场景推荐了一种通用轻量级验证和密钥设备,其中雷达节点能够与主控雷达节点和用户建立受保护的连接。所提出的认证系统 PAuthKey 基于隐式凭证,并提供声明级别的端到端安全。有关基于场景的协议性能的完整报告可获取。通过实施评估和安全分析,验证了所建议的系统适用于源控无线传感器网络。
针对独立设施检测和独立联合验证,Wu等人提出了两种协议。他们的协议提供了独立且可靠的服务通告、零往返(0‐RTT)联合验证,并且在坎内蒂‐克劳奇克密钥交换模型中可能是安全的。与替代方案相比,他们的协议较为轻量,仅需对现有密钥交换协议进行轻微修改。他们已将这些协议集成到一个现有的开源分布式场景计划中,并在多种硬件平台上提供了标准实现。
3 能效分布式轻量级认证与加密
3.1 概述
本文提出了一种基于信任的认证和计数器模式与密码块链消息认证码(CCM)加密技术。接收方为每个发送方生成令牌,令牌过期时间根据每个发送方的信任值确定;即信任值越高,令牌过期时间越长,反之亦然。信任值由分布式代理(DA)根据攻击检测结果进行估算。可疑节点的信任值将按一定因子降低。接收机无线电的休眠周期根据其剩余能量确定;即若剩余能量较低,则可延长休眠周期。仅当具有足够剩余能量时,唤醒无线电(WR)才会向接收方发送唤醒信号。在加密方面,采用CCM而非标准AES对称算法。
3.2 攻击检测和信任估计
未被归类到任何设备模式的数据将被标记为“未授权”设备。如果在任何设备模式中观察到正常行为的偏差,则将其识别为新攻击。该新攻击的信息将发送至注册机构(RA)。
此阶段涉及的步骤如下:
算法1 攻击检测和信任估计
- 对于每个设备 $D_i$
- 初始化奖励和惩罚计数器 $R_i$ 和 $P_i$
- 初始化设备 $D_i$ 的信任值 $T_i$
- 对于每个流 $F_j$
- 如果设备类型被正确分类,则
- 设备 $D_i$ 已授权
- 如果任何字段 $f_{dk} \in F_j$($k = 1,2…5$)出现异常变化,则
- 将此新攻击添加到攻击模式表
- 将 $D_i$ 的信息和攻击类型发送至 RA
- 将 $P_i$ 按因子 $d$ 增加
- 否则
- 设备 $D_i$ 是诚实的
- 将 $R_i$ 按因子 $d$ 增加
- 结束 if
- $T_i = R_i - P_i$ (1)
- 否则如果设备类型未被归类为任何类型,则
- 设备 $D_i$ 被标记为“未授权”
- 将 $D_i$ 的信息发送至 RA
- 结束 if
- 结束 For
- 结束 For
信任值由分布式代理(DA)根据攻击检测结果进行估算。
在1中,对于每个设备$D_i$,维护一个奖励计数器$R_i$和一个惩罚计数器$P_i$。如果分类结果出现任何异常变化,则被视为攻击,$P_i$按因子$d$递增。另一方面,如果没有变化,则认为该设备是诚实的,$R_i$按因子$d$递增。然后,使用公式(1)估算设备的信任值$T_i$;即,用奖励计数器减去惩罚计数器的值。
因此,我们有
如果 $P_i > R_i$,则 $T_i < 0$。
如果 $P_i < R_i$,则 $T_i > 0$。
如果 $P_i = R_i$,则 $T_i = 0$。
3.3 接收机无线电的睡眠周期估计
节点的剩余能量可以通过以下公式进行估算:
$$
E_{res} = E_i - (E_{tx} + E_{rx}) \tag{2}
$$
其中 $E_i$ 是电池的初始能量,$E_{tx}$ 是传输能量,$E_{rx}$ 是接收能量。设 $E_{max}$ 为节点的最大剩余能量。
然后,源接收机无线电的休眠周期根据 $E_{res}$ 使用公式(2)确定如下 $s$:
$$
Time_{sleep} = Int_{sl} + \rho (E_{max} - E_{res}) \tag{3}
$$
其中 $Int_{sl}$ 是睡眠间隔数量,$\rho$ 是权重常数。
当 $E_{res} > E_{th}$ 时,写入器会向接收方发送唤醒信号,其中 $E_{th}$ 表示阈值能量。
引理1 如果 $E_{res}$ 较小,则休眠周期将延长。
证明
设 $E_{max} = 20$ 焦耳,$Int_{sl} = 100$ 毫秒和 $\rho=1$。
情况1 如果能量为 $E_{res} = 5$ 焦耳,则根据公式(3),我们得到
$$
Time_{sleep} = 100 + 1 \cdot (20 - 5) = 100 + 15 = 115 \text{ ms}
$$
情况2 如果 $E_{res} = 10$ J,则根据公式(3),我们得到
$$
Time_{sleep} = 100 + 1 \cdot (20 - 10) = 100 + 10 = 110 \text{ ms}
$$
3.4 令牌生成与建立
当组中的每个节点需要请求提交数据时,它应持有令牌。接收方 $R$ 为组内的每个节点生成此令牌。每个组共享一个组共享密钥 $K_G$。接收方 $R$ 为每个节点维护一个会话计数器 $SC$,使得下一个值 $SC_{next}$ 用于生成唯一令牌。
令牌生成与交换过程涉及的步骤如下所示:
1) 为了生成令牌,接收方使用通用哈希函数作为
$$
Token = H({Sid | K_G | SC_{next}}) \tag{4}
$$
2) 令牌过期时间根据每个发送方的信任值确定。
$$
Time_{TE} = Time_{GE} + T_i \tag{5}
$$
其中 $Time_{GE}$ 和 $Time_{TE}$ 分别为令牌生成和过期时间。
也就是说,信任值越高,令牌过期时间也越长,反之亦然。
3) 接收方将 ${Token, Time_{TE}}$ 发送给写入器。
4) 接收方进入睡眠模式,休眠周期为 $Time_{sleep}$。
5) 写入器接收到令牌并保存到接收到的令牌列表(TRL)。
6) 生成的令牌仅在 $Time_{TE}$ 过期之前有效。
7) 如果 $Time_{sleep}$ 超时,写入器向接收方发送唤醒信号。
3.5 会话密钥建立
在初始令牌建立阶段之后,执行会话密钥建立阶段。每当发送方想要发送数据时,它会从接收方获取一个会话密钥 $K_S$。
此过程涉及的步骤如下:
算法2 会话密钥建立
- 发送方 S 将其 ID(Sid)与接收方 ID(Rid)一起发送到无线电。
- 当无线电接收到身份标识时,它检查 TRL 以查看是否存在 S 的令牌。
- 如果找到 S 的令牌,然后检查该令牌的 $Time_{TE}$
- 如果 $Time_{TE}$ 已过期,则
- 源的请求被拒绝
- 否则
- WR 发送 $SC_{next}$ 到 S
- S 使用方程(4)重新计算令牌
- S 发送令牌到 WR
- 如果令牌与 TRL 匹配,则
- WR 向 R 发送唤醒信号
- 结束 if
- 如果 R 接收到 WR 的唤醒信号,则
- R 唤醒并创建会话密钥 $K_S$
- R 向 S 发送 $H(K_S)$
- 结束 if
- 结束 if
3.6 带密码块链‐消息认证码的计数器
在数据传输过程中,发送方需使用计数器与密码块链消息认证码技术对传输的数据进行加密。该技术包括以下两个阶段:
- 生成加密
- 解密验证
3.6.1 生成加密
本阶段涉及的流程如下所列:
- 通过应用密码块链(CBC),从有效载荷、相应数据和随机数生成消息认证码(MAC)值。
- 然后通过对 MAC 和有效载荷应用计数器模式加密生成密文。
- 在计数器与密码块链消息认证码生成加密期间,有效载荷大小增加了 MAC 的大小。
3.6.2 解密验证
此阶段涉及的流程如下所列:
- 通过应用计数器模式解密,从密文中提取出消息认证码(MAC)和相应的有效载荷。
- 通过对接收到的有效载荷、数据和随机数应用 CBC 模式来验证 MAC 的正确性。
- 通过正确验证 MAC,可确保数据来自有效的源。
设 TRL 为令牌注册表,S 和 R 分别为源和接收方。设 Q 为具有 x 位分组和 y 位密钥的分组密码。设 $S = S_1 | S_2 … | S_m$ 为明文。设 $Z = Z_1 | Z_2 … | Z_a$ 为将被认证的数据。设 Z 为由 x‐1 个分组组成的密文。$L = L_0, L_1, …, L_n$ 是用于计算密码块链消息认证码(CBC‐MAC)的 n 比特大小的输入。
算法3 CBC加密和解密
- 对相应的数据和明文分组进行认证。
- 对由 S、Z 和 R 导出的 $L = L_0, L_1, …, L_n$ 进行认证。
- 将值 $L_0$ 作为 CBC 链中的第一个分组。
- 消息认证码(MAC)值和明文通过计数器模式加密并相互附加。
- n 位分组 $W_0 | W_1 | … | W_s$ 被视为 CBC 模式的输入。
- 为了加密消息 S 和 Z,选择接收方 R,并生成相应的格式化输入。
-
使用分组密码 Q 计算密码块链消息认证码(CBC‐MAC)标签 T,公式如下:
$$
F_0 = T \oplus lsb_t(E_k(w_0)) \tag{6}
$$
其中 $lsb_t$ 表示最低有效位,$E_k$ 表示加密后的输入。对于所有明文分组 $S_i$,生成加密分组 $F_i$ 为:
$$
F_i = S_i \oplus (E_k(w_k))
$$ - 在解密过程中,使用输入 L、相应数据和明文,通过计数器模式对 $F_i$ 进行解密以恢复标签 T。
- 如果验证有效,则返回明文;否则,系统将显示适当的错误信息。
设 R 为用于生成长格式输入和计数值的随机数。设 y 为消息认证码的比特长度。
接收方现在使用计数器与密码块链消息认证码,并开始与发送方进行直接通信。
4 实验结果
4.1 实验设置
所提出的高效节能的分布式轻量级认证与加密(EEDLAE)协议已在 NS3 中进行仿真,且 CCM 技术使用 C++ 实现。
表1 所用物联网(IoT)设备类型
| 设备 | 类型 |
|---|---|
| 运动传感器 | 1 |
| 环境传感器 | 2 |
| 插座 | 3 |
| 摄像头 | 4 |
| 智能手机 | 5 |
根据图1,共有六个设备(D1至D4分别属于类型1到类型4,D5和D6属于类型5)。所提出的EEDLAE协议已与安全认证与访问机制(SAAM)技术进行了比较。
在SAAM中,接收方为每个诚实节点生成唯一的令牌,使其能够在请求数据传输会话之前进行身份认证。该令牌仅在一次会话中有效,并存储在接收节点的写入器(WR)中。如果发送方成功向写入器(WR)完成身份认证,则会向接收节点发送唤醒信号。该方案使用生成的动态会话密钥作为对称加密密钥,并利用MAC密钥来保证数据真实性。但该方案存在的主要缺点如下:
1. 该方案未处理外部攻击或威胁。
2. 睡眠占空比周期是固定的,未考虑剩余电池电量。
3. 它使用传统对称加密和基于MAC的认证,未能提供高安全性。
攻击模型:当前研究侧重于高级攻击,这些攻击基于对安全策略的违反。DDoS攻击、睡眠剥夺、数据伪造和节点捕获是其他被考虑的攻击类型。
4.2 结果与分析
在仿真实验中,攻击频率分别设置为50、75、100、125和150 kB/s。攻击频率指的是每秒用于发起攻击所消耗的数据量(以kB为单位)。
为了衡量攻击对接收数据包的影响,已测量受影响的数据包的百分比。
图2显示了在攻击频率变化时,EEDLAE和SAAM协议下受影响的数据包百分比。从图中可以看出,EEDLAE情况下受影响的数据包百分比从48%增加到56%,而SAAM情况下则从53%增加到60%。因此,与SAAM相比,EEDLAE情况下受影响的数据包百分比低7%。
为了衡量对节点捕获攻击的抵御能力,已对接收到的数据包测量了节点捕获抵御能力指标。
图3展示了当攻击频率变化时,EEDLAE和SAAM协议的节点捕获抵御能力测量结果。该图显示,EEDLAE的韧性从0.98下降到0.95,而SAAM的韧性从0.95下降到0.93。因此,EEDLAE比SAAM的韧性高出2.5%。
为了测量在各种攻击存在的情况下成功接收的数据量,已对接收端的聚合吞吐量进行了测量。
图4显示了在攻击频率变化时测得的EEDLAE和SAAM的吞吐量。该图表明,EEDLAE的吞吐量从108 kB下降到87 kB,而SAAM的吞吐量从99 kB下降到79 kB。因此,EEDLAE的吞吐量比SAAM高9%。
为了证明方案的能效,已测量所有设备的平均剩余能量。
图5展示了当攻击频率变化时,EEDLAE和SAAM的平均剩余能量。该图显示,EEDLAE的剩余能量从10.9增加到11.2 J,而SAAM的剩余能量从10.5增加到11 J。因此,EEDLAE的剩余能量比SAAM高2%。
5 结论
本文提出了用于物联网安全的EEDLAE技术。每个设备的信任值由攻击检测概率估算得出,且令牌过期时间根据每个发送方的信任值推导得出。写入器(WR)的休眠周期基于其剩余能量确定。在数据传输过程中,数据使用计数器与密码块链消息认证码算法进行加密。所提出的EEDLAE技术在C++中实现,并与SAAM技术进行了比较。攻击频率从50 kB变化到150 kB,性能以受影响数据包百分比、对节点捕获的弹性、吞吐量和平均剩余能量来衡量。实验结果表明,与SAAM相比,EEDLAE减少了7%的受影响数据包,节点捕获抵御能力提高了2.5%,吞吐量增加了9%,剩余能量提高了2%。
79

被折叠的 条评论
为什么被折叠?



