一种高效的群组密钥协商方法与流程
- 国知局
- 2024-08-02 14:35:12
本发明涉及保密通信,特别涉及一种高效的群组密钥协商方法。
背景技术:
1、随着互联网和物联网技术的发展,越来越多的场景会涉及到一个群组的多个成员之间的信息交互,比如群聊、文件共享等。为了使得信息可以在多个成员间安全地传输,首先需要通过密钥协商过程确定所使用的会话密钥以对信息进行加解密。为了解决成员两两之间创建密钥的开销太大的问题,可以由专门管理密钥的节点决定整个群组的密钥,但如果成员非常多,该节点可能没有足够的计算能力在短时间内处理其他节点发送的信息。另一方面,目前群组中的密钥传递一般应用了公钥加密,并且为了进行身份认证和保证信息的完整性,还需要依赖于数字签名和认证中心,这些都带来了额外的开销。
技术实现思路
1、针对现有技术存在以上缺陷,本发明提出一种高效的群组密钥协商方法。
2、本发明的技术方案是这样实现的:
3、一种高效的群组密钥协商方法,通过以下步骤进行密钥协商:
4、1)将一个含有n个节点的群组中所有节点按层分成多个子群组以及一个根节点,每个子群组中最多有个节点,其中为正整数,再选取个节点作为根节点的子节点,对于每个子节点,再分出个子节点,直至n个节点分层完成,计算出总层数;
5、2)为每一对父子节点分配认证密钥用于身份认证;
6、3)所有叶子节点各自生成一个随机数,使用认证密钥加密后连同身份编号发送给其父节点;
7、4)父节点收到后通过身份编号获取相应的认证密钥,解密获得随机数,将其所有子节点的随机数组合并加密后继续发送给其父节点;
8、5)重复以上步骤3)-4)过程,直到根节点组合出了最终的会话密钥,然后根节点使用相应的认证密钥加密该会话密钥并下发送给各个子节点;
9、6)子节点收到后解密获得会话密钥,并重复所述下发送的过程,直到叶子节点均获得会话密钥。
10、所述会话密钥用于各节点之间进行密钥交换、节点之间通信或数据加密安全传输等。
11、优选地,总层数计算步骤如下:
12、在一个网络系统的群组中,有个节点需要进行群组通讯,首先在群组中选出一个根节点,用于接收其他节点发送的随机数或随机数组合,并生成最终的会话密钥,将其他节点拆成个子群组,在每个子群组中选出一个节点,分别记为,这个子群组中的每一个节点继续拆成个子群组,最终形成一个多层结构,计算出多层结构的总层数为,其中n为正整数,各层的具体结构如下所示,在每一层中箭头右侧为该层所包含的节点,箭头左侧为该层节点对应的父节点:
13、第1层:
14、(根节点),
15、第2层:
16、,
17、第3层:
18、……
19、第m层:
20、,
21、……
22、第n层:
23、,
24、。
25、优选地,参数的计算步骤如下:
26、1)通过下面的方程解出过程参量,所述过程参量用于辅助参数的求解,
27、,
28、其中为节点总个数,为父节点处理单个子节点的信息所需的平均时间,父节点的总处理时间为与其子节点个数的乘积;为父节点处理单个子节点信息的平均并发量;为父节点对整体信息的平均处理时间,如果不是整数,则需要对其取整,将向上和向下取整分别代入进行比较,以计算结果更小对取整;
29、2)通过计算的值。
30、优选地,所述父节点处理单个子节点的信息包括查找子节点的编号和解密子节点发送的信息;所述父节点对整体信息的处理包括使用解密获得的各个子节点的随机数或随机数组合,将此随机数或随机数组合发送给其父节点,将从其父节点收到的信息进行解密并计算出会话密钥以及将此会话密钥经处理后加密并发送给其子节点。
31、优选地,在步骤2)中,每个节点和其父节点都通过安全的途径分配一个对称密钥,并通过如下步骤进行密钥协商:
32、1)最后一层:第n层的每个叶子节点生成一个随机数,使用认证密钥进行加密,将密文和自身编号发送给其父节点,其中;
33、倒数第二层:第n-1层中的节点分为叶子节点和非叶子节点两种情况,对于第一种情况,每个节点生成一个随机数,使用认证密钥对其进行加密,将密文和自身编号发送给其父节点,其中;对于第二种情况,每个节点收到各个子节点发送过来的密文等信息后,通过子节点的编号查找到相应的认证密钥,使用认证密钥解密获得随机数,计算,并将使用认证密钥加密后发送给其父节点;
34、2)根节点通过各个子节点的编号查找到相应的认证密钥,用认证密钥对密文解密后获得各个随机数,然后计算并将使用认证密钥加密后发送给节点;
35、3)节点使用认证密钥解密获得随机数,计算出,并将加密后继续发送给其子节点;
36、4)重复以上步骤,直到信息被发送到各个叶子节点,叶子节点在最后一层或倒数第二层,叶子节点使用认证密钥对信息解密获得随机数,计算出。
37、优选地,在父节点收到完整的会话密钥,将其发送给子节点之前,父节点对它和子节点之间的认证密钥进行更新,更新方法如下:
38、1)每个节点保存一个密钥对,其中为上一次所使用的认证密钥,为更新后的认证密钥,的初始值通过安全的方式预置,的初始值可以是任意约定的常数,的父节点同样保存了一对认证密钥用于和进行身份认证,记为,初始时;
39、2)在每次群组密钥协商过程中,子节点向父节点发送前述密钥协商阶段的随机数时使用对其进行加密,并且生成一个随机数,将、和连同加密的一同发送给父节点,其中为任意选定的具有散列性质的单向函数;
40、3)父节点收到后将自己存储的相应认证密钥对跟进行比较,判断子节点的认证密钥是否是最新的,当比较时存在两种情况,则父节点根据情况执行相应的操作:
41、31):表示子节点和父节点的认证密钥已经同步,在这种情况下,父节点选择使用进行解密,并且下次父节点向子节点发送最终的会话密钥时生成一个新的认证密钥并更新认证密钥:,然后将更新后的发送给子节点;
42、32):表示子节点比父节点落后一次更新,在这种情况下,父节点选择使用进行解密,并且下次父节点向子节点发送最终的会话密钥时将再次发送给子节点;
43、子节点从父节点收到最终的会话密钥的同时也会收到更新后的认证密钥,子节点需要使用它对认证密钥进行更新:。
44、优选地,所述每个节点和其父节点都通过安全的途径分配一个对称密钥可选择采用以下任一种方式:
45、1)根节点为每一对父子节点分配认证密钥用于身份认证;
46、2)对每一对父子节点预置认证密钥用于身份认证;
47、3)由可信第三方为每一对父子节点分配认证密钥用于身份认证。
48、本发明还公开了另一种高效的群组密钥协商方法,通过以下步骤进行密钥协商:
49、1)将一个含有n个节点的群组中所有节点按层分成多个子群组以及一个根节点,每个子群组中最多有个节点,每个子群组中的节点数不完全相同,其中为正整数,对每个节点单独计算子节点的个数,计算出总层数,直至n个节点分层完成;
50、2)为每一对父子节点分配认证密钥用于身份认证;
51、3)所有叶子节点各自生成一个随机数,使用认证密钥加密后连同身份编号发送给其父节点;
52、4)父节点收到后通过身份编号获取相应的认证密钥,解密获得随机数,将其所有子节点的随机数组合并加密后继续发送给其父节点;
53、5)重复以上步骤3)-4)过程,直到根节点组合出了最终的会话密钥,然后根节点使用相应的认证密钥加密该会话密钥并下发送给各个子节点;
54、6)子节点收到后解密获得会话密钥,并重复所述下发送的过程,直到叶子节点均获得会话密钥。
55、优选地,步骤1)中,首先按照处理性能将节点进行排序:,将作为根节点,然后针对对应于的参数、和根据下面的方程解出过程参量,所述过程参量用于辅助参数的求解,
56、,再通过计算所对应的子节点个数,同样的,对于的子节点,计算各自的子节点个数,并依序分配子节点,对于余下的节点重复该步骤,直到所有节点被分配完毕,其中,方程中的为节点处理单个子节点的信息所需的时间,为节点处理单个子节点信息的并发量,为节点对整体信息的平均处理时间。
57、优选地,所述节点对于单个子节点信息的处理包括查找节点子节点的编号和解密子节点发送的信息;所述节点对整体信息的处理包括使用解密获得的节点各个子节点的部分密钥获得更完整的密钥,将此完整的密钥发送给父节点,将从父节点收到的信息进行解密并计算出完整的密钥以及将此完整的密钥经处理后加密并发送给子节点,所述节点对整体信息的平均处理时间是针对节点可能的父节点和子节点对相应整体信息的处理时间求平均。
58、与现有技术相比,本发明有以下有益效果:
59、本发明的一种高效的群组密钥协商方法使用多层结构来组织节点,将密钥协商过程中的加解密的计算量分摊到多个节点,在大量节点进行通讯的场景下可以大幅提高效率;使用优化的分组参数g,使得在计算与通讯时间之间取得平衡,让效率最大化;与使用公钥加密来传递会话密钥的通常方式相比,无需依赖于数字签名和数字证书即可完成通讯多方的身份认证,进一步提高了效率;通过实时更新认证密钥,提高了通讯的安全性。
本文地址:https://www.jishuxx.com/zhuanli/20240801/243263.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表