CN115314203B - 群组密钥协商方法 - Google Patents

群组密钥协商方法 Download PDF

Info

Publication number
CN115314203B
CN115314203B CN202211239227.2A CN202211239227A CN115314203B CN 115314203 B CN115314203 B CN 115314203B CN 202211239227 A CN202211239227 A CN 202211239227A CN 115314203 B CN115314203 B CN 115314203B
Authority
CN
China
Prior art keywords
group
key
members
node
state
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
Application number
CN202211239227.2A
Other languages
English (en)
Other versions
CN115314203A (zh
Inventor
晏志文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Yiketeng Information Technology Co ltd
Original Assignee
Nanjing Yiketeng Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Yiketeng Information Technology Co ltd filed Critical Nanjing Yiketeng Information Technology Co ltd
Priority to CN202211239227.2A priority Critical patent/CN115314203B/zh
Publication of CN115314203A publication Critical patent/CN115314203A/zh
Application granted granted Critical
Publication of CN115314203B publication Critical patent/CN115314203B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种群组密钥协商方法,所述方法包括:群组管理者根据多个入组请求生成多端通信群组的成员列表,并发送至每一个组成员;多个组成员参与组内管理者的竞选,并在投票后选举出组内管理者;组内管理者对多个组成员分配成员序列号,并将成员序列号、前驱节点序列号和后继节点序列号发送至对应的组成员;每一个组成员根据密钥交换方法生成多端通信群组的群组密钥,并基于群组密钥与其它组成员进行通信。本发明所提供的技术方案能够解决现有技术中群组密钥协商需要依赖中心节点的技术问题,能够通过相邻组成员之间的信息交互直接生成群组密钥,实现高效群组密钥协商,不依赖中心节点的安全性、鲁棒性和吞吐性能,具备抗攻击特性。

Description

群组密钥协商方法
技术领域
本发明涉及信息安全技术领域,尤其涉及一种群组密钥协商方法。
背景技术
信息系统中存在大量的多端通信场景,如视频会议、IM群聊、FullMesh网络通信等。对于群组中多对多(N:N)的通信模型,例如IM群组通信和加密会议都需要多方参与,采用点对点密钥协商的效率是不可接受的,需要在群组之间生成一致的会话密钥,多端共同加入一个群组,共享这支群组密钥,因此需要一种能够协商群组密钥的方法。
现有技术中,可以通过多种加密技术实现点对点之间的密钥交换,其中,有基于对称原理的加密技术,也有基于非对称原理的加密技术,常见的群组密钥协商方法由业务中心或密钥分发中心KDC作为中心节点,协助组成员完成群组密钥协商,组成员与中心节点完成身份认证后由中心节点统一下发群组密钥。但是,这种中心化的方式需要引入可信第三方,中心节点的安全性、性能和稳定性会成为系统的瓶颈。去中心化的密钥协商能够使群组的各个参与方处于平等地位,没有绝对的中心节点,群组成员之间通过密钥算法生成群组密钥,无需依赖中心节点,成为了群组通信安全的重要问题。
在安全的角度上,去中心化的群组密钥不但能解决群组密钥的交换问题,同时也解决了中心化带来的安全问题——中心节点是群组通信系统的稳定性、吞吐量、安全性的焦点和瓶颈。综上,需要提供一种去中心化的群组密钥生成方法,解决现有技术中群组密钥协商依赖中心节点的技术问题。
发明内容
本发明提供了一种群组密钥协商方法,旨在有效解决现有技术中群组密钥协商需要依赖中心节点的技术问题,本发明的技术方案能够通过相邻组成员之间的信息交互直接生成群组密钥,实现了群组密钥协商的去中心化。
根据本发明的一方面,本发明提供一种群组密钥协商方法,所述方法包括:
群组管理者接收来自多个组成员的用于加入多端通信群组的多个入组请求,并根据所述多个入组请求生成所述多端通信群组的成员列表,以及将所述成员列表发送至所述多个组成员中的每一个组成员;
所述多个组成员基于随机定时器和所述成员列表参与所述多端通信群组的组内管理者的竞选,并在组成员投票后选举出所述组内管理者;
所述组内管理者基于所述成员列表对所述多个组成员分配成员序列号,根据所述每一个组成员的成员序列号计算对应的前驱节点序列号和后继节点序列号,并将所述每一个组成员的成员序列号、对应的前驱节点序列号和后继节点序列号发送至对应的组成员;
所述每一个组成员根据密钥交换方法生成各自的交换公钥和私钥,并基于各自的成员序列号、前驱节点序列号和后继节点序列号以及交换公钥和私钥生成所述多端通信群组的群组密钥;
处于通信状态的组成员基于所述群组密钥和所述成员列表与所述多端通信群组的其它组成员进行通信。
进一步地,所述方法还包括:
在所述将所述成员列表发送至所述多个组成员中的每一个组成员之前,待入组的组成员向域名系统请求所述群组管理者的地址信息,并基于所述地址信息向所述群组管理者发送携载了成员参数信息的入组请求,其中,所述成员参数信息包括所述待入组的组成员的地址信息、公钥信息以及所述多端通信群组的群组标识;
所述群组管理者基于所述公钥信息对所述待入组的组成员进行身份验证,并在验证通过后基于所述成员参数信息在所述成员列表中添加所述待入组的组成员,将更新后的成员列表发送至更新后的多个组成员中的每一个组成员。
进一步地,所述方法还包括:
在所述将所述成员列表发送至所述多个组成员中的每一个组成员之后,所述每一个组成员基于预设的第一周期定期向所述群组管理者发送在线信息,以使所述群组管理者确定组成员处于在线状态,若所述群组管理者在所述第一周期内未接收到所述在线信息,则确定对应的组成员处于离线状态,并在所述成员列表中删除处于所述离线状态的组成员,将更新后的成员列表发送至更新后的多个组成员中的每一个组成员;
若所述群组管理者接收到待离组的组成员发送的离开请求,则在所述成员列表中删除所述待离组的组成员,并将更新后的成员列表发送至更新后的多个组成员中的每一个组成员。
进一步地,所述每一个组成员的当前状态处于状态机的多个状态中的一个,所述多个状态包括初始状态、候选状态、跟随状态和领导状态,其中,所述每一个组成员在接收到所述成员列表之前处于所述初始状态。
进一步地,所述多个组成员基于随机定时器和所述成员列表参与所述多端通信群组的组内管理者的竞选,并在组成员投票后选举出所述组内管理者包括:
所述每一个组成员在收到所述成员列表后由所述初始状态转为所述跟随状态,当所述多个组成员中的任一组成员所对应的随时定时器进入超时状态时,该组成员由所述跟随状态转为候选状态,并基于所述成员列表向其它组成员发送竞选请求;
当处于所述跟随状态的组成员收到一个或多个竞选请求后,向所接收的第一个竞选请求对应的组成员发送投票响应;
处于所述候选状态的组成员基于所述多个组成员的成员数量计算票数阈值,并在接收到任意一个投票响应后计算当前的票数总量,当所述票数总量不小于所述票数阈值时,该组成员由所述候选状态转为所述领导状态并成为所述多端通信群组的组内管理者。
进一步地,所述方法还包括:
在所述组成员由所述候选状态转为所述领导状态并成为所述多端通信群组的组内管理者后,所述组内管理者向所述多端通信群组的其它组成员发送任期信息;
处于所述候选状态的组成员在接收到所述任期信息后由所述候选状态转为所述跟随状态并启动各自的随机定时器;
所述组内管理者基于预设的第二周期定期向处于所述跟随状态的组成员发送定时器复位信息,以使所述多端通信群组内的其它组成员保持在所述跟随状态。
进一步地,所述组内管理者根据所述每一个组成员的成员序列号计算对应的前驱节点序列号和后继节点序列号包括:
所述组内管理者基于所述多个组成员对应的多个成员序列号构建环形成员列表;
基于所述环形成员列表以及下列关系式计算所述每一个组成员的前驱节点序列号和后继节点序列号:
NodeBi=m(i-1)% n,i∈[0,n-1],
NodeFi=m(i+1)% n,i∈[0,n-1],
其中,NodeBi表示成员序列号为mi的组成员所对应的前驱节点序列号,NodeFi表示成员序列号为mi的组成员所对应的后继节点序列号,(m0,m1,m2,…,mn-1)表示所述多个成员序列号的集合,n表示所述多个组成员的成员数量,%为向下取整的取模运算符。
进一步地,所述方法还包括:
在所述每一个组成员根据密钥交换方法生成各自的交换公钥之前,所述每一个组成员基于各自的前驱节点序列号和数字证书与对应的前驱节点进行双向身份认证,以及基于各自的后继节点序列号和所述数字证书与对应的后继节点进行双向身份认证。
进一步地,所述每一个组成员根据密钥交换方法生成各自的交换公钥包括:
所述每一个组成员基于所述多端通信群组确定的与所述密钥交换方法相对应的标准参数对生成各自的私钥,其中,所述标准参数对包括模数和模数的原根;
所述每一个组成员基于所述模数、所述模数的原根和私钥生成各自的交换公钥。
进一步地,所述每一个组成员基于所述模数、所述模数的原根和私钥生成各自的交换公钥包括:
基于下式生成交换公钥:
Figure 833549DEST_PATH_IMAGE001
其中,Pubi表示所述环形成员列表中第(i+1)个组成员的交换公钥,ai表示所述第(i+1)个组成员的私钥对应的随机数,p表示所述模数,g表示所述模数的原根,mod为取余运算符。
进一步地,所述基于各自的成员序列号、前驱节点序列号和后继节点序列号以及交换公钥和私钥生成所述多端通信群组的群组密钥包括:
所述每一个组成员将各自的交换公钥作为传递信息发送至对应的后继节点,同时接收对应的前驱节点发送的传递信息,并将密钥生成序号的数值置为1;
执行下列循环操作以生成所述群组密钥:判断所述密钥生成序号是否等于预设数值,若所述密钥生成序号等于所述预设数值,则所述每一个组成员基于各自的私钥和对应的前驱节点发送的传递信息生成所述群组密钥,若所述密钥生成序号小于所述预设数值,则所述每一个组成员基于各自的私钥和对应的前驱节点发送的传递信息生成更新后的传递信息,并将更新后的传递信息发送至对应的后继节点,同时接收对应的前驱节点发送的更新后的传递信息,并将所述密钥生成序号的数值加1,其中,所述预设数值和成员序列号的最大数值保持一致。
进一步地,所述每一个组成员基于各自的私钥和对应的前驱节点发送的传递信息生成更新后的传递信息包括:
基于下式生成更新后的传递信息:
Figure 718328DEST_PATH_IMAGE002
其中,
Figure 47679DEST_PATH_IMAGE003
表示所述环形成员列表中第(i+1)个组成员在传递信息更新后所述密 钥生成序号为(c+1)时所对应的传递信息,
Figure 308896DEST_PATH_IMAGE004
表示所述第(i+1)个组成员在所述密钥生成 序号为c时所接收的对应的前驱节点发送的传递信息,ai表示所述第(i+1)个组成员的私钥 对应的随机数,p表示所述模数,mod为取余运算符。
通过本发明中的上述实施例中的一个实施例或多个实施例,至少可以实现如下技术效果:
在本发明所公开的技术方案中,提出了一种去中心化的群组密钥协商方法,由群组管理者维护更新组成员关系,并生成了成员列表,组成员加入群组后自动发起组内管理者选举,组内管理者仅做组成员关系链的编排和指令下发,每一个组成员和各自的直接前驱和直接后继进行信息交互以实现群组密钥协商,减少了成员关系,降低了交互复杂度。对于密钥协商过程,任一组成员的关系对等,不存在中心化节点。协商双方进行双向身份认证,保证了协商的真实性。所有组成员在群组密钥协商过程中对于群组密钥的生成处于对等地位,不需要引入可信第三方。群组可以动态更新组成员,而不触发不必要的重新协商,能够满足多端通信的群组密钥协商需求。
综上,本发明提供了去中心化群组密钥的协商方式,可以实现高效群组密钥协商,不依赖中心节点的安全性、鲁棒性和吞吐性能,组成员灵活加入退出,组内管理者可以故障迁移,群组成员在业务侧实现身份认证,具备抗攻击特性。
附图说明
下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。
图1为本发明实施例提供的一种群组密钥协商方法的步骤流程图;
图2为本发明实施例提供的一种组成员加入多端通信群组的步骤流程图;
图3为本发明实施例提供的一种组成员状态机转换示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1所示为本发明实施例所提供的群组密钥协商方法的步骤流程图,所述方法包括:
步骤101:群组管理者接收来自多个组成员的用于加入多端通信群组的多个入组请求,并根据所述多个入组请求生成所述多端通信群组的成员列表,以及将所述成员列表发送至所述多个组成员中的每一个组成员;
步骤102:所述多个组成员基于随机定时器和所述成员列表参与所述多端通信群组的组内管理者的竞选,并在组成员投票后选举出所述组内管理者;
步骤103:所述组内管理者基于所述成员列表对所述多个组成员分配成员序列号,根据所述每一个组成员的成员序列号计算对应的前驱节点序列号和后继节点序列号,并将所述每一个组成员的成员序列号、对应的前驱节点序列号和后继节点序列号发送至对应的组成员;
步骤104:所述每一个组成员根据密钥交换方法生成各自的交换公钥和私钥,并基于各自的成员序列号、前驱节点序列号和后继节点序列号以及交换公钥和私钥生成所述多端通信群组的群组密钥;
步骤105:处于通信状态的组成员基于所述群组密钥和所述成员列表与所述多端通信群组的其它组成员进行通信。
以下对上述步骤101~105进行具体描述。
在步骤101中,群组管理者接收来自多个组成员的用于加入多端通信群组的多个入组请求,并根据所述多个入组请求生成所述多端通信群组的成员列表,以及将所述成员列表发送至所述多个组成员中的每一个组成员。
示例性地,在信息通信系统中,存在大量用于进行组内通信的群组,不同的群组处于不同的状态,比如通信状态、组群状态、密钥生成状态等。为了维护组成员,有用于管理群组的组成员的群组管理者,其中,群组管理者一般为汇聚点RP,汇聚点RP是一个能够完成组成员加入、组成员离开和组成员管理的节点。在通信系统中,群组管理者同时管理多个群组,能够同时完成多个群组内成员的入组流程和离开流程,在多端通信中起到重要的管理作用。
针对任意一个群组,群组管理者接收不同的组成员发送的入组请求,并基于当前状态下的组成员相关的信息生成一张携载了组成员信息的成员列表,然后将该列表发送至群组内的每一个组成员,由此,组成员能够确定出组内其它成员的相关信息,以及组内成员的数量等。
在步骤102中,所述多个组成员基于随机定时器和所述成员列表参与所述多端通信群组的组内管理者的竞选,并在组成员投票后选举出所述组内管理者。
示例性地,多个组成员在接收到成员列表后,在当前状态下群组内可能没有组内管理者,比如,新成立的群组,或者是之前的组内管理者失效或者离群的群组,在无组内管理者的情况下,每一个组成员等待各自的随机定时器进入超时状态。
其中,随机定时器可以基于组内成员的数量和竞选时间来确定,例如时间可以设置为10秒到15秒,程序运行时从在时间范围内选取一个随机值作为定时器时间,不同节点定时器的时间基本不同,同一节点每次选择的定时器时间也会不同。随机定时器的作用主要是让节点发起选举的时间尽量错开,减少竞选的时间冲突。
当其中任意一个组成员的随机定时器超时后,处于超时状态的组成员则参与竞选,一般情况下,随机定时器会将不同组成员的竞选时间错开,当然也有可能在同一时刻下有多个参与竞选的组成员。
参与竞选的组成员向其它的组成员发送竞选信息,当前其它组成员收到竞选信息后则参与投票,直至选出多端通信群组的组内管理者。
在步骤103中,所述组内管理者基于所述成员列表对所述多个组成员分配成员序列号,根据所述每一个组成员的成员序列号计算对应的前驱节点序列号和后继节点序列号,并将所述每一个组成员的成员序列号、对应的前驱节点序列号和后继节点序列号发送至对应的组成员。
示例性地,当组内管理者成功竞选后,则对多端通信群组进行组成员关系编排,具体来说,组内管理者基于成员列表生成每一个组成员的成员序列号,并将成员序列号排列组成一个环形成员列表。然后根据每一个组成员的成员序列号计算出对应的前驱节点序列号和后继节点序列号,并将其发送至对应的组成员。每一个组成员只需要知道自己的成员序列号,以及相邻的两个组成员的成员序列号,并且在密钥协商过程中,只需要两个相邻的组成员之间进行通信,即后续密钥协商流程仅发生于成员节点和其直接前驱节点及直接后继节点。
在步骤104中,所述每一个组成员根据密钥交换方法生成各自的交换公钥和私钥,并基于各自的成员序列号、前驱节点序列号和后继节点序列号以及交换公钥和私钥生成所述多端通信群组的群组密钥。
示例性地,在每个节点都接收到各自和相邻节点的成员序列号后,进入密钥协商过程。首先,每一个组成员根据密钥交换方法生成各自的交换公钥和私钥,基于加密算法生成传递信息,然后开始多轮的密钥协商过程。在每一轮信息交互中,在将传递信息发送给相邻的下一个后继节点时,同时接收前驱节点发送的传递信息。其中,在多轮信息交互过程中,信息的传递方向保持一致,以保证最后每个组成员生成相同的群组密钥。
在步骤105中,处于通信状态的组成员基于所述群组密钥和所述成员列表与所述多端通信群组的其它组成员进行通信。
示例性地,当生成群组密钥后,每一个组成员的群组密钥都相同,群组内的任意的点对点、一对多和多对多的通信都可以基于该群组密钥进行信息交互,以保证组内通信的安全性。
进一步地,所述方法还包括:
在所述将所述成员列表发送至所述多个组成员中的每一个组成员之前,待入组的组成员向域名系统请求所述群组管理者的地址信息,并基于所述地址信息向所述群组管理者发送携载了成员参数信息的入组请求,其中,所述成员参数信息包括所述待入组的组成员的地址信息、公钥信息以及所述多端通信群组的群组标识;
所述群组管理者基于所述公钥信息对所述待入组的组成员进行身份验证,并在验证通过后基于所述成员参数信息在所述成员列表中添加所述待入组的组成员,将更新后的成员列表发送至更新后的多个组成员中的每一个组成员。
示例性地,域名系统(DNS)是互联网的一项服务,由域名解析器和域名服务器组成,是一个将域名和IP地址相互映射的分布式数据库。其中,域名解析器能够把域名指向网站空间IP,通过注册的域名可以方便地访问到网站。域名服务器保存网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址的功能。
图2为本发明实施例提供的一种组成员加入多端通信群组的步骤流程图。如图2所示,在组成一个群组时,首先,进入步骤“①请求地址信息”,即所有组成员向域名系统(DNS)请求群组管理者(汇聚点RP)的地址信息,请求群组管理者(汇聚点RP)是一个能够完成组成员加入、组成员离开和组成员管理的节点。
然后,进入步骤“②发送入组请求”,所有成员向群组管理者(汇聚点RP)发起申请加入群组的入组请求,其中,该入组请求中携载了各自的成员参数信息(Gid,IP,Pid),其中,Gid为多端通信群组的群组标识(ID标识),IP为组成员的IP地址,Pid为组成员的PKI公钥,用于成员间的身份认证。
再次,进入步骤“③生成成员列表”,群组管理者基于公钥信息(PKI公钥Pid)对待入组的组成员进行身份验证,并在验证通过后生成多端通信群组的成员列表。
最后,进入步骤“④广播成员列表”,群组管理者将成员列表广播至多个组成员中的每一个组成员。
进一步地,所述方法还包括:
在所述将所述成员列表发送至所述多个组成员中的每一个组成员之后,所述每一个组成员基于预设的第一周期定期向所述群组管理者发送在线信息,以使所述群组管理者确定组成员处于在线状态,若所述群组管理者在所述第一周期内未接收到所述在线信息,则确定对应的组成员处于离线状态,并在所述成员列表中删除处于所述离线状态的组成员,将更新后的成员列表发送至更新后的多个组成员中的每一个组成员;
若所述群组管理者接收到待离组的组成员发送的离开请求,则在所述成员列表中删除所述待离组的组成员,并将更新后的成员列表发送至更新后的多个组成员中的每一个组成员。
示例性地,组成员一旦加入群组后,需要向群组管理者(汇聚点RP)定时发送心跳保活。具体来说,每一个组成员基于预设的第一周期定期向群组管理者(汇聚点RP)发送在线信息,一旦群组管理者在第一周期内未接收到在线信息,则删除处于离线状态的组成员,然后更新后成员列表,并发送至更新后的多个组成员。另外,组成员可以向群组管理者(汇聚点RP)主动发起离开,不再参与新一轮的群组密钥协商。
群组管理者(汇聚点RP)以组成员列表为单位,向列表内的组成员广播成员列表,并在成员列表更新时及时通知当前列表中的每一个组成员,例如新成员加入或旧成员删除,其中,一旦组成员列表内没有成员时,即所有的组成员都离开群组后,群组管理者(汇聚点RP)删除该组成员列表。
进一步地,所述每一个组成员的当前状态处于状态机的多个状态中的一个,所述多个状态包括初始状态、候选状态、跟随状态和领导状态,其中,所述每一个组成员在接收到所述成员列表之前处于所述初始状态。
示例性地,每一个组成员都处在一个状态机中,状态机包括四种状态,具体为:初始状态(Init)、候选状态(Candidate)、跟随状态(Follower)和领导状态(Leader),群组内的任意一个组成员在任意一个时刻都处于其中一个状态,并在不同的触发条件下在不同状态之间进行转换。其中,每一个组成员在接收到成员列表后立即进入初始状态。
进一步地,所述多个组成员基于随机定时器和所述成员列表参与所述多端通信群组的组内管理者的竞选,并在组成员投票后选举出所述组内管理者包括:
所述每一个组成员在收到所述成员列表后由所述初始状态转为所述跟随状态,当所述多个组成员中的任一组成员所对应的随时定时器进入超时状态时,该组成员由所述跟随状态转为候选状态,并基于所述成员列表向其它组成员发送竞选请求;
当处于所述跟随状态的组成员收到一个或多个竞选请求后,向所接收的第一个竞选请求对应的组成员发送投票响应;
处于所述候选状态的组成员基于所述多个组成员的成员数量计算票数阈值,并在接收到任意一个投票响应后计算当前的票数总量,当所述票数总量不小于所述票数阈值时,该组成员由所述候选状态转为所述领导状态并成为所述多端通信群组的组内管理者。
示例性地,图3为本发明实施例提供的一种组成员状态机转换示意图。如图3所示,组成员的状态机共有四个状态:初始状态(Init)、候选状态(Candidate)、跟随状态(Follower)和领导状态(Leader),组成员在最开始时处于初始状态(Init)状态,在第一次收到组成员列表后转为跟随状态(Follower)状态,随后启动随机定时器,定时器超时后转为候选状态(Candidate)状态。
处于候选状态(Candidate)状态的组成员向当前组成员列表的其它成员发送竞选请求以发起当前任期的投票,采用先到先得(first-come, first-served)原则,其它组成员在接收到多个竞选请求时,向所接收的第一个竞选请求对应的组成员发送投票响应,其中,每个任期的成员只能投一票。
处于候选状态(Candidate)的组成员将多个组成员的成员数量的一半作为票数阈值,并在接收到投票响应后计算当前的票数总量,将票数总量和票数阈值进行比较以确定是否当选。在多个参与竞选的组成员中,票数总量最先超过半数的组成员胜出,并向其它组成员宣告自己为组内管理者(Leader),并且该组成员由候选状态转为领导状态。
进一步地,所述方法还包括:
在所述组成员由所述候选状态转为所述领导状态并成为所述多端通信群组的组内管理者后,所述组内管理者向所述多端通信群组的其它组成员发送任期信息;
处于所述候选状态的组成员在接收到所述任期信息后由所述候选状态转为所述跟随状态并启动各自的随机定时器;
所述组内管理者基于预设的第二周期定期向处于所述跟随状态的组成员发送定时器复位信息,以使所述多端通信群组内的其它组成员保持在所述跟随状态。
示例性地,为了使其它的处于候选状态的组成员停止竞选,组内管理者(Leader)的向其它组成员广播任期信息,处于候选状态(Candidate)的组成员自动转为跟随状态(Follower),并启动随机定时器。
为了保持组内管理者的角色,组内管理者(Leader)定期发送定时器复位信息来复位跟随状态(Follower)组成员的定时器,一旦随时定时器超时,则跟随状态(Follower)转为候选状态(Candidate),任期数加一,然后重复执行竞选步骤。
进一步地,所述组内管理者根据所述每一个组成员的成员序列号计算对应的前驱节点序列号和后继节点序列号包括:
所述组内管理者基于所述多个组成员对应的多个成员序列号构建环形成员列表;
基于所述环形成员列表以及下列关系式计算所述每一个组成员的前驱节点序列号和后继节点序列号:
NodeBi=m(i-1)% n,i∈[0,n-1],
NodeFi=m(i+1)% n,i∈[0,n-1],
其中,NodeBi表示成员序列号为mi的组成员所对应的前驱节点序列号,NodeFi表示成员序列号为mi的组成员所对应的后继节点序列号,(m0,m1,m2,…,mn-1)表示所述多个成员序列号的集合,n表示所述多个组成员的成员数量,%为向下取整的取模运算符。
示例性地,组内管理者(Leader)对存在n个成员的组成员列表进行随机排序,成员编号为(m0,m1,m2,…,mn-1),并将排序列表首尾相接形成环形成员列表。
计算每个成员节点mi的直接前驱节点的前驱节点序列号,以及直接后继节点的后继节点序列号,其中i∈[0,n-1],取模运算%中的除法采用向下floor取整。
组内管理者(Leader)向每个组成员节点mi发送其直接前驱节点和直接后继节点(NodeBi,NodeFi),后续密钥协商流程仅发生于每个组成员和其直接前驱节点及直接后继节点之间。
其中,向上取整运算称为Ceiling,表示等于大于自己的最小整数,数学符号为⌈⌉(上有起止,开口向下),例如数值-3.1向上取整为-3,3.1向上取整为4。向下取整运算称为Floor,数学符号为用⌊⌋(下有起止,开口向上),表示等于小于自己的最大整数。例如-3.1向下取整为-4,3.1向下取整为3。
假设多端通信群组内有10个成员,计算m0的直接前驱节点序列号为:a=0-1=-1,b=10,a%b=-1%10=-1-⌊ -1/10 ⌋*10=-1-⌊ -0.1 ⌋*10=-1-(-1)*10=9,所以0号成员的直接前驱(0-1)对应着9号成员,通过该计算方式,能够将计算结果和环形成员列表的序列号一一对应。
进一步地,所述方法还包括:
在所述每一个组成员根据密钥交换方法生成各自的交换公钥之前,所述每一个组成员基于各自的前驱节点序列号和数字证书与对应的前驱节点进行双向身份认证,以及基于各自的后继节点序列号和所述数字证书与对应的后继节点进行双向身份认证。
示例性地,组成员mi和直接前驱节点NodeBi完成双向身份认证,以及和直接后继节点NodeFi完成双向身份认证。
进一步地,所述每一个组成员根据密钥交换方法生成各自的交换公钥包括:
所述每一个组成员基于所述多端通信群组确定的与所述密钥交换方法相对应的标准参数对生成各自的私钥,其中,所述标准参数对包括模数和模数的原根;
所述每一个组成员基于所述模数、所述模数的原根和私钥生成各自的交换公钥。
进一步地,所述每一个组成员基于所述模数、所述模数的原根和私钥生成各自的交换公钥包括:
基于下式生成交换公钥:
Figure 446616DEST_PATH_IMAGE005
其中,Pubi表示所述环形成员列表中第(i+1)个组成员的交换公钥,ai表示所述第(i+1)个组成员的私钥对应的随机数,p表示所述模数,g表示所述模数的原根,mod为取余运算符。
示例性地,密钥交换方法(Diffie-Hellman)是一种依赖离散对数复杂性问题的密 钥交换协议。计算双方需要约定一组标准参数对(g,p),其中g称作p的原根,p为模数,是一 个大素数,p、g像椭圆曲线一样存在标准对。所谓原根,是指p和g为正整数,且p、g互质,令
Figure 236717DEST_PATH_IMAGE006
,如果d的最小正数恰好等于p的欧拉数,则称g是模p的原根。
如果对于一个整数A和素数p的原根g,可以唯一找到一个指数a,使得
Figure 850101DEST_PATH_IMAGE007
成立,其中0<=a<=p-1,那么指数a称为A的以g为基数的模p的离散对数。
多端通信群组选取固定的Diffie-Hellman标准参数对(g,p),每个组成员节点mi生成随机数ai作为自己的私钥,其中ai∈[0,p-1],每一个组成员基于模数、模数的原根和私钥计算各自的交换公钥(DH公钥),并将Pubi发送给各自的直接后继节点NodeFi
进一步地,所述基于各自的成员序列号、前驱节点序列号和后继节点序列号以及交换公钥和私钥生成所述多端通信群组的群组密钥包括:
所述每一个组成员将各自的交换公钥作为传递信息发送至对应的后继节点,同时接收对应的前驱节点发送的传递信息,并将密钥生成序号的数值置为1;
执行下列循环操作以生成所述群组密钥:判断所述密钥生成序号是否等于预设数值,若所述密钥生成序号等于所述预设数值,则所述每一个组成员基于各自的私钥和对应的前驱节点发送的传递信息生成所述群组密钥,若所述密钥生成序号小于所述预设数值,则所述每一个组成员基于各自的私钥和对应的前驱节点发送的传递信息生成更新后的传递信息,并将更新后的传递信息发送至对应的后继节点,同时接收对应的前驱节点发送的更新后的传递信息,并将所述密钥生成序号的数值加1,其中,所述预设数值和成员序列号的最大数值保持一致。
进一步地,所述每一个组成员基于各自的私钥和对应的前驱节点发送的传递信息生成更新后的传递信息包括:
基于下式生成更新后的传递信息:
Figure 55955DEST_PATH_IMAGE008
其中,
Figure 376078DEST_PATH_IMAGE009
表示所述环形成员列表中第(i+1)个组成员在传递信息更新后所述密 钥生成序号为(c+1)时所对应的传递信息,
Figure 399397DEST_PATH_IMAGE010
表示所述第(i+1)个组成员在所述密钥生成 序号为c时所接收的对应的前驱节点发送的传递信息,ai表示所述第(i+1)个组成员的私钥 对应的随机数,p表示所述模数,mod为取余运算符。
示例性地,每一个组成员mi收到其前驱节点NodeBi发送的转换消息
Figure 375444DEST_PATH_IMAGE011
后,计算出 更新后的传递信息
Figure 246972DEST_PATH_IMAGE012
,其中,c为具体表示从前驱节点收到的从0开始依次递 增的消息序号。根据计算方法可以计算出第(i+1)个组成员第一次计算出的转换消息为
Figure 687181DEST_PATH_IMAGE013
组成员mi
Figure 756768DEST_PATH_IMAGE014
发送给自己的直接后继节点NodeFi,然后进入循环中,直到组成员 mi收到前驱节点NodeBi的第(n-1)个消息
Figure 79165DEST_PATH_IMAGE015
时,计算群组密钥
Figure 954717DEST_PATH_IMAGE016
,且
Figure 921536DEST_PATH_IMAGE017
不再发给直接 后继节点NodeFi
具体来说,NodeBi表示第i个组成员mi的直接前驱节点(Back),NodeFi表示第i个节点mi的直接后继节点(Forward)。
每个节点mi先计算本地初始值
Figure 552237DEST_PATH_IMAGE018
,然后发给直接后继节点。
每个节点mi收到的直接前驱节点的消息为
Figure 971717DEST_PATH_IMAGE004
,即第一个消息是
Figure 650960DEST_PATH_IMAGE019
,第二个消息是
Figure 862499DEST_PATH_IMAGE020
,第三个消息是
Figure 273889DEST_PATH_IMAGE021
,一共会收到(n-1)个消息,n是成员数。收到(n-1)个消息,计算(n-1) 次,加上首次计算的Pubi,一共会进行n次运算。第n次运算不会发给直接后继,而是直接作 为最终的群组密钥,所以每个节点一共向直接后继节点发送了(n-1)个消息。
其中,每个节点mi收到直接前驱节点的
Figure 508561DEST_PATH_IMAGE022
后并不是直接发给直接后继,而是根据
Figure 791162DEST_PATH_IMAGE023
计算
Figure 732573DEST_PATH_IMAGE024
后再发送,该节点共收到前驱的(n-1)个消息,第(n-1)个消息为
Figure 642761DEST_PATH_IMAGE025
,计算对应 的值为
Figure 161467DEST_PATH_IMAGE026
,即最终的群组密钥。
下面以3个组成员(m0,m1,m2)的多端通信群组为例说明如何生成群组密钥:
首先,确定每一个组成员的成员序列号、对应的前驱节点序列号和后继节点序列号。其中,预设数值和成员序列号的最大数值保持一致,即预设数值为2。
m0的直接后继为m1,直接前驱为m2
m1的直接后继为m2,直接前驱为m0
m2的直接后继为m0,直接前驱为m1
然后,每一个组成员基于模数、模数的原根和私钥生成各自的交换公钥,每一个组成员将各自的交换公钥作为传递信息发送至对应的后继节点,同时接收对应的前驱节点发送的传递信息,其中,密钥生成序号为1。
m0计算初始值Pub0,m1计算初始值Pub1,m2计算初始值Pub2
m0将Pub0发送给m1,对m1来讲就是收到了
Figure 120195DEST_PATH_IMAGE027
m1将Pub1发送给m2,对m2来讲就是收到了
Figure 978430DEST_PATH_IMAGE028
m2将Pub2发送给m0,对m0来讲就是收到了
Figure 121835DEST_PATH_IMAGE029
再次,对密钥生成序号和预设数值进行比较,密钥生成序号为1,小于预设数值2,进入循环,每一个组成员基于各自的私钥和对应的前驱节点发送的传递信息生成更新后的传递信息,并将更新后的传递信息发送至对应的后继节点,同时接收对应的前驱节点发送的更新后的传递信息。计算结束后,将密钥计算次数的数值加1,当前的密钥生成序号变为2。
m0通过
Figure 331100DEST_PATH_IMAGE030
计算
Figure 93519DEST_PATH_IMAGE031
,并将
Figure 71840DEST_PATH_IMAGE032
发送给m1,对m1来讲就是收到了
Figure 120567DEST_PATH_IMAGE033
m1通过
Figure 489232DEST_PATH_IMAGE034
计算
Figure 679228DEST_PATH_IMAGE035
,并将
Figure 574372DEST_PATH_IMAGE036
发送给m2,对m2来讲就是收到了
Figure 669367DEST_PATH_IMAGE037
m2通过
Figure 649961DEST_PATH_IMAGE038
计算
Figure 816500DEST_PATH_IMAGE039
,并将
Figure 175938DEST_PATH_IMAGE040
发送给m0,对m0来讲就是收到了
Figure 566468DEST_PATH_IMAGE041
然后,再对密钥生成序号和预设数值进行比较,密钥生成序号为2,等于预设数值2,若密钥计算次数等于预设数值,则每一个组成员基于各自的私钥和对应的前驱节点发送的传递信息生成群组密钥。
m0通过
Figure 909724DEST_PATH_IMAGE042
计算
Figure 879954DEST_PATH_IMAGE043
,作为最终的群组密钥;
m1通过
Figure 484111DEST_PATH_IMAGE044
计算
Figure 186488DEST_PATH_IMAGE045
,作为最终的群组密钥;
m2通过
Figure 876095DEST_PATH_IMAGE046
计算
Figure 387367DEST_PATH_IMAGE047
,作为最终的群组密钥。
组成员mi计算出群组密钥Gk后向组内管理者(Leader)发送计算完成消息,当组内管理者(Leader)收到所有的组成员的计算完成消息后流程结束。
当组内管理者(Leader)在超时时间内未收到全员计算完成消息,说明有组成员发生故障,终止此轮计算,等待群组管理者重新通告成员列表,再次进行组成员关系编排和群组密钥协商。
当群组密钥到达生命周期时由组内管理者(Leader)发起新一轮协商;当有新成员加入,群组管理者重新通告组成员列表后,但群组密钥的生命周期未到达时,为了避免新一轮协商,可由当前组内管理者(Leader)直接向新加入成员通告当前群组密钥。
通过本发明中的上述实施例中的一个实施例或多个实施例,至少可以实现如下技术效果:
在本发明所公开的技术方案中,提出了一种去中心化的群组密钥协商方法,由群组管理者维护更新组成员关系,并生成了成员列表,组成员加入群组后自动发起组内管理者选举,组内管理者仅做组成员关系链的编排和指令下发,每一个组成员和各自的直接前驱和直接后继进行信息交互以实现群组密钥协商,减少了成员关系,降低了交互复杂度。对于密钥协商过程,任一组成员的关系对等,不存在中心化节点。协商双方进行双向身份认证,保证了协商的真实性。所有组成员在群组密钥协商过程中对于群组密钥的生成处于对等地位,不需要引入可信第三方。群组可以动态更新组成员,而不触发不必要的重新协商,能够满足多端通信的群组密钥协商需求。
本发明提供了去中心化群组密钥的协商方式,可以实现高效群组密钥协商,不依赖中心节点的安全性、鲁棒性和吞吐性能,组成员灵活加入退出,组内管理者可以故障迁移,群组成员在业务侧实现身份认证,具备抗攻击特性。
综上所述,虽然本发明已以优选实施例揭露如上,但上述优选实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。

Claims (11)

1.一种群组密钥协商方法,其特征在于,所述方法包括:
群组管理者接收来自多个组成员的用于加入多端通信群组的多个入组请求,并根据所述多个入组请求生成所述多端通信群组的成员列表,以及将所述成员列表发送至所述多个组成员中的每一个组成员;
所述多个组成员基于随机定时器和所述成员列表参与所述多端通信群组的组内管理者的竞选,并在组成员投票后选举出所述组内管理者;
所述组内管理者基于所述成员列表对所述多个组成员分配成员序列号,根据所述每一个组成员的成员序列号计算对应的前驱节点序列号和后继节点序列号,并将所述每一个组成员的成员序列号、对应的前驱节点序列号和后继节点序列号发送至对应的组成员;
所述每一个组成员根据密钥交换方法生成各自的交换公钥和私钥,并基于各自的成员序列号、前驱节点序列号和后继节点序列号以及交换公钥和私钥生成所述多端通信群组的群组密钥;
处于通信状态的组成员基于所述群组密钥和所述成员列表与所述多端通信群组的其它组成员进行通信;
其中,所述基于各自的成员序列号、前驱节点序列号和后继节点序列号以及交换公钥和私钥生成所述多端通信群组的群组密钥包括:
所述每一个组成员将各自的交换公钥作为传递信息发送至对应的后继节点,同时接收对应的前驱节点发送的传递信息,并将密钥生成序号的数值置为1;
执行下列循环操作以生成所述群组密钥:判断所述密钥生成序号是否等于预设数值,若所述密钥生成序号等于所述预设数值,则所述每一个组成员基于各自的私钥和对应的前驱节点发送的传递信息生成所述群组密钥,若所述密钥生成序号小于所述预设数值,则所述每一个组成员基于各自的私钥和对应的前驱节点发送的传递信息生成更新后的传递信息,并将更新后的传递信息发送至对应的后继节点,同时接收对应的前驱节点发送的更新后的传递信息,并将所述密钥生成序号的数值加1,其中,所述预设数值和成员序列号的最大数值保持一致。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述将所述成员列表发送至所述多个组成员中的每一个组成员之前,待入组的组成员向域名系统请求所述群组管理者的地址信息,并基于所述地址信息向所述群组管理者发送携载了成员参数信息的入组请求,其中,所述成员参数信息包括所述待入组的组成员的地址信息、公钥信息以及所述多端通信群组的群组标识;
所述群组管理者基于所述公钥信息对所述待入组的组成员进行身份验证,并在验证通过后基于所述成员参数信息在所述成员列表中添加所述待入组的组成员,将更新后的成员列表发送至更新后的多个组成员中的每一个组成员。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
在所述将所述成员列表发送至所述多个组成员中的每一个组成员之后,所述每一个组成员基于预设的第一周期定期向所述群组管理者发送在线信息,以使所述群组管理者确定组成员处于在线状态,若所述群组管理者在所述第一周期内未接收到所述在线信息,则确定对应的组成员处于离线状态,并在所述成员列表中删除处于所述离线状态的组成员,将更新后的成员列表发送至更新后的多个组成员中的每一个组成员;
若所述群组管理者接收到待离组的组成员发送的离开请求,则在所述成员列表中删除所述待离组的组成员,并将更新后的成员列表发送至更新后的多个组成员中的每一个组成员。
4.如权利要求1所述的方法,其特征在于,所述每一个组成员的当前状态处于状态机的多个状态中的一个,所述多个状态包括初始状态、候选状态、跟随状态和领导状态,其中,所述每一个组成员在接收到所述成员列表之前处于所述初始状态。
5.如权利要求4所述的方法,其特征在于,所述多个组成员基于随机定时器和所述成员列表参与所述多端通信群组的组内管理者的竞选,并在组成员投票后选举出所述组内管理者包括:
所述每一个组成员在收到所述成员列表后由所述初始状态转为所述跟随状态,当所述多个组成员中的任一组成员所对应的随时定时器进入超时状态时,该组成员由所述跟随状态转为候选状态,并基于所述成员列表向其它组成员发送竞选请求;
当处于所述跟随状态的组成员收到一个或多个竞选请求后,向所接收的第一个竞选请求对应的组成员发送投票响应;
处于所述候选状态的组成员基于所述多个组成员的成员数量计算票数阈值,并在接收到任意一个投票响应后计算当前的票数总量,当所述票数总量不小于所述票数阈值时,该组成员由所述候选状态转为所述领导状态并成为所述多端通信群组的组内管理者。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
在所述组成员由所述候选状态转为所述领导状态并成为所述多端通信群组的组内管理者后,所述组内管理者向所述多端通信群组的其它组成员发送任期信息;
处于所述候选状态的组成员在接收到所述任期信息后由所述候选状态转为所述跟随状态并启动各自的随机定时器;
所述组内管理者基于预设的第二周期定期向处于所述跟随状态的组成员发送定时器复位信息,以使所述多端通信群组内的其它组成员保持在所述跟随状态。
7.如权利要求1所述的方法,其特征在于,所述组内管理者根据所述每一个组成员的成员序列号计算对应的前驱节点序列号和后继节点序列号包括:
所述组内管理者基于所述多个组成员对应的多个成员序列号构建环形成员列表;
基于所述环形成员列表以及下列关系式计算所述每一个组成员的前驱节点序列号和后继节点序列号:
NodeBi=m(i-1)%n,i∈[0,n-1],
NodeFi=m(i+1)%n,i∈[0,n-1],
其中,NodeBi表示成员序列号为mi的组成员所对应的前驱节点序列号,NodeFi表示成员序列号为mi的组成员所对应的后继节点序列号,(m0,m1,m2,…,mn-1)表示所述多个成员序列号的集合,n表示所述多个组成员的成员数量,%为向下取整的取模运算符。
8.如权利要求7所述的方法,其特征在于,所述方法还包括:
在所述每一个组成员根据密钥交换方法生成各自的交换公钥之前,所述每一个组成员基于各自的前驱节点序列号和数字证书与对应的前驱节点进行双向身份认证,以及基于各自的后继节点序列号和所述数字证书与对应的后继节点进行双向身份认证。
9.如权利要求8所述的方法,其特征在于,所述每一个组成员根据密钥交换方法生成各自的交换公钥包括:
所述每一个组成员基于所述多端通信群组确定的与所述密钥交换方法相对应的标准参数对生成各自的私钥,其中,所述标准参数对包括模数和模数的原根;
所述每一个组成员基于所述模数、所述模数的原根和私钥生成各自的交换公钥。
10.如权利要求9所述的方法,其特征在于,所述每一个组成员基于所述模数、所述模数的原根和私钥生成各自的交换公钥包括:
基于下式生成交换公钥:
Figure 825523DEST_PATH_IMAGE001
其中,Pubi表示所述环形成员列表中第(i+1)个组成员的交换公钥,ai表示所述第(i+1)个组成员的私钥对应的随机数,p表示所述模数,g表示所述模数的原根,mod为取余运算符。
11.如权利要求10所述的方法,其特征在于,所述每一个组成员基于各自的私钥和对应的前驱节点发送的传递信息生成更新后的传递信息包括:
基于下式生成更新后的传递信息:
Figure 913565DEST_PATH_IMAGE002
其中,
Figure 744380DEST_PATH_IMAGE003
表示所述环形成员列表中第(i+1)个组成员在传递信息更新后所述密钥生成序号为(c+1)时所对应的传递信息,
Figure 271176DEST_PATH_IMAGE004
表示所述第(i+1)个组成员在所述密钥生成序号为c时所接收的对应的前驱节点发送的传递信息,ai表示所述第(i+1)个组成员的私钥对应的随机数,p表示所述模数,mod为取余运算符。
CN202211239227.2A 2022-10-11 2022-10-11 群组密钥协商方法 Active CN115314203B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211239227.2A CN115314203B (zh) 2022-10-11 2022-10-11 群组密钥协商方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211239227.2A CN115314203B (zh) 2022-10-11 2022-10-11 群组密钥协商方法

Publications (2)

Publication Number Publication Date
CN115314203A CN115314203A (zh) 2022-11-08
CN115314203B true CN115314203B (zh) 2022-12-20

Family

ID=83867983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211239227.2A Active CN115314203B (zh) 2022-10-11 2022-10-11 群组密钥协商方法

Country Status (1)

Country Link
CN (1) CN115314203B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115955358B (zh) * 2023-01-11 2023-05-02 北京唯科致远科技有限公司 基于点对点通信的数据流传输系统
CN116232775B (zh) * 2023-05-09 2023-07-18 北京天辰信科技有限公司 一种基于权限设置的一对多通讯方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6987855B1 (en) * 1999-09-10 2006-01-17 Cisco Technology, Inc. Operational optimization of a shared secret Diffie-Hellman key exchange among broadcast or multicast groups
CN101291214A (zh) * 2007-04-19 2008-10-22 华为技术有限公司 一种生成组密钥的方法、系统和设备
CN101321053A (zh) * 2007-06-08 2008-12-10 华为技术有限公司 一种生成组密钥的方法、系统和设备
CN101399660A (zh) * 2007-09-28 2009-04-01 华为技术有限公司 协商组群密钥的方法和设备
CN110011795A (zh) * 2019-04-12 2019-07-12 郑州轻工业学院 基于区块链的对称群组密钥协商方法
CN110266482A (zh) * 2019-06-21 2019-09-20 郑州轻工业学院 一种基于区块链的非对称群组密钥协商方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102177677A (zh) * 2008-10-22 2011-09-07 索尼公司 密钥共享系统
CN106027241B (zh) * 2016-07-08 2019-03-08 郑州轻工业学院 一种弹性非对称群组密钥协商的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6987855B1 (en) * 1999-09-10 2006-01-17 Cisco Technology, Inc. Operational optimization of a shared secret Diffie-Hellman key exchange among broadcast or multicast groups
CN101291214A (zh) * 2007-04-19 2008-10-22 华为技术有限公司 一种生成组密钥的方法、系统和设备
CN101321053A (zh) * 2007-06-08 2008-12-10 华为技术有限公司 一种生成组密钥的方法、系统和设备
CN101399660A (zh) * 2007-09-28 2009-04-01 华为技术有限公司 协商组群密钥的方法和设备
CN110011795A (zh) * 2019-04-12 2019-07-12 郑州轻工业学院 基于区块链的对称群组密钥协商方法
CN110266482A (zh) * 2019-06-21 2019-09-20 郑州轻工业学院 一种基于区块链的非对称群组密钥协商方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
群组通信中密钥管理协议;杨彦炯等;《数学的实践与认识》;20100608(第11期);全文 *

Also Published As

Publication number Publication date
CN115314203A (zh) 2022-11-08

Similar Documents

Publication Publication Date Title
CN115314203B (zh) 群组密钥协商方法
CN106878071B (zh) 一种基于Raft算法的区块链共识机制
Steiner et al. Key agreement in dynamic peer groups
Kim et al. Group key agreement efficient in communication
US20050163061A1 (en) Zero configuration peer discovery in a grid computing environment
Abraham et al. Distributed protocols for leader election: A game-theoretic perspective
CN101309137B (zh) 一种基于秘密共享的单向函数树组播密钥管理方法
CN108282334A (zh) 一种基于区块链的多方密钥协商装置、方法及系统
Wang et al. Randchain: Practical scalable decentralized randomness attested by blockchain
WO2020173501A1 (zh) 一种基于区块链的交易系统
Parthasarathi et al. Decision Tree Based Key Management for Secure Group Communication.
Trappe et al. Resource-aware conference key establishment for heterogeneous networks
Corman et al. A Secure Group Agreement (SGA) protocol for peer-to-peer applications
Yuan et al. Security and improvement of an authenticated group key transfer protocol based on secret sharing
CN110971404B (zh) 一种面向安全跨域通信的无证书群密钥协商方法
CN108768787B (zh) 一种区块链节点激励方法及装置
JP4371629B2 (ja) グループ暗号通信方法、認証方法、計算機及びプログラム
Steinwandt et al. Attribute-based group key establishment
CN111447087B (zh) 一种动态组网的区块链配置方法
Luo et al. MPC-DPOS: An efficient consensus algorithm based on secure multi-party computation
CN111818152B (zh) 一种基于分布式网络的领导者选举的共识方法
Wang et al. Rational secret sharing with semi-rational players
US20210234667A1 (en) Method and system for proof of election on a blockchain
Guo et al. Scalable protocol for cross-domain group password-based authenticated key exchange
Abdel‐Hafez et al. Scalable and fault‐tolerant key agreement protocol for dynamic groups

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant