面向无线传感器网络的增强型AES加密机制与S盒分割
摘要
传感器网络通过下一代互联技术和可扩展基础设施彻底改变了无线技术。由于自主传感器在易受攻击且无人值守的环境中运行,因此保护感知数据成为一项关键问题。高级加密标准(AES)是传感器网络中私钥加密最常用且广泛使用的算法之一。然而,AES中的替换盒查找表是一个耗时的过程。因此,本研究旨在通过提出一种分割AES S盒并结合多线程同时并行替换两个字节的新技术,来提高AES的运行时间和吞吐量。所提出的增强型AES具备在异构且分层的多核传感器网络中实现的可行性。能耗和执行时间是用于评估增强型AES性能的参数。我们提出的模型优于现有的安全机制,从而延长了传感器网络的寿命并保持了数据新鲜度。
关键词 无线传感器网络 加密机制 多线程 多核 能量效率 网络安全
1 引言
无线传感器网络(WSNs)已经改变了从家庭门口到军事和医疗监控领域无线设备的应用范围。WSNs被定义为无基础设施且自配置的传感器网络,用于监测感兴趣区域内的环境和物理条件,包括压力、声音、温度、运动和振动[1, 2]。它包含大量成本较低且功耗较小的传感器,这些传感器在特定时间段内收集数据,然后将数据汇总传递至称为汇聚节点或基站的集中位置,以便进一步观察和分析。基站成为部署的传感器与最终用户之间的通信前端。尽管传感器节点体积小,但通常由四个主要部分组成:传感器、嵌入式处理器、包含收发器的通信单元以及电源模块。传感器节点除了具备感知能力外,还具有一定的处理能力。
传感器节点具有带模数转换(ADC)模块的多功能传感机制。ADC首先将模拟数据和信号转换为数字信号,然后将数字信号传递给处理器。处理模块包含一个微处理器,用于对数字数据执行聚合与加密等操作。通信模块由无线电收发器组成,用于通过短距离无线电通道发送和接收数据。电源模块为传感器节点中的所有组件提供能量。有时某些应用还需要GPS和电机等额外设备,以实现传感器节点的移动性与定位。
1.1 无线传感器网络通信架构
无线传感器网络通常由大规模安装在感兴趣区域内的传感器组成,基站位于附近[3]。基站作为通往互联网和其他网络的门户,向所有传感器节点发送信号,并定期从它们那里收集感知到的数据。基站在收集到的数据量巨大,且具有高度冗余和相关性,因此基站会对收集到的数据进行数据聚合,仅通过互联网将相关且聚合后的数据发送给最终用户[6–9]。
在过去十年中,无线传感器网络(WSN)受到了工业界和学术界的广泛关注。随着各种应用需求的不断增长,该领域开展了大量研究,以促进传感器节点的开发与部署。例如,由于传感器网络依靠电池运行,因此电池消耗在传感器网络中至关重要,接收和传输所消耗的电池电量高于计算和感知所消耗的能量[10]。因此,该领域需要开展大量研究,以减少无线传感器网络中的通信流量,节约功耗并延长传感器节点的寿命。其中一种方法是采用传感器与汇聚节点之间的多跳短距离通信,以降低电池消耗。
通过将传感器节点分组为多个簇,可以提高无线传感器网络的可扩展性、能量效率和功能寿命[11]。簇头比普通传感器更强大,例如多核处理器,并具有更强的通信能力。这种组织方式形成了异构网络。文献[23]中提出了一种用于多核无线传感器网络的架构,适用于异构和分层框架,在多媒体传感器网络、视频传感器网络等各类应用中具有实用价值。
1.2 传感器网络应用与服务
传感器网络被应用于多个领域,从环境监测到军事、医疗保健以及智能家居应用[4, 5]。以下是无线传感器网络所有应用的表格。
| S. no. | 主要应用领域 | 应用子领域 |
|---|---|---|
| 1 | 环境监测 |
(a) 栖息地:用于监测植物和野生动物的状况
(b) 空气和水质控制:用于监控地面及地面以下的水和空气质量地面 (c) 危害:用于监控化学和生物危害 (d) 灾难:用于检测自然和非自然灾害 |
| 2 | 军事应用 |
(a) 战场监控:用于监控军队的行动和存在
(b) 目标保护:用于保护军事总部、原子能工厂和通信中心 (c) 遥感:用于核武器和化学武器检测以及恐怖袭击的识别 (d) 智能引导:用于引导战斗机、潜艇、导弹和坦克 |
| 3 | 医疗应用 |
(a) 行为监控:用于在家监测患者的行为
(b) 医疗监控:用作可穿戴计算机来监测患者的健康状况并向医疗人员发出警报紧急情况下的个人 |
| 4 | 工业过程控制 | 用于监控工业中的制造过程 |
| 5 | 家庭智能化和监控 |
(a) 入侵检测:可用于识别入侵者和攻击者,并在机场及时发出警报,建筑物、地铁等
(b) 智能家居:用作自治的家庭网络 (c) 远程计量:可用于测量水、电和燃气表的读数,然后发送读取到远程中心 |
1.3 无线传感器网络的设计挑战
无线传感器网络的特定设计挑战列举如下:
- 低功耗:能量在无线传感器网络中用于传输、处理和传感。由于传感器节点由电池供电,通过最小化功耗来延长传感器网络的寿命成为一个具有挑战性的任务。
- 容错性:传感器在发生故障时应具备自修复、自检测和自恢复的能力。
- 可扩展性:无线传感器网络应能够适应不同的网络规模和密度
- 可靠性:为了确保可靠传输,无线传感器网络提供纠错机制。
- 自配置和自适应:在发生节点故障和拓扑变化时,传感器节点应能重新配置并自行组织。
- 安全:无线传感器网络应具备高效的安全机制,以保护数据和节点免受未授权访问和攻击。
1.4 传感器网络中数据安全的需求
无线传感器网络是无基础设施网络,通常部署在无人值守、不受控和敌对区域。由于无线网络是开放网络,任何人或攻击者都可以通过无线电接口轻易侵入网络并窃听重要且敏感的通信。因此,在无线传感器网络中提供安全机制以保护数据免受恶意攻击至关重要。
传感器网络环境中的主要安全要求包括以下内容 [12, 13]:
- 机密性:确保数据和通信对任何未授权访问保密
- 完整性:保证消息在传输过程中未被修改
- 真实性:确保数据来自授权用户
- 不可否认性:意味着源端和目的端均无法否认已发送或已接收该消息
- 可用性:确保在所有情况下都能向用户提供全部服务
- 新鲜性:保证节点接收到的数据在该时间段内是新鲜且有效的
无线传感器网络中的主要安全挑战源于其资源受限的特性。无线传感器网络具有有限的处理能力、电池电量和内存。因此,必须在每个组件中集成节能安全特性,以提供完整的安全系统。我们的研究始于对传感器网络中密码学方法相关突破性进展的调研。一些著名的对称加密算法,例如DES(数据加密标准)、高级加密标准(Advanced Encryption Standard)、RC5(鲁文斯特密码)和Blowfish,可用于提供安全保护在无线传感器网络中传输的信息。这些算法在相关工作中被研究和分析。然后,我们提出对AES加密算法的改进,并给出了结果。
2 相关工作
无线传感器网络被赋予监测某些自然和物理边界(如压力、声音、温度、运动和振动)的任务,范围涵盖特定关注区域。传感器中心在数据采集过程中会收集大量信息,这些信息需要传递给更高层级的节点(如簇头和基站)进行进一步处理。由于传感器节点是电池供电且处于开放网络环境中,攻击者可以轻易侵入网络并窃听重要且敏感的通信内容,因此数据安全是传感器网络的重要特性。然而,无线传感器网络具有多种限制条件,例如低处理能力、小内存、有限的电池电量以及容易被物理捕获,这使得无线传感器网络中的信息安全成为一个挑战。密码学是用于保护传感器网络中数据的重要技术。选择符合无线传感器网络约束条件的合适密码算法至关重要。密码学方法通常通过评估指标(如处理时间、功耗、代码大小和数据大小)来进行评价。
[14]中的作者对无线传感器网络上的公钥和私钥加密算法进行了比较分析,结果表明,在无线传感器网络中,公钥在能量消耗和计算成本方面非常昂贵。在成本、速度和能量方面,对称或私钥密码学优于非对称或公钥密码学。
在[15–17]中的研究对对称模型(如DES、三重DES、Blowfish和高级加密标准)在无线传感器网络中的性能进行了比较分析。性能比较的参数包括内存需求、能耗、CPU时钟周期和CPU处理时间。这些研究表明,CPU时钟周期反映了CPU的功耗,每个CPU周期都会消耗少量能量。这些论文指出,Blowfish比高级加密标准和三重DES更快,但需要较大的内存,因此无法用于智能卡。在能耗和吞吐量方面,Blowfish优于三重DES和高级加密标准。Blowfish具有较长的密钥生成过程,因此子密钥必须进行预计算。当针对数据类型、数据密度、数据大小和密钥大小等不同特性进行分析时,高级加密标准比三重DES和Blowfish更快。
高级加密标准是一种快速的加密算法,可以在多个系统上使用,甚至在嵌入式设备中也可使用。高级加密标准在硬件和软件中都具有较快的速度,且相对易于实现。高级加密标准是远程传感器系统中最知名且应用最广泛的对称密钥加密算法。高级加密标准可以轻松地在8位嵌入式微处理器上通过软件和硬件实现。然而,高级加密标准算法也存在一些缺点,例如S盒查询表是一个繁琐的过程。
另一项研究[18]提出了对AES S盒的改进,通过使用依赖于密钥的S盒实现。该论文利用轮密钥来旋转S盒,并提出了多种不同的方案以选择密钥中的值用于移位S盒。研究人员在[19, 20]中提出了一些针对算法密钥扩展部分的改进,旨在提高安全性并减少时间开销,同时不降低算法的效率。[21]中的作者设计了在多处理器平台上的并行AES实现。该设计将Add_Round_Key和mix_Column步骤结合,以实现轮次的并行化和流水线处理。所提出的设计适用于实时流量,并且可在大规模网络中进行扩展。另一项研究[22]通过将16种AES算法实现映射到具有离线和在线密钥扩展的多核系统上,提出了密钥扩展的改进方法。研究论文[24]提出了一种S盒替换的硬件实现,以提高S盒替换的整体速度。在[25]中进行的另一项研究使用多个线程并行加密多个明文,以实现快速数据加密。论文研究[26]在多核平台上使用多个线程,提高了AES算法的吞吐量。在无线传感器数据加密领域开展的大量工作基于硬件级方法和技术,以提升AES算法的性能。
在软件层面,多线程已在多核平台上用于同时对多个明文进行并行加密。但使用多个线程并不能减少单个明文的加密时间,尤其是S盒替换部分。此外,当一个线程正在使用S盒时,其他线程必须等待。
作者在[27]中提出了太阳能供电的无线传感器网络中的功率自适应信息加密,以实现节能和安全通信。该论文提出了一种能效‐安全等级管理策略,通过充分利用收集的能量来提高加密程度和能量效率。当传感器节点的剩余能量较高时,采用公钥加密技术如椭圆曲线密码学(ECC);当节点的剩余能量较低时,则采用对称密钥加密如高级加密标准(AES)。论文研究者[28]提供了一套适用于资源受限和无线通信的安全构建模块。
3 提出的增强型AES模型
高级加密标准(AES)是无线传感器网络中最重要且最具代表性的基准加密算法之一。AES机制以其在软件和硬件上的良好兼容性以及实现复杂度低而著称,且运行速度快。我们假设某些传感器节点为异构的,因而具有相对更强的处理与通信能力比网络中的其他节点具有更高的功率。图1显示了AES加密算法的流程图。
加密算法中的字节替换阶段使用称为替换盒(S-box)的查找表来替换输入明文块的16个字节。在高级加密标准中,该S盒查找表是一个耗时过程,因为一次只能替换一个字节。目前在此领域尚未开展大量工作以减少使用S盒表进行逐字节替换所需的时间并提高算法效率。我们的研究方法是将AES 256字节替换盒拆分为两部分,一部分包含前128个字节,另一部分包含剩余的128个字节。在执行S盒替换时,如果两个字节位于不同的S盒中,则可以通过并行查找同时替换两个字节;否则,查找将是串行的。这可以改善算法的运行时间,从而提高算法的效率。该技术还将减少功耗,因为加密所需的CPU周期数将少于原始情况。所提出的方案将在分层异构多核无线传感器网络中具有应用价值,因为这些传感器网络采用聚类,且簇头比普通节点更强大。
多线程概念被用于在输入块级别提供并行编程支持。所提出的工作使用两个线程进行并行S盒替换。我们所提出的方案的S盒分别如图2和3所示。在S盒替换过程中,将同时检查状态矩阵中的两个字节,如果这两个字节位于不同的S盒中,则它们将被同时并行替换,否则该过程保持串行。图4表示存储为十六进制格式字节的输入状态矩阵示例。字节37位于替换盒‐1中且字节90位于替换盒‐2中,因此两者可以并行替换。如果一个字节的替换耗时一个单位时间,则16个字节将需要16个单位时间。但使用所提出的方案,整个矩阵可以并行替换,从而将图中给定输入矩阵的16项替换的执行时间减少至10项。此过程将在算法的所有轮次中重复进行。此外,与原始的串行过程相比,并行过程所需的CPU周期总数更少,从而导致功耗降低。
该过程通过一个示例进行说明(图4)。一轮替换的所提出工作的模型如图5所示。前一节强调了实验结果,以证明我们提出的增强型高级加密标准(EAES)方案在节约传感器能量、从而延长传感器网络功能寿命方面的改进性能。
4 实现与结果分析
为了实现所提出的EAES算法,采用了多线程概念以提供并行编程支持。实验分析在Linux平台上进行,并结合C工具用于模型构建。所提出的增强型高级加密标准(EAES)算法将通过两个性能参数进行评估:执行时间和能耗。所提出的EAES算法将与原始AES实现进行比较,后者使用两个线程实现并行性,但未进行S盒分割,在运行时间以及能耗方面进行对比。此外,所提出的工作将在不同的多核处理器上实现,例如Intel core2 duo、Intel i5、Intel i3和Intel i7,并对运行时间进行比较。我们的增强型AES还将与其他对称加密算法(如RC5、Blowfish和Skipjack)进行比较。
4.1 执行时间
在Linux平台上对所提出的EAES算法与原始AES算法的执行时间进行了比较。图6展示了原始AES算法中未使用S盒分割的多线程概念与EAES算法中将S盒分割为两部分的多线程概念之间的运行时间对比。从图中可以明显看出,提出的EAES执行所需时间更少,并且在不同处理器上,随着从core2duo升级到Intel core i7处理器,运行时间进一步减少。
图7中的图表描述了当输入明文块大小增加时,原始AES算法和提出的EAES算法的执行时间。该图表显示,如果输入从一个块增加到50个块,其中一个输入块等于128位,所提出的技术性能更优。
图8中的图表比较了原始AES和增强型AES(EAES)的执行时间,具体取决于三种不同的密钥长度:128位、192位和256位,以及不同的轮次:128位密钥对应10轮,192位密钥为12轮,256位密钥为14轮。从图中可以明显看出,随着密钥大小和轮数的增加,EAES的执行时间优于原始AES。
图9展示了提出的EAES加密算法与另外三种用于无线传感器网络中数据加密的流行对称加密算法(即RC5、Blowfish和Skipjack)在128位输入块大小下的对比分析。原始AES在这三种加密算法中执行速度较慢,但在抗攻击性方面更安全。Blowfish相比AES具有更大的内存需求,并且存在弱密钥问题。RC5内存需求较低,但更容易受到攻击。Skipjack是另一种快速分组加密算法,但在无线传感器网络中的实现效率不高。通过使用EAES,AES与其他三种对比算法之间的执行时间差异得以缩小。结果证明了提出的EAES具有更好的性能,因此表明其是实现数据安全与加密的合适选择。
原始AES和提出的EAES算法通过使用两个线程的多线程概念实现,但如果增加线程数量并相应地分割S盒,在具有至少与线程数相同数量CPU核心的机器上实现时,性能会得到提升。然而,如果在没有多个核心的单CPU机器上,或在CPU核心数量少于线程数量的机器上实现多线程,则性能会下降,执行时间会增加。本文实验中使用了Intel Core2 Duo CPU,因此当我们把线程数量从2增加到4时,执行时间反而增加,如图10所示。该图展示了2、4和8个线程的执行时间,其中增强型AES比原始AES性能更优。
4.2 能耗
为了计算所提出的EAES算法的能量利用率,采用了一阶无线电模型[34–36]。传感器节点的功耗在簇级进行计算。上述方程中使用的符号及其值见表1和2。
用于计算能耗的公式如下所示。
传感器发送消息所消耗的能量:
$$ E_{Tx}(k, d) = E_{elec} \times k + e_{amp} \times k \times d^2 $$ (1)
传感器接收消息所消耗的能量:
$$ E_{Rx}(k) = E_{elec} \times k $$ (2)
传感器在处理过程中消耗的总能量:
$$ E_{TP} = E_p \times n \times k $$ (3)
最后,传感器节点总能耗:
$$ E_{Total} = E_{Tx} + E_{Rx} + E_{TP} $$ (4)
CPU周期的值,$n$根据原始AES和提出的EAES在不同输入数据大小下的执行时间计算得出,如表3所示。
原始AES和提出的增强型高级加密标准(EAES)在不同输入数据大小下的能耗如图11所示。可以看出,与原始AES相比,EAES的功耗更低。原始AES的能耗增长速率快于增强型AES。因此,所提出的EAES将无线传感器网络中传感器节点的功耗降低了11%,并延长了传感器网络的整体寿命。
| 表1 无线传感器网络的应用领域 |
|---|
| S. no. |
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 表2 能量模型所用符号及其默认值 |
|---|
| 序号 |
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 表3 原始AES和提出的EAES所使用的CPU周期 |
|---|
| S. no. |
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
5 结论
我们的研究旨在通过应用多个线程并行执行的概念以及S盒分割的方法,来减少AES加密算法的执行时间。AES的S盒被分为两部分,使得两个线程可以并行访问S盒的两个部分。与未采用分割概念的多线程实现相比,该技术改善了算法的运行时间。我们所提出的增强型AES(EAES)算法还与其他用于传感器网络的加密算法进行了比较,例如RC5、Blowfish和Skipjack。与原始AES相比,EAES算法在不同输入块大小、不同密钥长度以及多个轮次下的性能也更优。运行EAES算法所需的CPU周期少于原始AES,因此功耗降低了约11%。此外,随着输入数据大小的增加,EAES的功耗增长速率也低于原始AES。因此,所提出的增强型EAES算法提高了无线传感器网络的网络寿命和吞吐量。
2749

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



