没有合适的资源?快使用搜索试试~ 我知道了~
Rijndael加密算法在传感器网络中的性能评估和实现
理论计算机科学电子笔记171(2007)71-81www.elsevier.com/locate/entcsRijndael的传感器网络:速度是主要问题吗?1Andrea Vitaletti2“La Sapienza”信息和系统大学意大利罗马Gianni Palombizio3“La Sapienza”信息和系统大学意大利罗马摘要我们提出了一种实现Rijndael的眼睛传感器节点上运行的无线传感器网络。在以前的作品中,Rijndael没有被认为是一个合适的加密算法的传感器节点,因为它太慢,需要一个大的空间在内存中,在这种环境中的宝贵资源。我们的Rijndael实现更小,大约是以前实现的1/3到1/5。此外,我们观察到,目前无线传感器网络的MAC和路由协议,延迟时间长达几秒,因此Rijndael加密TinyOS消息所需的几毫秒与这些延迟时间相比可以忽略不计。因此,我们认为无线传感器网络加密算法的实现应该从速度,内存占用和能量效率转移。关键词:AES实现,无线传感器网络,性能评估1得到欧盟综合项目AEOLUS(FET-15964)和MIUR-FIRB项目VICOM的支助。2 电子邮件:Andrea. dis.uniroma1.it3 电子邮件地址:gpalombizio@etnoteam.it1571-0661 © 2007 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2006.11.01072A. Vitaletti,G.Palombizio/Electronic Notes in Theoretical Computer Science 171(2007)711介绍无线传感器网络(WSN)是由能够监测事件(例如地震活动、动物在森林中移动、敌人或入侵者进入监测区域、化学试剂)的传感器节点组成的自组织无线网络,以处理感测到的数据并将这些数据传送到中心节点(sink)。接收器是一个功能强大的基站,它收集网络中感测到的数据,并对其进行处理或充当通往其他网络的网关。传感器节点通常由电池供电,使得传感器网络高度能量受限。更换数百或数千个节点上的电池,通常部署在无法访问的环境中,是不可行的或成本太高。因此,无线传感器网络面临的一个关键挑战是降低能量消耗。由于这个原因,该领域的大部分研究都集中在能源效率的媒体访问控制(MAC)和路由算法的发展然而,传感器网络正在成为一个成本效益的解决方案,在关键领域的一系列应用。例如,在最近的恐怖主义事件之后,迫切需要部署有效和低成本的基础设施,以检测化学或生物制剂。当传感器网络应用于这些安全领域时,除了能量效率之外,安全性成为一个强大而重要的要求。实际上,这些应用不仅应当及时地检测潜在风险,而且还应当被保护免受恶意攻击,诸如例如假消息(即,攻击者注入被系统错误地解释的恶意数据)或损坏的数据(即,攻击者操纵数据以便伪装真实信息)。动机传感器距离实际大规模制造和使用还有一段时间。大 多 数 当 前 节 点 , 例 如 Eyes 节 点 ( http://www.eyes.eu.org/ ) 或 TMote(http://www.moteiv.com/),通常运行TinyOS操作系统,并且配备有温度和湿度传感器。它们还支持安装更先进的传感器,如麦克风、加速度计和运动传感器。然而,用于检测生物医学数据[12]、爆炸物、辐射、化学和生物毒素的传感器这为新的和有趣的应用铺平了道路。在文献[1]中,作者研究了涉及水质和安全的环境问题。清洁的水道和安全的供水是我们免受传染病以及意外或故意释放到环境中的化学和生物污染物影响的最佳保护。无线传感器网络可以成为军事指挥、控制、通信、计算、情报、监视、侦察和目标定位(C4ISRT)系统的一个组成部分。上述所有应用程序都有重要的安全要求。身份验证、授权和保密等安全功能(请参见[8] 对于无线传感器网络中独特的安全挑战的广泛讨论)可以在两个不同的网络层实现:链路层和AP层,A. Vitaletti,G.Palombizio/Electronic Notes in Theoretical Computer Science 171(2007)7173褶皱层在传感器网络中使用链路层加密有两个主要原因:i)网络内处理是大多数拟议通信协议[15,4]的共同特征,它需要中间节点访问和修改消息的内容,ii)如果消息完整性仅在最终目的地检查,则网络可能在最终检测到对手注入的数据包之前路由它们。然而,端到端安全机制在传感器网络中仍然是有用的,并且可以有效地补充链路层安全性。事实上,端到端安全性自然会在应用程序级别强制执行安全性,因此可以对应用程序生成的每种类型的消息应用适当的安全级别。例如,考虑战斗损伤评估场景。在报告对战略目标的损害时,我们可能对非常高的安全级别感兴趣注意,通常只有少数重要的战略目标和许多不重要的目标。将适当的安全级别应用于每个任务的能力,使我们能够限制和控制与安全相关的开销。这在这种能源紧张的环境中是非常重要的如今,传感器网络的安全架构(例如参见[6,9])实现了诸如RC 5或Skipjack的密码这些算法在某些环境下可以被认为是安全和高效的然而,目前事实上的高级加密标准(AES)是Rjindael,这是通常不采用的传感器节点。事实上,传感器节点上有限的处理和存储器资源使得Rijndael实现效率不高,因此运行时间很慢然而,Rijndael加密一个典型的TinyOS消息所需的时间大约是几毫秒,而传感器网络的大多数MAC和路由协议[16,14,11]都表现出几秒的路由数据包延迟。这是因为这些MAC利用短占空比(即,节点的无线电处于活动(即唤醒)的时间部分)来显著降低功耗。加密消息的几毫秒和将消息路由到接收器的几秒钟之间的这种差异事实上,当我们无论如何都要等到无线电被唤醒才能发送信息时,为什么要关注速度呢?在我们看来,在这种特定的背景下,最好专注于Rijndael能量效率和内存占用的优化。我们的贡献。我们在Eyes传感器节点上实现了Rijndael。Ri-jndael被很好地研究,并且在广泛的平台上有有效的实现,例如32位CPU,64位CPU,廉价的8位智能卡CPU和专用硬件。然而,据我们所知,在16位架构上实现的改进,例如Eyes节点平台。我们的主要贡献是:• 我们讨论了能量效率和存储器占用与在无线传感器网络上实现Rijndael的速度• 我们提供Rijndael在软件中的实现(TinyOS),其使用先前实现所需的大约1/ 3到大约1/ 5的存储器74A. Vitaletti,G.Palombizio/Electronic Notes in Theoretical Computer Science 171(2007)71• 我们的AES实现可以用于数据链路加密和端到端加密。我们开发了一个TinyOS模块,它允许我们在应用层加密消息。该模块可以运行在TinySec(传感器网络中链路层加密的完全实现的协议)之上,并有效地补充TinySec;• 最后,我们对我们的实施进行了初步的绩效评估结果表明,AES可以有效地用于对称加密,提高了安全性,但代价是速度有所下降2相关工作在[7]中,作者提出了无线传感器网络分组密码的详细基准他们考虑了一组候选者的安全属性,存储和能量效率: RC5,RC6,Rijndael ,MISTY 1 ,KASUMI 和Camellia。所有这些算法已被实现和测试的眼睛传感器节点和排名的算法的代码存储器,数据存储器和速度。RC5需要很少的代码和数据存储器,但速度较慢。虽然RC6在小代码大小方面表现出色,但即使在速度优化之后,它也是最慢的。速度优化的Rijndael具有最高的速度,但代码大小很大。实际上,Rijndael的这种实现对于速度优化代码是15842字节(CBC模式),并且对于大小优化代码是14716字节(CBC模式)。由于这几乎是Eyes节点的内存的四分之一,因此在许多情况下,此解决方案可能被认为是不切实际的。我们观察到[7]中提供的性能与[3]中提供的性能相反。事实上,在[3]中,RC5被报道具有比Rijndael更高的速度。所有上述实验都是在独立模式下进行的,即没有与操作系统的交互。[7]中使用的大多数密码代码都是从OpenSSL中提取的,没有对Eyes平台进行任何特别的优化。这证明了在实现用于眼睛硬件的Rijndael算法中的进一步改进,该算法在尺寸上更小并且提供合理的速度性能。在[5]中,作者使用了AES实现,但他们没有提供任何性能评估。在[13]中,作者基于8位ATMEL AT-MEGA 128 L微控制器平台上的公钥密码术量化了认证和密钥交换的能量成本。他们还使用AES汇编实现对称加密/解密。TinySec [6]是传感器网络中第一个完全实现的链路层加密协议。TinySec支持两种不同的安全选项:认证加密(TinySec-AE)和仅认证(TinySec-Auth)。在认证加密中,TinySec加密数据有效载荷,并使用消息认证码对数据包进行认证。仅认证模式允许我们使用TinySec消息认证码对整个数据包进行认证,但数据payload没有加密。作者发现RC5和Skipjack密码最适合嵌入式微控制器上的软件实现 他们写道,Rijndael是太慢了,但在一个说明的文件是写:“. AES可以是IM-A. Vitaletti,G.Palombizio/Electronic Notes in Theoretical Computer Science 171(2007)7175在我们的平台上运行得很好,性能并不比RC5和Skipjack差多少遗憾的是,他们没有提供任何进一步的信息。通过实验对TinySec的性能进行了评估。TinySec的能耗,即使在最资源密集型和最安全的模式下使用,是一个温和的10%,对带宽和延迟的低影响证明,基于软件的链路层安全是一个可行的解决方案,传感器网络。然而,同一作者认识到,端到端安全机制在传感器网络中仍然有用,并且可能有效地补充TinySec。在文献[3]中提出了一种无线传感器网络的入侵容忍路由协议作者实现了RC5和AES。Rijndael实现需要大约9 Kbyte,但速度性能相当差,在At-mega 128上加密128位大约需要100ms最后在[9]中,Perrig等人提出了一套针对资源受限环境和无线通信进行优化的安全构建块。特别是,作者提出了用于数据保密和双方数据认证的SNEP,以及用于认证广播的μ3键控机制设计了一种密钥机制,用于在网络上分发和共享密钥。我们可以大致确定两种主要的键控机制:共享密钥。在这种情况下,向网络中的所有节点提供单个共享密钥。密钥分发很简单,实际上一个常见的假设是,在部署之前将共享密钥加载到节点中。然而,这种机制不能防止篡改。换句话说,如果对手可以破坏节点并访问共享秘密,她可以窃听传输并将消息注入网络。每个链接密钥。 在这种情况下,两个节点共享一个密钥,当且仅当它们可以通信。如果他们是邻居的话,那就太好了。因此,每对节点共享不同的每链路密钥。这意味着一个相当具有挑战性的密钥分发机制,但强制执行更高的安全级别。事实上,即使破坏节点,对手也只能窃听指向被破坏节点的traffic,并且可能将traffic注入到其邻居。该方案的一个演变是组密钥,它也允许被动参与和本地广播。在[10]中,作者描述了一个概率模型和两个协议,通过为每个传感器分配一小组随机密钥,在无线传感器网络中的任何一对传感器之间建立安全的成对通信信道在我们的工作中,我们使用了单一共享密钥机制的简单扩展。实际上,我们在节点上加载共享的主密钥。此主密钥用于交换会话密钥,会话密钥随后用于加密端到端通信。密钥的有效性仅限于单个会话,或者在某些情况下仅限于会话长度的一小部分,这取决于所需的安全级别76A. Vitaletti,G.Palombizio/Electronic Notes in Theoretical Computer Science 171(2007)714Rijndael的端到端安全在本文中,我们提出了一个端到端的安全系统的基础上Rijndael。我们的系统可以运行在TinySec的顶部,目前,我们要求消息的身份验证和完整性,到以太网链路层协议。我们强调,虽然TinySec已完全实现,但我们的工作重点是使用Rijndael在应用程序级别加密消息,并生成和交换密钥。4.1加密信息在前面的部分中,我们已经激发了选择Rijndael作为我们的参考加密算法的动机。Rijndael保证了高安全性,但为了构建一个安全的系统,我们必须防止对手从加密消息中学习甚至部分信息。初始化向量(IV)和操作模式这对安全系统的质量有很大的影响在下文中,我们简要讨论这两个元素在我们系统中的使用。矢量。加密向量用于防止两个相同的文本序列在加密时产生完全相同的密文。由于接收方必须知道IV才能解密消息,因此大多数加密方案的安全性不依赖于IV是秘密的。因此,我们选择传输16位初始化向量清除。 由于IV必须传送到接收器,因此更长的IV将需要减少有效载荷的可用空间,而有效载荷已经很小了(更多细节见第4.2出于这个原因,我们假设16位是安全要求(长IV意味着高安全性)和为数据传输保留的空间(小IV减去更少的有效载荷空间)之间的合理权衡由于AES需要128位的IV,因此剩余位由接收器填充。在任何情况下,这种交易都可以重新定义,以支持数据的安全性或操作模式。分组密码,例如Rijndael,是在通常为8或16字节的小比特串上的带密钥的伪随机置换。由于我们通常希望加密长于8或16字节的消息,因此块密码需要一个模式加密较长消息的操作。一种操作模式将原始消息分解为适当大小的块,从而允许算法逐块加密。密码块链接(CBC)是一种只泄漏密码的操作方式在存在重复IV的情况下少量信息,并且当IV不重复时可证明安全。在大多数WSN场景中,典型的数据消息频率是每分钟几条消息,因此耗尽所有可能的216个初始化向量的时间相当长。当所有IV都用完时,必须生成新的会话密钥。CBC模式下的k字节分组密码产生长度为k的倍数的密文,特别是对长度为k+ 1的消息进行加密会产生长度为2k的密文。由于传输消息所需的能量与消息的大小成正比,因此我们希望密文和明文具有相同的能量。A. Vitaletti,G.Palombizio/Electronic Notes in Theoretical Computer Science 171(2007)7177长度出于这个原因,我们使用了密码文本窃取(CTS)操作模式。CTS模式的行为与CBC模式类似,但它生成的密文长度与明文长度匹配。4.2消息结构TinySec根据通信所需的安全功能定义了两种类型的消息:仅认证消息(TinySec-Auth包)或认证和加密消息(TinySec-AE 包)。TinySec-Auth数据包对标准TinyOS数据包进行了一些修改:删除了组和CRC字段,并引入了消息验证码(MAC)字段来验证消息。TinySec-AE数据包除了MAC字段外,还引入了两个新字段,分别名为Src和Ctr。它们都被用作定义初始化向量的变量。因此,TinySec包需要修改TinyOS包的结构。实际上,MAC、Src和Ctr字段必须添加,而组和CRC字段不再需要。出于这个原因,TinySec数据包比TinyOS数据包稍长,因此通常需要更多的能量来传输。相反,在我们的解决方案中,我们不修改消息大小。我们使用标准的TinyOS数据包,只使用两个字节的有效载荷来存储IV(16位)。这种解决方案的好处是最大限度地减少对通信层的影响。实际上,IV上的所有操作都在应用层执行。Fur-10观察到,由于我们只处理有效载荷,因此我们完全符合TinySec。4.3AES作为TinyOs模块Rijndael已经得到了很好的研究,并且在很多平台上都有有效的实现,比如32位CPU、64位CPU、廉价的8位智能卡CPU和专用硬件。然而,据我们所知,在16位架构(如Eyes节点平台)上实现并没有具体的建议。我们在NESC中实现了Rijndael,NESC是TinyOS上的参考开发语言我们的16位实现基于8位参考实现。我们主要专注于空间优化。特别是,我们减少了用于加速Galois场计算的表的数量。显然,空间的增加意味着计算时间的增加。我们还精心设计了代码,使加密和解密功能尽可能多地共享代码。最后,我们采用了一些经验性的“实施技巧”。例如,当使用嵌套的for时,我们经历了性能下降,因此我们用等效的指令集替换了内部的forAES加密功能在一个名为AES的新TinyOS模块中实现。在图1中,我们展示了AES配置模块(AESC)如何连接到典型无线通信应用的模块。我们的任务是设计一个简单而直观的系统架构。程序员只需要处理init函数,78A. Vitaletti,G.Palombizio/Electronic Notes in Theoretical Computer Science 171(2007)71Fig. 1. AESC是添加AES加密功能所需的模块。CPU(bit/MHz)RAM(字节)FLASH(千字节)MSP43016/1204860ATMEGA 1038/44096128ATmega128L8/84096128表1硬件模块,并在发送和接收功能上加密/发送消息和接收/解密它。Init. StdControl.init()函数调用AES.KeyExpand(Key,128)函数会话密钥生成模块,用于从会话密钥生成轮密钥。发送SendMsg()调用AES.CTS.encode(msg.data,msg.length,seed)函数。是的。此函数使用种子作为初始化向量对消息数据进行加密。种子被放置在加密消息的有效载荷的最后2个字节中。Ob- serve表示AES需要128位的初始化向量。 因此,最后种子的小块被填充。接收接收事件ReceivevMesg.receive(TOS_MsgPtr m)调用AES.CTS.decode(m->data,m->length,seed)来解密传入的消息。从接收到的加密有效载荷的最后两个字节获得种子5绩效评价虽然需要分组密码时的标准选择是AES或Triple-DES,但传感器网络的安全架构[6,9]实现了诸如RC 5或Skipjack的密码这些算法被认为是更适合于嵌入式微控制器的软件实现。特别是有两个主要的问题,在传感器节点上的Rijndael的实施:它往往被认为是太慢,它需要更多的内存空间,如果与RC 5相比。Law et al.的工作[7]证明Rijndael可以相当快。A. Vitaletti,G.Palombizio/Electronic Notes in Theoretical Computer Science 171(2007)7179时间15AESRC51011.25毫秒7.5毫秒55.7毫秒3.75毫秒3.8毫秒1.9毫秒4 8 12 16 20 24 28 32 36 40 4448大小(字节)图二. AES性能。在任何情况下,我们观察到传感器网络的大多数MAC和路由协议[16,14,11]都表现出几秒钟的路由数据包延迟。这是因为这些MAC利用短占空比(即,节点的无线电唤醒的时间部分)来降低功耗。Rijndael加密一个典型的TinyOS消息所需的时间大约是几毫秒。在我们看来,加密消息的几毫秒和将消息路由到信宿的几秒钟之间的这种差异事实上,Rijndael速度虽然重要,但在具有上述延迟的环境中可能被认为是次要问题。相反,无线传感器节点需要专注于Rijndael的实现,这是小的内存和能量效率。在图2中,我们展示了我们的实验结果。该图显示了使用AES和RC 5加密不同大小的消息所需的时间。我们的RC 5实现的性能与TinySec中提供的性能相当,即使我们必须强调公平的比较是相当困难的。实际上,我们的实现运行在MSP430F149(4 MHz 16位)上,而TinySec运行在Atmega128L(8 MHz 8位)上,见表1。我们的AES实现加密128位,密钥为128位,在3。75ms,而RC5只需要1. 9ms,具有128位的密钥、12轮和32位的块。 我们记得AES实现在[7]中的AES算法的内存大小约为15Kbytes,Rijndael算法的加密速度甚至比RC5算法还要快,而在[3]中的AES算法的内存大小约为9Kbytes,但速度性能相当差。我们的AES实现只需要RAM中的241字节和ROM中的3322字节。因此,我们的Rijndael实现的大小大约是[3]中的1/3,大约是[7]中的1/此外,我们目前的Rijndael实现允许我们使用128,192和256位的密钥加密。如果我们将密钥的长度限制为128位,则RAM中只需要177个字节。80A. Vitaletti,G.Palombizio/Electronic Notes in Theoretical Computer Science 171(2007)716结论和今后的工作在我们看来,加密解密速度不是一个安全的无线传感器网络场景的主要约束事实上,只要WSN通信协议的延迟是如此之高(几秒钟),我们将被允许花费几毫秒来加密AES算法的消息。 在这项工作中,我们提出了 Rijndael的实现在尺寸上小于先前的实现(从大约1/ 3到大约1/ 5)。然而,我们的AES实现显示出合理的速度性能(比RC5慢2倍)。我们计划扩大我们的工作,以确定一个全面实施的端到端解决方案,并调查Rijndael的能源效率。引用[1] A.艾拉迈基角Faloutos,P. S. Fischbeck,M. J. Small和J. VanBriesen。环境传感器网络,以确定饮用水的质量和安全。SIGMOD Rec. ,32(4):47[2] I. F. Akyildiz,W.Su,Y.Sankarasubramaniam和E.Cayirci。无线传感器网络综述。计算机网络,38(4):393[3] J. Deng,R. Han和S.米什拉无线传感器网络中容侵路由的性能评估。在IPSN[4] J. Deng,R. Han和S.米什拉无线传感器网络中网内处理的安全支持。在SASNPress.[5] B. Dutertre,S. Cheung,and J. Levy.利用初始信任的无线传感器网络轻量级密钥管理。技术报告SRI-SDL-04-02,SRI International,2004年。[6] C. Karlof,N. Sastry和D.瓦格纳Tinysec:一种无线传感器网络链路层安全架构。在SenSysPress.[7] Y. W.法律,J.M. Doumen和P. H.哈特尔无线感测器网路之区块密码基准分析。在第一届IEEE国际移动自组织和传感器系统(MASS)会议上,电子版,佛罗里达州劳德代尔堡,2004年10月。IEEE计算机协会出版社,加利福尼亚州洛斯阿拉米托斯。[8] A. Perrig,J.Stankovic和D.瓦格纳无线传感器网络的安全性Commun. ACM,47(6):53- 57 ,2004 .[9] A. 佩 里 格 河 Szewczyk , J. D. Tygar , V. Wen , and D. E. 卡 勒 Spins : 传 感 器 网 络 的 安 全 协 议 。Wireless Networks,8(5):521[10] R. D.彼得罗湖V.Mancini和A.美. 安全无线感测网路之随机金钥指派。在SASNPress.[11]V. Rajendran,K. Obraczka和J. J. Garcia-Luna-Aceves。无线传感器网络能量高效无冲突介质访问控制在SenSysPress.[12] L. Schwiebert,S. K. Gupta,and J. Weinmann.生物医学传感器无线网络的研究挑战。在2001年美国纽约州纽约市举行的第七届移动计算和网络年度国际会议的会议记录中Press.[13] A. S. Wander,N.古拉,H. Eberle,V. Gupta和S. C.无线传感器网络公钥密码体制的Shantz能量分析。在Percom,第324-328页。IEEE计算机协会。[14] T. van Dam和K.兰根道恩一种自适应能量高效的无线传感器网络mac协议。在SenSys '03:Proceedings ofthe 1st international conference on Embedded networked sensor systems,pages 171-180,New York,NY,USA,2003中。Press.[15] A. 吴,S。Madden和R.戈文丹传感器网络中查询处理的网络支持Commun. ACM,47(6):47 - 5 2 , 2 0 0 4 .A. Vitaletti,G.Palombizio/Electronic Notes in Theoretical Computer Science 171(2007)7181[16] W.是的,J.S. Heidemann和D.雌激素 一种能量高效的无线传感器网络mac协议。 2002年,《信息通信》
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功