专利名称:一种Ad hoc组密钥管理方案的制作方法
技术领域:
本发明涉及一种Ad hoc的安全管理技术,具体地说,涉及一种Ad hoc组密钥管理方案。
背景技术:
移动自组Ad hoc网络是利用无线通信技术,由一组具有无线信号收发装置的移动终端构成的无基站、多跳、临时性自组织网络系统。由于Ad hoc网络不需要固定基础设施的支持,以及部署方便等特点,Ad hoc网络具有小范围即兴组网、组网灵活、价格低廉等优点。 Ad hoc网络在军事、抢险救灾、移动会议等领域有着非常广泛的应用。与传统网络相比,Ad hoc网络缺少控制中心和基础设施支持,网络拓扑结构动态变化,移动终端计算能力、存储容量、通信带宽及能源有限等。Ad hoc网络安全问题面临更严峻的挑战,而Ad hoc网络安全问题的核心之一就是组密钥管理。目前,为了提高密钥管理方案的安全性,几乎所有的密钥管理方案都利用了 Diffie Hellman密钥交换协议、椭圆曲线密码、RAS密码、门限密码或双线性对。
发明内容
本发明利用NTRU公开密钥算法,提出一种安全、高效的Ad hoc组密钥管理方法。 协议特别适合于在资源受限网络环境,为开发组密钥协商协议提出了一个新的研究方向, 组密钥协商协议研究基于如下假设(1)组内每个成员都具有某种监视机制,组内每个成员之间相互信任,成员的密钥都能妥善保管。即使某个成员被攻陷或被捕获,组内其他成员能够迅速去除该成员。(2)攻击者可以知道组成员的构成以及方案的执行过程,知道组内所有公开信息, 可以截获组成员之间的通信信息,但,攻击者不能控制组成员,也无法读取组成员的秘密信肩、ο(3)在部署网络之前,系统存在一个离线的可信任机构TC,负责产生组成员所需要的参数。包括为组内每个成员和请求加入的成员颁发唯一的身份标识、公私密钥对、签名方案、验证方案、公布需要公开的系统参数等。其技术方案如下一种Ad hoc组密钥管理方案,本发明用到的主要符号TC 系统离线可信任机构,负责产生组成员所需要的参数;q 大模数,通常是一个正整数,q值的大小与具体的实例相关;ρ 小模数,通常是一个小的正整数或者是一个具有小系数的多项式;r 眩值,用来表示在加密时作为临时眩值的多项式;P:协议中组成员的集合,当组中有η个成员时,P= (P1, P2A, PJ ;id 协议中组成员的身份标识符集,当组中有η个成员时,id = Ud1, id2 A,idn},, 协议为每个成员Pi分配唯一身份标识符idji = 1,2, Λ,η),该任务由TC完成;
(pki; Ski)其中Pki是Pi的公钥,Ski是Pi的私钥;NTRUSign ( ·)表示 NTRU 签名方案;NTRUVerf ( ·)表示 NTRU 验证方案;(SKi, VKi)其中SKi是Pi的签名密钥,VKi是Pi的验证密钥;m,每个成员贡献的密钥片段,由成员Pi随机产生;H( ·):方案中使用的单向散列函数;KID 组密钥协商成功确认标识,在每次密钥协商前,由TC发布;包括以下步骤A.可信机构TC中心为系统提供初始化参数;B.成员P提供自己的密钥片段m,对m进行变换,得到E ;C.成员P对E和P的身份标识id进行签名,得到S ;D.成员 P 广播(S,E);E.成员P验证其他P的S,如果验证失败则需要重复步骤B,如果验证成功进行下一步F;F. P对E进行反变换,计算所有成员提供的m之和K ;G. P 广播丑(K KU))H. P比较所有H是否相等,如果不相等重复步骤B,如果相等组密钥为GK = H(K), 密钥协商成功。该方案组密钥协商协议流程(1)密钥片段准备阶段a.成员Pi(KiSn)随机选择一个数巧、Hii e Z [X] / (Xn-I),并计算Eij = r^pkj+nii (modq)(1)Sij = NTRUSignSKi (Elj || id,),{\<]<η,]Φ i)b.成员Pi向组内其他成员广播(Sij, Eij);(2)组密钥协商阶段c.成员Pj (1彡j彡η)计算NTRUVerfvkj (Slj),如果没有通过验证,则要求重新提供 (Sij, Eij),如果通过验证,则执行步骤d ;d.成员Pi用计算
ηK1= YjSkj-* Eij(XXiodp) (2)
,=1 MjKj = K' j+nij (j = 1,2,…,η) (3)e.成员Pj销毁自己的m」,保留K'」,计算并广播巧=HiKj θ KID);f.成员Pj比较所有的Hj (1 ^ j ^ η),如果发现不相等情况,则要求重新进行密钥协商,如果全部相等,则密钥协商完成,组密钥为GK = H(Kj)。该方案成员加入组密钥流程假设有nl个新成SPiG =n+l,An+nl)加入网络之前,TC已经为Pi分配了(pki; Ski)、(SKiVKi)、Idi参数,并向组内广播Pi的Pki, Idi和KID,组内规定由Pn为发起人,所述的步骤(1)需要更新密钥片段,成员Pn随机选择一个数!^、!^^ Z [X]/(Xn-I),并计算Enj = rn*pkj+(k' n+mn) (modq) (4)
Snj = NTRUSign ^ (Enj 丨| id ),(1<7< nl, j 丰 )成员Pn向组内其他成员广播( , Enj)。成员Pi (n+1 彡 i 彡 n+nl)随机选择一个数 I^mi e Z [X]/(Xn-I),并计算 Eij Eij = r^pkj+nii (modq)(5)Sij = NTRUSign SKi (Eij || id) ,(\<j< n\, j Φ i)所述的步骤O)还包括步骤dl其具体为c.成员 Pj (1 彡 j 彡 n-1)计算NTRUVerfVK/ (Sij)(η彡i彡n+nl),如通过验证,则计算
nlKj = ^4SkjEij mod ρ, (j = 1,2,Λ , “ -1) (6)
i-ndl.成员 Pn 计算NTRUVerfVKj、S。(n+1 彡 j 彡 n+nl)进行验证,如通过验证,则计算
/71Kn =Kn +mn + ^ SknEjn mod ρ (7)
,/=77+1d.成员 Pj (n+1 ^ j ^ n+nl)计算NTRUVerfvi^SJ(η彡i彡n+nl, i乒j),如通过验证,则计算
η)Kj= YjSkjEyXnodp(8)
=η, ψ jKj = K' j+nij(9)e.成员Pj销毁自己的Hij,保留K'」,计算并广播Hj = HiKj)十 KID),(l<j<n + n\);f.成员Pj比较所有的Hj (1 ^ j ^ n+nl),如果全部相等,密钥协商完成,组密钥为GK = H(Kj)。该方案成员离开组密钥更新协议流程假设组内有L个成员离开,剩余成员的集合为D,TC从成员身份标识符集中删除离开成员的idy并发出组密钥协商标识KID,在D内,规定最大编号idk的成员Pk为发起人, 其具体步骤为a.成员Pk随机选择一个数rk、mk e Z [Χ] / (Xn-I),并计算Ekj = rk*pkj+(K' k+mk) (modq)(10)Sk] = NTRUSignsk入Ekj \\ id O ’ {\<j<nJ^L).b.成员Pk向组内D其他所有成员广播(Skj,Ekj);C.其他成员Pj e D imNTRUVerfVKt (Skj),如通过验证,则计算Kj = sk产Ekj mo dp ;(11)d.成员 Pj 计算并广播丑7 = H{K丨十 KID),(1 < 7 < n,j Φ L) ·,f. D中成员比较其他成员广播的散列值,如果全部相等,则组密钥更新成功,组成员的密钥为GK = H(Kj),(1彡j彡n,j乒L)。本发明的有益效果本发明Ad hoc组密钥管理方案包括应对成员协议、成员加入、成员离开三种情况的措施。协议是一个带认证的贡献式组密钥管理方案,即使攻击者知道部分成员的密钥片段,也不能计算出组内所有成员的密钥片段,保证了密钥的独立性。当组中增加成员时,新成员密钥片段作为计算组密钥的一个部分,原有成员的密钥片段不需要改变,减少了协议的计算量。当有成员离开时,离开的成员没有办法从自己掌握的密钥片段和原组密钥计算出新的组密钥。协议具有安全性好,通信量少、计算速度快,占用资源少,适应能力强的特点。本发明所述的协议特别适合于资源受限的网络环境,为开发组密钥协商协议提出了一个新的研究方向。
图1为三个协议的总体概括流程图;图2为组密钥协商协议流程图;图3为成员加入组密钥流程图;图4为成员离开组密钥流程图。
具体实施例方式下面结合附图和具体实施方式
对发明的方案做进一步详细说明。参照图1,一种Ad hoc组密钥管理方案,本发明用到的主要符号TC 系统离线可信任机构,负责产生组成员所需要的参数;q 大模数,通常是一个正整数,q值的大小与具体的实例相关;ρ 小模数,通常是一个小的正整数或者是一个具有小系数的多项式;r 眩值,用来表示在加密时作为临时眩值的多项式;P:协议中组成员的集合,当组中有η个成员时,P= (P1, P2A, PJ ;id 协议中组成员的身份标识符集,当组中有η个成员时,id = Ud1, id2 A,idn},, 协议为每个成员Pi分配唯一身份标识符idji = 1,2, Λ,η),该任务由TC完成;(pki; Ski)其中Pki是Pi的公钥,Ski是Pi的私钥;NTRUSign ( ·)表示 NTRU 签名方案;NTRUVerf ( ·)表示 NTRU 验证方案;(SKi, VKi)其中SKi是Pi的签名密钥,VKi是Pi的验证密钥;m,每个成员贡献的密钥片段,由成员Pi随机产生;Η( ·):方案中使用的单向散列函数;KID 组密钥协商成功确认标识,在每次密钥协商前,由TC发布;包括以下步骤Α.可信机构TC中心为系统提供初始化参数;B.成员P提供自己的密钥片段m,对m进行变换,得到E ;C.成员P对E和P的身份标识id进行签名,得到S;D.成员 P 广播(S,E);E.成员P验证其他P的S,如果验证失败则需要重复步骤B,如果验证成功进行下一步F;F. P对E进行反变换,计算所有成员提供的m之和K ;
G. P 广播}i=// (K KID)H. P比较所有H是否相等,如果不相等重复步骤B,如果相等组密钥为GK = H(Kj), 密钥协商成功。参照图2,该方案组密钥协商协议流程(1)密钥片段准备阶段a.成员Pi(KiSn)随机选择一个数巧、Hii e Z [X] / (Xn-I),并计算Eij = r^pkj+nii (modq)(1)Sil = NTRUSign SKi (Eij || id,) (\<j< n, j Φ i)
?b.成员Pi向组内其他成员广播(Sij, Eij);(2)组密钥协商阶段c.成员Pj (1彡j彡η)计算NTRUVerfvki (Slj),如果没有通过验证,则要求重新提供 (Sij, Eij),如果通过验证,则执行步骤d ;d.成员Pi用计算
ηK] = YjSkj* EijCmodρ)(2)
i=U*jKj = K' j+m^j = 1,2, ...,n) (3)e.成员Pj销毁自己的Hij,保留K'」,计算并广播f.成员Pj比较所有的Hj (1 ^ j ^ η),如果发现不相等情况,则要求重新进行密钥协商,如果全部相等,则密钥协商完成,组密钥为GK = H(Kj)。参照图3,该方案成员加入组密钥流程假设有nl个新成SPiG =n+l,An+nl)加入网络之前,TC已经为Pi分配了 (pk" Ski)、(SKiVKi)、idi参数,并向组内广播Pi的Pki、idi和KID,组内规定由Pn为发起人,所述的步骤(1)需要更新密钥片段,成员Pn随机选择一个数!^、!^^ Z [X]/(Xn-I),并计算Enj = rn*pkj+(K' n+mn) (modq)(4)Snj = NTRUSign SK” (Enj || idn ),{\<j< n\, j Φ η)成员Pn向组内其他成员广播( , Enj)。成员Pi (n+1 彡 i 彡 n+nl)随机选择一个数 I^mi e Z [X] / (Xn-I),并计算 Eij Eij = r^pkj+nii (modq) (5)S” = NTRUSignSKj (Elj || id, ),(1<;< nl, j Φ i)所述的步骤⑵还包括步骤dl其具体为c.成员 Pj (1 彡 j 彡 n-1)计算NTRUVOSt)(η彡i彡n+nl),如通过验证,则计算 K1 二工SkjE U mod ρ, (j = 1,2,Λ ,/7-1) (6)
i=ndl.成员Pn计算^(n+i彡j彡n+nl)进行验证,如通过验证,则计算
1Kn =K^mn Yd SknEjn mod ρ (7)
d.成员 P>+1 ( j ( n+nl)计算NTRUVerfn^S,)(η彡i彡n+nl, i乒j),如通过验证,则计算
1K] = Yj SkjEij mod ρ(8)Kj = K' j+nij (9)e.成员Pj销毁自己的Hij,保留K'」,计算并广播Hj = HiKj)十 KID), (1< j<n + n\);f.成员Pj比较所有的Hj (1 ^ j ^ n+nl),如果全部相等,密钥协商完成,组密钥为GK = H(Kj)。参照图4,该方案成员离开组密钥更新协议流程假设组内有L个成员离开,剩余成员的集合为D,TC从成员身份标识符集中删除离开成员的idy并发出组密钥协商标识KID,在D内,规定最大编号idk的成员Pk为发起人, 其具体步骤为a.成员Pk随机选择一个数rk、mk e Z [X] / (XN_1),并计算Ekj = rk*pkj+(K' k+mk) (modq)(10)
权利要求
1.一种Ad hoc组密钥管理方案,本发明用到的主要符号 TC 系统离线可信任机构,负责产生组成员所需要的参数;q 大模数,通常是一个正整数,q值的大小与具体的实例相关; P 小模数,通常是一个小的正整数或者是一个具有小系数的多项式; r 眩值,用来表示在加密时作为临时眩值的多项式; P:协议中组成员的集合,当组中有η个成员时,P= (PijP2AjP3I ; id:协议中组成员的身份标识符集,当组中有η个成员时,id = Ud1, id2A, idn},,协议为每个成员Pi分配唯一身份标识符idji = 1,2, Λ,η),该任务由TC完成; (Pki, Ski);其中Pki是Pi的公钥,Ski是Pi的私钥; NTRUSign ( ·)表示NTRU签名方案; NTRUVerf ( ·)表示NTRU验证方案; (SKi, VKi)其中SKi是Pi的签名密钥,VKi是Pi的验证密钥; Hii 每个成员贡献的密钥片段,由成员Pi随机产生; Η( ·)方案中使用的单向散列函数;KID 组密钥协商成功确认标识,在每次密钥协商前,由TC发布;其特征在于,包括以下步骤Α.可信机构TC中心为系统提供初始化参数;B.成员P提供自己的密钥片段m,对m进行变换,得到E;C.成员P对E和P的身份标识id进行签名,得到S;D.成员P广播(S,E);E.成员P验证其他P的S,如果验证失败则需要重复步骤B,如果验证成功进行下一步F;F.P对E进行反变换,计算所有成员提供的m之和K ;G.P广播{K KlD)H.P比较所有H是否相等,如果不相等重复步骤B,如果相等组密钥为GK = H(Kj),密钥协商成功。
2.根据权利要求1所述的Adhoc组密钥管理方案,其特征在于,该方案组密钥协商协议流程(1)密钥片段准备阶段a.成员Pdl彡i彡η)随机选择一个数I^mie Z [X] / (Xn-I),并计算 Eij = r^pkj+nii (modq) (1)Sli = NTRUSignSKi (Elj || id) (1 < y < j * )5b.成员Pi向组内其他成员广播(S^Eij);(2)组密钥协商阶段c.成员P」(1彡j彡n)imNTRUVerfvki (Sij),如果没有通过验证,则要求重新提供(Su, Eij),如果通过验证,则执行步骤d ;d.成员Pi用计算
3.根据权利要求2所述的Adhoc组密钥管理方案,其特征在于,该方案成员加入组密钥流程假设有nl个新成= n+l,An+nl)加入网络之前,TC已经为Pi分配了(pki; Ski)、(SKiVKi)、Idi参数,并向组内广播Pi的Pki, Idi和KID,组内规定由Pn为发起人,所述的步骤(1)需要更新密钥片段,成员Pn随机选择一个数!^、!^^ Z [X]/(Xn-I),并计算 Enj = rn*pkj+(K' n+mn) (mod q)(4)
4.根据权利要求3所述的Adhoc组密钥管理方案,其特征在于,该方案成员离开组密钥更新协议流程假设组内有L个成员离开,剩余成员的集合为D,TC从成员身份标识符集中删除离开成员的idy并发出组密钥协商标识KID,在D内,规定最大编号idk的成员Pk为发起人,其具体步骤为a.成员Pk随机选择一个数rk、mke Z [Χ] / (Xn-I),并计算 Ekj = rk*pkj+(K' k+mk) (modq) (10)Skj = NTRUSignsh (Ekj || idk),(\<j<n,j^L).b.成员Pk向组内D其他所有成员广播(Skj,Ekj);c.其他成员Pje D计算ATAtZhry^(\),如通过验证,则计算 Kj = skj*Ekj mo dp(11)d.成员Pj 计算并广播巧=Η(Κ; θ KID),(l<j<n,j^L);f. D中成员比较其他成员广播的散列值,如果全部相等,则组密钥更新成功,组成员的密钥为GK = H(Kj),(1 彡 j 彡 n,j 乒 L)。
全文摘要
本发明公开了一种Ad hoc组密钥管理方法,所述的步骤主要包括密钥片段准备阶段和组密钥协商阶段,对成员加入以及成员离开的情况通过组密钥更新协议对组密钥进行管理的方法。该方法提出一种安全、高效的组密钥管理方法。本发明所述的协议具有安全性好,通信量少、计算速度快,占用资源少,适应能力强的特点,特别适合于资源受限的网络环境,为开发组密钥协商协议提出了一个新的研究方向。
文档编号H04W12/04GK102256248SQ20111018622
公开日2011年11月23日 申请日期2011年7月5日 优先权日2011年7月5日
发明者寇海洲, 李翔, 步山岳 申请人:淮阴工学院