CN103957101B - 一种群组通信中的组密钥建立方法 - Google Patents
一种群组通信中的组密钥建立方法 Download PDFInfo
- Publication number
- CN103957101B CN103957101B CN201410206766.5A CN201410206766A CN103957101B CN 103957101 B CN103957101 B CN 103957101B CN 201410206766 A CN201410206766 A CN 201410206766A CN 103957101 B CN103957101 B CN 103957101B
- Authority
- CN
- China
- Prior art keywords
- group
- session
- key
- group key
- keys
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 59
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000008569 process Effects 0.000 claims description 13
- 239000011159 matrix material Substances 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 238000011084 recovery Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 2
- 239000004576 sand Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种群组通信中的组密钥实现方法,包括:通信群组建立后,以初始密钥为种子,计算m个单向链表。从单向链表的最后一个节点开始,依次将单向链表中的各个节点作为各个会话期的组密钥,m个单向链表能够确定m个组密钥。根据m个组密钥生成组密钥分发信息,发送给组内成员。组内成员根据接收的组密钥分发信息重构组密钥。当有新成员加入通信群组后,以重构出的当前会话期的各个组密钥为种子,按照单向链表的特性计算单向链表中后续节点的取值,将其作为当前会话期之前的其他会话期的组密钥。通过本申请,能够方便地实现组密钥的自愈性。
Description
技术领域
本申请涉及通信系统中的群组通信技术,特别涉及一种群组通信中的组密钥建立方法。
背景技术
群组通信(Group Communication)在虚拟会议、有线/卫星电视、多媒体实时点播、网络游戏等方面拥有广阔的应用空间。为防止群组报文在传输时被窃听、冒充或篡改,需要对组成员进行身份认证、对通信内容进行加/解密和完整性校验。组密钥管理是安全手段得以实施的前提与基础,其目的是在组管理员、组成员之间建立共享组密钥,并在组成员发生变化时有效更新组密钥。群组密钥管理一直是密码学领域的研究热点,长期以来国内外学者重点关注于方案的连通性、安全性和效率。代表性方案如:基于组管理员集中控制的GKMP方案,基于分布对等式的Clique方案和基于逻辑树结构的multi-GKU方案等。
在传统的群组密钥管理基础之上,对密钥产生和分发过程进行改进,从而提供组密钥的自愈机制。组密钥管理的“自愈机制”(Self-healing)是保证在不可靠信道上进行安全群组通信的重要手段,它使得新加入的认证组成员、或者合法离线后重新返回的认证组成员能够根据当前广播消息立即恢复出丢失的历史密钥。由于不依赖于组管理员的额外重传,自愈机制能够降低网络通信开销、提高密钥分发效率,因此带自愈机制的组密钥管理具有重要的研究价值。
带自愈机制的组密钥管理方案(或称为自愈性组密钥管理方案)为不可靠信道上的大型、动态群组通信提供安全向导。此类方案中,整个群组通信期被划分为若干个不重叠的会话(Session),会话初期由组管理员产生并广播“组密钥分发消息”,经过认证的组成员结合“组密钥分发消息”与本地存储的“个人令牌”可以计算出共享组密钥,从而实现当前会话期内加/解密、身份认证、和消息完整性校验等功能。退出组的用户(包括主动退出与被强制退出)无法获得后继会话期的组密钥,即无法参与后继会话消息的加/解密与传输,这称为方案的“前向安全性”。新加入组、或合法离线后重新返回的组成员,在正确获得当前会话期组密钥的前提下,不依靠组管理员单独重传便能够自动恢复出任意历史会话期对应的组密钥,这称为方案的“自愈性”。
带自愈机制的组密钥管理(Self-healing Key Distribution,SKD)研究中,代表性的方案如:Staddon等人提出的基于线性多项式的SKD方案,此类方案优点是计算复杂度低、通信开销少,缺点是容易泄露用户的个人令牌;Blundo等人提出的基于指数运算的SKD方案,此类方案可以看作线性多项式SKD方案在指数上的扩展,其优点是保护用户的个人令牌,缺点是指数级计算复杂度较高、方案执行效率较低;Tian等人提出的基于双线性对的方案,此类方案的优点是支持长期群组会话,缺点是基于公钥的计算复杂度高、通信开销大、执行效率低。
在目前的自愈性组密钥管理的研究中,大部分方案无法提供对历史会话的恢复能力,而旨在提高通信容错性,强调密钥的前向安全性、后向安全性、和抗共谋性。但是,组密钥的后向安全性需求使得新加入组成员无法恢复其加入组之前的会话密钥,这限制了新加入用户对群组历史会话密文的读取能力,因此现有的自愈性组密钥管理方案在虚拟会议、即时聊天系统、网络游戏等应用环境中并不适用。此外,目前大多数SKD方案的自愈机制是通过增加广播消息的冗余信息来实现的,因此会引入额外的通信、计算和存储开销。
发明内容
本申请提供一种群组通信中的组密钥实现方法,能够以较小的开销实现组密钥的自愈性。
为实现上述目的,本申请采用如下的技术方案:
一种群组通信中的组密钥建立方法,包括:
通信群组建立后,选取m个初始密钥,以每个初始密钥为种子,按照一单向函数计算m个第一单向链表;
对于每个会话期s,分别从m个第一单向链表中取该链表的第n-s+1个节点取值作为会话期s的m个组密钥,并计算组密钥分发信息发送给组内成员;所述通信群组中的组内成员接收组密钥分发信息,并重构会话期s的各个组密钥;
其中,当有新成员加入所述通信群组后,所述新成员以重构的当前会话期的每个组密钥为种子,利用所述单向函数计算m个第二单向链表,分别从m个第二单向链表中取该链表的第s-q+1个节点取值作为会话期q的m个组密钥;其中,0<q<s,且s和q为会话期的索引值,m为同一会话期内使用的组密钥总数,n为所述第一单向链表的长度,s为所述第二单向链表的长度。
较佳地,所述根据选取的会话期s的组密钥计算组密钥分发信息包括:
根据所有组成员的个人令牌构造t个平面坐标点,其中,t为当前所述通信群组的成员总数,且j=1,…,t;
根据组管理员选取的m个随机索引ri (s)和会话期s的m个组密钥构造m个平面坐标点其中,i=0,…,m-1;
确定同时经过所述t个平面坐标点和m个平面坐标点的d阶拉格朗日插值多项式,并在所述多项式上另外选取d个平面坐标点将选取出的平面坐标点和所述m个随机索引ri (s)作为所述组密钥分发信息,其中,d=m+t-1;
其中,所述所有组成员的个人令牌是组管理员为各个用户选择的。
较佳地,构造t个平面坐标点时进一步根据各个用户随机选取的数值进行。
较佳地,构造的所述t个平面坐标点为其中,j=1,2,…,t,且hash()表示哈希函数。
较佳地,所述组内成员根据接收的组密钥分发信息重构会话期s的各个组密钥包括:
根据接收的组密钥分发信息确定d个平面坐标点利用自身的个人令牌确定出一个平面坐标点X;确定同时经过所述d个平面坐标点和平面坐标点X的d阶拉格朗日插值多项式;
以接收的m个随机索引作为自变量,根据d阶拉格朗日插值多项式计算m个变量值,作为所述会话期s的m个组密钥。
较佳地,在会话期s内,所述组内成员按照设定的密钥周期时间依次使用该会话期的m个组密钥对组报文进行处理。
较佳地,当有组内成员退出所述通信群组时,所述通信群组内的其他组内成员停止使用当前会话期的组密钥,启用下一会话期的组密钥。
由上述技术方案可见,本申请中,通信群组建立后,以初始密钥为种子,计算m个单向链表。从单向链表的最后一个节点开始,依次将单向链表中的各个节点作为各个会话期的组密钥,m个单向链表能够确定m个组密钥。根据m个组密钥生成组密钥分发信息,发送给组内成员。组内成员根据接收的组密钥分发信息重构组密钥。当有新成员加入通信群组后,以重构出的当前会话期的各个组密钥为种子,按照单向链表的特性计算单向链表中后续节点的取值,将其作为当前会话期之前的其他会话期的组密钥。通过上述方式,利用单向链表中单向计算节点取值的特性,实现组密钥的自愈性,简单方便。
附图说明
图1为本申请中带自愈机制的组密钥建立方法的基本流程示意图;
图2为本申请实施例中带自愈机制的组密钥建立方法的具体流程示意图。
具体实施方式
为了使本申请的目的、技术手段和优点更加清楚明白,以下结合附图对本申请做进一步详细说明。
本申请中,利用单向函数为初始密钥构造单向密钥链表,从单向链表的最后一个节点开始,依次将节点取值分配给各会话期作为密钥,这样,正确重构出当前会话期的密钥后,根据该密钥为种子,可以计算该种子所在单向链表中后续节点的取值,也就是其之前各个历史会话期的密钥,从而方便地实现密钥的自愈性,同时单向函数的单向性可保证密钥的前向安全性。
具体地,本申请中的组密钥实现方法包括由组管理员进行的组密钥生成和分发处理以及组成员进行的密钥重构和历史密钥恢复处理。两部分处理相互配合实现组密钥的自愈功能。图1为本申请中组密钥建立方法的基本流程示意图。如图1所示,组密钥生成和分发方法包括:
步骤101,通信群组建立后,选取m个初始密钥。
本步骤中,m个初始密钥可以是随机选择,或者由组管理员指定,本申请对此不作限定。其中,m为初始密钥个数,且m≥1。
步骤102,以每个初始密钥为种子,利用单向函数计算m个第一单向链表。
其中,单向函数可以是常用哈希函数,如SHA-1,MD5等,或者也可以是由系统指定的具备单向性的特定表达式。群组通信中的所有成员均已知单向函数的具体表达式。为与后续组成员恢复密钥时使用的单向链表相区分,将生成和分发处理中涉及的单向链表称为第一单向链表。
步骤103,对于每个会话期s,分别从m个第一单向链表中选取第n-s+1个节点取值作为该会话期的组密钥。
在计算出m个第一单向链表后,从第一单向链表的最后一个节点开始,将链表中的节点分配给各会话期,对于每个会话期s,m个单向链表分配出m个节点取值作为该会话期的m个组密钥。通过这种方式,将位于单向链表较后段的节点作为较早会话期的组密钥,从而在有新成员加入通信群组时,新成员在确定出当前会话期的组密钥后,根据当前会话期的组密钥为种子,可以计算出各个单向链表中的后续节点取值,也就是当前会话期之前任意会话期的组密钥。这样,能够方便地实现历史组密钥的自愈性,同时单向函数的单向性还能够实现组密钥的前向安全性。
步骤104,根据选取的会话期s的组密钥计算组密钥分发信息发送给组内成员。
具体计算组密钥分发信息的方式可以采用现有方式实现,本申请对此不做限定。
步骤105,通信群组建立后,对于每个会话期s,通信群组中的组内成员接收组密钥分发信息,重构会话期s的各个组密钥。
在每个会话期内,组成员接收组管理员广播的组密钥分发信息,根据该组密钥分发信息重构该会话期s的组密钥。进一步优选地,在该会话期内,组内成员按照设定的密钥周期时间依次使用该会话期的m个组密钥对组报文进行加/解密处理。也就是说,在一个会话期内,每隔设定的密钥周期时间,组内成员更新一次组密钥,同一会话期内,密钥更新最大次数为m-1。
步骤106,新成员加入通信群组后,以重构的当前会话期的每个组密钥为种子,计算m个第二单向链表。
新成员加入通信群组后,组管理员根据当前成员信息计算新的组密钥分发信息,新加入成员收到组密钥分发信息后,根据该分发信息可以重构出当前会话期的组密钥。在重构当前会话期的组密钥后,如果需要恢复之前其他会话期的组密钥,可以以当前会话期的各个组密钥为种子,利用单向函数计算m个第二单向链表。其中,计算第二单向链表的单向函数表达式与前述组密钥生成时期步骤102计算第一单向链表的单向函数表达式相同。第二单向链表的长度可以根据需要计算,最大长度为s。
步骤107,从m个第二单向链表中取该链表的第s-q+1个节点取值作为会话期q的组密钥。
由于第二单向链表的种子x就是第一单向链表中的节点x,同时,计算第一单向链表和第二单向链表的单向函数表达式也相同,因此,第二单向链表中的节点依次为第一单向链表中的节点x及其后续的各个节点。同时,由于第一单向链表中的各个节点逆序作为每个会话期的一个组密钥,因此,第二单向链表中的节点也就依次为节点x对应的会话期s及其之前各历史会话期的一个组密钥。更详细地,从m个第二单向链表中取该链表的第s-q+1个节点取值组成会话期q的m个组密钥。其中,0<q<s。
至此,本申请中的组密钥建立方法流程结束。在上述流程中,组管理员利用单向链表生成组密钥,计算复杂度低;通信群组内的成员不仅能够依据接收的组密钥分发信息重构出当前会话期的组密钥,同时,可以根据单向链表的特性,恢复出当前会话期以前任意历史会话期的组密钥。相比于目前其他自愈性组密钥建立方法,本申请不仅恢复出新成员加入通信群组后的会话期的组密钥,并能够恢复出该新成员加入该通信群组前各历史会话期的组密钥,而且实现方法简单,耗费计算资源小。适用于虚拟会议、即时聊天系统、网络游戏等应用环境。
接下来,以将单向哈希链作为第一和第二单向链表为例,对本申请中的具体实现进行详细说明。其中,为描述更加顺畅和便于理解,将组密钥生成和分发方法与组密钥重构与历史密钥恢复方法结合在一起进行介绍。
图2为本申请实施例中组密钥建立方法的具体流程示意图。如图2所示,该方法包括:
步骤201,组管理员建立通信群组后,计算m(m≥1)个单向哈希链,并构造密钥矩阵。
组管理员在有限域ZN *上随机选取m个密钥{K0,K1,…,Km-1}作为初始密钥,组管理员以Ki为种子分别计算m个单向哈希链K-Chaini,并基于K-Chaini构造密钥矩阵(K-Box)。具体过程如下:
a)组管理员随机选择两个安全素数p和q(安全素数p是满足p=2p′+1形式的一类数,其中p′=(p-1)/2也是素数),计算N=pq,公开N;
b)组管理员在有限域ZN *上随机选取m个密钥作为初始密钥:{K0,K1,…,Km-1};
c)组管理员生成m个单向哈希链K-Chaini=0,…,m-1,密钥Ki为哈希链K-Chaini的种子:
其中,i=0,…,m-1,且n表示哈希链长度,且:
d)组管理员构造n×m矩阵作为密钥矩阵(K-Box),并将m条哈希链按顺序K_Chain0→K_Chain1→…→K_Chainm-1依次作为密钥矩阵K-Box的各个列,对于每一列,以单向哈希链逆序方向排列作为该列的各行元素,具体矩阵形式如下:
步骤202,组管理员将用户加入通信群组,各用户向组管理员注册。
组管理员将群组用户{U1,U2,…,Ut}加入建立的通信群组的方式可以为:在群组内广播加入该群组的用户ID列表和组管理员证书CertGM。
用户Uj收到广播消息确定自己为相应的通信群组用户后,向组管理员注册,具体注册方式可以为:
a)用户Uj在有限域ZN *上选择随机数用Pub_KeyGM加密后连同Uj证书一起发送给组管理员;其中, Pub_KeyGM表示组管理员公钥;
b)组管理员在有限域ZN *上为用户Uj随机生成个人令牌并用加密后发送给Uj;其中,表示Uj的公钥;
由此完成{U1,U2,…,Ut}向组管理员的注册过程,{U1,U2,…,Ut}成为组成员,将当前会话期s的通信组成员记为Gs={U1,U2,…,Ut}。其中,t为通信群组的成员总数。
步骤203,对于任意会话期s,组管理员为群组成员选择组密钥,并生成组密钥分发信息发送给群组成员。
对于会话期s,在密钥矩阵中选择第s行的所有元素作为会话期s的m个组密钥,由步骤201中密钥矩阵的构成可见,该第s行的所有元素为m个单向哈希链中每个链表的第n-s+1个节点构成的组合;其中,i=0,…,m-1。
根据选择出的组密钥生成组密钥分发信息的处理可以采用现有的各种方式。为保证密钥分发的效率和通信开销,本申请中给出基于拉格朗日插值多项式的组密钥分发信息生成方式,具体处理如下:
a)根据所有组成员的个人令牌构造t个平面坐标点,将组管理员选取的m个随机索引值ri (s)和会话期s的m个组密钥构造m个平面坐标点其中,ri (s)为ZN *上的随机数,为K-Box的第s行元素,i=0,…,m-1;构造的t个平面坐标点可以仅由组成员的个人令牌构成,例如其中,j=1,…,t;或者,也可以进一步根据用户上报给组管理员的随机数构造,例如,等。本实施例中以为例进行说明,其中,j=1,…,t,hash()为哈希函数;
b)确定同时经过上述确定的m个平面坐标点和t个平面坐标点的d阶拉格朗日插值多项式h(s)(x);其中,d=m+t-1。该多项式的具体形式为:其中,由拉格朗日插值多项式的原理可知,经过二维平面上d+1个点的d阶拉格朗日插值多项式是唯一的,因此,上述h(s)(x)是唯一的,具体h(s)(x)的系数计算方式如下:
c)组管理员在拉格朗日插值多项式h(s)(x)上随机选择d个不同的平面坐标点并将该d个点的坐标值和集合作为组密钥分发信息(pub_points_messs);
为保证组密钥分发信息能够被正确接收,优选地,可以执行如下步骤:
d)组管理员计算消息校验码(Macs):
e)组管理员在组内明文广播组内成员ID、消息校验码和组密钥分发信息。
步骤204,组内成员接收组密钥分发信息后,重构当前会话期的组密钥。
具体地,组成员接收组密钥分发信息后,根据预先设定的组密钥分发信息生成方式重构组密钥。本实施例中,以基于拉格朗日插值多项式为例介绍重构组密钥的方式。
如前述步骤203所述,基于拉格朗日插值多项式生成组密钥分发信息时,在组密钥分发信息中包括d个公开点的坐标信息,根据该坐标信息计算出d个坐标点然后,根据组内成员自身的个人令牌或者根据个人令牌和随机数按照与步骤203中相同的方式构造一个坐标点再确定同时经过接收的d个坐标点和构造的1个坐标点的d阶拉格朗日插值多项式。这里,由于接收的d个坐标点和构造的一个坐标点都是步骤203中生成的拉格朗日插值多项式h(s)(x)上的点,同时,如前所述,经过二维平面上d+1个坐标点的d阶拉格朗日插值多项式是唯一的,因此本步骤中确定出的经过上述d+1个坐标点的d阶拉格朗日插值多项式一定与步骤203中生成的拉格朗日插值多项式相同。
接下来,由于拉格朗日插值多项式h(s)(x)经过的点还包括因此只要以接收的集合中的各个ri (s)为自变量的取值,计算拉格朗日插值多项式的取值h(s)(ri (s)),即为当前会话期的各个组密钥并构成密钥集合
更进一步的,如果在步骤203中组管理员向组内成员下发了消息校验码,则本步骤中在计算出当前会话期的组密钥后,仍然需要对接收信息进行校验。具体可以根据接收的组内成员的ID信息和组密钥分发信息、计算得到的组密钥,按照与步骤203相同的方式计算校验码:
判断计算的Macs’与接收的Macs是否一致,若一致,则通过验证,确定计算得到的组密钥正确,否则,验证不通过,丢弃计算得到的组密钥。
步骤205,在会话期s内,按照设定的密钥周期时间依次使用该会话期的m个组密钥对组报文进行处理。
会话期s的密钥集合Key_sets中包括m个组密钥,组管理员与组成员基于密钥集合Key_sets进行“周期性组密钥更新”,步骤包括:组成员依次使用密钥集合Key_sets中的m个密钥作为组密钥;当密钥的密钥周期结束后,组成员自动进行密钥更新,将作为下一密钥周期的组密钥。当会话期s对应的Key_sets中最后一个密钥的密钥周期结束时,会话期s即结束,此时组管理员与组成员进行周期性会话更新,返回步骤203~205选择下一会话期的组密钥并计算组密钥分发信息、组内成员重构下一会话期的组密钥并适时进行密钥更新。
在上述步骤203~205的处理过程中,当有任意组内成员离开通信群组后,优选地,组管理员与剩余组内成员进行即时会话更新,具体包括:无论当前会话期的密钥集合Key_sets中密钥是否更新完毕,组管理员都立即结束当前会话期Sessions,并标记通信组进入新会话期Sessions+1。执行步骤203~205,为新会话期s+1选择组密钥并计算组密钥分发信息、组内成员重构会话期s+1的组密钥并适时进行密钥更新。
在任意会话期s内,当有新成员加入通信群组后,可以采用如下处理进行新成员的组密钥获取和当前会话期之前的其他历史会话期的组密钥恢复:
步骤206,未注册的新成员加入通信群组后,向群组管理员进行注册操作。
组管理员判断新成员{Unew-1,Unew-2,…,Unew-t′}是否已注册过,假设未注册的新成员集合为{Ureg-1,Ureg-2,…,Ureg-t″},且
未注册用户按照前述步骤202中的方式向组管理员注册,新成员Ureg-j选择随机值发送给组管理员,组管理员为新成员生成并分发令牌完成{Ureg-1,Ureg-2,…,Ureg-t″}向组管理员的注册过程后,将当前会话期的通信组成员记为Gs-new={U1,U2,…,Ut,Unew-1,Unew-2,…,Unew-t′},即|Gs-new|=|Gs|+t′=t+t′;
步骤207,组管理员按照当前会话期的组密钥,根据当前组内所有成员信息生成组密钥分发信息,并广播给通信群组的新成员。
为Gs-new选择与Gs相同的组密钥,即密钥集合Key_sets。在生成组密钥分发信息时,根据当前组内所有成员信息{U1,U2,…,Ut,Unew-1,Unew-2,…,Unew-t′}进行,也就是生成d′=m+t+t′-1阶拉格朗日插值多项式,其中,生成该拉格朗日插值多项式时,随机选择的可以与前述步骤203中选择的相应数值相同,或者也可以重新选择。然后,仍然在生成的d′阶拉格朗日插值多项式上选择d′个坐标点,与本次采用的集合一起构成组密钥分发信息广播给新加入的组内成员。进一步地,为保证消息传输的准确性,可以计算消息校验码进行广播,具体方式与前述步骤203中相同,这里就不再赘述。
步骤208,新成员根据接收的组密钥分发信息重构当前会话期的m个组密钥。
其中,新加入的成员可以采用前述步骤204的方式根据广播的组密钥分发信息重构当前会话期的组密钥。当新成员想要恢复当前会话期之前的其他历史会话期的组密钥时,可以采用如下步骤209的处理:
步骤209,新成员根据当前会话期的m个组密钥恢复当前会话期之前的其他历史会话期的组密钥。
具体处理可以采用如下方式:
a)新加入组成员Unew-j以Key_sets中的任一密钥为种子计算单向哈希链
其中,s为哈希链长度,且:
b)新加入组成员Unew-j基于单向哈希链构造部分密钥矩阵K-Box(s),其中,i=0,…,m-1:
c)新加入组成员Unew-j根据K-Box(s)可查找任一历史会话期Sessionq的密钥集合其中0<q<s,从而新成员在不需组管理员单独重传的前提下实现对历史会话消息的解密。
至此,本实施例中的组密钥建立方法的流程结束。通过本申请的组密钥建立方法,一方面在组管理员侧,给出了与现有方案不同的组密钥生成方法,利用单向链表生成组密钥。另一方面在组成员侧,利用单向链表的特性,可以方便地恢复出新成员加入群组前其他任意会话期的组密钥,使组密钥具备良好的自愈功能。同时,优选地,利用基于拉格朗日插值多项式的方式生成组密钥分发信息,从而可以使组成员通过一次组广播计算出同一会话期内的多个组密钥,大大提高组密钥分发效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (7)
1.一种群组通信中的组密钥建立方法,其特征在于,包括:
通信群组建立后,选取m个初始密钥,以每个初始密钥为种子,按照一单向函数计算m个第一单向链表;
对于每个会话期s,分别从m个第一单向链表中取该链表的第n-s+1个节点取值作为会话期s的m个组密钥,并计算组密钥分发信息发送给组内成员;所述通信群组中的组内成员接收组密钥分发信息,并重构会话期s的各个组密钥;
其中,当有新成员加入所述通信群组后,所述新成员以重构的当前会话期的每个组密钥为种子,利用所述单向函数计算m个第二单向链表,分别从m个第二单向链表中取该链表的第s-q+1个节点取值作为会话期q的m个组密钥;其中,0<q<s,且s和q为会话期的索引值,m为同一会话期内使用的组密钥总数,n为所述第一单向链表的长度。
2.根据权利要求1所述的方法,其特征在于,所述根据选取的会话期s的组密钥计算组密钥分发信息包括:
根据所有组成员的个人令牌构造t个平面坐标点,其中,t为当前所述通信群组的成员总数,且j=1,…,t,Uj表示群组用户,表示群组用户Uj的个人令牌;
根据组管理员选取的m个随机索引ri (s)和会话期s的m个组密钥构造m个平面坐标点其中,i=0,…,m-1;
确定同时经过所述t个平面坐标点和m个平面坐标点的d阶拉格朗日插值多项式,并在所述多项式上另外选取d个平面坐标点将选取出的平面坐标点和所述m个随机索引ri (s)作为所述组密钥分发信息,其中,d=m+t-1;
其中,所述所有组成员的个人令牌是组管理员为各个用户选择的。
3.根据权利要求2所述的方法,其特征在于,构造t个平面坐标点时进一步根据各个用户随机选取的数值进行。
4.根据权利要求3所述的方法,其特征在于,构造的所述t个平面坐标点为其中,j=1,2,…,t,且,as,()表示哈希函数。
5.根据权利要求2所述的方法,其特征在于,所述组内成员根据接收的组密钥分发信息重构会话期s的各个组密钥包括:
根据接收的组密钥分发信息确定d个平面坐标点利用自身的个人令牌确定出一个平面坐标点X;确定同时经过所述d个平面坐标点和平面坐标点X的d阶拉格朗日插值多项式;
以接收的m个随机索引作为自变量,根据d阶拉格朗日插值多项式计算m个变量值,作为所述会话期s的m个组密钥。
6.根据权利要求1所述的方法,其特征在于,在会话期s内,所述组内成员按照设定的密钥周期时间依次使用该会话期的m个组密钥对组报文进行处理。
7.根据权利要求1所述的方法,其特征在于,当有组内成员退出所述通信群组时,所述通信群组内的其他组内成员停止使用当前会话期的组密钥,启用下一会话期的组密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410206766.5A CN103957101B (zh) | 2014-05-15 | 2014-05-15 | 一种群组通信中的组密钥建立方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410206766.5A CN103957101B (zh) | 2014-05-15 | 2014-05-15 | 一种群组通信中的组密钥建立方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103957101A CN103957101A (zh) | 2014-07-30 |
CN103957101B true CN103957101B (zh) | 2017-05-24 |
Family
ID=51334331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410206766.5A Active CN103957101B (zh) | 2014-05-15 | 2014-05-15 | 一种群组通信中的组密钥建立方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103957101B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104168320B (zh) * | 2014-08-19 | 2018-01-26 | 三星电子(中国)研发中心 | 一种用户数据分享的方法和系统 |
US9923715B2 (en) * | 2015-06-09 | 2018-03-20 | Intel Corporation | System, apparatus and method for group key distribution for a network |
CN107294932B (zh) * | 2016-04-12 | 2019-11-15 | 中国电信股份有限公司 | 用于集中控制式密钥管理的方法和服务器 |
CN109348303B (zh) * | 2018-09-30 | 2021-02-02 | 武汉斗鱼网络科技有限公司 | 一种弹幕消息的分发方法、装置、终端和存储介质 |
CN109872154A (zh) * | 2019-01-31 | 2019-06-11 | 中国—东盟信息港股份有限公司 | 一种基于区块链交易数据的身份实名认证系统 |
CN110061836B (zh) * | 2019-04-10 | 2021-09-24 | 湖北工业大学 | 一种具有前向安全性的组密钥分发方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1571343A (zh) * | 2003-07-22 | 2005-01-26 | 华为技术有限公司 | 一种多播/广播业务群组共享密钥的更新方法 |
WO2009135444A1 (zh) * | 2008-05-09 | 2009-11-12 | 西安西电捷通无线网络通信有限公司 | 一种密钥分配方法、终端设备及密钥分配中心 |
CN101951602A (zh) * | 2010-10-13 | 2011-01-19 | 上海电力学院 | 一种可自愈并带头节点撤销的密钥分发方法 |
-
2014
- 2014-05-15 CN CN201410206766.5A patent/CN103957101B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1571343A (zh) * | 2003-07-22 | 2005-01-26 | 华为技术有限公司 | 一种多播/广播业务群组共享密钥的更新方法 |
WO2009135444A1 (zh) * | 2008-05-09 | 2009-11-12 | 西安西电捷通无线网络通信有限公司 | 一种密钥分配方法、终端设备及密钥分配中心 |
CN101951602A (zh) * | 2010-10-13 | 2011-01-19 | 上海电力学院 | 一种可自愈并带头节点撤销的密钥分发方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103957101A (zh) | 2014-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103957101B (zh) | 一种群组通信中的组密钥建立方法 | |
Piao et al. | Polynomial-based key management for secure intra-group and inter-group communication | |
CN101399660B (zh) | 协商组群密钥的方法和设备 | |
KR101070473B1 (ko) | 동적 그룹키 생성 방법 | |
CN101309137B (zh) | 一种基于秘密共享的单向函数树组播密钥管理方法 | |
Zhao et al. | Dynamic asymmetric group key agreement for ad hoc networks | |
Guo et al. | An authenticated group key distribution protocol based on the generalized Chinese remainder theorem | |
Yang et al. | Member expansion in quantum (t, n) threshold secret sharing schemes | |
WO2008151540A1 (fr) | Procédé, système et dispositif pour générer une clé de groupe | |
Xu et al. | Computation-efficient multicast key distribution | |
CN105071938A (zh) | 一种基于门限秘密共享的组认证方法 | |
Zhao et al. | An efficient fault-tolerant group key agreement protocol | |
Lin et al. | Secure and efficient group key management with shared key derivation | |
CN108964890B (zh) | 基于树型分层结构的可认证的多方量子密钥分配方法 | |
CN114257375A (zh) | 一种基于Android系统的多方语音通信密钥协商系统 | |
CN106487502B (zh) | 一种基于口令的轻量级密钥协商方法 | |
US8249258B2 (en) | Communication method and communication system using decentralized key management scheme | |
CN115473633B (zh) | 一种多方协同产生sm2数字签名的方法及装置 | |
Shi et al. | Baguena: a practical proof of stake protocol with a robust delegation mechanism | |
Chang et al. | Notes on “polynomial-based key management for secure intra-group and inter-group communication” | |
Yang et al. | One-round semi-quantum-honest key agreement scheme in MSTSA structure without entanglement | |
Lin et al. | Authenticated multi-user quantum key distribution with single particles | |
Zou et al. | A block-free TGDH key agreement protocol for secure group communications. | |
Liu et al. | A scheme for key distribution in wireless sensor network based on Hierarchical Identity-Based Encryption | |
Rajaram et al. | An interval based contributory key agreement |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |