基于身份的认证群组密钥管理方法技术

技术编号:3542129 阅读:319 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于身份的认证群组密钥管理方法。其步骤是:利用椭圆曲线上双线性映射将身份标识嵌入密钥中;密钥生成中心根据自己的秘密钥和组成员u↓[i]的身份标识生成u↓[i]主密钥的一部分C↓[i],通过公开信道发送该C↓[i]给u↓[i];每个组成员u↓[i]根据该C↓[i]和自己秘密钥生成主密钥;每个组成员根据主密钥和公开钥Hash值计算公开钥验证信息,将公开钥与该验证信息链接在群组内广播;每个组成员验证所收到消息是真实时计算其与左右邻居共享的秘密值,根据该秘密值计算群组会话密钥中所包含的该组成员信息X↓[i],在群组内广播该X↓[i];每个组成员根据所有X↓[j],j=1,…,n,计算群组会话密钥K。本发明专利技术具有无密钥托管、无需安全信道的优点,用于协同和分布式网络应用中安全可靠群通信。

【技术实现步骤摘要】

本专利技术涉及网络安全
,具体地说,是一种基于身份的认证群组密钥共享和管理方法,可用于在协同和分布式网络应用中进行安全可靠的群通信,如组播、音频视频会议、网络协同游戏。
技术介绍
业内周知,在许多协同和分布式网络应用中,如组播、音频视频会议、网络协同游戏,安全可靠的群通信是一个关键问题。群组会话密钥共享和管理能够很好解决这一问题。一个安全群组通信系统提供的基本安全服务包括数据保密性、完整性、成员认证和存取控制。实现对信息的限制访问通常采用的方法是对群组的消息进行加密。如果所有的群组成员都共享一个共同的密钥,就可以很方便的实现这些安全服务,这个共享的密钥被称为群组密钥。研究群组密钥的生成、分发和更新维护的机制是群组密钥管理机制需要解决的主要问题。 实现认证性,基于身份的认证机制相对基于公钥基础设施PKI的系统能够大大简化密钥分发过程。国内外学者在这方面提出了许多方法,主要的问题集中在以下几方面(1)在密钥生成中心KGC和组成员之间需要事先存在一个安全信道,在实际中这是一个非常苛刻的要求; (2)存在隐性的密钥托管,这一点有时是不希望有的;(3)密钥协商过程一般需要O(n 1gn)或O(n)轮通信,网络通信负担较大;(4)计算有效性较差,一般需要O(n 1gn)或O(n)次配对运算。
技术实现思路
本专利技术目的在于避免以上提及的技术不足,提出一种高效、实用的基于身份认证群组密钥共享和管理的方法,以实现低通信开销和低计算开销的、不需要安全信道和无密钥托管的群组密钥共享。 为实现上述目的,本专利技术的技术过程如下 (1)密钥生成中心KGC和所有组成员运行BDH参数产生器生成阶为第一个素数q的群G1、第二个阶为素数q的群G2和双线性映射eG1×G1→G2; (2)密钥生成中心KGC选择自己的秘密钥和公开参数,并生成自己的公开钥,将公开参数和公开钥公布给所有组成员; (3)每个组成员ui,i=1,...,n,选择自己的秘密钥si以及秘密参数 根据秘密钥和自己的身份标识IDi生成公开钥Qi; (4)密钥生成中心KGC根据自己的秘密钥和每个组成员ui,i=1,...,n,的身份标识IDi生成ui主密钥的一部分Ci,并通过公开信道将该Ci发送给组成员ui; (5)每个组成员ui,i=1,...,n,根据自己的秘密钥si以及秘密参数 生成自己的主密钥其中H1是从0和1组成的比特序列集合映射到第二个群G2的H ash函数; (6)每个组成员ui,i=1,...,n,根据自己的主密钥ki和自己的公开钥Qi的Hash值hi组成对公开钥Qi的验证信息Ti=siPpub+hiki,并将公开钥Qi与该验证信息Ti链接,广播给所有其他组成员,其中Ppub是密钥生成中心KGC的公开钥,这是第一轮广播; (7)每个组成员ui,i=1,...,n,收到其左邻居ui-1和右邻居ui+1的第一轮广播消息后,验证广播消息的真实性,如果是真实的,先计算其与左邻居共享的秘密中间值Li以及与右邻居共享的秘密中间值 再根据这两个中间值计算群组会话密钥中所包含的该组成员的信息Xi,并广播该Xi,这是第二轮广播; (8)每个组成员ui,i=1,...,n,根据计算的Xi以及收到的所有其他组成员广播的消息Xj,j=1,...,n,j≠i,计算此次会话的群组会话密钥K; (9)若任意成员离开,该成员的左邻居和右邻居分别删除它们和离开成员共享的秘密中间值,并通过两方密钥协商协议重新共享新的秘密中间值,组成员uj,j=1,...,n-1,计算群组会话密钥中所包含的该组成员的信息Xj,并广播该Xj,再执行步骤(8); (10)若有新成员un+1加入,该新成员un+1通过两方密钥协商协议,分别与第n个成员un和第1个成员u1共享秘密中间值,组成员uj,j=1,...,n+1,各自计算群组会话密钥中所包含的该组成员的信息Xj,并在广播该Xj后执行步骤(8)。 本专利技术具有如下优点 (1)本专利技术由于组成员的秘密钥由KGC和成员共同产生,各拥有秘密钥的一部分信息,从而避免了密钥托管,秘密钥只有组成员自己拥有。 (2)本专利技术由于密钥生成中心KGC发送给组成员的密钥不需要保密,可以通过公开信道发送,因此KGC和组成员之间不需要事先存在安全信道,解决了应用过程中一个非常棘手的问题; (3)本专利技术由于将组成员的身份信息嵌入密钥中,使密钥既用来加密也用于身份认证,杜绝了任何未经KGC批准的非法者加入群组会话。 (4)相比已有方法,本专利技术在计算量和通信量上都大有改善,其密钥分发过程中只有两轮广播,而之前的群组密钥分发方案广播轮数要么和用户数成正比,要么和用户数的对数成正比;在计算上以本专利技术以二元加法为主,每个用户分别只需计算5个配对运算,而之前方案一般都需要大量配对运算,O(n 1g n)或O(n)。 已经过理论推导证明,本专利技术方法在DBDH假设和CDH假设下是前向安全的。 附图说明 图1是本专利技术的基于身份的认证群组密钥共享步骤示意图; 图2是本专利技术的任意组成员离开群组后新的群组密钥重新共享步骤示意图; 图3是本专利技术的新组成员加入后新的群组密钥重新共享步骤示意图。 具体实施例方式 一、本专利技术所应用的数学理论及技术术语说明 1、Hash函数 Hash函数就是把任意长的输入消息变化成固定长的输出消息的一种函数,这个输出称为该消息的Hash值。一个安全的Hash函数应该至少满足以下几个条件;①输入长度是任意的;②输出长度是固定的,一般至少取128bits长,以便抵抗生日攻击;③对每一个给定的输入,可很容易地计算其输出,即Hash值;④给定Hash函数的描述,找到两个不同的输入消息Hash到同一个值是计算上不可行的,或给定Hash函数的描述和一个随机选择的消息,找到另一个与该消息不同的消息,使得它们Hash到同一个值是计算上不可行的。Hash函数主要用于完整性校验和提高数字签名的有效性。 本专利技术中共有三个Hash函数,其中H1{0,1}*→G1,是从0和1组成的比特序列集合映射到群G1;H2{0,1}*→Zq,是从0和1组成的比特序列集合映射到加法循环群Zq;HG2→{0,1}m,从群G2映射到由0和1组成的长为m的比特序列集合,m为正整数。 2、可容许双线性映射 如果映射eG1×G1→G2满足下面的条件就称其为可容许双线性映射 (1)双线性。对于任意P,Q,R∈G1和α,β∈Zq有 e(αP+βQ,R)=e(P,R)αe(Q,R)β e(R,αP+βQ)=e(R,P)αe(R,Q)β’ 特别地 e(αP,βQ)=e(P,Q)αβ, 其中G1是阶为q的加法群,G2是阶为q的乘法群,在G1、G2中求解离散对数是困难的。 (2)非退化性e为非平凡映射,即e不会把G1×G1中的所有元都映射到G2的单位元上。 (3)可计算性对任意的P,Q∈G1,存在有效算法计算e(P,Q)。 双线性映射可以通过超奇异椭圆曲线上的Weil配对或Tate配对来构造。 3、有关技术术语 (1)KGC,密钥生成中心。在基于身份的密码体制中,用户的秘密钥要由KGC生成并通本文档来自技高网...

