用于在无线网中安全地广播敏感数据的方法

文档序号:7912545阅读:112来源:国知局
专利名称:用于在无线网中安全地广播敏感数据的方法
技术领域
本发明涉及一种用于保证在无线网中,更具体地是在无线传感器网络中数据的安全广播的方法。本发明例如是与保护在类似的网络中通过空中(over-the-air)的软件更新相关的。
背景技术
无线传感器网络(WSN),例如ZigBee网络,包括通过无线链路通信的大量资源受约束的传感器和致动器。这些设备例如是在功率、存储器或传输速率方面受约束的。WSN被用于许多应用,诸如病人监测、家庭自动化、智能能源或照明系统。在所有的这些应用中,得到机会来以安全的方式从网络的信任中心传送数据到不同节点是相当有用的。事实上,这样的机会将使得有可能例如更新在不同节点上运行的软件,以便于包括附加的应用、解决问题或引入更有效的协议。在类似的网络中特别有利的是可以随时安装新的软件,而同时使得对所部署的网络的影响最小化。然而,用于保护通过网络广播的数据的现有方法无法满足无线传感器网络的特定要求,所述要求强制实行以
-应付类似的网络的特定物理要求,诸如减小的带宽量,传感器节点关于能量和CPU 的资源受约束的性质,网络的分布的性质,和所牵涉到的操作要求,
-而同时维持高安全水平,这是当谈到软件更新时的关键特征。事实上,如果攻击者设法将假的软件注入到节点,则他将得到对整个网络的控制,检索有价值的信息,或进行具有不可预见的结果的拒绝服务攻击。现有的方法包括例如公钥密码术的使用,这允许得到所要求的安全水平。事实上, 在这样的方法中,无线传感器网络的基站在广播新的软件更新之前用它的私钥对其进行签署。然后,网络中的节点可以通过检查签名的真实性而验证软件的来源。然而,这些方法对于传感器网络来说在计算上太昂贵。此外,它们需要附加的存储器用于底层的安全原语和协议。而且,用于软件更新的安全协议必须适合于预期的系统操作。那意味着传感器节点和无线连接不应当承受高的存储要求或传输开销。

发明内容
本发明的目的是提出一种用于在无线网中安全地广播数据的方法,克服了上述缺
点ο更准确地,本发明的目的是提出一种用于广播数据,而同时遵守网络的物理的和安全的要求的方法。本发明的另一个目的是提供一种用于以安全的方式来执行通过空中的软件网络的方法。本发明的再一个目的是提供一种保证低存储要求直到软件更新实际上开始的软件更新协议。本发明的再一个目的是提供一种用于管理存储器以避免当更新软件时重写节点的整个存储器的方法。本发明的又一个目的是提出一种用于保护通信、传送软件更新和执行软件的安全激活的完整协议。本发明的再一个目的是提供一种找出打扰预期的协议操作的不合作节点,例如, 已泄密的(compromised)节点的方法。为此,本发明提出一种用于在包括被称为信任中心的中央设备和多个传感器节点的无线传感器网中安全地广播敏感数据的方法,该信任中心通过密码散列链被初始化,且每个节点通过节点密钥和信任中心散列链的锚(anchor)被初始化,所述方法包括以下步骤
-信任中心把第一被保护的消息广播到节点,
-每个节点在接收到第一消息后,创建第一确认消息,并把它传送回信任中心, -信任中心检查所有的节点是否已经传送各自的第一确认消息,以及在所有的消息被接收的情形下,
-信任中心安全地广播敏感数据,
-节点根据被包括在第一消息中的单元,检查敏感数据是否实际上源自信任中心。所提出的协议或方法包括由信任中心拥有的散列链。这个散列链被使用来以完全异步的形式揭露(disclose)将来的软件更新。在第一步骤,信任中心揭露更新,以及所有的节点可以确保所接收的pre-MAC是正确的,因为它是连同散列链的未知值一起被揭露的。在第二步骤,信任中心确保所有的节点得到正确的pre-MAC,因为节点用ACK回答。一旦信任中心已验证所有的节点均得到第一消息,该信任中心就揭露要被更新的软件。由于节点已经得到pre-MAC,所以它们可以验证软件。这样的方法对于诸如网状和树路由协议那样的许多路由协议都是有效的。在网状路由协议中,信任中心可以从几个路由器得到几个组合的pre-ACK。在基于树的路由协议中,信任中心将得到仅仅来自在树的级别一上的节点的组合的pre-ACK。在大多数实施例中,在级别1的路由器聚集来自级别1+1上的节点或路由器的证实(confirmation)消息。而且,如果网络由网络密钥进行保护,则用于软件更新的所有通信应当借助于网络密钥被保护。这阻止了外部攻击者引入伪造信息。在本发明的实施例中,网络还包括被连接到多个节点的路由器设备,以及其中节点传送第一确认消息到信任中心的步骤包括
-每个节点传送第一确认消息到路由器设备, -路由器设备组合消息,以便创建完整的第一确认消息,以及 -路由器设备传送完整的第一确认消息到信任中心。对组合的ACK的使用减小了通信开销。如果信任中心得到错误消息,则协议包括发现不合作节点的能力。为此,信任中心划分网络,以找出错误的节点。例如,假设有图1 所示的网络以及假设组合的pre-ACK是无效的,则信任中心可以要求路由器1和路由器2 直接发送它们的组合的pre-ACK给他,这样,它可以找出网络的、正引入错误行为的那个部分。这个方法可以通过应用对分查找(binary search)而被进一步扩展。CN 102474724 A说明书3/7 页在本发明的优选实施例中,在要被传送的数据较大的情形下,使用Merkle (默克尔)树来使得通信开销最小化。Merkle树被构建为如下
-把敏感数据划分成几个子组, -计算每个子组的散列函数,
-每个子组的散列函数被看作为散列树的叶子,并且导出散列树的节点和根。在这样的情形下,所述方法为如下
-广播第一消息到节点的步骤包括广播散列树的根,以及 -广播敏感数据的步骤包括传送散列树的节点和根。在这里可以注意到,广播敏感数据的步骤可以在长的时间段内实行,因为节点只必需确保它们接收到使敏感数据完整的消息。在另一个实施例中,广播敏感数据的步骤包括仅仅广播与以前发送的敏感数据相比较,受到修改影响的散列树的节点。在另一个实施例中,第一消息包括
-信任中心散列链的、紧接地定位在上一个所传送的单元之后被称为下一个单元的单元,以及
-与散列链的上一个所传送的单元级联的、要被广播的敏感数据的散列函数。在另一个实施例中,要被传送的敏感数据对应于软件或软件更新的代码映像 (code image)。在另一个实施例中,所述方法包括对于信任中心的以一致的方式广播用于激活软件的消息到节点的最后的步骤。在本发明的再一个实施例中,节点的存储器被划分成存储页面,所述方法包括把敏感数据划分成几个短于存储页面长度的数据子组的初始步骤。本发明的这些和其它方面将从此后描述的实施例明白,并且将参照这些实施例来进行阐述。


现在将借助例子,参照附图来更详细地描述本发明,其中 图1代表实行按照本发明的方法的网络,
图2显示Merkle树,以及图3显示安全的渐增的软件更新。
具体实施例方式本发明涉及一种用于在如图1所示的无线传感器网络中安全地广播软件的方法。这个网络包括基站1或信任中心,以及资源受约束的节点(节点1、节点2、节点3··· 节点6)。信任中心管理系统安全性,并且具有接收和验证用于传感器节点的新的软件映像的能力。在信任中心与资源受约束的节点之间的通信是通过使用路由协议,例如网状或基于树的协议,而执行的。在这样的情形下,网络还包括路由器(路由器1、路由器2和路由器 3 ),用于中继在信任中心与节点之间的通信。
在按照本发明的网络中实行的通信协议需要如下的、网络的不同设备的初始化
-信任 中心 包括散列 链
{Λ^ Ii^l,....if...,AicJ,以使得li『c =IiOSIi(ICc1)。值紅尸和1|铲分别是这个散列链的种子和锚,
-节点密钥被分派给每个节点,其中每个密钥&是在信任中心与节点j之间共享的密
钥,
-每个节点也通过信任中心散列链的锚被初始化。这个秘密也可以在系统操作期间以安全的方式从信任中心被传送到每个节点。节点的存储器的初始化将被进一步详细描述。在敏感数据M的传输对应于完整的软件更新的情形下,协议包括三个阶段
-在第一阶段,信任中心确保网络的所有节点已接收到对于新的软件更新的有效签名。这个签名被节点使用于鉴别消息的来源,
-在第二阶段,新的软件被向网络的所有节点安全地广播,以及 -在第三阶段,软件以被同步的和被鉴别的方式被激活。在实施例中,每个阶段借助于散列链单元被签署。第一阶段在于信任中心传送对于软件签名的有效签名,以及检查所有的节点是否正确地接收它。因此,在第一步骤,信任中心广播包括信任中心散列链的下一个单元Iip和与同一个散列链的下一个单元Itff1连结的新的代码映像M的散列的消息。这个上一个单元被节点使用来确保所接收的pre-MAC(即,散列)是良好的一个,且没人修改它。消息 1 h^,hashQ^ | M)
在本发明的意义内,“下一个单元”是指当朝着链的种子(或根)行进时,紧接地定位在散列链中的当前单元之后的单元。然后,在第二步骤,节点在接收消息1后,创建 pre-ack, pre - ACKj = hasMK^mS)。节点仅仅在所接收的消息连同有效的「一起被
发送的情况下生成pre-ack。所述pre-ack也可以通过用Kj加密消息1而被生成。在特定的实施例中,节点不直接传送pre-ack消息到信任中心,而是把它传送到路由器,路由器于是组合来自几个终端设备的几个pre-ack,并创建组合的pre-ack,以便发送到其它路由器或直接发送到信任中心。在这种情形下,节点把消息2. 1发送到路由器
pre - ACKj- =肖息1)。路由器如下地组合不同的消息
权利要求
1.一种用于在包括被称为信任中心的中央设备和多个传感器节点的无线传感器网络中安全地广播敏感数据的方法,所述信任中心通过密码散列链被初始化,每个节点通过节点密钥和信任中心散列链的锚被初始化,所述方法包括以下步骤-信任中心把第一安全消息广播到节点,-每个节点在接收到第一消息后,创建第一确认消息,并把它传送回信任中心, -信任中心检查是否所有的节点已传送各自的第一确认消息,以及在所有的消息被接收的情形下,-信任中心在第三消息中安全地广播敏感数据,-节点根据被包括在第一消息中的单元,检查敏感数据是否实际上源自信任中心。
2.如在权利要求1中叙述的方法,其中两个散列链单元被揭露以保护第一和第三消肩、ο
3.如在权利要求1或2中叙述的方法,其中网络还包括被连接到多个节点的路由器设备,以及其中节点传送第一确认消息到信任中心的步骤包括-每个节点传送第一确认消息到路由器设备, -路由器设备组合消息,以便创建完整的第一确认消息,以及 -路由器设备传送完整的第一确认消息到信任中心。
4.如在前述权利要求的任一项中叙述的方法,包括以下的初始步骤 -把敏感数据划分成几个子组,-计算每个子组的散列函数,-把每个子组的散列函数看作为散列树的叶子,以及得到散列树的节点和根。
5.如在权利要求4中叙述的方法,其中-广播第一消息到节点的步骤包括广播散列树的根,以及 -广播敏感数据的步骤包括传送散列树的节点和根。
6.如在权利要求4或5中叙述的方法,其中广播敏感数据的步骤包括仅仅广播与以前发送的敏感数据相比较,受到修改影响的散列树的节点。
7.如在前述权利要求之一中叙述的方法,其中第一消息包括-信任中心散列链的、与上一个传送的单元紧接地定位的被称为下一个单元的单元,以及-与散列链的上一个传送的单元连结的、要被广播的敏感数据的散列函数。
8.如在前述权利要求之一中叙述的方法,其中要被传送的敏感数据对应于软件或软件更新的代码映像。
9.如在权利要求8中叙述的方法,包括对于信任中心的以一致的方式广播用于激活软件的安全消息到节点的最后的步骤。
10.如在权利要求3和8中叙述的方法,其中散列链的第三单元被使用来安全地激活软件。
11.如在权利要求1,2和9中叙述的方法,其中三个散列链单元被揭露用于每个安全软件更新。
12.如在权利要求11中叙述的方法,其中三个散列链单元的每个单元被使用于软件的安全的预确认、软件的安全揭露和软件的安全激活。
13.如在前述权利要求之一中叙述的方法,其中节点的存储器被划分成存储页面,所述方法包括把敏感数据划分成几个短于存储页面长度的数据子组的初始步骤。
14.如在前述权利要求之一中叙述的方法,其中网络被划分成分段,以便找出不合作的节点。
全文摘要
本发明涉及一种用于在包括被称为信任中心的中央设备和多个传感器节点的无线传感器网络中安全地广播敏感数据的方法,所述信任中心通过密码散列链被初始化,每个节点通过节点密钥和信任中心散列链的锚被初始化,所述方法包括以下步骤信任中心把第一安全消息广播到节点;每个节点在接收第一消息后创建第一确认消息,并把它传送回信任中心;信任中心检查是否所有的节点已传送各自的第一确认消息,以及在所有的消息被接收的情形下,信任中心在第三消息中安全地广播敏感数据,节点根据被包括在第一消息中的单元,检查敏感数据是否实际上源自信任中心。
文档编号H04L9/32GK102474724SQ201080031998
公开日2012年5月23日 申请日期2010年7月9日 优先权日2009年7月15日
发明者库尔萨韦 K., 加西亚莫尔琼 O. 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1