System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及大数据共享通信模型,特别是涉及基于双棘轮算法的群组密钥协商方法、通信方法及装置。
技术介绍
1、群组密钥协商为大数据共享通信模型提供了必要的安全支撑,可以确保信息在大数据共享通信模型中的安全性,下文中为便于描述,将大数据共享通信模型称为群组。群组密钥协商是指多个参与者(即群组中包括的多个设备)在不可靠的网络环境下建立一个安全的会话密钥,以保障群组的通信安全。但是,目前的群组密钥协商方法中,通常是群组中的所有设备均使用同一固定的会话密钥与其他通信设备进行通信,因此,若该会话密钥被泄露,则群组内所有通信中的信息均会被泄露,从而导致群组通信的信息安全性较低。
技术实现思路
1、本申请实施例的目的在于提供基于双棘轮算法的群组密钥协商方法、通信方法及装置,以实现提高群组通信中的信息安全性。具体技术方案如下:
2、本申请实施例提供了一种基于双棘轮算法的群组密钥协商方法,所述方法应用于第一设备,所述第一设备与至少一个第二设备属于同一群组,所述第一设备为所述群组中的任一设备,所述方法包括:
3、接收各所述第二设备发送的各所述第二设备自身的加密密钥和第一明文,所述第一明文为各所述第二设备各自随机生成的,且各所述第二设备还将自身的第一明文发送至除自身以外的其他第二设备;
4、随机生成第二明文,并分别针对各所述第二设备,利用所述第二设备的加密密钥对所述第二明文进行加密,得到第一密文并发送至所述第二设备,以使得所述第二设备利用自身的解密密钥对接收到的第一密文进
5、根据所述第二明文和所有所述第二设备的所述第一明文,按照所述预设密钥生成方法,生成自身的共享密钥,并响应于得到共享密钥后的第一次群组通信,根据所述共享密钥,按照预设密钥更新方法生成自身的会话密钥;响应于得到共享密钥后的非第一次群组通信,根据所述共享密钥和/或所述第二设备自身的上轮输出的部分或全部,按照所述预设密钥更新方法生成自身新的会话密钥,其中,所述上轮输出为设备自身上一次按照所述预设密钥更新方法生成密钥时得到的输出;
6、根据所述第二明文和所有所述第二设备的所述第一明文,按照所述预设密钥生成方法,生成自身的共享密钥;
7、响应于得到共享密钥后的第一次群组通信,根据所述共享密钥,按照所述预设密钥更新方法生成自身的会话密钥;
8、响应于得到共享密钥后的非第一次群组通信,根据所述共享密钥和/或所述第一设备自身的上轮输出的部分或全部,按照所述预设密钥更新方法生成自身新的会话密钥;
9、在到达下一次预设密钥协商时刻时,和/或,响应于所述共享密钥或会话密钥泄露,返回执行所述接收各所述第二设备发送的各所述第二设备自身的加密密钥和第一明文的步骤,得到自身新的共享密钥。
10、在一种可能的实施例中,所述方法还包括:
11、响应于第三设备加入所述群组,接收所述第三设备发送的加密密钥;
12、利用所述第三设备的加密密钥对所述第二明文进行加密,得到第二密文,并将所述第二密文和所有所述第二设备的第一明文发送至所述第三设备,以使得所述第三设备利用自身的解密密钥对接收到的第二密文进行解密,得到所述第二明文,并根据所述第二明文、所有所述第二设备的所述第一明文,按照所述预设密钥生成方法,生成自身的共享密钥,并响应于得到共享密钥后的第一次群组通信,根据所述共享密钥,按照所述预设密钥更新方法生成自身的会话密钥;响应于得到共享密钥后的非第一次群组通信,根据所述共享密钥和/或所述第二设备自身的上轮输出的部分或全部,按照所述预设密钥更新方法生成自身新的会话密钥。
13、在一种可能的实施例中,所述在到达下一次预设密钥协商时刻时,和/或,响应于所述共享密钥或会话密钥泄露,返回执行所述接收各所述第二设备发送的各所述第二设备自身的加密密钥和第一明文的步骤,得到自身新的共享密钥,包括:
14、在到达下一次预设密钥协商时刻时,和/或,响应于所述共享密钥或会话密钥泄露,将所述第三设备以及所述第二设备作为新的第二设备,返回执行所述接收各所述第二设备发送的各所述第二设备自身的加密密钥和第一明文的步骤,得到自身新的共享密钥。
15、在一种可能的实施例中,所述分别针对各所述第二设备,利用所述第二设备的加密密钥对所述第二明文进行加密,得到第一密文并发送至所述第二设备,包括:
16、若接收到针对第四设备的移除指令,针对除所述第四设备以外的其他第二设备,利用所述第二设备的加密密钥对所述第二明文进行加密,得到第一密文并发送至所述第二设备;
17、若未接收到移除指令,则针对所有所述第二设备,利用所述第二设备的加密密钥对所述第二明文进行加密,得到第一密文并发送至所述第二设备。
18、在一种可能的实施例中,所述方法还包括:
19、向各所述第二设备发送所述第一设备的验证密钥;
20、所述利用所述第二设备的加密密钥对所述第二明文进行加密,得到第一密文并发送至所述第二设备,包括:
21、利用所述第二设备的加密密钥对所述第二明文进行加密,得到第一密文;
22、利用与所述第一设备的验证密钥对应的签名密钥对所述第一密文进行签名,得到第一签名;
23、将所述第一密文和所述第一签名发送至所述第二设备,以使得所述第二设备利用所述第一设备的验证密钥对所述第一签名进行解签名,若解签名结果与所述第一密文相同,则利用自身的解密密钥对接收到的第一密文进行解密,得到所述第二明文,并根据所述第二明文和所有所述第二设备的所述第一明文,按照预设密钥生成方法,生成自身的共享密钥,并响应于得到共享密钥后的第一次群组通信,根据所述共享密钥,按照所述预设密钥更新方法生成自身的会话密钥;响应于得到共享密钥后的非第一次群组通信,根据所述共享密钥和/或所述第二设备自身的上轮输出的部分或全部,按照所述预设密钥更新方法生成自身新的会话密钥。
24、在一种可能的实施例中,所述根据所述第二明文和所有所述第二设备的所述第一明文,按照所述预设密钥生成方法,生成自身的共享密钥,包括:
25、将所述第二明文和所有所述第二设备的所述第一明文进行拼接,得到拼接值;
26、使用哈希函数将所述拼接值转换为预设定长的值,作为自身的共享密钥。
27、本申请实施例还提供了一种群组通信方法,所述方法应用于第五设备,所述方法包括:
28、利用所述第五设备自身的会话密钥对目标明文进行加密,得到目标密文;
29、将所述目标密文通过群组通信的方式发送至各第六设备,以使得各所述第六设备利用自身的会话密钥对所述目标密文进行解密,得到所述目标明文;
30、其中,所述第五设备和所述第六设本文档来自技高网...
【技术保护点】
1.一种基于双棘轮算法的群组密钥协商方法,其特征在于,所述方法应用于第一设备,所述第一设备与至少一个第二设备属于同一群组,所述第一设备为所述群组中的任一设备,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述在到达下一次预设密钥协商时刻时,和/或,响应于所述共享密钥或会话密钥泄露,返回执行所述接收各所述第二设备发送的各所述第二设备自身的加密密钥和第一明文的步骤,得到自身新的共享密钥,包括:
4.根据权利要求1所述的方法,其特征在于,所述分别针对各所述第二设备,利用所述第二设备的加密密钥对所述第二明文进行加密,得到第一密文并发送至所述第二设备,包括:
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述根据所述第二明文和所有所述第二设备的所述第一明文,按照所述预设密钥生成方法,生成自身的共享密钥,包括:
7.一种群组通信方法,其特征在于,所述方法应用于第五设备,所述方法包括:
9.一种群组通信装置,其特征在于,所述装置应用于第五设备,所述装置包括:
10.一种电子设备,其特征在于,包括:
11.一种计算机程序产品,其特征在于,当其在计算机上运行时,使得计算机执行上述权利要求1-6或7任一所述的方法。
...【技术特征摘要】
1.一种基于双棘轮算法的群组密钥协商方法,其特征在于,所述方法应用于第一设备,所述第一设备与至少一个第二设备属于同一群组,所述第一设备为所述群组中的任一设备,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述在到达下一次预设密钥协商时刻时,和/或,响应于所述共享密钥或会话密钥泄露,返回执行所述接收各所述第二设备发送的各所述第二设备自身的加密密钥和第一明文的步骤,得到自身新的共享密钥,包括:
4.根据权利要求1所述的方法,其特征在于,所述分别针对各所述第二设备,利用所述第二设备的加密密钥对所述第二明文进行加密,得到第一密文并发送至所述第二设备,包括:
5.根据权利要求1所述的方法,其特征在于...
【专利技术属性】
技术研发人员:王滨,沈剑,王星,洪诗佳,周天祺,
申请(专利权)人:杭州海康威视数字技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。