【技术保护点】
一种基于身份的认证群组密钥管理方法,包括如下步骤: (1)密钥生成中心KGC和所有组成员运行BDH参数产生器生成阶为第一个素数q的群G↓[1]、第二个阶为素数q的群G↓[2]和双线性映射e:G↓[1]×G↓[1]→G↓[2];  (2)密钥生成中心KGC选择自己的秘密钥和公开参数,并生成自己的公开钥,将公开参数和公开钥公布给所有组成员; (3)每个组成员u↓[i],i=1,…,n,选择自己的秘密钥s↓[i]以及秘密参数h′↓[i],根据秘密钥和自己的身份标识I D↓[i]生成公开钥Q↓[i]; (4)密钥生成中心KGC根据自己的秘密钥和每个组成员u↓[i],i=1,…,n,的身份标识ID↓[i]生成u↓[i]主密钥的一部分C↓[i],并通过公开信道将该C↓[i]发送给组成员u↓[i];   (5)每个组成员u↓[i],i=1,…,n,根据自己的秘密钥s↓[i]以及秘密参数h′↓[i]生成自己的主密钥k↓[i]=C↓[i]+s↓[i]h′↓[i]P′↓[i],其中P′↓[i]=H↓[1](ID↓[i]),H↓[1]是从0和1组成的比特序列集合映射到第二个群G↓[2]的Hash函数; (6)每个组成员u↓[i],i=1,…,n,根据自己的主密钥k↓[i]和自己的公开钥Q↓[i]的Hash值h↓[i]组成对公开钥Q↓[i]的验证信息T↓[i]=s↓[i]P↓[ pub]+h↓[i]k↓[i],并将公开钥Q↓[i]与该验证信息T↓[i]链接,广播给所有其他组成员,其中P↓[pub]是密钥生成中心KGC的公开钥; (7)每个组成员u↓[i],i=1,…,n,收到其左邻居u↓[i-1]和右邻居u↓ [i+1]的第一轮广播消息后,验证广播消息的真实性,如果是真实的,先计算其与左邻居共享的秘密中间值L↓[i]以及与右邻居共享的秘密中间值L′↓[i],再根据这两个中间值计算群组会话密钥中所包含的该组成员的信息X↓[i],并广播该X↓[i]; (8)每个组成员u↓[i],i=1,…,n,根据计算的X↓[i]以及收到的所有其他组成员广播的消息X↓[j],j=1,…,n,j≠i,计算此次会话的群组会话密钥K; (9)若任意成员离开,该成员的左邻居和右邻居分别删除它们和离 开成员共享的秘密中间值,并通过两方密钥协商协议重新共享新的秘密中间值,组成员u↓[j],j=1,…,n-1,计算群组会话密钥中...

【技术特征摘要】
1.一种基于身份的认证群组密钥管理方法,包括如下步骤(1)密钥生成中心KGC和所有组成员运行BDH参数产生器生成阶为第一个素数q的群G1、第二个阶为素数q的群G2和双线性映射eG1×G1→G2;(2)密钥生成中心KGC选择自己的秘密钥和公开参数,并生成自己的公开钥,将公开参数和公开钥公布给所有组成员;(3)每个组成员ui,i=1,...,n,选择自己的秘密钥si以及秘密参数,根据秘密钥和自己的身份标识IDi生成公开钥Qi;(4)密钥生成中心KGC根据自己的秘密钥和每个组成员ui,i=1,...,n,的身份标识IDi生成ui主密钥的一部分Ci,并通过公开信道将该Ci发送给组成员ui;(5)每个组成员ui,i=1,...,n,根据自己的秘密钥si以及秘密参数生成自己的主密钥其中H1是从0和1组成的比特序列集合映射到第二个群G2的H ash函数;(6)每个组成员ui,i=1,...,n,根据自己的主密钥ki和自己的公开钥Qi的Hash值hi组成对公开钥Qi的验证信息Ti=siPpub+hiki,并将公开钥Qi与该验证信息Ti链接,广播给所有其他组成员,其中Ppub是密钥生成中心KGC的公开钥;(7)每个组成员ui,i=1,...,n,收到其左邻居ui-1和右邻居ui+1的第一轮广播消息后,验证广播消息的真实性,如果是真实的,先计算其与左邻居共享的秘密中间值Li以及与右邻居共享的秘密中间值,再根据这两个中间值计算群组会话密钥中所包含的该组成员的信息Xi,并广播该Xi;(8)每个组成员ui,i=1,...,n,根据计算的Xi以及收到的所有其他组成员广播的消息Xj,j=1,...,n,j≠i,计算此次会话的群组会话密钥K;(9)若任意成员离开,该成员的左邻居和右邻居分别删除它们和离开成员共享的秘密中间值,并通过两方密钥协商协议重新共享新的秘密中间值,组成员uj,j=1,...,n-1,计算群组会话密钥中所包含的该组成员的信息Xj,并广播该Xj,再执行步骤(8);(10)若有新成员un+1加入,该新成员un+1通过两方密钥协商协议,分别与第n个成员un和第1个成员u1共享秘密中间值,组成员uj,j=1,...,n+1,各自计算群组会话密钥中所包含的该组成员的信息Xj,并在广播该Xj后执行步骤(8)。2.根据权利要求1所述的基于身份的认证群组密钥管理方法,其中步骤(3),按如下过程进行(3a)组成员ui选择秘密钥和随机秘密数其中是循环群。(3b)计算身份信息Pi=H1(sessionID,IDi),sessionID是此次会话的会话标识,IDi是组成员ui的身份标识;(3b)根据所述的随机秘密数和身份标识,分别生成公开钥Qi=siPi和公开参数其中P是第一个群G1的生成元。3.根据权利要求1所述的基于身份的认证群组密钥管理方法,其中步骤(4)所述的密钥生成中心KGC根据自己的秘密钥和组成员ui的身份标识IDi生成ui主密钥的一部分Ci,是由密钥生成中...

【专利技术属性】
技术研发人员:吕锡香李晖张卫东
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:87[中国|西安]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1