一种弹性非对称群组密钥协商的方法

文档序号:10660588阅读:467来源:国知局
一种弹性非对称群组密钥协商的方法
【专利摘要】本发明公开一种弹性非对称群组密钥协商协议的方法,其步骤如下:参与群组密钥协商的成员进行参数初始化,产生各自的公/私密钥对;通过各自的公/私密钥对盲化各自的群组贡献密钥份额,广播群组密钥份额;剩余成员收到相应的广播密钥份额后,进行组合计算得到群组密钥;各组成员自证实所计算的群组密钥是否正确,若正确,通过群组密钥加密通信信息,进行群组安全信息交换。本发明群组外部或者群组成员可选择群组内部任意子集对象进行秘密信息交换,信息发送者非选择的对象无法解密分享信息;群组成员能协商出一致的加密密钥和解密密钥,群组成员自己可证实密钥的正确性;参与群组密钥协商的成员可实现匿名性,有利于保护群组成员的个人隐私信息。
【专利说明】
一种弹性非对称群组密钥协商的方法
技术领域
[0001] 本发明属于信息安全及密码学的技术领域,涉及群组成员之间秘密信息交换及传 输的关键技术:群组密钥协商方法,特别涉及一种在多层次、立体性信息环境下的群组间信 息交换及安全传输的弹性非对称群组密钥协商的方法。
【背景技术】
[0002] 群组密钥协商是群组成员为保障通信安全而共同计算群组之间通信所需的群组 加密及解密密钥,是保障分布在不同区域的群组成员通过公开网络进行安全的协同计算、 资源共享、信息交换等关键技术之一。随着信息化技术的高速发展,信息服务的网络环境越 来越复杂,网络安全的安全度要求越来越高,如不同等级安全的多层化网络、不同保密程度 的通信信息及立体化多层次信息交换环境等,传统的密钥协商已不能满足高速发展的信息 技术服务要求。
[0003] 目前面向多层次、立体化、全方位的弹性信息交换的群组密钥协商的研究尚未出 现。一系列的挑战性问题有待解决,包括群组动态密钥因子的组合计算、群组动态加密及解 密密钥的计算、选择性信息交换技术等方面的工作尚无先例。

【发明内容】

