基于MIPv6的安全组播密钥管理方法

文档序号:7886469阅读:174来源:国知局
专利名称:基于MIPv6的安全组播密钥管理方法
技术领域
本发明属于通信技术领域,更进一步涉及一种应用于移动通信网络中基于MIPv6 的安全组播密钥管理方法。本发明可用于移动环境中成员动态变化的情况下组播密钥的协商和更新。
背景技术
移动环境中,组播的高效性和可扩展性受到了冲击,组播不仅要管理动态的组成员,还需要解决组成员位置动态变化所带来的组播密钥更新问题,所以需要降低组播密钥更新代价、提高组播密钥更新效率、减少更新组播密钥带来的组播控制器的计算和网络负载,主要有以下几种方法。西安电子科技大学申请的专利“一种基于MIPv6的安全组播方法及步骤”(专利申请号200910021030. X,公开号CN101588235A)。该专利公开了一种动态分层的组播密钥管理方法,它包括认证中心1、组成员2、组播源3以及GCKS4 ;其中,认证中心1用于对组成员和组播源以及GCKS的认证并分发证书;GCK用于对组成员2进行接入注册认证、密钥更新消息的分发,用于向接入路由器转发组成员2的信息列表,用于与组播源进行安全关联协商,用于GCKS间协商构建组播密钥;组播源3用于通过中间路由器向组成员2发送组播数据包;组成员2用于获得组播数据包。该方法使安全组播技术能够用于实际的组播应用成为可能,提高了组播通信的安全性,分离了 GCKS和路由器的功能,能够很好的避免单点失效问题,使组播管理效率得到的明显的提高。但是,该专利申请存在的不足是,无法处理成员变化频繁情况,如果成员频繁的加入、离开组播组,将会引起组播密钥更新所带来计算量和通信量的增大。

发明内容
本发明的目的在于克服上述已有技术的不足,提出一种适用于移动IPv6环境下, 高效可行的安全组播密钥管理方法,能够有效降低计算和通信开销,实现高效、安全的组播密钥协商和更新。本发明采用分布式的组播密钥管理方法,组播密钥的协商和更新由密钥服务器负责;针对移动环境下组成员变化频繁的情况,由密钥服务器构建二叉树生成中心密钥服务器,中心密钥服务器负责组播密钥的更新,提高组播密钥更新的效率;生成中心密钥服务器的过程周期性进行,防止单点失效。本发明包括如下步骤(1)密钥服务器构建二叉树,生成中心密钥服务器;(2)密钥服务器将组播密钥安全分发给其管辖域内的组成员;(3)中心密钥服务器将组播密钥安全发送给组播源,组播源收到组播密钥后开始发送组播数据;(4)中心密钥服务器按照下式计算密钥服务器重新构建二叉树的循环周期
T = Iog2N其中,T为循环周期,log为取对数符号,N为密钥服务器个数;(5)在中心密钥服务器对组播密钥的管理下,以T为周期循环执行步骤1、步骤2、 步骤3、步骤4,直至组播数据发送完毕。本发明与现有技术相比具有以下优点第一,本发明采用了周期性构建二叉树的方法,克服了现有技术中由组成员频繁加入、离开带来的二叉树的频繁构建问题,减少了计算量和通信量。第二,本发明采用了中心密钥服务器管理组播密钥的方法,克服了现有技术中组播密钥更新速度慢的问题,提高了组播密钥的更新速度。


