基于无线Mesh网络的密钥管理方法

文档序号:7964309阅读:194来源:国知局

专利名称::基于无线Mesh网络的密钥管理方法
技术领域
:本发明涉及无线Mesh网络的通信安全保密领域,尤其是一种在具有高时延对等特性的无线Mesh网络中,将双线性对的密钥协商和三叉树进行结合,并且才艮据Mesh群组中的节点关系变化而更新群组密钥的方法。
背景技术
:随着无线网络技术的迅速发展,无线网络技术的标准也在不断的被更新,新的无线网络架构和技术被不断地^是出,其中有一种新型的无线网络结构一—无线Mesh网络出现了,这种无线网络又被称为多跳(multi-hop)网络,其核心是使网络中的每个节点都执行发送和接收信号的操作。对于过去普通无线冲支术来iJL,无线网络必须首先访问集中的接入点(AccessPoint,简称AP)才能进行无线连接;而在无线Mesh网络中,任何无线设备节点都可以同时作为AP或路由器,每个节点都可以与一个或者多个对等节点进行直接通信,这样无线Mesh网络既提供了冗余的接入设备,又能够使数据通过多个节点进行传输,降低了付出的功率代价,因此这种新的无线网络解决了过去普通无线4支术的存在的可扩展能力低下和传输可靠性差等问题。无线Mesh网络属于一种动态对等通信网络,即所有成员都是对等体,可以动态地成为发送者或接收者。无线Mesh网络在虚拟会议、网络辅助协同工作、多々某体实时点播等方面具有广阔的应用前景,但其安全性问题是影响其广泛部署的重要问题。例如在虚拟^i义中,通常需要确保会议内容的保密性,并且能够在必要的时候对发言人的身份进行认证;在多媒体实时点播中,必须确保只有付费用户才能够看到节目内容。为了防止组内通信被非授权用户访问,所有组内成员必须共享一个群组密钥,所有的组通信都是通过这个群组密钥加密的。为了确保群组通信的安全,群组通信的基本要求是(l)前向安全性,即一个新加入的成员不能访问以前的通信;(2)后向安全性,即一个离开的成员不能访问目前的通信。也就是说,当群组成员发生变动时,组通信密钥必须改变。现有的分布式密钥建立和管理方案主要解决的是如何在增加安全性的同时减少密码运算量的问题。随着计算机运算能力的提高,密码运算所需要的时间越来越少,因此在网络和计算机的发展中,造成系统延时的主要因素由计算量向通讯量转移,而现有的分布式密钥建立和管理方案并未对如何减少网络时延的问题提出合适的解决方法。为了解决在减少密码运算量的同时降低通讯量(例如消息轮数、消息数量和消息长度等参数)的问题,Y.Kim等人在2004年7月发表的"GroupKeyAgreementEfficientinCommunication"中设计了一种低通讯代价的动态对等网络群组密钥管理协议(steer,etal.,简称STR),该协议在消息轮数和消息数量上都接近理论下限值,可以针对高时延的对等网络进行群组密钥管理,其具体方案如下组内成员的密钥管理采用一种非对称的二叉树结构,这种结构的密钥树具有两种类型的节点叶子节点和中间节点。每个叶子节点与一个特定的群组成员相关。每个中间节点都具有两个孩子节点另一个中间节点和一个叶子节点。每个叶子节点具有一个秘密的随机密钥r,和一个公开的盲密钥(即公钥)6r产Wmod;。每个中间节点具有一个密钥y^和一个公开的盲密钥(blindedkey)6、=a&modp,所谓盲密钥即用户在群组中时临时使用的公钥,其中每个中间节点的密钥A:,(Z>1)由其孩子节点协商生成A:尸mod;=(6。)mod/=modp。当群组通讯系统通知有新成员到达时,STR协议假设群组中有n个用户(M,,…,MJ,且新成员和原来的群组成员同时收到通知消息。新成员M+1广播包含其自身盲密钥的加入请求消息。收到这条消息后,当前群组的应答者sponsor7l4更新自己的密钥并计算Z^、&、M,向发送当前密钥树^r(n)中的所有盲密钥。然后,每个成员M,计算w="+l并产生新的根节点IN(),IN(")具有两个孩子节点左孩子是原来密钥树r,的根节点IN("-,),右孩子是与新成员对应的叶子节点LNW。最后,原来群组成员利用新成员的盲密钥计算新的群组密钥,而新成员利用原来群组的盲密钥计算新的群组密钥。在加入搡作中,总是选择密钥树中最上层的叶子节点作为sponsor节点(即密钥更新辅助节点),即最近加入的节点作为sponsor节点。当成员^逾)离开群组时,STR协议假设群组有w个成员。若J〉1,则选择M/的直接后继叶子节点作为sponsor节点M,。否则,选择^2作为sponsor节点。从群组通讯系统接收到成员离开事件之后,每个剩余成员从原来的密钥树中删除和M^对应的节点LN(力以及其父节点IN(力。同时对离开节点上方的节点进行重新编号,用Ma的兄弟节点IN(^)代替A^的父节点。之后sponsor节点M,选择新的随机密钥,计算根节点之下Ms之上的所有节点的密钥和盲密钥并将密钥树BT(,)中的盲密钥信息广播到整个群组。最后所有的剩余群组成员计算新的群组密钥。在无线网络中,网络故障可能会导致通讯群组的一部分被分割出群组。在STR协议中,对剩余成员来说,子群分割可以被看作多个成员的离开事件,所以可以利用处理成员离开时的方法处理子群分割事件,和单一成员离开不同的是在子群分割事件中sponsor节点的选择方法不同。在子群分割事件中,选择密钥树中最下层的离开节点的直接后继叶子节点作为sponsor节点。在删除所有的离开节点之后,sponsor节点M,选择新的随机密钥,计算根节点之下M,之上的所有密钥和盲密钥并将密钥树BT(,)中的盲密钥信息广播到整个群组。最后所有的剩余群组成员计算新的群组密钥。STR协i义^E设通讯系统同时向所有的群组成员通知子群合并事件,并且每个成员都可以区分一个群组是自身所处群组还是与自身所处群组相合并的群组。在子群合并操作中,STR协议将较小的密钥树加入到较大的密钥树之上。若两个密钥树具有相同的高度,STR协议利用某种顺序(如各子群自身sponsor节点的身份字母序)来决定两棵树的加入位置。在合并两棵树时,将较小的密钥树中编号最大的节点作为新生成的中间节点的右孩子节点,而较大密钥树的根节点作为新生成的中间节点的左孩子节点。在子群合并操作的第一轮中,所有的sponsor节点相互交换各自所处密钥树的盲密钥信息。选择最大密钥树中最高层的成员作为子群合并操作中第二轮的sponsor节点。第二轮中,sponsor节点Ms选择新的随机密钥,计算根节点之下的所有密钥和盲密钥并将密钥树BT(,)中的盲密钥信息广播到整个群组。最后所有的剩余群组成员计算新的群组密钥。STR协议虽然能够以较低的通讯代价对无线Mesh网络中的群组密钥进行管理,但其所需的消息长度和密码运算量都相当大,其中在STR密钥树中成员加入、成员离开、子群合并和子群分割中,当前群组的sponsor发送的消息长度分别为2TV、2iV-4、2iV+2M-2、2(A^-l),整体系统的密码运算量分别为27V+4、(27V3+3iV2+7V-30)/6iV、(M2+2MA^+2iV+5M+2)/2、f—^翠-/^-rD,-h4),C(7V,i),-l)(7V-2)这必然导致可扩展性问题。而且STR协议使用了一种完全不平衡的密钥树结构,这种协议在运用上可能会导致系统性能瓶颈和单点失效问题,如群组成员的运算量随着自身在密钥树中所处的位置的降低而线形增加、密钥树中某个节点的失效会导致其下方所有节点不能计算群组密钥的问题等。
发明内容本发明的目的是针对现有STR协议对无线Mesh网络进行密钥管理时的消息长度和密码运算量大,以及由于STR树的结构可能导致系统性能瓶颈和单点失效的缺陷。为实现上述目的,本发明提供了一种基于无线Mesh网络的密钥管理方法,包括以下步骤步骤l,当Mesh群組中通讯节点的关系发生变化时,从与所述Mesh群组相对应的密钥树中选取密钥更新辅助节点,其中所述密钥树采用三叉树结构;步骤2,随机生成所述密钥更新辅助节点的密钥和盲密钥;步骤3,所述密钥更新辅助节点的密钥和盲密钥,计算所述密钥更新辅助节点在所述密钥树上的密钥路径中各密钥节点的密钥和盲密钥,并向所述密钥树中各密钥节点广播所述密钥路径上各密钥节点的盲密钥;步骤4,所述密钥树中各叶子节点更新自身的密钥和盲密钥,并计算出群组密钥。在上述技术方案中,包括四种节点关系变化的方式,即节点加入、节点离开、群组合并和群组分割。对于节点离开,所述步骤l具体为当所述Mesh群组中的第一通讯节点离开时,选择所述第一通讯节点对应的第一密钥节点的父节点为中间节点,并且从以中间节点为根的子树上,随机选择最顶层叶子节点作为密钥更新辅助节点。相应的在步骤2之前还包括以下的步骤在所述步骤2之前,进一步包括以下步骤判断所述中间节点的度是否为3,是则删除第一密钥节点,否则删除所述第一密钥节点,并将所述第一密钥节点的兄弟节点提升到父节点位置。对于节点加入,所述步骤l具体为所述步骤1具体为步骤ll,当第二通讯节点向所述Mesh群组发出加入请求时,所述Mesh群组的接入通讯节点根据群组安全策略对所述第二通讯节点进行身份认证;步骤12,在与所述Mesh群組相对应的密钥树中选择插入密钥节点,并随机选择以所述插入密钥节点为根的叶子节点作为密钥更新辅助节点。其中,所述步骤ll具体为利用与所述第二通讯节点对应的第二密钥节点生成的第一随机数计算出所述第二密钥节点的盲密钥,并利用与所述接入通讯节点相对应的接入密钥节点的公钥对所述第一随机数和会话标识符进行加密,获得接入点ENC,然后将包含所述会话标识符、盲密钥、接入点ENC和所述第二密钥节点的公钥证书的加入请求发送给所述Mesh群组,所述接入通讯节点才艮据群组安全策略对所述第二通讯节点进行身份认证。所述步骤12具体为步骤121,判断与所述Mesh群组对应的密钥树是否为满树,是则生成新的根节点,并将该根节点作为插入密钥节点;否则选择所述密钥树中满足插入条件的插入密钥节点;步骤122,随机选择以所述插入密钥节点为根的叶子节点作为密钥更新辅助节点。在所述步骤2之前,可以进一步包括以下步骤步骤21,所述接入密钥节点用自身的私钥对所述接入点ENC进行解密,并用原群组密钥将所述接入点ENC解密后的内容进行加密,获得群组ENC;步骤22,所述接入密钥节点将所述群组ENC发送给所述密钥更新辅助节点,所述密钥更新辅助节点解密所述群组ENC,并根据所述群组ENC解密后的内容,获得第二节点ENC,同时计算出第二节点信息认证码;步骤23,所述密钥更新辅助节点向所述第二密钥节点发送所述第二节点ENC和第二节点信息认证码;步骤24,所述第二密钥节点向所述密钥更新辅助节点发送应答消息;步骤25,所述密钥更新辅助节点对所述应答消息进行验证,当验证通过时,允i午所述第二通讯节点加入所述Mesh群组;步骤26,将所述第二通讯节点插入所述Mesh群组中。所述步骤22还可以进一步具体为步骤221,所述接入密钥节点将所述群组ENC发送给所述密钥更新辅助节点;步骤222,所述密钥更新辅助节点解密所述群组ENC;步骤223,所述密钥更新辅助节点生成第二随机数和随机秘密值,并以该随才几秘密值作为自己的密钥,通过所述第二密钥节点的公钥证书对该第二随机数进行加密,获得第二节点ENC;步骤224,同时计算出第二节点信息认证码。所述步骤24进一步具体为步骤241,所述第二密钥节点对所述第二节点ENC进行解密获得所述第二随机数;步骤242,所述第二密钥节点根据所述第二随机数计算信息认证码;步骤243,所述第二密钥节点将计算后的信息认证码与所述第二节点信息认证码进行比较,如果一致,则计算出应答消息信息认证码,并发送给所述密钥更新辅助节点;如果不一致,则拒绝所述第二通讯节点加入所述Mesh群组。所述步骤25可进一步具体为所述密钥更新辅助节点对所述应答消息信息认证码进行验证,通过验证时,则允许所述第二通讯节点加入所述Mesh群组;否则拒绝所述第二通讯节点加入所述Mesh群组。所述步骤26可进一步具体为判断所述插入节点的度是否为2,是则将所述第二密钥节点插入到插入节点下,否则创建所述发起节点的中间节点,并将所述中间节点提升为所述插入节点和第二节点的父节点。对于群组合并,所述步骤l具体为步骤ll,,每个密钥子树的顶层叶子节点广播自身的密钥子树信息,并在高度最低的密钥子树中随机选择顶层叶子节点作为密钥更新辅助节点;步-骤12,,当所述每个密钥子树的顶层叶子节点向所述密钥更新辅助节点发出加入请求时,所述密钥更新辅助节点根据群组安全策略对所述每个密钥子树的顶层叶子节点进行身份认证。其中,所述步骤12,具体为每个密钥子树的顶层叶子节点根据生成的第三随机凄t计算出盲密钥,并利用所述密钥更新辅助节点的公钥对所述第三随机数和会话标识符进行加密,获得密钥更新辅助点ENC,然后将包含所述会话标识符、密钥更新辅助点ENC、所述每个密钥子树的顶层叶子节点的盲密钥和公钥证书的加入请求发送给所述密钥更新辅助节点,所述密钥更新辅助节点根据群组安全策略对所述每个密钥子树的顶层叶子节点进行身份认证。在所述步骤2之前,还包括以下步骤步骤21,,所述密钥更新辅助节点对所述密钥更新辅助点ENC进行解密,并用所述每个密钥子树的顶层叶子节点的公钥证书进行加密,获得顶层叶子节点ENC,同时计算出顶层叶子节点信息认证码;步骤22,,所述密钥更新辅助节点向所述每个密钥子树的顶层叶子节点发送所述顶层叶子节点ENC和顶层叶子节点信息认证码;步骤23,,所述每个密钥子树的顶层叶子节点向所述密钥更新辅助节点发送应答消息;步骤24',所述密钥更新辅助节点对所述应答消息进行验证,当验证通过时,允许与每个密钥子树的顶层叶子节点对应的通讯子群加入所述Mesh群组;步骤25,;将所有密钥子树合并为一。其中,所述步骤21,还可以具体为步骤211',所述密钥更新辅助节点对所述发起节点ENC进行解密,获得所述第三随才几数和会话标识符;步骤212,,所述密钥更新辅助节点生成第四随机数,并使用所述每个密钥子树的顶层叶子节点的公钥证书对所述第四随机数和会话标识符进行加密,获得顶层叶子节点ENC,同时计算出顶层叶子节点信息认证码。所述步骤23,可具体为步骤231,,所述每个密钥子树的顶层叶子节点对所述顶层叶子节点ENC进行解密获得所述第四随机数;步骤232,,所述每个密钥子树的顶层叶子节点根据所述第四随机数计算信息iU正码;步骤233,,将计算得到的信息认证码与所述顶层叶子节点信息认证码进行比较,如果一致,则计算出应答消息信息认证码,并发送给所述密钥更新辅助节点;如果不一致,则拒绝与该叶子节点所在的通讯子组加入所述Mesh群组。所述步骤24,还可以进一步具体为所述密钥更新辅助节点对所述应答消息信息认证码进行验证,通过验证时,则允许与该顶层叶子节点所在的通讯子组加入所述Mesh群组;否则拒绝与该顶层叶子节点所在的通讯子组加入所述Mesh群组。所述步骤25,还可以进一步具体为步骤251,,判断所述每个密钥子树是否高度相同,是则利用预设排序方式确定密钥子树的合并顺序,否则先对高度较低的密钥子树进行合并;步骤252',生成一个插入密钥节点,将高度最低的两个密钥子树和所述密钥更新辅助节点所处密钥子树插到所述插入节点下;步骤253',重复步骤252',直到所有密钥子树合并为一。对于群组分割,所述步骤l具体为当所述Mesh群组中的多个通讯节点离开时,将与所述Mesh群组对应的密钥树中剩余的密钥节点划分成互不相交的密钥子树,并且从高度最低的密钥子树随机选择顶层叶子节点作为密钥更新辅助节点。所述步骤2之前,还包括以下步骤步骤21",判断所述每个密钥子树是否高度相同,是则利用预设排序方式确定密钥子树的合并顺序,否则先对高度较低的密码子树进行合并;步骤22",生成一个插入密钥节点,将高度最低的两个密钥子树和所述密钥更新辅助节点所处密钥子树插到所述插入节点下;步骤23",重复步骤22",直到所有密钥子树合并为一。其中,所述将与所述Mesh群组对应的密钥树中剩余的密钥节点划分成互不相交的密钥子树的操作具体为将与所述Mesh群组对应的密钥树中剩余的密钥节点依照完全子树算法进行划分,获得互不相交的密钥子树。基于上述的技术方案,本发明具有以下优点1、本发明提出的技术方案在通讯节点加入Mesh群组时的消息总长度、节点离开时的消息总长度和密码运算量、群组合并的消息总长度等参数低于现有技术,在一定程度上克服了现有技术中的安全需求和可扩展性与QoS需求相矛盾的问题。2、本发明采用基于双线性对的密钥协商与三叉树相结合的方法,并在更新密钥树的时候,减少了不相交子树,从而降低了密钥更新时的通讯代价和计算代价。通过调整密钥树的结构使其趋于平衡,本发明使用的密钥树中群组成员的平均高度降低,降低了群组成员的运算量。同时密钥树中某个节点失效造成的影响被限制到自身所在的子树,并不会影响其他子树的群组成员计算群组密钥。下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。附困说明图1为本发明基于无线Mesh网络的密钥管理方法的基本流程示意图。图2为本发明基于无线Mesh网络的密钥管理方法中节点离开(成员离开)的流程示意图。图3为本发明基于无线Mesh网络的密钥管理方法中节点加入(成员加入)的流程示意图。图4为本发明基于无线Mesh网络的密钥管理方法中群组合并的流程示意图。图5为本发明基于无线Mesh网络的密钥管理方法中群组分割的流程示意图。图6为本发明技术方案与STR的群组合并时的计算量比较示意图。图7为本发明技术方案与STR的群组分割时的消息长度比较示意图。图8为本发明技术方案与STR的群组分割时的计算量比较示意图。具体实施例方式无线Mesh网络的节点自由移动会导致群组节点间关系变化,一般有四种节点变化方式成员离开,即通讯节点离开Mesh通讯群组或被Mesh通讯群组驱逐;成员加入,即授权通讯节点加入Mesh通讯群组;群组合并,一些通讯子群合并为一个通讯群组;群组分割一些通讯子群从整体Mesh通讯群组中分离出去。当Mesh群组的通讯节点的关系发生改变时,本发明所提供的技术方案应能对节点关系变化事件做出相应处理。当发生成员加入/成员离开/群组合并/群组分割事件之后,应该更新原先的群组密钥,从而保证离开的成员/群组不能访问当前的通讯内容,而且新加入的成员/群组也不能访问原先的通讯内容。本发明将基于双线性对的密钥协商和三叉树结合,提出了基于无线Mesh网络的密钥管理方法。即在Mesh网络中MP节点,即Mesh群组的接入通讯节点的密钥逻辑关系的基础上建立与其对应的密钥树,该密钥树中每个密钥节点的密钥和盲密钥利用双线性对计算,并且以三叉树的结构进行组织,同时每一个密钥节点都与Mesh群组中的通讯节点相对应。本发明能够分别对成员离开、成员加入、群组合并和群组分割事件进行相应的群组密钥更新。在成员离开事件中,在以离开节点的父节点为根的子树中随机选择最顶层叶子节点作为sponsor(即密钥更新辅助节点)节点进行密钥更新;在成员加入事件中,选择不会增加密钥树高度的位置插入新节点;在群组合并中,按照子树的高度由低到高进行合并;在群组分割中,利用CompleteSubtree(完全子树)算法对密钥树进行分割后再按照子树的高度由低到高进行合并。在执行本发明的技术方案时,所有的MP(接入点)都通过密钥生成算法得到各自的公私钥对,再从认证服务单元ASU申请到各自的公钥证书,密钥生成算法可采用SECI及IEEEP1363椭圓曲线密码系统的规格,公钥证书可采用无线局域网国家标准GB15629.11中规定的格式,证书鉴别过程可采用国家标准GB15629.il中规定的步骤进行,但无论是密钥生成算法、公钥证书还是证书鉴别过程都不仅限于以上的说明。另外,本发明是基于下列假设实现的,即基本的群组通讯系统可以抵抗fail-stop故障,系统可以向所有的Mesh通讯节点提供一致的Mesh节点关系,并且多播满足可靠性和因果顺序;所有的通信信道都是经过认证的,即信道上的所有消息都经过发送者的签名,每个消息的接受者都必须对其收到的消息进行验证;任何Mesh通讯节点都可以发起成员加入和成员离开协议;单播和多播传送都是可靠的。如图1所示,为本发明基于无线Mesh网络的密钥管理方法的流程示意图,包括以下步骤步骤IOI,当Mesh群组的节点关系发生变化时,从所述Mesh群组中选取发起节点;步骤102,随机生成所述sponsor节点的密钥和盲密钥;步骤103,根据sponsor节点的密钥和盲密钥,计算所述sponsor节点的密钥路径上各节点的密钥和盲密钥,并向所述Mesh群组中各节点广播所述密钥路径上各节点的盲密钥;步骤104,所述Mesh群组中各节点更新自身的密钥和盲密钥,并计算出群组密钥。本发明使用3叉树来构建密钥的逻辑结构,树中的每个密钥节点用</,々表示。对于3叉树结构来说,由于第/层至多有3'个节点,所以有0少S'-1。在本发明中,树中的每个密钥节点〈/,。都与一个密钥仄和一个盲密钥AT",〉)相关联,这里函数假设叶子节点</,》对应通i凡节点乾,主才几选耳又随才几凄丈amod;,贝'J〈/,k〉知道乾.的密钥yT",r,.和盲密钥AT"^r;尺中间结点的密钥对,产e(尸,乃f"+i,3"《</+1,3i/+i>f"+l,3一2>》{户密钥树中每个密钥节点都可以由自己的密钥与另两个兄弟结点的盲密钥计算出父结点的密钥。对于密钥节点〈/,》的三个孩子节点<7+1,3》、<formula>formulaseeoriginaldocumentpage20</formula></+1,3》利用下式计算父结点的密钥和盲密钥》Lw户</+1,3"1>利用下式计算父结点的密钥和盲密钥<formula>formulaseeoriginaldocumentpage20</formula><7+1,3"2〉利用下式计算父结点的密钥和盲密钥在上述计算式中,如果孩子节点</+1,3^/>为空,则它对应的盲密钥<formula>formulaseeoriginaldocumentpage21</formula>由其父结点的左孩子结点的盲密钥代替。在密钥树中,L,是所有成员共享的群组秘密值,把从</,》到<0,o>的所有密钥节点组成的条路径称为节点〈人。密钥路径。任何授权的通讯节点都可以从与其对应的密钥节点的密钥和相应补路径上的盲密钥计算出群组密钥/<。,,即位于密钥节点〈人泠处的成员乾知道从</,汐到<0,0〉的所有密钥节点的密钥,这里补路径是指脱的密钥路径上的节点的兄弟节点的集合。如图2所示,为本发明基于无线Mesh网络的密钥管理方法中节点离开(成员离开)的流程示意图,包括以下步骤步骤201,4叚设Mesh通讯群组中有N个成员(通讯节点),当通讯节点乾将要离开群组时,首先选择与M对应的密钥节点的父节点作为中间节点,并在以中间节点为根的子树中随机选择最顶层叶子节点作为sponsor节点;步骤202,若中间节点的度为3时,则执行步骤203,否则执行步骤204;步骤203,sponsor节点删除与^对应的密钥节点,并执行步骤205;步骤204,sponsor节点删除与乾对应的密钥节点,然后将与M对应的密钥节点的兄弟节点提升到与乾对应的密钥节点的父节点位置;步骤205,sponsor节点利用随机数产生算法来产生随机秘密值r,,计算自己的密钥路径上新的密钥/SP。s。r=rs、L,e(j9i^w,M〈w,3叶)"i'"和盲密钥Mr=i^、L</,》是sponsor节点的密钥路径上的节点,并广播密钥树的盲密钥;步骤206,所有的Mesh节点更新密钥树并利用自己的密钥和兄弟节点的盲密钥计算出自己的密钥路径上新的密钥<formula>formulaseeoriginaldocumentpage21</formula>和盲密钥<formula>formulaseeoriginaldocumentpage21</formula>,最后计算新的群组密钥,〈。,^e(M化,〉,M<t.2>)<"》。如图3所示,为本发明基于无线Mesh网络的密钥管理方法中节点加入(成员加入)的流程示意图,包括以下步骤步骤301,假设Mesh通讯群组中有#个成员{浙,...,仏},希望加入群组的节点为丛+1,^H采用国家密码管理委员会办公室批准的WLAN随机数产生算法产生随机数/7和r,02<;,计算盲密钥r尸,用接入点MP的公钥尸&,对随机数/2。和会话标示符s加密后的结果ENC(i^p,/7。Is),其中,ENC是encrypt(加密)的缩写,ENC(ml,m2)表示使用ml加密m2得到的加密消息。之后向接入通讯节点MP发送加入请求消息,该请求内容包括会话标示符s、盲密钥r尸、ENC(尸r^,刀。ls)和自己的公钥证书,其中会话标示符s是由上层协议,即调用密钥管理方案的协议来提供的,该标示符具有唯一性;步骤302,接入通讯节点MP根据群组安全策略对^w进行身份认证;步骤303,选择插入节点,若密钥树是满树,则生成新的根节点并将其作为插入节点;否则,选择满足以下条件的插入节点(l)在插入节点下插入新节点后不会增加树的高度,(2)尽量使插入节点的位置处于密钥树的最顶端和最左端;步骤304,随机选择以插入节点为根的叶子节点作为sponsor节点;步骤305,接入通讯节点MP利用自己的私钥M;对ENCO^;,/2。|s)进行解密得到"》和s,利用已有群组密钥U口密/7。1s将ENC(A,卿,"u|s)发送给sponsor节点;步骤306,sponsor节点解密ENC"。1s)得到化和s。然后,sponsor利用随机数产生算法来产生随机数A和随机秘密值r,,将r,作为自己的密钥,并用加入的通讯节点对应的公钥P《^对仏进行加密得到结果ENC0%^+1,Als),同时sponsor节点计算出消息认证码MACA"O",ID+1,IDMP,IDsp()ns()r,步骤307,sponsor节点向与vl/w对应的密钥节点发送MAC,("O",ID^,IDMP,IDs,,.,》和ENC(户4+1,k),其中MAC为消息验证码;步骤308,与U于应的密钥节点向sponsor节点发送应答消息与^/w对应的密钥节点收到ENC(尸f^,/3,Is)之后,对其进行解密得到随机数A,计算P/。④/7,,MAC""O,,,ID%1,IDMP,IDsp。瞎,s),然后将其计算出的消息认证码同sponsor节点发送过来的消息认证码进行比较,如果一致,则计算MAC""1",ID+,IDMP,IDsp。ns。r,s),之后将其发送给sponsor节点,否则拒绝yl^加入Mesh群组;步骤309,sponsor节点验证应答消息sponsor节点在收到与仏!对应的密钥节点发送过来的应答消息后,对该消息中的消息认证码MACf("l",ID,IDMP,IDsp。ns,力进行验证,如果正确,则允许yl/w力口入Mesh群组,否则就拒绝加入Mesh群组;步骤310,若插入节点的度为2,将与J/w对应的密钥节点插入到插入节点下;.否则,sponsor节点创建新的中间节点,将新的中间节点其提升为插入节点和与l,对应的密钥节点的父节点;步骤311,sponsor节点计算自己的密钥路径上新的密钥l,,,r,、fw-eG^w.h,A^w)、"》〉和盲密钥傲s,。,r,尸、M"J,</,r>是sponsor节点的密钥路径上的节点,并广播密钥树的盲密钥;步骤312,所有的Mesh节点更新密钥树并利用自己的密钥和兄弟节点的盲密钥计算出自己的密钥路径上新的密钥乙,》-e("(w,3^,Mw+u叶)^w'w和盲密钥肌;,^乙,J,7=l~log3#,O^S'-l,最后计算新的群组密钥L。〉-e(脱,》,M<,,2>)'<u〉。假i殳整个多播通讯系统同时向所有的Mesh通讯节点通知合并事件且通讯系统中有S个系统(GROUP,,...,GROUP,},GROUP,.对应密钥树7%包括iV,个成员,如图4所示,为本发明基于无线Mesh网络的密钥管理方法中群组合并的流程示意图,包括以下步骤步骤401,每个密钥树r,.中最上层的叶子节点Mtop,.广播自己所在的密钥树信息,/=1~《步骤402,在高度最低的密钥树中随机选择顶层叶子节点作为sponsor节点;步骤403,Mtop,.采用国家密码管理委员会办公室批准的WLAN随机数产生算法产生随机数仏.,计算自身所处密钥树根结点的盲密钥用sponsor节点的公钥/乂对随机数仏.和会话标示符s加密后的结果ENC(/^,。"/2,l力,之后向sponsor节点发送加入请求消息,该请求内容包括会话标示符s、盲密钥m;。,>;、ENC(/fs,仏U)和自己的公钥证书,其中会话标示符s是由上层协议,即调用密钥管理方案的协议来提供的,该标示符具有唯一性,/=1~《步骤404,sponsor节点根据群组安全策略对与Mtop,对应的密钥节点进行身份认证,/=1~《步骤405,sponsor节点解密ENC(/Ysp。ns。r,/7,.|s)得到仏和s。然后,sponsor节点利用随机数产生算法来产生随机数仏,并用与加入通讯节点对应的公钥/1。p,.对刀s进行加密得到结果ENC(/l。p,,同时sponsor节点计算出消息认证码MAC.("O",IDMt。p/,IDsp。ns。r,s),其中(-/^仏,/=1~步骤406,sponsor节点向与Mtop,对应的密钥节点发送MACo("0",IDMt。p,IDsp—s)和ENCWMtop,,仏I,/=1~《步骤407,与Mtop;对应的密钥节点向sponsor节点发送应答消息与Mtop,对应的密钥节点收到ENC(PIMt。P;,/2sls))之后,对其进行解密得到随机数仏,计算(U力,,MACACO",IDMt。p;,IDsp,r,s),然后将其计算出的消息认证码同sponsor节点发送过来的消息认证码进行比较。如果一致,则计算MACf/('T,,IDMt。p/,IDs,,,力,之后将其发送给sponsor;步骤408,sponsor节点验证应答消息sponsor节点在收到与Mtop,对应的密钥节点发送过来的应答消息后,对该消息中的消息认证码MAC、.("1",IDMt。p,,IDsp。s。r,s)进行验证,如果正确,则允许Mtop,所处通讯子群加入Mesh群组,否则就拒绝Mtop,.所处通讯子群加入Mesh群组;步骤409,确定子树合并顺序,若密钥子树的高度不同,则先对较低的密钥子树进行合并;否则,可以利用预先设定的某种排列顺序来确定密钥子树的合并顺序(如每个密钥树中与Mtop,对应的密钥节点的身份的字典序);步骤410,产生一个新的插入节点,将高度最低的两个密钥子树和sponsor节点所处密钥子树插入到插入节点之下;重复步骤410,直到将所有的密钥子树合并为一颗密钥树;步骤411,sponsor节点利用随机数产生算法来产生和随机秘密值r"计算自己的密钥路径上新的密钥疋,。,r,、Z"<A》=e(AT</+1,3,+1>,^^+1.3叶)"1'3"和盲密钥氛一尸r,户、肌,</,。是sponsor的密钥路径上的节点,并广播密钥树的盲密钥;步骤412,所有的Mesh节点更新密钥树并利用自己的密钥和兄弟节点的盲密钥计算出自己的密钥路径上新的密钥^^"A^+uw,M〈w,3wy"+""和盲密钥M",,>=LJ,/=l~log3;V,0夕^-1,最后计算新的群组密钥vT〈。,。严eCa^,,lu。如图5所示,为本发明基于无线Mesh网络的密钥管理方法中群组分割的流程示意图,包括以下步骤步骤501,假设具有#个成员{乾...,私}的群组中有y个成员离开群组,首先利用CompleteSubtree(完成子树)算法把剩余的Mesh节点划分成互不相交的密钥子树;步骤502,在最低的密钥子树中随机选择顶层叶子节点作为sponsor节点;步骤503,确定密钥子树合并顺序,若密钥子树的高度不同,则先对较低的密钥子树进行合并;否则,可以利用预设的某种排列顺序来确定密钥子树的合并顺序(如每个密钥子树中sponsor节点身份的字典序);步骤504,产生一个新的插入节点,将高度最低的两个密钥树和sponsor节点所处密钥子树插入到插入节点之下;重复步骤504直到将所有的子树合并为一颗密钥树;步骤505,sponsor节点利用随才几数产生算法来产生和随^L秘密值rs,计算自己的密钥路径上新的密钥i^。,-r,、L,e(j^"化3一,M^w,w'^和盲密钥脱sp,。尸z^、肌,,</,k〉是sponsor节点的密钥路径上的节点,并广播密钥树的盲密钥;步骤506,所有的Mesh节点更新密钥树并利用自己的密钥和兄弟节点的盲密钥计算出自己的密钥路径上新的密钥L,-e(A^化3^,傲"w)""。和盲密钥脱;.,"力尸,M~log3〃,0舍^-i,最后计算新的群组密钥L。,e(A^,p,AT<i,2>)《<''3>。在步骤501中,所述CompleteSubtree(完全子树)算法是这样描述的CompleteSubtree算法可以把Mesh通讯节点离开后的群组划分为不相交的子集,进而对每个子集进行不同的处理。设原通讯群组的成员集合为N,群组中的离开成员集合R,以仏,...,",标记R中的成员。利用CompleteSubtree方法对集合N/R的划分如下考虑密钥树中由集合R和根节点生成的Steiner树5T(R),令5",,为原密钥树中"悬挂"在5T(R)下的子树,即不属于iT(R)且与5T(R)中节点所连接的子树。这样构造出的5^,...,&是对N/R的一个划分(l)每个叶子节点嫂R都属于且只属于5^,...,&中的一个集合;(2)每个叶子节点R不属于^,中的任一集合。利用CompleteSubtree方法对N/R进行划分得到的集合数量至多为,log(Wr),其中产IRI,AHNI。接下来,将对上述四种密钥管理方法的通讯和计算性能进行分析,主要考察以下性能参数消息轮数、消息数量、消息总长度和密码运算量。<table>tableseeoriginaldocumentpage27</column></row><table>表l:通讯量与计算量比较表参见表1,可以看出本发明的技术方案的性能要依赖于密钥树的高度、平衡性以及加入子树和离开节点的位置。我们在对性能进行分析时,只考虑了提出方案在最差情况下的性能。对于STR协议,考虑其各种协议性能的数学期望值。表1总结了两个方案的通讯和计算代价,其中,当前群组的成员数量、加入成员数量、加入群组数量和离开成员数量分别记为夂V,I和足本发明的技术方案和STR在消息轮数和消息数量上的代价类似,而在加入协议的消息总长度、离开协议的消息总长度和密码运算量、合并协议的消息总长度上提出的方案都具有较大的优势。但提出的方案在加入协议的密码运算量上较差,这是因为叶子节点的计算量与其祖先在sponsor的密钥^各径上的位置深度成正比。参见图6和图7,图6为本发明技术方案与STR的群组合并时的计算量比较示意图,图7为本发明技术方案与STR的群组分割时的消息长度比较示意图,图6中纵轴代表计算量,横轴代表合并的节点个数,线条l代表STR的计算量,线条2、3、4分别代表本发明当合并群组数为3、5、7时的计算量,可以看出当合并节点增加时,STR的计算量会有较明显的提升,而本发明的计算量只有微小的变化。图7中纵轴代表消息总长度,横轴代表离开成员的数量,线条5代表STR的消息总长度,线条6代表本发明的消息总长度,可以看出STR的消息总长度一直都高于本发明技术方案的消息总长度。从以上可以得出本发明的技术方案在群组合并时的密码运算量上和群组分割时的消息总长度上要比STR更有优势的结论。由图8(本发明技术方案与STR的群组分割时的计算量比较示意图)显示出在分割协议的密码运算量上,提出的方案(线条8)在离开成员较少时具有较大的优势,同时虽然在离开成员较多时STR方案(线条7)具有一定优势,但优势并不4艮明显。因此本发明的技术方案在无线Mesh网络的群组通信上,能够以较低的通讯代价实现动态对等群组的密钥管理问题。最后应当说明的是以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。权利要求1、一种基于无线Mesh网络的密钥管理方法,其特征在于,包括以下步骤步骤1,当Mesh群组中通讯节点的关系发生变化时,从与所述Mesh群组相对应的密钥树中选取密钥更新辅助节点,其中所述密钥树采用三叉树结构;步骤2,随机生成所述密钥更新辅助节点的密钥和盲密钥;步骤3,根据所述密钥更新辅助节点的密钥和盲密钥,计算所述密钥更新辅助节点在所述密钥树上的密钥路径中各密钥节点的密钥和盲密钥,并向所述密钥树中各密钥节点广播所述密钥路径上各密钥节点的盲密钥;步骤4,所述密钥树中各叶子节点更新自身的密钥和盲密钥,并计算出群组密钥。2、根据权利要求1所述的基于无线Mesh网络的密钥管理方法,其特征在于,所述步骤l具体为当所述Mesh群组中的第一通讯节点离开时,选择所述第一通讯节点对应的第一密钥节点的父节点为中间节点,并且从以中间节点为根的子树上,随机选择最顶层叶子节点作为密钥更新辅助节点。3、根据权利要求2所述的基于无线Mesh网络的密钥管理方法,其特征在于,在所述步骤2之前,进一步包括以下步骤判断所述中间节点的度是否为3,是则删除所述第一密钥节点,否则删除所述第一密钥节点,并将所述第一密钥节点的兄弟节点提升到父节点位置。4、根据权利要求1所述的基于无线Mesh网络的密钥管理方法,其特征在于,所述步骤l具体为步骤11,当第二通讯节点向所述Mesh群组发出加入请求时,所述Mesh群组的接入通讯节点根据群组安全策略对所述第二通讯节点进行身份认证;步骤12,在与所述Mesh群组相对应的密钥树中选择插入密钥节点,并随机选择以所述插入密钥节点为根的叶子节点作为密钥更新辅助节点。5、4艮据权利要求4所述的基于无线Mesh网络的密钥管理方法,其特征在于,所述步骤ll具体为利用与所述第二通讯节点对应的第二密钥节点生成的第一随机数计算出所述第二密钥节点的盲密钥,并利用与所述接入通讯节点相对应的接入密钥节点的公钥对所述第一随机数和会话标识符进行加密,获得接入点ENC,然后将包含所述会话标识符、盲密钥、接入点ENC和所述第二密钥节点的公钥证书的加入请求发送给所述Mesh群组,所述接入通讯节点根据群组安全策略对所述第二通讯节点进行身份认证。6、根据权利要求4所述的基于无线Mesh网络的密钥管理方法,其特征在于,所述步骤12具体为步骤121,判断与所述Mesh群组对应的密钥树是否为满树,是则生成新的根节点,并将该根节点作为插入密钥节点;否则选择所述密钥树中满足插入条件的插入密钥节点;步骤122,随机选择以所述插入密钥节点为根的叶子节点作为密钥更新辅助节点。7、根据权利要求5所述的基于无线Mesh网络的密钥管理方法,其特征在于,在所述步骤2之前,还包括以下步骤步骤21,所述接入密钥节点用自身的私钥对所述接入点ENC进行解密,并用原群组密钥将所述接入点ENC解密后的内容进行加密,获得群组ENC;步骤22,所述接入密钥节点将所述群组ENC发送给所述密钥更新辅助节点,所述密钥更新辅助节点解密所述群组ENC,并根据所述群组ENC解密后的内容,获得第二节点ENC,同时计算出第二节点信息认证码;步骤23,所述密钥更新辅助节点向所述第二密钥节点发送所述第二节点ENC和第二节点信息认证码;步骤24,所述第二密钥节点向所述密钥更新辅助节点发送应答消息;步骤25,所述密钥更新辅助节点对所述应答消息进行验证,当验证通过时,允许所述第二通讯节点加入所述Mesh群组;步骤26,将所述第二通讯节点插入所述Mesh群组中。8、冲艮据权利要求7所述的基于无线Mesh网络的密钥管理方法,其特征在于,所述步骤22具体为步骤221,所述接入密钥节点将所述群组ENC发送给所述密钥更新辅助节点;步骤222,所述密钥更新辅助节点解密所述群组ENC;步骤223,所述密钥更新辅助节点生成第二随机数和随4JU降密值,并以该随机秘密值作为自己的密钥,通过所述第二密钥节点的公钥证书对该第二随机数进行加密,获得第二节点ENC;步骤224,同时计算出第二节点信息认证码。9、4艮据权利要求8所述的基于无线Mesh网络的密钥管理方法,其特征在于,所述步骤24具体为步骤241,所述第二密钥节点对所述第二节点ENC进行解密获得所述第二随机数;步骤242,所述第二密钥节点根据所述第二随机数计算信息认证码;步骤243,所述第二密钥节点将计算后的信息认证码与所述第二节点信息认证码进行比较,如果一致,则计算出应答消息信息认证码,并发送给所述密钥更新辅助节点;如果不一致,则拒绝所述第二通讯节点加入所述Mesh群组。10、才艮据权利要求9所述的基于无线Mesh网络的密钥管理方法,其特征在于,所述步骤25具体为所述密钥更新辅助节点对所述应答消息信息认证码进行-睑i正,通过-睑证时,则允许所述第二通讯节点加入所述Mesh群组;否则拒绝所述第二通讯节点加入所述Mesh群组。11、根据权利要求7所述的基于无线Mesh网络的密钥管理方法,其特征在于,所述步骤26具体为判断所述插入节点的度是否为2,是则将所述第二密钥节点插入到插入节点下,否则创建所述发起节点的中间节点,并将所述中间节点提升为所述插入节点和第二节点的父节点。12、根据权利要求l所述的基于无线Mesh网络的密钥管理方法,其特征在于,所述步骤l具体为步骤11',每个密钥子树的顶层叶子节点广播自身的密钥子树信息,并在高度最低的密钥子树中随机选择顶层叶子节点作为密钥更新辅助节点;步骤12,,当所述每个密钥子树的顶层叶子节点向所述密钥更新辅助节点发出加入请求时,所述密钥更新辅助节点根据群组安全策略对所述每个密钥子树的顶层叶子节点进行身份认证。13、根据权利要求12所述的基于无线Mesh网络的密钥管理方法,其特征在于,所述步骤U,具体为每个密钥子树的顶层叶子节点才艮据生成的第三随机数计算出盲密钥,并利用所述密钥更新辅助节点的公钥对所述第三随机数和会话标识符进行加密,获得密钥更新辅助点ENC,然后将包含所述会话标识符、密钥更新辅助点ENC、所述每个密钥子树的顶层叶子节点的盲密钥和公钥证书的加入请求发送给所述密钥更新辅助节点,所述密钥更新辅助节点根据群组安全策略对所述每个密钥子树的顶层叶子节点进行身份认证。14、根据权利要求13所述的基于无线Mesh网络的密钥管理方法,其特征在于,所述步骤2之前,还包括以下步骤步骤21',所述密钥更新辅助节点对所述发起点ENC进行解密,并用所述每个密钥子树的顶层叶子节点的公钥证书进行加密,获得顶层叶子节点ENC,同时计算出顶层叶子节点信息认证码;步骤22,,所述密钥更新辅助节点向所述每个密钥子树的顶层叶子节点发送所述顶层叶子节点ENC和顶层叶子节点信息认证码;步骤23,,所述每个密钥子树的顶层叶子节点向所述密钥更新辅助节点发送应答消息;步骤24',所述密钥更新辅助节点对所述应答消息进行验证,当验证通过时,允许与每个密钥子树的顶层叶子节点对应的通讯子群加入所述Mesh群组;步骤25',将所有密钥子树合并为一。15、才艮据权利要求14所述的基于无线Mesh网络的密钥管理方法,其特征在于,所述步骤21,具体为步骤211,,所述密钥更新辅助节点对所述密钥更新辅助点ENC进行解密,获得所述第三随机数和会话标识符;步骤212,,所述密钥更新辅助节点生成第四随机数,并使用所述每个密钥子树的顶层叶子节点的公钥证书对所述第四随机数和会话标识符进行加密,获得顶层叶子节点ENC,同时计算出顶层叶子节点信息认证码。16、根据权利要求15所述的基于无线Mesh网络的密钥管理方法,其特征在于,所述步骤23,具体为步骤231',所述每个密钥子树的顶层叶子节点对所述顶层叶子节点ENC进行解密获得所述第四随机数;步骤232,,所述每个密钥子树的顶层叶子节点根据所述第四随机数计算信息认证码;步骤233,,将计算得到的信息认证码与所述顶层叶子节点信息认证码进行比较,如果一致,则计算出应答消息信息认证码,并发送给所述密钥更新辅助节点;如果不一致,则拒绝与该叶子节点所在的通讯子组加入所述Mesh群组。17、根据权利要求16所述的基于无线Mesh网络的密钥管理方法,其特征在于,所述步骤24,具体为所述密钥更新辅助节点对所述应答消息信息认证码进行验证,通过验证时,则允许与该顶层叶子节点所在的通讯子组加入所述Mesh群组;否则拒绝与该顶层叶子节点所在的通讯子组加入所述Mesh群组。18、才艮据权利要求14所述的基于无线Mesh网络的密钥管理方法,其特征在于,所述步骤25,具体为步骤251,,判断所述每个密钥子树是否高度相同,是则利用预设排序方式确定密钥子树的合并顺序,否则先对高度较低的密钥子树进行合并;步骤252,,生成一个插入密钥节点,将高度最低的两个密钥子树和所述密钥更新辅助节点所处密钥子树插到所述插入密钥节点下;步骤253',重复步骤252',直到所有密钥子树合并为一。19、根据权利要求1所述的基于无线Mesh网络的密钥管理方法,其特征在于,所述步骤l具体为当所述Mesh群组中的多个通讯节点离开时,将与所述Mesh群组对应的密钥树中剩余的密钥节点划分成互不相交的密钥子树,并且从高度最低的密钥子树随机选择顶层叶子节点作为密钥更新辅助节点。20、根据权利要求19所述的基于无线Mesh网络的密钥管理方法,其特征在于,所述步骤2之前,还包括以下步骤步骤21",判断所述每个密钥子树是否高度相同,是则利用预设排序方式确定密钥子树的合并顺序,否则先对高度较低的密码子树进行合并;步骤22",生成一个插入密钥节点,将高度最低的两个密钥子树和所述密钥更新辅助节点所处密钥子树插到所述插入密钥节点下;步骤23",重复步骤22",直到所有密钥子树合并为一。21、根据权利要求19所述的基于无线Mesh网络的密钥管理方法,其特征在于,所述将与所述Mesh群组对应的密钥树中剩余的密钥节点划分成互不相交的密钥子树的操作具体为将与所述Mesh群组对应的密钥树中剩余的密钥节点依照完全子树算法进行划分,获得互不相交的密钥子树。全文摘要本发明涉及一种基于无线Mesh网络的密钥管理方法,其特征在于,包括以下步骤当Mesh群组中通讯节点的关系发生变化时,从与Mesh群组相对应的密钥树中选取密钥更新辅助节点,其中密钥树采用三叉树结构;随机生成密钥更新辅助节点的密钥和盲密钥;计算密钥更新辅助节点在密钥树上的密钥路径中各密钥节点的密钥和盲密钥,并向密钥树中各密钥节点广播密钥路径上各密钥节点的盲密钥;密钥树中各叶子节点更新自身的密钥和盲密钥,并计算出群组密钥。本发明提出的技术方案在节点加入时的消息总长度、节点离开时的消息总长度和密码运算量、群组合并的消息总长度等参数低于现有技术,克服了现有技术安全需求和可扩展性与QoS需求相矛盾的问题。文档编号H04L9/08GK101110670SQ20061009931公开日2008年1月23日申请日期2006年7月17日优先权日2006年7月17日发明者姚忠辉,帆张,曹春杰,李亚辉,超杨,杨卫东,巍王,马建峰申请人:西安电子科技大学;华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1