[0004] 本发明的目的针对大型分布式网络及多分级安全管理的应用环境,提供一种弹性 非对称群组密钥协商的方法,群组成员之间根据不同安全等级及保密程度选择自己需要的 部分成员及任意子集成员进行立体化信息安全交换、文件安全共享及安全传输的应用,为 终端群组成员之间建立一种安全秘密通信信道,保障群组之间的安全秘密通信。
[0005] 为了达到上述问题,本发明的技术方案是:一种弹性非对称群组密钥协商协议的 方法,①弹性:参与群组密钥协商的成员可以选择群组中任意不同子集进行安全信息交换, 而被选择的对象则不能解密子集群组的共享秘密信息;②消息发送者不受约束性:给群组 内部发送秘密信息的成员不限制于群组内部成员;③自证实性:群组成员计算出群组密钥 后,不需通过广播对比其它成员计算的结果来验证密钥的一致性,通过自身计算可证实密 钥计算的正确性,所述弹性非对称群组密钥协商协议的步骤为:
[0006] A)参与群组密钥协商的群组成员Ui(l<i彡η)与本域密钥管理认证中心KGCi之间 相互匿名认证;其中,η为参加弹性信息交换的密钥协商的成员个数;
[0007] Β)参与群组密钥协商的群组成员Ul(l<i<n)随机选取自己对群组密钥的贡献密 钥参数,并向群组其他成员广播相关参数及其贡献密钥份额;
[0008] C)群组密钥协商的其他群组成员Uj(l<j辛i<n)收到群组成员m的广播信息后, 依据其广播信息建立密钥环;
[0009] D)群密钥协商的发起成员m随机选取整数,在其密钥环存储表中选择其所 需要信息共享的任意子集中的成员对象uk(l彡k乒1彡n),用自己私钥进 行组合计算子集群组的群密钥因子,并广播这些群密钥因子信息;其中,表示子集成员 集合,z;为整数集;
[0010] E)参与群组密钥协商的子集成员g; = K|(im吨,收到广播后各自计算出弹性 信息交换的群组密钥;
[0011] F)子集群组的成员对象uk(l<k辛1<η)计算出群组密钥后,可自证实所计算的群 组密钥是否一致。
[0012] 所述匿名认证的方法是:
[0013] 1)假设参与群组密钥协商的群组成员Ul(l彡i彡η)为域 Dl中的任意成员,群组成员 Ui用自己的身份idi编码后计算:哈希结果ai = Hi(idi)和八=.丫「g丨;其中,idi为群组成员Ui 的身份信息,·)为哈希函数,gl为加法群6:的生成元,( Xl,yi)表示群组成员m的公/私密 钥对,γ i表示含有群组成员m私钥的中间变量;
[0014] 2)群组成员m发送消息{yi,idi,γ i}给密钥管理认证中心KGCi,密钥管理认证中心 KGCi计算哈希结果ai = Hi(idi),并验证e( γ i,yi) = 是否相等,如果等式不成立, 则拒绝群组成员m加入本系统,否则保留群组成员m身份ick,计算% ,并发送消息 {ru,yo}给群组成员m;其中,(XQ,yQ)表示群组成员m所在域密钥管理认证中心KGG的公/私 秘钥对,Hi表示域密钥管理认证中心私钥的中间变量;
[0015] 3)群组成员叫收到密钥管理认证中心队匕的信息后,计算,并验证等式 e(與,J。),如果等式成立则群组成员m完成签名认证与注册信息;否则,通知密钥 管理认证中心KGC^证失败,并重新注册;其中,e( ·)为双线性映射属表示含有群组成员 m私钥平方的中间变量;
[0016] 建立密钥环的方法是:
[0017] A)假设群组成员Ul(l<i彡η)为域Di中的任意成员,群组成员m用自己的身份icU 编码后计算哈希结果ai = Hi(idi)及中间变量;κ, gi;
[0018] B)每个参与群组密钥协商的群组成员Ul随机选取表示计算中间变量 Κι^ α^φ? ,Mi,j=miyj( j = l, j = 2,--,i_l,i+1,· · ·,n)和Ti= (Ri+nugi);其中,yj表示群组 成员Uj (K j )的公钥;
[0019] C)群组成员m广播消息(Mi;1,· · ·Μμ-inullMi.i+i · · ·,Mi,n,(Ri,Ti,idi));
[0020] D)信息验证:其他群组成员W收到群组成员m广播的消息(MnuM^+null, Mi,i+i,…,Mi,n,(Ri,Ti,idi)),并计算表示「,. =川,.g丨,.验证等式e(Ti,y〇)=e( Γ i,y〇) Xe(yi,gl)是否成立,如果成立,则证明群组成员m广播的消息是真实的、正确的;
[0021] E)其他群组成员根据群组成员m广播的信息,用自己的密钥份额叫计算表示Γ J =m似,并用自己的私钥幻计算出1^=41遍;/=/?潘(1以以#3'根据收到的信息建立一 个密钥环,所有群组成员m的密钥环组成密钥环存储表为:
[0023] 所述计算弹性信息交换的群组密钥的方法是:
[0024] A)密钥协商发起者选择任意对象成员进行群组密钥计算,假设域中参加密钥协商 的成员个数最多为η个,所有成员的实体集合表示为U = 对应群组成员的身份集 合表示为ID = ;群组密钥协商的发起成员m随机选取i, eg,在其本地或者服务器 中存储的密钥环存储表中选择任意子集,K 1(1 u ?:)丨中的成员对象Uk(1彡k乒1彡η),
elJ 计算中间变量xk = ti X Γ 加密密钥6^=%而而)和群组解密
;群组成员m广播消息((Xl, idl),(X2,id2),...,(Xi-l,idi-l),nill l,(Xi+l,idi+l),···,( Xk,i dk ),Gy,Gcheck );
[0025] B)所有剩余成员Uj(l$j辛l<k)收到群组成员m广播的消息后,查找密钥环存储 表中对应的身份信息idi,通过配对e(Ti,yo) = e(yi,gi) Xe( Γ uq)是否成立,验证密钥协 商发起者的身份,如果认证通过,则uXKj辛l<k)根据广播中的身份,找出对应成员信 息,计算群组加密密钥群组加密密钥6_ 1=(61?,6^60,并用自己的密钥份额叫计算中间变
.,得到群组解密密钥
;其中,h表示T1 = (Ri+migi),即权利要求3 · Β)节中Ti = (Ri+migi),当i = 1时的表达式值,y 1表示ui的公钥。
[0026] 所述消息发送者不受约束性的方法是:群组加密密钥Genc;r是公开的,不论是群组 成员还是群组外部成员均可向群组发送群组加密密钥加密过的秘密信息,群组成员均可通 过群组解密密钥Gd^获得对应的明文信息,过程如下:
[0027] A)加密:对任意明文";e.,VT,>T为明文空间,群组内外知道群组公钥的任意群组 成员 Ul(l^a<n)向群组发送群组公钥加密的秘密信息,密文生成步骤如下:
[0028] ①群组成员Ui(Ki<n)选择一个随机数4十算 = Tigi,其中,H2( ·)表示映射的哈希函数;
[0029] ②输出密文 C=<E/,F:,r>;
[0030] B)解密:其他群组成员Uj( 1彡j辛i彡k)收到密文C 可用其计算出的 群组解密密钥
能解密出明文信息:爪=厂十。
[0031 ] 所述群组密钥的自证性的方法是:群组成员计算出群组密钥后,不需通过广播对 比其它成员计算的结果来验证密钥的一致性,通过自身计算可证实密钥计算的正确性,过 程如下:
[0032] 群组密钥协商成员不需要发送新一轮信息来验证所计算群组密钥的正确性,当所 有成员通过计算或者接收到子集的群组加密密钥匕_=(6 1?,6^60及子集的群组解密密钥
,通过验证配对等式
是否成立,可判断 群组密钥计算是否正确。
[0033] 与现有技术相比,本发明具有如下优点:
[0034] ①弹性信息交换性:群组外部或者群组成员可以选择群组内部任意子集对象进行 秘密信息交换,信息发送者非选择的对象则无法解密所选对象的分享信息。
[0035] ②群组密钥自证实性:群组成员能协商出一致的群组加密密钥和群组解密密钥, 不需要额外广播信息证实群组密钥的正确性,群组成员自己即可证实密钥的正确性。
[0036] ③隐藏身份:参与群组密钥协商的成员可实现匿名性,有利于保护群组成员的个 人隐私信息。
【附图说明】
[0037] 图1为实施例一的弹性信息交换的非对称群组密钥协商流程。
[0038] 图2为实施例一的弹性信息交换的非对称群组密钥协商协议示意图。
【具体实施方式】
[0039]下面结合附图,具体说明本发明的实施方式。
[0040] 本发明针对高度安全立体化安全管理的网络环境设计一种弹性信息交换的群组 密钥协商方法,以密码学为理论基础,结合新型算法和研究技术实现群组成员之间可选择/ 可排除任意子集进行信息交换和传输的密钥协商方案。采用基于无证书的密钥管理技术, 设计双向盲密钥技术,提出短签名算法,利用双线性映射技术实现群组成员之间的身份认 证。群组成员计算各自的密钥因子,并广播给其它成员。各成员收到其它成员发送的密钥因 子后,将这些密钥因子组合计算出群组加密密钥和群组解密密钥,然后群组成员通过自证 实密钥计算的方法验证各自计算的群组密钥的真实性。当群组中成员想发送秘密信息给全 部群组或者群组中局部成员,则其有选择的将信息通过计算的动态群组密钥进行加密,并 广播出去。接收到该密文信息的成员可通过计算动态解密密钥进行密文解密,以获取明文 信息。
[0041] 1.本发明相关的符号
[0042] 本发明所涉及到的相关符号表示说明见表1:
[0043]表1本发明相关的关键符号
[0046] 2.本发明所涉及的理论基础知识和相关定义
[0047]定义1、双线性映射:设6:是循环加法群,G2是循环乘法群,且计算GjPG2l的离散 对数问题是困难的。群&和62是一对双线性群,具有相同的大素数阶(^设&二化^^:为循环 加法群Gi的生成元。e: Gi X Gi-G2,是Gi到G2的可计算的双线性映射,其满足如下性质:
[0048] (1)双线性:
[0049] e(ti+t2,v) = e(ti,v)e(t2,v);
[0050] e(v,ti+t2) = e(v,ti)e(v,t2);
[0051] e(ag,bg)=e(g,g)ab。
[0052] 其中,8^山山郎1,《,細<,那&,13是属于含有任意长度、元素个数为(1的整数集 Z:。
[0053] (2)非退化性:如果81是循环加法群6!的生成元,则e(gl, gl)辛1。
[0054] (3)可计算性:存在有效的算法,对于生成元giGGigseGi可计算e(gl,g 2)。
[0055] 定义2:双线性离散对数问题(Bilinear Discrete Logarithm problem,BDLP):给 定一等式Y = aP,其中Y,P e Gi,a〈q,已知a和P计算Y容易,但是已知P和Y计算a是困难的。
[0056] 定义3、双线性Diffe-Hellman逆问题(Bilinear Inverse Diffe-Hellman Problem,BIDHP):给定元素 gi,agi,cgieGi:

[0057] 定义4、改进的双线性Diffe-Hellman逆问题(Modified Bilinear Inverse Diffe-Hellman Problem,mBIDHP):给定元素 gi,agi,bgi,cgieGi求解 中 a,Z?,ceZ二。
[0058] 定义5、群组密钥协商正确性:一个群组密钥协商协议是正确的,如果有:①对于参 与群组密钥协商的任意成员m(l<i<n),n为域中参加密钥协商的成员个数。在参与群组 密钥计算之前都通过其它成员的身份验证;②对进行群组密钥协商中的任意成员m,m用其 自身的私钥信息计算出群组加密密钥G encr,用群组加密密钥Gencr加密明文消息空间中的 任意明文消息m,生成相应的密文消息C = G_.(m)。将该密文消息C广播出去,参与群组密 钥协商的其它成员收到广播后,能够用其自身私钥信息计算出群组解密密钥Gd^,并可用 群组解密密钥Gdm解密,获取相应的明文信息m,即G deCT(G_r(m)) =m。
[0059] 定义6、弹性信息交换:一个群组密钥协商协议是弹性信息交换的,如果有:该密钥 协商成功结束,且有群组成员m选择的信息交换对象为,则群组成员m用计算出 来的群组密钥加密消息€=句_(?),并广播该密文消息C,群组里所有收到该密文消息的 成员里,只有Uj,(i辛j)能解密该密文消息C,并获取对应的明文消息m,任何非群组成员m 选择的信息交换对象u k,(k#j)都不能解密该消息C以获取明文信息m。
[0060] 实施例一
[0061] 复杂网络环境下群组通信成员往往分布在不同的安全域及不同的访问权限。群组 信息交换过程中不同信息的保密程度不同,往往只需特定的群组成员来进行分享。一种弹 性非对称群组密钥协商协议的方法,如图1所示,其步骤如下:①参与群组密钥协商的成员 首先进行参数初始化,然后分别产生各自的公/私密钥对;②通过各自的公/私密钥对盲化 各自的群组贡献密钥份额,并广播这些群组密钥份额;③剩余成员收到相应的广播密钥份 额后,对这些密钥份额进行组合计算得到群组密钥;④各组成员自证实所计算的群组密钥 是否正确;⑤如果群组密钥计算正确,即可通过群组密钥加密通信信息,进行群组安全信息 交换。本实施例中弹性信息交换的非对称群组密钥协商协议示意图,如图2所示。
[0062] 3.弹性信息交换的群组密钥协商协议
[0063] (1)初始化协议参数
[0064] SGfW〉是加法群,gdGi的生成元,G2为乘法群,G^G2具有相同阶为大素数q 的循环群,且求解GjPG2l的离散对数问题是困难的。e是可计算的双线性映射,eAXGi- G2。设参加弹性信息交换的密钥协商的成员个数为η,则成员的实体集合表示为 U = ,对应实体成员身份的集合表示为ID =丨。每个参与密钥协商 的群组成员m拥有的长期公/私密钥对为(Xl,yi),其中,巧€1)/,欠=^名丨。设群组成员 111所在 管理域密钥管理认证中心KGQ的公/私秘钥对为(xqjq),其中,*。。^,出:{0, ?μ-Gi为两个散列函数。
[0065] (2)双向签名认证与身份注册技术
[0066]本发明涉及的弹性信息交换的群组密钥协商是一种可认证的群组密钥协商,参与 群组密钥协商的成员在计算群组密钥协商之前,需进行身份验证,只有合法的成员方可参 与群组密钥协商。①弹性:参与群组密钥协商的成员可以选择群组中任意不同子集进行安 全信息交换,而被选择的对象则不能解密子集群组的共享秘密信息;②消息发送者不受约 束性:给群组内部发送秘密信息的成员不限制于群组内部成员;③自证实性:群组成员计算 出群组密钥后,不需通过广播对比其它成员计算的结果来验证密钥的一致性,通过自身计 算即可证实密钥计算的正确性。
[0067]传统的可认证的群组密钥协商多采用基于身份认证的群组密钥协商或基于证书 的群组密钥协商,基于证书认证的群组密钥协商涉及到证书的管理复杂及安全性问题,基 于身份认证的群组密钥协商涉及到密钥托管问题,密钥托管具有固有的安全缺陷。本发明 采用匿名签名算法实现无证书可认证的群组密钥协商,参与群组密钥协商成员与本域认证 中心之间相互匿名认证的具体实施步骤如下:
[0068] 3)假设参与群组密钥协商的群组成员m(l<i彡η)为域Di中的任意成员,群组成员 Ui用自己的身份idi编码后计算:哈希结果ai = Hi(idi)和中间变量gn。
[0069] 4)群组成员m发送消息{yi,idi,γ i}给密钥管理认证中心KGCi,密钥管理认证中心 KGCi计算中间变量Pi = Hi(idi),并验证e( γ i,yi) = e(Pigi,gi)是否相等,如果等式不成立, 则拒绝群组成员m加入本系统,否则保留群组成员m身份icU,计算中间变量并发 送消息{m, y〇}给群组成员m。
[0070] 3)群组成员m收到密钥管理认证中心KGCi的信息后,计算中间变量只并验 证等式,九如果等式成立则群组成员 Ul完成签名认证与注册信息;否则, 通知密钥管理认证中心狀匕验证失败,并重新注册。
[0071] (3)群组密钥因子计算与分发
[0072] 参与群组密钥协商的群组成员随机选取自己对群组密钥的贡献密钥参数,并向群 组其他成员广播相关参数及其贡献密钥份额。在这一过程,参与群组密钥协商的每个成员, 通过计算自己群组密钥因子,并分发出去。其它成员收到来自各成员的群组密钥因子后,将 这些密钥因子进行组合计算出群组密钥。
[0073] 1)每个参与群组密钥协商的群组成员m随机选取密钥份额》分别计算中间 变量/?,. =a,. V,. .、Mi,j=nuyj( j = l,j = 2,--,i_l,i+1,· · ·,n)、Ti = (Ri+nugi);
[0074] 2)群组成SUl(l<i<n)广播含有相关参数及其贡献密钥份额的消息(M 1;1, ...Mi, i-1,Hill 1,Mi,i+1,. . .,Mi,n,(Ri,Ti,idi));
[0075] 每个参与密钥协商的其他成员w可得到如表3中的信息。
[0076] 表3密钥因子分发
[0078] 3)信息验证,其他群组成员Uj,1 辛i彡η收到群组成员Ui的广播消息(Mi, 1, ? ??1以-1,皿11具4+1,-具4,(心,146)),并计算「;.=.''/1/^,.. /=出,.1§1,.验证等式6(1\,7〇) =e( Γ i,y〇) Xe(yi,gi)是否成立,如果成立,则证明消息是真实的、正确的。其中,Γ i表示一 个表达式计算结果的中间变量参数。
[0079] (4)密钥环的建立
[0080]任意群组成员叫根据表3中的信息,用自己的密钥份额叫计算Γ ,并用自己 的私钥计算出「, = -v/M, , = "z,.g|(卜:Ξ / id # ./),根据收到的信息建立一个密钥环如表4所 不。
[0081 ] 表4密钥环存储表
[0083] (5)弹性信息交换的群组密钥的计算
[0084] 任意群组成员Ui可在群组集合_=沐丨(〗? < ra)}里选择任意子集& = |(1 S ?.):}里 面的成员进行安全信息交换,群整体成员及部分子集群组加密/解密密钥计算如下:
[0085] ①群密钥协商的发起成员m随机选取整数( ,在其本地或者服务器中存储的 密钥环存储表中选择任意子集§ : =_批|〇 集合的成员对象Uk(Kk辛Kn),并计算
中间变量Xk = tiX rk(Kk乒Κη) 群组加密密钥G_r=(GR,GT,Gy)
。群组成员叫广播消息 ((Xl,idl),( 乂2,id2),...,(Xi-l,idi - l),I1U11,(Xi + l,idi + l),···,( Xk,i dk ),Gy,Gcheck )。其中, rk表示函数「, =Α·, ?., ="%(丨<./",./>0,当i=k时Γ i的计算值;Xi表示函数Xk = ti X rk,当i = k时表达式的值,其表示为Xi = tiX ri(KiSk)。
[0086] ②群中所有剩余成员Uj(l<j辛l<k)收到群组广播后,查找密钥环存储表中对应 的身份信息1(11,通过配对6(1'1,7〇)=6(71,81)\6(]" 1,7())是否成立,验证密钥协商发起者 的身份,如果认证通过,则群组成员W(1彡j辛1彡k)根据广播中的身份,找出对应成员信 息,计算群组加密密钥群组加密密钥匕_=(61?,6^60,群组成员1^用自己的密钥份额叫计
[0087] (6)群组密钥自证实性
[0088]群组密钥协商成员不需要发送新一轮信息来验证所计算群组密钥的正确性,当所 有成员通过计算或者接收到子集群组加密密钥6(31^=(61?,6^60及子集群组解密密钥
是否成立,即可判 断群组密钥计算是否正确。
[0089] 4.群组秘密通信
[0090] 由于群组密钥协商是非对称群组密钥,即参与群组密钥协商的成员协商出一对群 组公/私密钥对(Genc^Gdm)。群组加密密钥G_ r是公开的,不论是群组成员还是群组外部成 员均可向群组发送群组加密密钥加密过的秘密信息。群组成员均可通过群组解密密钥Gdecr 获得对应的明文信息。具体过程为
[0091] 1)加密:对任意明文Λ<(>Γ为明文空间),群组内外知道群组公钥的任意群 组成员m(l<i<n)可以向群组发送群组公钥加密的秘密信息。密文生成步骤如下:
[0092] ①m( Ki彡η)选择一个随机数巧计算U = lGr/F二所通凡與每通)/):,W =Tigl〇
[0093] ②输出密文 C=<t/,F,:r>。
[0094] 2)解密:对于群组成员Uj(l彡j乒i彡k)收到密文,可用其计算出的
能解密出明文信息:衍Φ 0_,/}) X或',伊))9
[0095] 实施例二
[0096]为了说明本发明的内容及实施方法,给出了一个具体实施例。本实施方式中,为方 便实例阐述,假设参与群组密钥协商成员分布在1个域,域名为Di,域中参加密钥协商的成 员个数最多为η个,成员的实体集合表示为U = hP?2,对应实体成员身份的集合表 示为在本实施例中引入细节的目的不是限制权利要求书的范围,而是 帮助理解本发明的方法。本领域的技术人员应理解:在不脱离本发明及其所附权利要求的 精神和范围内,对最佳实施例步骤的各种修改、变化或替换都是可能的。因此,本发明不应 局限于最佳实施例及附图所公开的内容。
[0097] (1)初始化
[0098]设6!是加法群,62是乘法群,且的离散对数的计算是困难的。设GfW〉, gAGi的生成元。GjPG2具有相同阶为大素数q的循环群,e是可计算的双线性映射,且eAX G"G2。域Di的密钥管理认证中心队&随机选取作为私/公密钥对,任意成员 m (1彡i彡η)的公/私密钥对为(xi,yi),Hi,H2: {0,1} *-Gi为两个散列函数。
[0099] (2)终端注册方案
[0100] 1)假设群组成员m(l<i彡η)为域Di中的任意成员,群组成员m用自己的身份icU 编码后计算ai = Hi(idi)及;K,: y,.' g,。
[0101] 2)群组成员m发送消息{yi,idi,yi}给密钥管理认证中心KG&,密钥管理认证中心 KGCi计算Pi = Hi(idi),并验证式子e( γ i,yi)=e(Pigi,gi)是否相等,如果等式不成立,则拒 绝群组成员m加入本系统,否则保留群组成员m身份icU,并计算= X,,、,并发送消息hi, y〇}给群组成员m。
[0102] 3)群组成员m收到密钥管理认证中心队匕的信息后,计算奶,并验证等式 Km,如果等式成立则密钥管理认证中心m完成签名认证与注册信息。否则, 通知密钥管理认证中心狀匕验证失败,并重新注册。
[0103] (3)密钥协商
[0104] 这一阶段,参加群组密钥协商的成员将计算出群组之间进行秘密通信时所需要的 加密和解密密钥。密钥协商如下:
[0105] 1)每个参与群组密钥协商的群组成员iu(l彡i彡η)随机选取叫eZ;,计算 R, = a, V, -Mi, j =miyj(j = 1, j = 2,--,i-1, i+1,. . . ,n) ,Ti = (Ri+migi);
[0106] 2)群组成员m(l彡i彡n)广播消息(Mi;1,…Mi,i-uull.Mi.i+i,· · ·,Mi,n,(Ri,Ti, idi));
[0107] 每个参与密钥协商的其他成员叫可得到如表5中的信息。
[0108] 表5密钥因子分发
[0110] 3)信息验证,群组成员W收到群组成员IU广播的消息(Μ1;1,. . .Μικ,ηια?, Mi,i+i,…,Mi,n,(Ri,Ti,idi)),并计算「,. =, =/",g丨,验证等式e(Ti,y〇) = e( Γ i,y〇) Xe (yi,gl)是否成立,如果成立,则证明消息是真实的、正确的。
[0111] (4)密钥环的建立
[0112]群组任意成员根据表5中的信息,用自己的密钥份额叫计算r^ = m似,并用自己 的私钥xj计算出Μ.,,以(丨'根据收到的信息建立一个密钥环如表6所 示:
[0113] 如表6密钥环存储表
[0115] (5)弹性信息交换的群组密钥计算
[0116] 设密钥协商发起者为IU,其可在群组集合U = 里选择任意子集 ^=??2:,Μ6,Μ8,?12,%}里面的成员进行安全信息交换,部分子集群组加密/解密密钥计算如 下:
[0117] ①群密钥协商发起成员^随机选取A eZ;,在其密钥环存储表中选择任意子集 §1)=丨"2,?6," 8,^,叫6}集合的成员对象,并计算>:1< = 1:1\「1{,(1^ = 2,6,8,12,16),

及群组加密密钥6_:=%而而),群组解密密钥 群密钥协商 〇: 发起成员U1 广播消息((X2,id2),(X6, id6),(X8, ids),(Xi2,idi2),(Xi6, idi6),Gy,Gcheck) 〇
[0118] ②群中所有剩余成员StT = {?=,~%%,%}收到群组广播后,查找密钥环表中对 应的身份信息idi,通过配对e(Ti,y〇) = e(yi,gi) Xe( Γ uo)是否成立,验证密钥协商发起 者的身份,如果认证通过,则W(j = 2,6,8,12,16)根据广播中的身份,找出对应成员信息, 计算群组加密密钥群组加密密钥匕1^=%而而),并用自己的密钥份额叫计算力=/?.,. 1/;
[0119] (6)群组密钥自证实性
[0120] 群组密钥协商成员不需要发送新一轮信息来验证所计算群组密钥的正确性,当所 有成员通过计算或者接收到子集群组加密密钥6(31^=(6 1?,6^60及子集群组解密密钥
是否 成立,即可判断群组密钥计算是否正确。
[0121] 4.群组秘密通信
[0122] 1)加密:对任意明文( 为明文空间),群组内外知道群组公钥的任意成 员1^,(」=2,6,8,12,16)可以向群组发送群组公钥加密的秘密信息。密文生成步骤如下:
[0123] ①假设成员u2要向该子群组分享秘密信息,则1!2选择一个随机数计算U = T2Gr,'Γ = w 十 if: (e(Gr,幻广),w= τ2δ1。
[0124] ②输出密文 C=<[/,F,F>d
[0125] 2)解密:对于群组成员11心=1,6,8,12,16)收到密文€=<^7,,>,可用其计算
,.并能解密出明文信息,= (咐/〇私/,))。
[0126] 本发明以公钥密码体制为理论基础,以Diffe-Hellman逆问题为安全假设前提,提 出一种双向盲签名算法,采用双线映射技术实现群组成员之间的身份认证,群组每个成员 通过计算密钥因子,分发密钥因子,组合密钥因子等方法,计算出群组的动态加密/解密密 钥;然后,通过群组的动态加密/解密密钥实现群组成员之间可任意选择不同的子集进行秘 密通信。本发明属于无证书非对称群组密钥协商的范畴,因此除了具有无证书方案的安全 性,还具有非对称密钥协商的灵活性,还具有涉及到的空间立体信息安全交换的特有性质。
[0127] 以上所述,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范 围为准。
【主权项】
1. 一种弹性非对称群组密钥协商协议的方法,其特征在于:①弹性:参与群组密钥协商 的成员可以选择群组中任意不同子集进行安全信息交换,而被选择的对象则不能解密子集 群组的共享秘密信息;②消息发送者不受约束性:给群组内部发送秘密信息的成员不限制 于群组内部成员;③自证实性:群组成员计算出群组密钥后,不需通过广播对比其它成员计 算的结果来验证密钥的一致性,通过自身计算可证实密钥计算的正确性,所述弹性非对称 群组密钥协商协议的步骤为: A)参与群组密钥协商的群组成员Ui(l<i彡η)与本域密钥管理认证中心KGCi之间相互 匿名认证;其中,η为参加弹性信息交换的密钥协商的成员个数; Β)参与群组密钥协商的群组成员U1(KiSn)随机选取自己对群组密钥的贡献密钥参 数,并向群组其他成员广播相关参数及其贡献密钥份额; C) 群组密钥协商的其他群组成员Uj(l<j辛i<n)收到群组成员U1的广播信息后,依据 其广播信息建立密钥环; D) 群密钥协商的发起成员U1随机选取整数,在其密钥环存储表中选择其所需要 信息共享的任意子集巧= 沖的成员对象uk(l<k乒Kn),用自己私钥进行组 合计算子集群组的群密钥因子,并广播这些群密钥因子信息;其中,巧表示子集成员集合, 为整数集; E) 参与群组密钥协商的子集成员心〇丨,收到广播后各自计算出弹性信息 交换的群组密钥; F) 子集群组的成员对象Uk(l<k#l<n)计算出群组密钥后,可自证实所计算的群组密 钥是否一致。2. 根据权利要求1所述的弹性非对称群组密钥协商协议的方法,其特征在于,所述匿名 认证的方法是: 1) 假设参与群组密钥协商的群组成员U1(KiSn)为域D1中的任意成员,群组成员m用 自己的身份idi编码后计算:哈希结果ai = Hi(idi)和;/, =λ·, 1OT, 其中,idi为群组成员Ui的 身份信息,HK ·)为哈希函数,gl为加法群&的生成元,(Xl,yi)表示群组成员U 1的公/私密钥 对,γ i表示含有群组成员m私钥的中间变量; 2) 群组成员Ui发送消息{yi,idi,yi}给密钥管理认证中心KGCi,密钥管理认证中心KGCi 计算哈希结果ai = Hi(idi),并验证e( γ i,yi) = O(CJigLg1)是否相等,如果等式不成立,则拒 绝群组成员m加入本系统,否则保留群组成员Ui身份idi,计算= ,.并发送消息{ru,yo} 给群组成员m;其中,(XQ,y〇)表示群组成员m所在域密钥管理认证中心KGC1的公/私秘钥对, 表示域密钥管理认证中心私钥的中间变量; 3) 群组成员U1收到密钥管理认证中心KGCj^信息后,计算,并验证等式 V。)= K?及,J,.),如果等式成立则群组成员Ul完成签名认证与注册信息;否则,通知密钥 管理认证中心KGC^证失败,并重新注册;其中,e( ·)为双线性映射,约表示含有群组成员 Ui私钥平方的中间变量。3. 根据权利要求1所述的弹性非对称群组密钥协商协议的方法,其特征在于,建立密钥 环的方法是: A)假设群组成员U1(KiSn)为域D1中的任意成员,群组成员m用自己的身份ick编码后 计算哈希结果ai = Hi(idi)及中间变量& =?1? g.1;. B )每个参与群组密钥协商的群组成员U1随机选取表示计算中间变量 Ri = α 'φν ^Mij =Imyj(j = I, j = 2,--,i_l,i+1,· · ·,η)和Ti= (Ri+nugi);其中,y」表示群组 成员Uj (K j Sn)的公钥; C) 群组成员 m 广播消息(Mi;1,...Mi4-!,μιΙΙ,Μμ+!,· · ·,Mi,n,(Ri,Ti,idi)); D) 信息验证:其他群组成员Uj收到群组成员Ui广播的消息(Mi,i,. . .Mi,i-i,null, 1以+1,...具,11,(1^,1\4(^)),并计算表示1^.= 171财^=爲§丨,验证等式6(1\,7())=6(]^,7〇) Xe( yi,gl)是否成立,如果成立,则证明群组成员m广播的消息是真实的、正确的; E) 其他群组成员Uj根据群组成员U1广播的信息,用自己的密钥份额叫计算表示Γ j = mjgl,并用自己的私钥Xj计算出「, = / ?? /?,/V /),根据收到的信息建立一个 密钥环,所有群组成员m的密钥环组成密钥环存储表为:4.根据权利要求1所述的弹性非对称群组密钥协商协议的方法,其特征在于,所述计算 弹性信息交换的群组密钥的方法是: A) 密钥协商发起者选择任意对象成员进行群组密钥计算,假设域中参加密钥协商的成 员个数最多为η个,所有成员的实体集合表示为U = ^pW2,.对应群组成员的身份集 合表示为= …山群组密钥协商的发起成员山随机选取0:?,在其本地或者 服务器中存储的密钥环存储表中选择任意子集^ =批|(1<6</〇丨_中的成员对象1115(1彡1^ 辛Kn),Se e D ;计算中间变f、群 组加密密钥Gencr=(GR,GT,Gy)和群组解密密钥;群组成员叫广播消息 ((xi,idi),(X2,id2),· · ·,(Xi-i,idi-i),null,(Xi+i,idi+i),· · ·,(Xk,idk),Gy,Gcheck); B) 所有剩余成员uJlSj辛Kk)收到群组成员U1广播的消息后,查找密钥环存储表中 对应的身份信息idi,通过配对e(Ti,y〇) =e(yi,gi) Xe( Γ uo)是否成立,验证密钥协商发 起者的身份,如果认证通过,则UjKj辛Kk)根据广播中的身份,找出对应成员信息,计 算群组加密密钥群组加密密钥G encr= (GR,GT,Gy),并用自己的密钥份额叫计算中间变量,得到群组解密密钥其中,T1表示T1 = (Ri+migi),即权利要求3 · B)节中Ti = (Ri+migi),当i = 1时的表达式值,y 1表示Ui的公钥。5. 根据权利要求4所述的弹性非对称群组密钥协商协议的方法,其特征在于,所述消息 发送者不受约束性的方法是:群组加密密钥G encr是公开的,不论是群组成员还是群组外部 成员均可向群组发送群组加密密钥加密过的秘密信息,群组成员均可通过群组解密密钥 G de^获得对应的明文信息,过程如下: A) 加密:对任意明文..Vf为明文空间,群组内外知道群组公钥的任意群组成员 U1(KiSn)向群组发送群组公钥加密的秘密信息,密文生成步骤如下: ① 群组成员Ui(l彡i<n)选择一个随机数Γ?_eZ),,计算U=τiGR,F = m十i/2(e(G!r,g丨广), W=Tigi,其中,Η2( ·)表示£^忑),映射的哈希函数; ② 输出密文c=<u,F,ir>; B) 解密:其他群组成员w(l彡j辛i彡k)收到密文€=<£/,F,>,可用其计算出的群组 解密密4能解密出明文信肩6. 根据权利要求1所述的弹性非对称群组密钥协商协议的方法,其特征在于,所述群 组密钥的自证性的方法是:群组成员计算出群组密钥后,不需通过广播对比其它成员计算 的结果来验证密钥的一致性,通过自身计算可证实密钥计算的正确性,过程如下: 群组密钥协商成员不需要发送新一轮信息来验证所计算群组密钥的正确性,当所有成 员通过计算或者接收到子集的群组加密密钥Gencr= (GR,GT,Gy)及子集的群组解密密钥,通过验证配对等.是否成立,可判断 群组密钥计算是否正确。
【文档编号】H04L9/08GK106027241SQ201610536303
【公开日】2016年10月12日
【申请日】2016年7月8日
【发明人】张启坤, 黄艳, 袁俊岭, 王锐芳, 王丽娜
【申请人】郑州轻工业学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1