

英语原文共 7 页,剩余内容已隐藏,支付完成后下载完整资料
无线传感网络中的小数据分发:安全方面
DAOJING HE, SAMMY CHAN, MOHSEN GUIZANI
摘要
在无线传感器网络中,小数据分发协议被用来调整传感器的配置参数,或将管理和查询命令分发给传感器。出于安全考虑,应对每个要被分发的数据项进行身份认证,从而防止攻击者在网络中注入恶意数据项。不幸的是,在现有小数据分发协议的设计中并没有考虑安全性。在本文中,我们指出这些协议的安全漏洞,并回顾最近提出的此类问题的解决方案。此外,为进一步提高安全性,我们提出了一个加强版的解决方案。
介绍
无线传感器网络(WSN)在过去的十年中已经广泛用于人类生活中。这些应用包括环境/工业/医疗监测,安全监视和灾区信息收集。典型的无线传感器网络是由大量小型电池供电的传感器节点组成的,具有传感,通信和有限的计算能力[1]。WSN部署后,有时需要更新存储在网络每个节点中的一些公共变量。小数据传播协议通过请求每个节点交换数据包来添加,删除和修改这些变量,以便这些变量最终在整个网络中保持一致。这些协议的常见应用包括向节点注入命令和查询以及更改节点的配置参数。例如,在整个网络中安装一个微型程序可以被看作是在包含该程序的变量上建立一致性的过程。需要注意的是,它与传播良好的代码分发(有时称为数据传播或重新编程)协议不同[2,3],它将数十千字节的二进制文件分发到网络中,从而实现完整的系统重新编程。换句话说,高效地传播大型二进制文件需要代码分发协议,而传播几个字节的配置参数需要小型数据传播协议。
现有数据传播和收集的方法可分别被分为非编码和编码两类。对于非基于编码的方法,它们的性能会随着信道错误率的增加而下降。对于基于编码的方法,通常使用网络编码技术来减少分发过程中的丢包率。然而,这些分发过程涉及复杂的算术运算,这不适用于能量受限的传感器节点。出于这个原因,基于分布式无比率代码[4]的数据收集方法更适用于传感器节点,因为它们只涉及少量数据包的按位异或运算。
最近已经提出了几种小数据传播协议。其中,Drip [5],DIP [6]和DHV [7]通常被认为是最先进的技术,并且包含在TinyOS分布[8]中。但是,所有这些小型数据传播协议的重点在于如何提高操作的效率和可靠性,但不考虑任何安全方面。另一方面,许多安全代码传播协议已经被开发出来;读者可以参考[3]并了解其中的更多信息。
在本文中,我们首先简单回顾WSN的一些小数据传播协议,然后讨论它们的安全漏洞。这样的漏洞允许攻击者利用错误的数据重新启动整个网络,或从所有节点中擦除重要的变量。解决不了这些问题,所有现有的小数据传播协议都容易受到安全攻击。随后,我们讨论安全高效的小数据传播协议的要满足的需求。然后我们报告最近提出的针对通用无线传感器网络设计的更加安全的Drip,SeDrip。最后,我们模拟了SeDrip的提升部分,以使其安全功能更加高效,使其适用于更多资源受限的无线传感器网络,例如无线人体感应网络(WBSN)。
小数据分发
理想情况下,当基站向WSN注入新数据时,每个节点应该接收数据的副本。但是,实际上可能并非如此,原因有两个。第一,在静态网络中,以睡眠模式运行的节点可能会错过数据更新。另外,由于无线信道容易出错,一些节点可能无法正确接收数据。第二,在节点能够随机加入和离开网络的动态网络中,新加入的节点将不会拥有之前分发的数据。Trickle算法解决了这两个问题[9],它是大多数传播协议的基础。根据该算法,每个节点周期性地广播它所拥有的数据的摘要,除非这个节点之前已经收到过相同的摘要。一旦所有节点中的数据一致,广播间隔将呈指数增长(到最大值)以节省能量。另一方面,如果一个节点检测到其他节点有新数据,它将开始更快地广播。如果节点收到更新前的摘要,它会向发件人返回关于它的更新。因此,在基站向其传输范围内的节点注入新数据之后,这些数据将被快速传播,这是因为这些节点告诉别的节点自己有以最小间隔广播的更新。在收到广告包后,它们的相邻节点迅速回应出它们想要更新的信息。此过程向外延续,直到网络中的所有节点都有更新的消息。
由于每个节点的冗余广告包都被抑制,所以Trickle算法使传播协议能够随着节点的数量很好地扩展。但是,为了比较数据项目的新鲜度,每个节点必须发送或接收数据项目的摘要。数据项的摘要可以由元组表示,其中键值能唯一地标识数据项,并且版本指示数据项是旧的还是新的(值越高,数据越新)。因此,Trickle的复杂度为,其中T是数据项的总数。Drip [5]是最早的小数据传播协议之一。它用一个单独的Trickle实例来传播每个数据项。这意味着Drip也与成线性关系。为了克服这个低效率问题,Lin et al.提出DIP[6]。在DIP中,摘要消息由仅包含键值和版本号的节点周期性地广播。哈希的使用可以以复杂度检测差异。但是,一旦检测到差异,需要多次迭代来精确地确定需要更新的数据项。总体而言,如果有N个新数据项,则为识别哪些项目具有较新版本而所需的传输消息的总数是。后来,DHV[7]被提出来进一步以降低复杂性。DHV的发展是受到以下的启发:如果两个版本不同,则很可能只有几个版本号的最低有效位不同。因此,DHV不需传输和比较完整的版本号,因此减少了冗余传输和处理。因此,传输的消息总数只能减少到。表1列出了各种小数据传播协议的特点。
表 1无线传感器网络各种小数据分发协议的特点及安全漏洞
小数据分发中的安全漏洞
尽管小型传播协议变得越来越高效,但这种协议的一个重要方面(安全性)却很少受到关注。这是因为所有现有的小数据传播协议都假设无线传感器网络在良性环境中使用/运行。然而,在实践中,运行环境可能是充满危险的,并且可能存在外部和内部攻击。
外部攻击包括窃听,伪造消息注入,消息重放,冒充有效传感器节点以及虫洞攻击。由于没有机制用来验证分发给节点的数据项,攻击者可能利用此漏洞借用错误的数据重新启动整个网络,或从所有节点擦除重要数据。例如,只要注入伪造的数据项(,只要版本大于这些数据的所有版本号,攻击者就可以破坏网络中由密钥标识的所有数据。同样,为了在所有节点上使用键值擦除数据,攻击者只需使用小数据传播协议发送假数据项(,其中版本号足够大。此外,由于传播的数据没有安全保护,它们可以被对手轻易拦截。
由于Trickle要求每个节点广播其新数据,因此攻击者可利用此功能发起拒绝服务(DoS)攻击,以消耗传感器节点的有限资源(例如电池电量,内存)。例如,攻击者可以使用特定键值逐渐增加数据的版本号,并迅速将假数据项注入网络。在Trickle下,任何接收节点都会接受这些数据项并对其进行广播。因此,敌手迫使所有节点在更新数据和广播假数据项时浪费精力。由于大多数小型数据传播协议是基于Trickle或其变形算法向每个节点可靠地传递数据,因此它们很容易受到这种DoS攻击。
除了外部攻击外,攻击者还可以危害节点以网络中发起内部攻击。这些妥协的节点被视为网络成员,直到被识别并被移除。它被敌手操纵着去攻击其他节点。例如,它可能发动Sybil攻击,传播虚假数据,并且违背协议的正常操作。
需要的安全功能
就上述问题而言,在不损害效率的情况下为小数据传播协议配备安全功能至关重要。这些功能应支持数据真实性和完整性,数据机密性,数据新鲜度,动态数据,语义安全性,并提供抵御节点妥协攻击和DoS攻击的能力。同时,安全功能应该具有通信和计算效率,延迟容忍并允许立即认证。这些属性将在下面详细讨论。
- 数据真实性和完整性:数据真实性提供了确保数据项由指定的发件人发送的方式。此外,数据完整性可确保接收到的数据项目未被篡改。
- 数据新鲜度:数据新鲜度能保证接收到的数据项目是最新的,而不是重复传播的已有信息从而导致中断。
- 数据保密性:在某些重要的应用中,来自基站的数据项目是机密的并被严格保密。它们应该被加密以保护数据隐私免受窃听者的侵害。如果广播数据项是从一个小的有限集中选择的,那么应该加密产生密文,而密文不会向入侵者提供这些消息发送的信息。
- 延迟容忍和即时认证:不应对数据包到达时间施加时间限制。每个数据包在节点收到时都可以立即进行认证。
SeDrip: SeDrip的通用WSNs概述协议
可以通过采用暴力手段对每个分发数据进行数字签名以确保其真实性。然而,这种方法会导致传感器节点的计算量过大。最近有人扩展了Drip,SeDrip,并提出了一个有效安全的协议[10]。SeDrip以最简单的形式确保数据的真实性和完整性。SeDrip的基本思想是利用Merkle哈希树显着减少公钥操作的数量。
在SeDrip的初始化阶段,基站建立基于椭圆曲线密码(ECC)的公钥和私钥,并将公共参数分发给网络中的所有传感器节点。然后,在基站传播个数据项)之前,先基于这个数据项构建Merkle哈希树。我们以为例说明这个过程。首先,创建由数据项和头信息组成的数据包。然后,如图1所示,数据包的哈希值被用作Merkle哈希树的叶子节点。这里表示公共单向加密哈希函数(如SHA-1)。上层的中间节点通过对两个相邻叶子节点的哈希值获得。即(参照图1),。这个过程一直持续到生成根节点。然后,被附加到了从到根节点的路径中节点的兄弟节点。例如,附加到了和。此外,基站生成由根数据项,签名和头信息组成的签名数据包。
为了分发这个数据项,基站首先广播,这预示新一轮广播的开始。由于来自Merkle哈希树中的节点包括,允许每个传感器节点收到数据之后能够立即验证收到的数据。比如,考虑到中的早已被认证,节点可以通过检测是否成立来验证中的。因此,我们可以获知个数据项的验证过程涉及有效的哈希操作,并且只有一个公钥加密操作。
图 1 Merkle 哈希树
假设基站是可信的并且不能被攻击者破坏,为Merkle哈希树根节点签名的私钥只有基站自己知道。由于所有传感器节点都具有由基站分配的公钥,因此它们可以检查包含在接收到的数据包中的数据项的完整性。
SeDrip中还有其他机制可以使该方案能够抵抗拒绝服务攻击(DoS),并进一步提高身份验证效率。详情请参考[10]。另外,由于Drip,DIP和DHV之间的唯一区别是在实现高效性时,传感器节点之间搜索不同数据项所采取的方法不同,因此SeDrip的安全扩展也适用于DIP和DHV。
SeSmall:无线传感网络中的协议
WBSN是一种特殊类型的WSN,它用于借助佩戴在患者身上和/或植入患者体内的身体传感器节点来监测患者的生理参数。如图2所示,WBSN管理员(例如患者本人,患者亲属,电子医疗服务提供者或医师)通过基站运行该WBSN。WBSN的一个明显的特征是其传感器节点,尤其是植入节点,比普通无线传感器网络具有更少的内存,更低的处理器速度,传输速度以及能量供应。因此,为通用WSN开发的安全小型数据分发协议可能不适用于WBSN。在本节中,我们提出SeSmall,它是SeDrip的增强版。
图 2 一个WBSN移动健康监控系统的体系结构。
SeSmall的基本思想是将第个数据包的认证信息用于认证第()个数据包。通过这种方式,基站只需要对第一个数据包进行签名,然后这个单一签名的属性将通过链接机制“传播”到同一轮传播的其余数据包。此外,在SeSmall中,每个数据包中只包含一个数据包的一个哈希值。与SeDrip相比,SeDrip在每个数据包中包含D(树深度)个哈希值,因此SeSmall的通信开销要少得多。
SeSmall由三个阶段组成:系统初始化,数据包预处理和数据包验证。在系统初始化阶段,基站创建公钥和私钥。在部署之前,只有公共参数才会加载到每个节点上。在数据包预处理阶段,如果基站想要分发数据,那么它需要构建数据包然后把这些包发送到网络。
系统初始化阶段
在这个阶段,为了建立ECC,基站选择一个向加密散列函数比如: SHA-1,并且推导出私钥x和相应的公钥。随后,相关的公共参数被预加载到网络的每个节点中。
为了提供安全保护,我们将现有小数据分发协议中代表数据项的三元组扩展为五元组。其中 表示该数据项属于哪一轮数据传播(数据的值越大,分发的数据越新),表示该数据包在本轮中的序号,后三个元素与现有协议的含义相同。与Drip的实现类似,和分别是两个字节和四个字节。此外,应该设置好和的字节长度,以免因字节长度不固定而造成的任何不明确性。在我们实现该协议的过程中,和的长度分别设置为一个和四个字节。
包预处理阶段
在系统初始化之后,如果基站希望分发个数据项:,它需使用哈希链构造各自的数据如下。
除包头之外,数据包(例如)是由密码哈希值成,它可用于验证下一个数据包。因此,每个数据包的格式为:
这里,每个密码哈希值都是在整个数据包,而不仅仅是数据部分,上计算的,从而建立一个如图3所示的哈希链。
图 3 哈希链方法
此外,基站通过使用其私钥,运行ECDSA签名操作,签署第一个哈希值来对整个哈希链进行签名。具体来说,广告包包含的签名。也就是
这里,代表,代表用密钥K对M进行签名后的结果。和SeDrip一样,用来预示新一轮分发过程的开始。新一轮数据包以的形式分发给传感器节点。
包验证阶段
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[22864],资料为PDF文档或Word文档,PDF文档可免费转换为Word
您可能感兴趣的文章
- 饮用水微生物群:一个全面的时空研究,以监测巴黎供水系统的水质外文翻译资料
- 步进电机控制和摩擦模型对复杂机械系统精确定位的影响外文翻译资料
- 具有温湿度控制的开式阴极PEM燃料电池性能的提升外文翻译资料
- 警报定时系统对驾驶员行为的影响:调查驾驶员信任的差异以及根据警报定时对警报的响应外文翻译资料
- 门禁系统的零知识认证解决方案外文翻译资料
- 车辆废气及室外环境中悬浮微粒中有机磷的含量—-个案研究外文翻译资料
- ZigBee协议对城市风力涡轮机的无线监控: 支持应用软件和传感器模块外文翻译资料
- ZigBee系统在医疗保健中提供位置信息和传感器数据传输的方案外文翻译资料
- 基于PLC的模糊控制器在污水处理系统中的应用外文翻译资料
- 光伏并联最大功率点跟踪系统独立应用程序外文翻译资料
