无线传感器网络中轻量级加密算法用于认证加密的能量和面积成本
卡洛斯·安德烈斯·拉拉‐尼诺,ArturoDiaz‐Perez,和米格尔·莫拉莱斯‐桑多瓦尔
塔毛利帕斯研究中心,“TECNOTAM科技园区”,87130维多利亚,塔毛利帕斯州,墨西哥 o 通信应致卡洛斯·安德烈斯·拉拉‐尼诺;clara@tamps.cinvestav.mx
收稿日期2018年4月27日;修订日期2018年7月17日;接受日期2018年8月13日;发表日期2018年9月4日
学术编辑:王伟
版权所有©2018卡洛斯·安德烈斯·拉拉‐尼诺等人。本文是在知识共享署名许可协议下发布的开放获取文章,允许在任何媒介中不受限制地使用、分发和复制,前提是原始作品得到恰当引用。
引言
无线传感器网络(WSN)是一种相对较新的技术,作为物联网(IoT)的基石之一而受到广泛关注[1]。这些网络应用于具有深远社会影响的领域,如医疗保健、军事、工业和智能家居。WSN的主要元素称为传感器节点或motes,具有特殊属性,对WSN应用提出了特殊要求。最显著的特点是它们通过无线方式通信,具有小巧的物理尺寸,具备低计算能力,并依靠电池运行。传感器节点的电池无法更换,因此其运行寿命有限[2]。已有大量研究致力于探讨无线传感器网络(WSN)的使用寿命与其能耗特性之间的关系[3, 4]。在文献中,针对无线传感器网络不同安全机制的能量消耗研究也备受关注 [5–7]。为了降低传感器节点(motes)的制造成本,其硬件实现必须足够小[8],,同时必须保持低能耗以延长无线传感器网络的运行寿命[2]。因此,无线传感器网络中加密算法的实现必须考虑资源和能耗。
本研究探讨了为无线传感器网络节点提供安全服务所关联的能耗和面积开销。我们研究的主要目标是保护无线传感器网络中的敏感数据,保障用户隐私,并确保无线传感器网络的可信性。在某些收集和传输敏感数据的无线传感器网络应用中(例如,无线体域网),必须通过受保护的通信来确保信息安全。特别是,IEEE局域网和城域网标准 IEEE 802.15.4[9], 建议使用高级加密标准(AES) [10]的计数器(CTR)与密文分组链接(CBC)消息认证码(MAC)操作模式(CCM,CCM∗)[11],以确保传输数据的机密性和完整性/认证服务。
AES CCM∗由两种底层原语组成:用于机密性服务的CTR模式下的AES,以及用于完整性和认证的CBC‐MAC模式下的AES服务。高级加密标准是一种具有明确密码学特性的强对称密钥密码系统。高级加密标准在通用应用中被广泛使用,在软件和硬件中均表现出良好的性能。然而,高级加密标准是在传感器节点等资源受限环境中使用的最佳原语吗?
为了研究AES的替代方案,我们需要提供与CC M∗相同保护级别的替代方案。IEEE 802.15.4中定义的安全服务也可以通过认证加密(AE)组合来实现。这些构造在底层密码原语的选择上提供了更大的灵活性。一种通过“通用组合”设计的认证加密方案是一种操作模式,它以黑盒方式使用给定的对称加密方案和给定的MAC算法。文献中已研究了三种此类构造: Encrypt-and-MAC、MAC-then-encrypt 和 Encrypt-then-MAC[12]。这些方案的安全性评估基于以下假设:给定的对称加密变换能够抵御选择明文攻击 (CPA),且给定的MAC在选择消息攻击(CMA)下是不可伪造的[12]。
鉴于可以选择不同的密码原语来实现认证加密系统,如果传感器节点中实现的认证加密解决方案基于轻量级算法而非通用替代方案,会带来什么好处?隐私保护CTR模式是CPA安全的。在此操作模式下,仅需密码的加密过程即可对数据进行加密或解密。这对于资源受限的设备是有利的。当在方案中添加 MAC函数时,则可以提供完整性和认证。只要操作模式是CMA安全的,这些消息认证码就可以使用分组密码(CBCMAC)或哈希函数(HMAC)生成。尽管基于哈希的标签提供了理想的安全部件,但其效率受到了质疑[13],,尽管尚未提供实证证据。
在评估的认证加密构造中,我们使用了通用和轻量级的密码及哈希函数。我们研究了分组密码在对称加密和 MAC生成中的应用,以及哈希函数在MAC算法中的应用。从这个意义上说,我们的目标是:(a) 在分组密码和哈希函数的情况下,量化轻量级算法相对于通用算法的成本; (b) 量化哈希函数与分组密码之间的成本差异。通过通用组合实现的认证加密为我们提供了实现这些目标的手段。
最近,文献中提出了用于认证加密的现代工作模式 [14–18]。这些方案允许单次遍历完成加密和完整性保护,而无需使用MAC。尽管这种额外的效率对无线传感器网络(WSN)具有吸引力,但我们选择基于以下前提将通用组合作为案例研究: (i) 使用通用组合方法的优势在于,它有助于设计带有关联数据的认证加密(AEAD)构造 by mak使其成为可能ble 到 c hoose both 和一个消息认证方案独立地 [19]。(ii) 对底层原语选择的灵活性使得能够更广泛地研究加密和MAC方案的各种替代组合。(iii) 所选的组合方案通常已经得到现有安全分析的支持;因此,无需针对组合后的方案进行专门的安全分析 [19]。(iv) 所选的AE范式非常适合无线传感器网络通信,因为无需解密即可验证消息[19]的完整性。(v) 以通用组合作为案例研究,可以在选择底层安全原语时提供灵活性。从这个意义上说,通过通用组合实现AE可支持其他用途,例如:(a) 轻量级算法和 (b) 基于哈希的MAC函数的成本分析。该评估对于可采用轻量级密码算法或基于哈希的MAC的其他AE方案具有参考价值。
我们在基于FPGA实现的电池供电传感器节点原型上评估了多种AE配置。该传感器节点能够执行感知、处理和消息传输等基本任务。此外,该原型集成了一个安全核心,用于实现本文评估的AE配置。底层对称加密函数可实现为轻量级分组密码并配合合适的保密模式,而底层MAC函数也可采用轻量级算法,支持基于密码或基于哈希的方案。在本研究中,我们旨在通过实验确定这些选项中哪一种在能耗和硬件资源使用方面为传感器节点带来更大的优势。
我们的贡献可以总结如下: (1) 我们量化了通过通用组合实现认证加密时对无线传感器网络节点使用寿命造成的开销。(2) 我们通过实验证明,使用轻量级算法相较于通用替代方案在减少对无线传感器网络节点使用寿命影响方面的优势。(3) 我们分析了在硬件中使用哈希函数相对于分组密码的成本,以及这些构造对无线传感器网络节点使用寿命的影响。
2. 材料与方法
在本节中,我们回顾了文献中的相关工作,提供了一些初步概念,描述了所提出解决方案的设计方法,并介绍了我们的实验设计。
2.1. 相关工作
除了通用组合作为认证加密的一些经典提案外,还包括工作模式
安全与通信网络 3
CCM [11], GCM [20],和OCB [21]。CCM 运行模式需要使用分组密码的计数器模式以提供机密性,以及 CBC‐MAC模式以提供认证和完整性。密码使用的计数器由称为随机数的初始化值生成,该随机数对于每个使用的密钥必须不同。伽罗瓦/计数器模式(GCM)在加密方面的工作方式与 CCM 相同。然而,为了提供完整性和认证,GCM 使用基于伽罗瓦域乘法的系统。GCM 相较于 CCM 的优势在于认证标签可以并行计算。偏移密码本模式(OCB)是一种将消息认证码( MAC)集成到分组密码操作中的方案,通过单遍处理同时提供机密性和认证。已经提出了不同版本的 OCB 以支持关联数据并提高性能。虽然 CCM 和 GCM 需要对底层分组密码进行 2n次调用,而 OCB 只需要 n+2次调用即可提供相同的安全服务,其中 n 是明文中的块数。缺点是 OCB 受专利和许可证限制,影响其实际应用;这也是推动 CCM 更广泛采用的原因之一。
其他研究提出了源自原始通用组合的AE方案。[22]中的作者回顾了使用流密码作为底层原语的认证加密不同构造方式。通过对各种替代方案进行定性分析,以确定最适合能耗、处理能力和内存受限设备的方案。该研究聚焦于eSTREAM项目的流密码。提出了三种基于Dragon‐MAC的构造并进行了分析,这些构造属于 Encrypt-then-MAC组合,因此被认为是安全的。然而,并未提供实验数据来评估这些解决方案的适用性。[19]中的研究提出了一种称为联合密码模式(JCM)的认证加密操作模式,该模式基于Encrypt-then-MAC方法。JCM在基于分组的通信协议中提供带关联数据的认证加密(AEAD)密码服务。还从JCM衍生出另一种名为 TinyAEAD的AEAD构造,其利用分组密码和马蒂亚斯‐迈耶‐奥西斯(MMO)哈希作为底层算法。文中提供了在40兆赫时钟频率下的PIC18F2320上对TinyAEAD、 CCM和EAX’进行仿真测试的结果。软件仿真基准测试结果表明,对于实际无线传感器网络通信数据帧长度, TinyAEAD在处理延迟、处理吞吐量和处理效率方面表现出优越的性能。
对实时密码解决方案的需求也已被提出。在[16]中,作者提出了一种基于实时的认证加密方案,其中“实时密钥流”由诸如高级加密标准(AES)等任何安全分组密码生成。作者引入了两种工作模式:具备完整性感知的实时计数器(IAR‐CTR)和密文反馈(IAR‐CFB)模式。所提出的这两种工作模式旨在通过单遍处理同时提供机密性和消息完整性,而无需使用标签。根据作者的说法,他们的实时解决方案适用于完整性感知、延迟、抖动和平行性等参数至关重要的系统。该研究在配备512MB内存的Intel Core 2 Duo 1.83‐GHz机器上,使用CryptoPP密码库进行模拟并提供了结果。另一项关于实时加密的相关提案见于[17]。在该研究中,作者提出了一种称为基于实时的优化密码反馈模式(RT‐OCFB)的CFB和OCFB模式的实时替代方案。根据作者所述,该提案解决了“阻塞问题”以及无法预先安排密钥流的问题。与CFB和OCFB类似,该提案不提供完整性或认证。该研究未提供实现结果。
一些额外的方案专注于单通认证加密。文献[14, 15]中提出了两种认证加密的流密码工作模式,即 PFC‐CTR(基于计数器的认证加密环境)和 PFC‐OCB(基于OCB的认证加密环境)。这些设计依赖于由分组密码生成的密钥流。这些方案提供数据机密性、认证,并通过减少加密调用次数来防范重放攻击。但未提供对这些工作模式的实验评估。文献[18]中提出了一种新的分组加密工作模式,称为明文反馈异或( PFX)。PFX提供强完整性,并可与其他实现机密性的加密模式结合使用。该研究中给出了两个此类方案: PFX‐CTR和PFX‐INC。但未提供实现结果。
在本研究中,我们选择了通用组合而非CCM、 GCM和OCB等方案,因为我们希望测试不同的MAC算法,例如基于哈希函数的算法。尽管所回顾的现代工作模式效率较高,但并未被同等考虑。此外,通用组合可以允许我们包含关联数据,这对于无线传感器网络是一个有益的特性。然而,我们的研究成果也可用于上述方案的实现,因为我们不仅关注认证加密结构的评估,还关注其底层原语。
我们分析了通过通用组合实现认证加密在无线传感器网络中的适用性。我们的目标是构建一种能够在降低能耗和实现面积的同时提供机密性、完整性与认证的解决方案。与以往的研究不同,本研究提供了充足的实验数据以支持我们的结论。
2.2. 预备知识
认证加密指一种基于共享密钥的变换,旨在为底层数据提供机密性和认证[12]。这些方案使用密钥将明文转换为密文;逆向变换需要相同的密钥,以将密文重新转换为明文,或转换为一个符号,以警告密文是否已被篡改。
2.2.1. 安全概念
不可区分性已被提出作为对称加密 [12] 最重要的安全目标。该属性指的是攻击者无法区分密文与随机字符串的能力。可在选择明文攻击(CPA) 或选择密文攻击(CCA)下进行研究以确定
4 安全与通信网络
表1:在假设SE为IND‐CPA安全且MA为SUF‐CMA安全的前提下,不同认证加密方案的安全结果,取自[12]。此处使用SE的 IND‐CPA安全概念,因为它是较弱的安全概念(相较于IND‐CCA),但足以在认证加密下实现IND‐CCA安全。
| 组合方法 | 机密性 | 认证 |
|---|---|---|
| IND‐CPA | IND‐CCA | |
| 先加密后MAC | 不安全 | 不安全 |
| 先MAC后加密 | 安全 | 不安全 |
| 先加密后MAC | 安全 | 安全 |
不同的安全属性。基于不可区分性的对称加密安全概念是强健的。如果攻击者在变换中无法找到任何区分器,则其他攻击模型成功的概率可以忽略不计。在选择明文攻击和选择密文攻击下不可区分性的安全概念分别简称为 IND‐CPA 和 IND‐CCA [12]。
对称加密的认证概念,如[12]中所述,包括(i) 明文完整性(INT‐PTXT)和(ii)密文完整性( INT‐CTXT)。在第一种情况下,目标是确保解密不会产生发送方从未加密过的消息。在第二种情况下,防止创建之前从未由发送方生成的密文。
这些关于机密性和认证的安全概念具有众所周知的关系,这些关系被用来证明复杂加密方案的安全性;有关这些关系的详细描述,读者应参考[12]。
对于MAC算法,安全概念涉及不可伪造性。该属性在选择消息攻击(CMA)下进行评估,可分为弱不可伪造性(WUF‐CMA)或强不可伪造性(SUF‐CMA)。第一种情况意味着,即使经过一次选择消息攻击(CMA),攻击者也难以为未知消息找到一个消息‐标签对。第二种情况要求,即使经过选择消息攻击(CMA),攻击者也难以计算出新的消息‐标签对。在[12]中指出,任何伪随机函数(PRF)都是强不可伪造的MAC,且大多数实际应用的MAC似乎是强不可伪造的。
2.2.2. 通用组合
“通用组合”是以某种方式将对称加密方案与MAC算法组合而成的方案[12]。设SE表示一个具有密钥Ke 的对称加密方案,由加密算法E和解密算法D定义。假设MA表示一个具有密钥Ka 的消息认证方案,由生成算法T和验证算法V定义。设M表示需要被保护的消息。以下SE和MA的组合可以构成一个认证加密方案AE:
(i) Encrypt-and-MAC: AEKe ,K a (M)= E K e (M) ‖ T K a (M).
(ii) MAC-then-encrypt: AEKe ,K a (M)= E K e (M‖ T K a (M)).
(iii) Encrypt-then-MAC: AEKe ,K a (M)= C ‖ T K a (C)where C= E K e (M).
表1来自对[12]中的安全分析。设SE为IND‐CPA安全, MA为强不可伪造性‐选择消息攻击(SUF‐CMA)安全。与之关联的是AE,即根据以下三种通用组合之一构建的认证加密方案:Encrypt-and-MAC、 MAC-then-encrypt 或 Encrypt-then-MAC。
对三种AE组合方案进行了评估,以验证它们在四种不同安全概念下的安全性:IND‐CPA、IND‐CCA、 INT‐PTXT和INT‐CTXT。每种方案的安全性形式化证明已在[12]中提供。
在本研究中,采用先加密后MAC组合方式,为案例研究中传感器节点传输的消息提供机密性和认证。该选定方案在以下两个假设下被认为是安全的:底层对称加密方案具有IND‐CPA安全性,且底层消息认证码函数具有SUF‐CMA安全性。
2.2.3. 对称加密
在资源受限环境(如无线传感器网络)中,减少所需算法的数量是诸多关键任务之一。因此,期望使用对合密码变换。对合对称密码是指其加密函数 E与解密函数D等价的密码。某些Feistel结构具有此特性。然而,这种优势由于搜索空间缩减,可能给分组密码带来安全风险。对合性也存在于诸如CTR [23]之类的工作模式中。该加密方案使得仅使用底层对称密码的变换E即可实现数据的加密和解密。此外,CTR工作模式是IND‐CPA安全的,如[24, 25]中所证明的那样。
图1展示了CTR工作模式。其优点在于,无论是加密还是解密消息 M,都只需要实现加密函数E,并结合一系列计数器 ctr和密钥Ke 。这有效地将大多数实现所需的资源减少了一半。
2.2.4. MAC算法
消息认证码(MAC)是使用私钥从消息计算出的标签。如[12],所述,大多数实际应用中的消息认证码似乎在表现为PRF的假设下是强不可伪造的。在本研究中,我们使用CBCMAC[23]和HMAC [23]作为MAC生成算法。
CBCMAC作为PRF的安全性在[24, 25]中得到证明,而 HMAC作为PRF的安全性在[26]中进行了分析。CBCMAC是一种操作模式,可利用对称密码生成消息认证码。该方案如图2所示。生成消息认证码所需的额外资源很少
安全与通信网络 5
一种基于底层对称加密方案的消息认证码。此外,鉴于消息认证码的特性,仅需实现分组密码的加密函数即可。CBCMAC的安全性依赖于两个条件:(i)待处理的消息为固定长度;(ii)底层密码的分组大小足以表示消息空间。在我们的案例研究中,这两个条件均满足,因为我们使用的是固定长度且长度较短的消息。
本研究包含了HMAC,以评估哈希算法在资源受限环境中的开销。该操作模式使用哈希函数和私钥生成消息的消息认证码,如图3所示。文献中指出,哈希函数不适用于资源受限设备[13];然而,这一说法尚未通过实验验证。此外,随着
轻量级哈希函数强化了验证此类假设的必要性。
2.3. 传感器节点架构
所创建的传感器节点原型的架构包括一个传感单元和一个通信单元。传感单元旨在获取其环境物理变化的样本。所有收集到的数据都通过一个通信模块传输给另一个实体。图4展示了传感器节点架构中考虑的组件。
传感器节点包含一个控制单元,能够做出决策、处理中断、异常等任务。这些任务可由自动机或处理器来管理。在我们的案例研究中,自动机更为合适,因为它以降低灵活性和延长开发时间为代价,减少了资源消耗。相比之下,处理器则具有这些优势。选择最合适的方法将取决于无线传感器网络的特性。
在接收到传感单元的新消息后,自动机负责监督处理和
6 安全与通信网络
消息的传输。在我们的研究中,未考虑从相邻节点接收消息的场景。
在此传感器节点架构中,最关键的组件是安全模块,其开发目的是确保传感器传输通道的安全。该模块实现了认证加密组合先加密后MAC。它从传感单元接收输入消息,并向通信单元输出数据包;这些数据包封装了加密载荷和安全头部。每个安全模块的配置都包含一个用于控制模块操作、消息加密以及MAC创建的自动机。用于执行加密和计算MAC的架构将在下文详细讨论。
2.4. 安全模块
安全模块的架构由两个主要部分组成:一个用于加密/解密消息的子模块,以及一个负责生成和验证消息MAC的子模块。在所提出的案例研究中,认为节点仅执行传输任务,这只需要加密和标签生成。安全模块的框图如图5所示。
2.4.1. 底层加密算法
用于提供机密性认证的操作模式需要底层分组密码或哈希函数。针对每种类型的加密原语,研究了一种通用算法和一种轻量级替代方案。
加密引擎 。数据机密性通过加密实现,由CTR工作模式下的分组密码提供。该方案在实现时力求最小化面积开销,主要由计数器本身和一个异或层决定。在CTR模式中,每个连续的计数器值使用加密算法进行加密,然后将结果与明文块进行异或。结果即为密文。
分组密码 。认证加密方案中使用的对称加密算法是高级加密标准和Present。在这两种情况下,主要设计目标都是减少面积,密钥长度为128位。选择高级加密标准是因为它广为人知
通用标准,而根据文献中关于其性能和实现规模的报道, Present 被选为使用的轻量级密码[27]。
Rijndael 由琼·达门和文森特·赖曼于1998年提出,并于 2001年由美国国家标准与技术研究院标准化为高级加密标准。它是一种基于轮次的密码,采用置换‐代换网络(SPN)结构。Present 由安德烈·博格达诺夫等人于2007年创建,并于2012年由国际标准化组织/国际电工委员会标准化。Present 同样具有 SPN结构,并基于轮次。在本研究中,我们从能耗和面积角度评估这两种密码在传感器节点安全模块中的影响。
安全模块中用作加密引擎的AES和Present硬件架构如图6所示。
AES架构在实现规模和性能之间具有良好的平衡。当目标是降低电路的能耗时,为了实现最小面积占用而牺牲性能并不可行。降低延迟从而提升性能在减少能耗方面起着重要作用。Present设计还探讨了这些思路,采用了一种简化数据路径架构,该架构在不牺牲数据路径延迟的前提下实现了优化。该架构中的优化经过精心设计,仅实施最有效的面积缩减策略。本工作中所采用的AES架构源自 [28]中的实现,而所使用的Present设计则是文献[27]中报道的版本。
在所采用的Present设计中,目标是减小数据路径宽度,同时考虑替换层(s盒层)和置换层(p层)。在减小替换层宽度时,数据路径可调整为任意能被4整除的宽度。置换层宽度的减小得益于该函数结构本身的规律性。该策略通过利用64位置换的规则性,将置换层的宽度从64位缩减至16位。通过该缩减,替换层也可采用16位宽度,因而仅需四个替换盒。
从图6可以看出,该设计仅需要两个数据端口,16位作为输入(数据输入),16位作为输出(数据输出)。输入数据需要消耗4个周期,然后使用124个周期处理状态,最后需要再用4个周期生成输出,总延迟为132个周期。
该架构的密钥调度通过在一个模块中记录所有密钥材料,并允许综合工具生成产生轮密钥的组合设计来实现。对于此特定设计而言,这种方法具有优势,因为轮密钥的宽度从64位减少到16位,从而降低了组合过程的复杂性。采用这种方法需要在综合前预先计算完整的密钥集,并将其描述为一个存储器块。当现场可编程门阵列无法使用存储器块来实现该模块时,综合工具将被迫使用查找表来创建一个能够实现相应功能的组合块
安全与通信网络 7
生成密码[29]所需的每个轮密钥。
认证引擎 。认证通过使用消息认证码(MAC)来保证。最终的消息包包含数据和MAC标签;因此,数据扩展是所用认证加密方法的缺点之一。然而,MAC提供了强认证,这对于词汇量较低的消息非常有用,例如在无线传感器网络中传输的消息。
所选的带密钥的消息认证码算法使用128位的密钥长度。CBCMAC的实现需要在底层分组密码的输入端添加一个异或层。在面积优化实现中,单个加密核心可以处理整个消息,该消息被划分为多个块。当处理完最后一个块时,结果即为该消息的消息认证码。H MAC的实现除了哈希核心外,还需要两个内部寄存器和一个异或层。输入消息被划分为由底层哈希函数决定长度的块。为了减少资源使用并利用单个哈希核心,需要使用一个额外寄存器来存储中间结果(图3中的H1 )。当最后一个消息块处理完成后,消息认证码即可在哈希模块的输出端获得。
哈希函数 。我们选择SHA‐3和spongent作为实现 HMAC核心的底层哈希函数。在SHA‐3系列中,使用了SHA3‐256来测试其在所提出的案例研究中的效率。对轻量级哈希函数的文献回顾显示,已报道的实现规模最小的算法是spongent;因此选择了该算法。
Keccak 由吉多·贝尔托尼等人于2008年创建,并于2015年由美国国家标准与技术研究院(NIST)标准化为SHA‐3。该哈希函数首次采用海绵结构,并以一组排列作为其内部函数。SHA‐3 是包含四个算法的系列,其哈希长度分别为224位、256位、384位和512位。安德烈·博格达诺夫等人于2011年提出了 spongent。该哈希函数采用海绵结构,其内部函数基于类似 Present的SPN结构构建。这也是一组包含五个算法的系列,其哈希长度分别为88位、128位、160位、224位和256位。
SHA3‐256默认提供256位的输出。该输出以64位块的形式生成,根据美国国家标准与技术研究院(NIST)的规定,消息认证码(MAC)可根据应用需求进行截断。依据[13]中的建议,确定使用64位长度的消息认证码( MACs)。spongent具有针对不同输出长度的多种配置,其中选用了长度为88位的配置。这种设计的缺点是生成摘要所需的轮次较多,对解决方案的性能产生负面影响。所采用的哈希函数架构如图7所示。
SHA‐3的作者开发了该算法的三种硬件实现:高性能核心、中等范围核心和最小面积协处理器[30]。中等范围核心是探索面积/性能权衡的最佳选择。该设计具有参数化特性,允许修改数据路径宽度,以增加延迟为代价来减小面积。我们通过实验确定,以并行处理四分之一状态的配置在面积/延迟比方面最为合适。
减小面积对于在无线传感器网络中实现通用算法非常重要;然而,如果目标是改善电路的能耗,则不能牺牲性能。本研究中使用的spongent架构是以一种直接的方式构建的。尽管该算法本身是轻量级的,但通过面积最小化策略仍可进一步优化这些结果。然而,由于 spongent的设计本身具有较高的延迟,这限制了基于数据路径缩减的面积缩减优化方法的应用。本设计与 [31]中的设计不同之处在于,本研究中的架构包含了在 HMAC模式下使用所需的控制和寄存器。
spongent‐88 所采用的架构基于带有单个寄存器的硬件循环。在初始阶段,状态值为全零字。在第一轮次中,输入块与寄存器中的值进行异或。在每一轮次中,寄存器随后与线性反馈移位寄存器(LFSR)的内容进行异或,并经过替换和置换层处理。
LFSR计数器由一个6位寄存器在每个活跃轮次时钟驱动生成。其值与状态的最低有效位进行异或,其反转值也进行异或
8 安全与通信网络
表2:不同安全模块配置中使用的底层加密算法。
| 标签 | 算法 | Type | 类 | 操作模式 | 提供的服务 |
|---|---|---|---|---|---|
| AES‐128 | AES | 对称密码 | 通用 | CTR | 机密性 CBCMAC 认证 |
| PRE‐128 | Present | 对称密码 | 轻量级 | CTR | 机密性 CBCMAC 认证 |
| SHA‐256 | Keccak | 哈希函数 | 通用 | HMAC | 认证 |
| SPO‐88 | spongent | 哈希函数 | 轻量级 | HMAC | 认证 |
与状态的最高有效位进行处理。替换层由22个4位替换盒构成,能够并行处理状态。置换层是一种简单的布线结构,可以以极低的成本直接实现。输出直接取自寄存器的输出。为了降低输出端的开关活动,我们选择加入一个掩码,从而在消耗少量额外硬件资源的情况下改善了能耗。
2.5. 方法
本节描述了本研究中采用的实验方法,包括实验设置、实验配置以及评估指标。
2.5.1. 环境
第2.4节中介绍的传感器节点原型使用 VHDL描述,并在Xilinx Spartan‐6 XC6LX16‐CS324 FPGA上实现。该原型配备了电池系统以实现自主运行。密码原语及其对安全模块操作的影响研究通过该系统作为计算平台进行。
在我们的实验中使用了一块6伏特1安时的铅酸电池。现场可编程门阵列通过Nexys 3 开发板上的稳压器连接到电源。使用从英特尔公开数据库( http://db.csail.mit.edu/labdata/labdata.html)获取的一组消息,模拟了传感单元的操作。该数据库包含2月28日至4月期间部署在英特尔伯克利研究实验室的54个传感器节点的消息。5,2004年。传感器节点(motes)每31秒采集一次带时间戳的拓扑信息,以及湿度、温度、光照和电压值。该数据库包含从这些传感器收集的大约230万条读数记录。
通信单元被配置为使用串行协议的4215A XBee模块驱动,用于从现场可编程门阵列到XBee卡的数据传输。该模块被设置为以64位字的形式接收和传输数据,然后将这些数据分割成字节并通过无线通信进行传输。
为了传输消息,考虑了一个基本场景:传感器节点通过连接到FPGA的XBee卡直接将数据发送到基站。为了在所有实验中复现相同的条件,使用来自公共数据库的消息来模拟传感单元。从数据库中提取了3600条对应于ID为=1的传感器节点的消息,并将其转换为定点表示法。编码后生成长度恒定为144位的消息,并存储在实现的传感器节点中。传感单元配置为每秒输出其中一条消息。环境的组成部分如图8所示。
2.5.2. 配置
传感器节点中的安全模块在不同的配置下实现,这些配置由表2中所示的密码原语组合而成。研究了五种配置;它们都遵循先加密后MAC范式。
这些算法的使用所衍生出的配置描述如下:
安全与通信网络 9
7
6.5
6
5.5
5
4.5
4
3.5
3
2.5
12:30 13:00 13:30 14:00 14:30
时间(时:分)
无安全措施 参考
轻量级 密码
轻量级 密码和哈希
t=13:17 t=13:50 t=12:40 t=12:51 t=13:08
5.5V CCC012 CC34
通用密码
通用密码 和哈希
图10展示了传感器节点不同配置下的电压记录。横轴表示传感器节点启动后的运行时间,纵轴表示使用数字示波器记录的电池电压水平。寿命(t)由电压水平降至FPGA数据手册中规定的工作阈值5.5伏特以下的时刻确定。图10已调整为显示实验最后几个小时的情况,以便读者清楚地观察到所有配置的电压均低于工作阈值的时刻。
3.2. 讨论
首先重要的观测是,表3中提供的能耗估算与图10中传感器节点使用寿命的实验结果一致。需要重点指出的是,尽管由于轻量级设计中的面积节省而降低了功耗,但通信延迟仍然是最主要的因素。设备能量消耗的另一个主要贡献因素是:尽管表3和图10中的结果存在关联,但它们并不成正比。表3提供了节点主动处理数据时的能耗估算,而大多数时间传感器节点处于空闲状态,此时仍在消耗能量但并未执行任何任务。我们认为这是图10中不同配置之间传感器节点使用寿命差异不显著的原因。
我们的实验均在相同条件下进行,以实现公平比较。然而,所使用的铅酸电池的小时率在产品中并未明确说明。如果按照本文描述的相同条件重复我们的实验,可能会得到不同的结果。尽管如此,我们预计图10中观察到的行为可以很容易地被复现。类似地,由于所用电池的小时率及其佩克特指数未知,我们无法根据传感器节点的工作电流准确估算其使用寿命。
从我们关于传感器节点配置寿命的实验中可以得出几个结论。正如预期的那样,不为消息提供安全保护的配置(C0)报告了最长的传感器节点活动时间。该设计(C0)实现了13小时50分钟的活动时间,在后续讨论中将以此作为参考。
如果我们将配置C1(通用密码)和C3(轻量级密码)与配置C2(通用密码和通用哈希算法)和C4(轻量级密码和轻量级哈希算法)进行分组比较,可以看出,使用HMAC替代CBCMAC对原型的寿命产生了负面影响。这一对比可在图10中看出。使用哈希函数生成消息认证码(MAC)的优势在于具有较高的抗碰撞、原像抵抗性和第二原像抵抗性。然而,由于这些算法需要更多周期来生成MAC,因此能耗也随之增加。在本案例研究中,使用HMAC替代CBCMAC对寿命造成的平均代价为1.3%,考虑到前者带来的额外密码强度,这一代价可以接受。
现在,将配置C1和C2(通用算法)与配置C3和C4(轻量级算法)进行比较。在此场景中,使用轻量级算法的优势得以体现。如图10所示,比较C1与C3,在两种情况下均使用ctr加密数据,并使用CBCMAC生成消息认证码(MAC)。配置间寿命的差异可归因于使用Present替代了高级加密标准(AES)。如图10所示,比较C2与C4,在这些实例中,安全服务由ctr和HMAC提供,显然差异源于底层算法的不同。可以得出结论:使用轻量级算法能够减少系统的面积和能耗开销。在本案例研究中,使用通用算法替代轻量级解决方案对寿命造成的平均代价为3.4%。
每种认证加密配置对用作研究案例的传感器节点寿命的影响详见表4。
关于实现面积和性能,结果表明轻量级算法通过在性能上做出权衡而在面积方面具有优势。这些设计考虑因素需要在轻量级算法的设计中仔细评估。尽管最小化资源使用从而降低系统生产成本可能是一个首要目标,但这种优化不应以牺牲算法性能为代价。性能直接影响架构的运行时间,如果架构保持活动状态的时间更长,则会影响能耗。能量感知解决方案需要在实现规模(以减少必须供电的元件数量)和性能(以减少这些元件必须开机的总时间)之间做出适当的权衡。
3.3. 比较
我们未能找到在现场可编程门阵列上实现的认证加密解决方案。因此,我们无法与其他研究提供定量比较。然而,我们提供了在定性特征方面的比较,以及在一定程度上对所使用的轻量级原语的定量比较。
表5展示了我们对文献中回顾的不同认证加密解决方案特性的评估。“调用次数”列指的是不同方案的性能。可以看出,尽管现代工作模式效率较高,但它们不支持关联数据(AD),或无法满足我们评估基于哈希函数的消息认证码(MACs)成本的需求。
文献中报道了多种可替代Present的分组密码。例如,在[32, 33]中,作者指定了Simon和Speck系列分组密码。作者声称其设计在简洁性、安全性和灵活性之间取得了平衡。如前所述,这两种密码在多个轻量级应用中均表现出良好的性能,但Simon针对硬件中的最优性能进行了优化,而Speck则针对软件中的最优性能进行了优化。基于此,我们将比较重点放在Simon上。在[32],中描述了十种 Simon的配置;然而,我们将选择与所使用的Present版本相匹配的配置,即分组大小为64位、密钥为128位的版本。为了公平起见,匹配这些标准非常重要,因为分组大小和密钥大小决定了分组密码的安全强度。
选择Present的首要标准是其在专用集成电路中出色的确现规模。乍一看,[32]中的实现结果似乎优于 Present约25%(在130纳米工艺下为1000门等效,而 Present为1339门等效)。然而,正如作者指出的那样,“[他们的]当前硬件设计尚未超过综合阶段”,这意味着这些结果应谨慎对待。相比之下,[34]中的工作提供了实际的实现结果,表明在相同参数下Present与Simon之间差异约为7%(在90纳米工艺下分别为1458门等效和1560门等效)。此外,[32]中提供的Simon 64/128“面积最小化实现”似乎并不有效(从1000门等效减少到958门等效)。我们认为这是由于分组密码中使用的费斯妥网络的性质所致。
选择分组密码时需要考虑的第二个方面是其延迟。正如 [16, 17] 中指出的那样,传感器节点处理信息的延迟至关重要。对于相同参数大小的情况,Present 需要 31 个周期,而 Simon 需要 44 个周期;这将延续到各自的优化实现中。这是 Present 的另一个优势,因为更小的延迟意味着更高的性能和更低的能耗,从而带来更长的使用寿命,而这正是我们的最终目标。
关于所选的哈希函数,据我们所知,spongent‐88 的基本实现对于专用集成电路 [35]和现场可编程门阵列[31]均报告了最小的结果。
4. 结论
本文研究了在先加密后MAC通用组合模式下为无线传感器网络应用提供认证加密的不同替代方案。我们评估了所选底层密码算法在能耗和面积方面对提供机密性、完整性和认证所带来的影响。
在本研究中,我们考虑了通用和轻量级密码算法来实现先加密后MAC通用组合的构建模块。在FPGA上评估了传感器节点原型安全模块的四种不同配置。量化了这些组合对传感器节点寿命带来的开销。该影响与传感器节点原型中专用安全模块的能耗相关。
作为先加密后MAC结构的底层密码原语,我们分析了不同的替代方案。使用对称密码高级加密标准来研究使用通用分组密码的成本。使用哈希函数Keccak来评估通用哈希算法在资源受限环境中的影响。研究了 Present和spongent算法,以量化使用轻量级密码学的优势。
从我们的实验中观察到,通过通用组合提供认证加密平均而言,这对传感器节点的使用寿命产生了 ∼‐6% 的影响。这与我们列出的第一项贡献一致。
我们的实验还表明,使用轻量级算法实现认证加密对无线传感器网络传感器节点的实现规模(平均减少∼‐65% 片上逻辑单元)和使用寿命(平均增加∼+3.4%)具有积极影响。我们的第二项贡献即基于这些发现。特别是,采用一种轻量级密码在计数器模式下加密数据,并在 CBC‐MAC模式下生成消息认证码,取得了最佳效果。
所提供的结果还表明,使用哈希函数在HMAC操作模式下生成消息认证码(MAC)在效率上低于使用分组密码在CBCMAC操作模式下完成相同任务。这一结论对通用和轻量级实例均成立,在平均情况下,对传感器节点的使用寿命影响为 ∼‐1.3%,对片上逻辑单元(SLC)数量影响为 ∼+15%。尽管增加的成本可能会抑制哈希函数的使用,但在某些情况下,其附加的安全优势可能超过相关成本。基于这些结果,我们完成了第三项贡献。
437

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