图1是本发明的流程图。
具体实施例方式下面结合附图1对本发明的具体实施部分作具体描述步骤1,构建二叉树将任意两个密钥服务器两两组合,形成密钥服务器对。本发明的实施例是将网络中存在的N(N为大于0的整数)个密钥服务器GCKS1,GCK&,...,GCKSi,…,GCKSn,(i e (1, 2,. . .,N-1),N为密钥服务器的个数)随机两两组合,如GCKS1与GCK&组合,...,GCKSi与 GCKSw组合,’"ie (1,2,...,^1),共产生"2(或"2+1^为奇数)个密钥服务器对。在每对密钥服务器中,采用基于椭圆曲线的双线性方法协商一个共享密钥,保存私钥和共享密钥,并随机选择一个作为父节点。本发明的实施例中,密钥服务器对GCKSi和 GCKSi+1(i e (1,2, ...,N-I))采用基于椭圆曲线的双线性方法协商一个共享密钥,首先密钥服务器GCKSi选择随机整数Ici作为自己的私钥并发送给密钥服务器GCKSi+1,然后GCKSi+1 随机选择整数作为自己的私钥并发送给GCKSi,最后GCKSi和GCKSi+1分别计算
=H(e" (Si, Si+1))作为两者协商的共享密钥,密钥服务器GCKSi+1在GCKSi与GCKSi+1间随机选择一个作为父节点GCKS' i, i+1,GCKSi与GCKSi+1分别是GCKS' ^ i+1的左孩子和右孩子。未配对的密钥服务器随机选择一个整数作为私钥和共享密钥,并选择自己作为自己的父节点。本发明的实施例中,未配对的密钥服务器GCK&(1 e (1,2,...,N-1))选择随机整数k作为私钥和共享密钥,选择自己作为自己的父节点GCKS‘ u,密钥服务器GCE1是 GCKS' u的孩子。所有的父节点组成上层密钥服务器层,将任意两个上层密钥服务器两两组合,形成密钥服务器对,每对中密钥服务器选择自己左右孩子的共享密钥作为私钥,采用基于椭圆曲线的双线性方法协商一个共享密钥,随机选择一个作为父节点,并将协商出的共享密钥用私钥加密发送给自己的左右孩子,左右孩子继续用私钥加密发送给自己的左右孩子, 直至底层叶子节点发送完毕。本发明实施例中,所有的父节点GCKS' i,i+1(ie (1,2,..., N-I))组成上层密钥服务器层,上层的密钥服务器两两随机组合,形成密钥服务器对。密钥服务器对GCKS' 与GCKS' i+2,i+3采用基于椭圆曲线的双线性方法协商一个共享密钥, GCKS' 选择左右孩子协商的共享密钥kgraup, 作为自己的私钥并发送给GCKS' i+2,i+3,GCKS' i+2,⑴选择左右孩子协商的共享密钥kgMup, i+2’㈩作为自己的私钥并发送给 GCKS' iji+1,GCKS' 与 GCKS' i+2,i+3 分别计算kgr。up, 1,1+1,1+2,1+3 = H(e (kgr。up, 1,1+1, kgroup' 1+2'1+3))其中,kgroup, υ+1’"2’"3为两者协商的共享密钥,HO为哈希函数,e为自然对数函数的底数厂为指数运算符号,kgraup, W1SGCKS' 的私钥,kgMup, i+2’i+3 SGCKS' i+2,i+3 的私钥。GCKS' 用左右孩子协商的共享密钥Iv。"1加密kgr。up, υ+1’ +2“+3发送给左右孩子GCKSi和GCKSi+1,GCS' i+2, i+3用左右孩子协商的共享密钥kgraup, i+2’i+3加密kgraup, i+1' i+2,⑴发送给左右孩子GCKS时和GCKSi+3,然后GCKS' i+2,出在GCKS'丨洲与GCKS' i+2,i+3之间随机选择一个作为父节点GCKSi,i+1,i+2,m〃 ,GCKS' 与GCKS' i+2,洲分别是GCKSi,i+1, i+2,i+3“的左孩子和右孩子。重复上一步,直至产生根节点,根节点的左右孩子协商的共享密钥作为组播密钥, 将根节点作为中心密钥服务器。本发明的实施例中,GCKSm、GCK&分别是中心密钥服务器的左孩子和右孩子(m,η e (1,2, ... , N-l)),sm、sn分别是GCEm和GCK&的私钥,组播密钥 kgroup = H(e" (sffl, sn)),其中,HO是哈希函数,e为自然对数函数的底数,“为指数运算符号。从底层叶子节点开始,用组播密钥加密自己的私钥发送给中心密钥服务器,直到根节点的左右孩子,至此,中心密钥服务器保存了二叉树上所有的密钥。本发明的实施例中,从叶子节点GCKSiG e (1,2, ... , N-I))开始,用组播密钥1^_加密自己的私钥Si发送给中心密钥服务器,直至中心密钥服务器的左孩子和右孩子,中心密钥服务器根据保存的组播密钥kgMup解密消息获得节点的私钥。步骤2,将组播密钥发送给组成员组成员选择随机整数作为私钥发送给密钥服务器,密钥服务器生成随机整数,按照如下公式构建多项式f (x) =TI (X-H(Mii) )+k其中,f (χ)为多项式函数,χ为多项式函数中的未知数,Π为累积乘积符号,HO为散列函数,r为密钥服务器生成的随机整数,Hii为第i个成员的私钥,k为组播密钥。密钥服务器按照上式计算多项式函数的系数和常数项。密钥服务器将多项式函数的系数、多项式的常数项、密钥服务器生成的随机整数一起发送给其域内的组成员。本发明的实施例中,密钥服务器按照上式计算多项式函数的系数和常数项得到f(x) = aV+a^x^^-'+a^+a0其中,f(x)为多项式函数,χ为多项式函数中的未知数,η为未知数χ的次数,a11、 a-1,…、a1为系数,为常数项。密钥服务器将an、a1"1、…、a1、和随机整数r发送给域内的组成员。组成员收到消息后,根据多项式系数、多项式的常数项将多项式还原,计算密钥服务器生成的随机整数和自己私钥的乘积的哈希值,代入多项式中计算出多项式的值,获得组播密钥。本发明的实施例中,组成员M接收到消息后,根据多项式系数a^a11—1、…、a1、多项式的常数项a°还原多项式得到f(x) = aV+a^x^^-'+a^+a0组成员M根据自己的私钥m计算H(mr),代入多项式中计算出多项式的值,获得组密钥。步骤3,将组播密钥发送给组播源中心密钥服务器选择随机整数作为私钥并发送给组播源,组播源选择随机整数作为私钥并发送给中新密钥服务器,组播源和中心密钥服务器按照下式计算共享密钥k = H(e"(s,m))其中,k为共享密钥,HO为哈希函数,e为自然对数函数的底数,“为指数运算符号,s为组播源的私钥,m为中心密钥服务器的私钥;中心密钥服务器用共享密钥加密组播密钥发送给组播源,组播源根据共享密钥解密消息获得组播密钥。步骤4,计算循环周期T中心密钥服务器按照下式计算密钥服务器重新构建二叉树的循环周期T = Iog2N其中,T为循环周期,log为取对数符号,N为密钥服务器个数。步骤5,循环生成中心密钥服务器在中心密钥服务器的管理下,以T为周期循环执行步骤1、步骤2、步骤3、步骤4, 生成中心密钥服务器,直至组播数据发送完毕。新的组成员加入、组成员离开组播组需要更新组播密钥,中心密钥服务按如下步骤更新组播密钥中心密钥服务器随机选择一个大素数作为新的组播密钥。本发明实施例中,中心密钥服务器随机选择一个大素数P作为新的组播密钥kgraup' = P。中心密钥服务器用左、右孩子的私钥分别加密新的组播密钥,作为一条广播消息广播给所有密钥服务器。本发明实施例中,GCKi^GCEn分别是中心密钥服务器的左孩子和右孩子(m,n e (1,2,... , N-1),sm、sn分别是GCEm和GCK&的私钥,中心密钥服务器分别用sm、^加密新的组播密钥kgraup'作为一条消息广播给其它密钥服务器。密钥服务器根据自己保存的密钥解密广播消息得到新的组播密钥,密钥服务器将新的组播密钥安全分发给其管辖域内的组成员。本发明实施例中,密钥服务器接收到广播消息,密钥服务器GCKSiG e (1,2, ..., N/2))用保存的私钥、解密消息得到新的组播密钥kgraup',密钥服务器GCKSiG e (Ν/2+1, N/2+2, ... ,N))用保存的私钥\解密消息得到新的组播密钥kgraup'。本发明中,组播密钥的更新只需要一条广播消息就可以在密钥服务器范围内完成组播密钥的更新,具有很好的高效性。新的成员Mj加入组播组,Mj选择随机整数Hij作为自己的私钥,发送给管辖域内的密钥服务器GCK。,GCKSj选择随机整数按照如下公式构建多项式f(x) ‘ = (x-H (I7Iij)) Π (X-HO7Iii)Hkgrou/其中,Hii是60(。管辖域内原有的组成员的私钥。GCEj计算多项式的f (X)'的系数,将多项式函数的系数、多项式函数的常数项、密钥服务器生成的随机整数h—起发送给其域内的组成员,组成员收到消息后,根据多项式系数还原多项式f (X)‘,根据自己的私钥S计算H(hS),代入多项式f(x)'中,计算出多项式f(x)'的值,获得新的组播密钥 kgroup'。组成员Mtl离开组播组,Mtl管辖域内的密钥服务器GCKStl选择随机整数ι·,,按照如下公式构建多项式
权利要求
1.基于MIPv6的安全组播密钥管理方法,包括如下步骤(1)密钥服务器构建二叉树,生成中心密钥服务器;(2)密钥服务器将组播密钥安全分发给其管辖域内的组成员;(3)中心密钥服务器将组播密钥安全发送给组播源,组播源收到组播密钥后开始发送组播数据;(4)中心密钥服务器按照下式计算密钥服务器重新构建二叉树的循环周期 T = Iog2N其中,T为循环周期,log为取对数符号,N为密钥服务器个数;(5)在中心密钥服务器对组播密钥的管理下,以T为周期循环执行步骤1、步骤2、步骤 3、步骤4,直至组播数据发送完毕。
2.根据权利要求1所述的基于MIPv6的安全组播密钥管理方法,其特征是步骤(1)中所述的二叉树构建过程如下第一步,将任意两个密钥服务器两两组合,形成密钥服务器对; 第二步,在每对密钥服务器中,采用基于椭圆曲线的双线性方法协商共享密钥,保存私钥和共享密钥,并随机选择一个作为父节点;第三步,未配对的密钥服务器随机选择一个整数作为私钥和共享密钥,并选择自己作为自己的父节点;第四步,所有的父节点组成上层密钥服务器层,将任意两个上层密钥服务器两两组合, 形成密钥服务器对,每对中密钥服务器选择自己左右孩子的共享密钥作为私钥,采用基于椭圆曲线的双线性方法协商共享密钥,随机选择一个作为父节点,并将协商出的共享密钥用私钥加密发送给自己的左右孩子,左右孩子继续用私钥加密发送给自己的左右孩子,直至底层叶子节点发送完毕;第五步,重复第四步,直至产生根节点,根节点的左右孩子协商的共享密钥作为组播密钥,将根节点作为中心密钥服务器;第六步,从底层叶子节点开始,用组播密钥加密自己的私钥发送给中心密钥服务器,直到根节点的左右孩子,至此,中心密钥服务器保存了二叉树上所有的密钥。
3.根据权利要求1所述的基于MIPv6的安全组播密钥管理方法,其特征是步骤(2)中所述组播密钥安全分发的步骤如下第一步,组成员选择随机整数作为私钥发送给密钥服务器,密钥服务器生成随机整数, 按照如下公式构建多项式 f (χ) =Π (X-H(Mli) )+k其中,f(x)为多项式函数,X为多项式函数中的未知数,Π为累积乘积符号,HO为散列函数,r为密钥服务器生成的随机整数,Hii为第i个成员的私钥,k为组播密钥; 第二步,密钥服务器按照上式计算多项式函数的系数和常数项; 第三步,密钥服务器将多项式函数的系数、多项式函数的常数项、密钥服务器生成的随机整数一起发送给其域内的组成员;第四步,组成员收到消息后,根据多项式系数将多项式还原,计算密钥服务器生成的随机整数和自己私钥的乘积的哈希值,代入多项式中计算出多项式的值,由此获得组播密钥。
4.根据权利要求1所述的一种基于MIPv6的安全组播密钥管理方法,其特征是步骤(5)所述的组播密钥安全发送给组播源的步骤如下第一步,中心密钥服务器选择随机整数作为私钥并发送给组播源; 第二步,组播源选择随机整数作为私钥并发送给中新密钥服务器; 第三步,组播源和中心密钥服务器按照下式计算共享密钥 k = H(e"(s,m))其中,k为共享密钥,HO为哈希函数,e为自然对数函数的底数,“为指数运算符号,s 为组播源的私钥,m为中心密钥服务器的私钥;第四步,中心密钥服务器用共享密钥加密组播密钥发送给组播源; 第五步,组播源根据共享密钥解密消息获得组播密钥。
5.根据权利要求1所述的一种基于MIPv6的安全组播密钥管理方法,其特征是步骤 (5)所述的中心密钥服务器的管理步骤如下第一步,中心密钥服务器随机选择一个大素数作为新的组播密钥; 第二步,中心密钥服务器用左、右孩子的私钥分别加密新的组播密钥,作为一条广播消息广播给所有密钥服务器;第三步,密钥服务器根据自己保存的密钥解密广播消息得到新的组播密钥,密钥服务器将新的组播密钥安全分发给其管辖域内的组成员。
全文摘要
本发明公开的一种基于MIPv6的安全组播密钥管理方法,克服现有技术无法处理移动环境下成员频繁变化的情况,采用分布式的组播密钥管理方法,密钥服务器周期性的构建二叉树生成中心密钥服务器,中心密钥服务器负责组密钥的生成,负责将组密钥安全分发给其它密钥服务器,其它密钥服务器再将组密钥安全分发给组内成员,提高了组密钥更新效率,降低了通信量和计算量。
文档编号H04W12/04GK102413465SQ20121000167
公开日2012年4月11日 申请日期2012年1月4日 优先权日2012年1月4日
发明者刘彦明, 宋艳波, 方海燕, 李小平, 白丽娜, 董庆宽, 赵蕾, 黎剑兵 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1