一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

加密通信方法、装置、计算机设备及存储介质与流程

2022-02-25 22:29:17 来源:中国专利 TAG:


1.本技术涉及运维领域,具体涉及加密通信方法、装置、计算机设备及存储介质。


背景技术:

2.利用会话密钥进行加密通信被广泛应于诸如互联网数据中心(internet data center,简称idc)的平台中的计算机设备之间的通信中,以提升计算机设备之间的通信的安全性。
3.目前,通常采用传输层安全(transport layer security,简称tls)协议得到会话密钥。任意两个计算机设备需要加密通信时,均依赖公钥算法协商会话密钥,当计算机设备地位对等时,需要维护每一个计算机设备的用于验证身份的数字证书。一方面,此协商过程消耗的设备资源相对较多。另一方面,此过程中用到的数字证书需要公钥基础设施(public key infrastructure,简称pki)的支持,以完成数字证书的申请、验证、更新、撤销等操作。诸如互联网数据中心的平台中的计算机设备的数量巨大,公钥基础设施对数量巨大的计算机设备提供数字证书支持会消耗大量的运维资源,实现计算机设备之间的上述加密通信的开销较大。


技术实现要素:

4.本技术提供加密通信方法、装置、计算机设备及存储介质。
5.根据本技术实施例的第一方面,提供一种加密通信方法,包括:
6.响应于满足密钥更新条件,执行密钥更新操作,以得到第一会话密钥;
7.利用第一会话密钥与第二计算机设备进行通信,所述密钥更新操作包括:
8.基于当前主密钥和关联信息,得到更新主密钥和更新会话密钥;
9.利用当前会话密钥,对所述关联信息进行加密,得到加密信息,以及向所述第二计算机设备发送所述加密信息,以使得所述第二计算机设备利用所述当前会话密钥对所述加密信息进行解密,得到所述关联信息;
10.响应于满足更新成功条件,将所述更新会话密钥作为第一会话密钥,以及将更新主密钥、更新会话密钥存储在第一存储区域中,以在下一次执行密钥更新操作时由更新主密钥作为当前主密钥并且由更新会话密钥作为当前会话密钥,其中,所述更新成功条件为所述第二计算机设备得到所述更新主密钥和所述更新会话密钥,所述第二计算机设备基于所述当前主密钥和所述关联信息,得到所述更新主密钥和所述更新会话密钥并且将所述更新主密钥和所述更新会话密钥存储在第二存储区域中。
11.根据本技术实施例的第二方面,提供一种加密通信装置,安装于第一计算机设备上,包括:
12.更新单元,被配置为响应于满足密钥更新条件,执行密钥更新操作,以得到第一会话密钥,所述密钥更新操作包括:基于当前主密钥和关联信息,得到更新主密钥和更新会话密钥;利用当前会话密钥,对所述关联信息进行加密,得到加密信息,以及向所述第二计算
机设备发送所述加密信息,以使得所述第二计算机设备利用所述当前会话密钥对所述加密信息进行解密,得到所述关联信息;响应于满足更新成功条件,将所述更新会话密钥作为第一会话密钥,以及将更新主密钥、更新会话密钥存储在第一存储区域中,以在下一次执行密钥更新操作时由更新主密钥作为当前主密钥并且由更新会话密钥作为当前会话密钥,其中,所述更新成功条件为所述第二计算机设备得到所述更新主密钥和所述更新会话密钥,所述第二计算机设备基于所述当前主密钥和所述关联信息,得到所述更新主密钥和所述更新会话密钥并且将所述更新主密钥和所述更新会话密钥存储在第二存储区域中;
13.通信单元,被配置为利用第一会话密钥与第二计算机设备进行通信。
14.根据本技术实施例的第三方面,提供一种计算机设备,包括:处理器;
15.用于存储处理器可执行指令的存储器;其中,该处理器被配置为执行该指令,以实现加密通信方法。
16.根据本技术实施例的第四方面,提供一种存储介质,当该存储介质中的指令由计算机设备的处理器执行时,使得计算机设备能够执行上述加密通信方法。
17.本技术实施例提供的加密通信方法、装置、计算机设备及存储介质,对于任意两个计算机设备,可以基于当前主密钥和关联信息,得到用于两个计算机设备之间的加密通信的第一会话密钥,以使得两个计算机设备可以进行加密通信。无需消耗大量的运维资源来维护每一个计算机设备的数字证书,无需消耗大量的运维资源来建设公钥基础设施,实现计算机设备之间的加密通信消耗的运维资源低。不依赖公钥基础设施,既可以应用于诸如互联网数据中心的依靠有线网络进行计算机设备之间的通信的平台,也可以应用于包括无人机群的控制平台、车群的控制平台等依靠无线自组织网络进行计算机设备之间的通信的平台,灵活性较高。当前主密钥和更新会话密钥随着密钥更新操作的迭代执行而变化,每一次执行密钥更新操作以得到相应的更新主密钥和相应的更新会话密钥,基于的当前主密钥不同并且基于的当前会话密钥不同,而不是通过固定的信息得到相应的更新主密钥和相应的更新会话密钥,使得难以确定当前主密钥、当前会话密钥、更新主密钥、更新会话密钥之间的关系,难以根据当前主密钥、当前会话密钥、更新主密钥、更新会话密钥之间的关系,破解出用于计算机设备之间的加密通信的会话密钥,安全性较高。
附图说明
18.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
19.图1示出了本技术实施例提供的加密通信方法的一个的流程图;
20.图2示出了更新主密钥、更新会话密钥变化的效果示意图;
21.图3示出了本技术实施例提供的加密通信装置的一个结构示意图。
具体实施方式
22.下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
23.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相
互组合。下面将参考附图并结合实施例来详细说明本技术。
24.图1是本技术实施例提供的加密通信方法的一个的流程图。该方法可以由第一计算机设备执行,该方法包括以下步骤:
25.步骤101,响应于满足密钥更新条件,执行密钥更新操作,以得到第一会话密钥。
26.在本技术中,计算机设备为相应的平台中的具有计算能力、通信能力的对象。相应的平台中的何种对象作为计算机设备,由相应的平台的控制系统确定。例如,对于互联网数据中心而言,互联网数据中心中的服务器可以作为计算机设备。对于无人机群的控制平台而言,无人机群中的无人机可以作为计算机设备。对于车群的控制平台而言,车群的控制平台中的车辆可以作为计算机设备。
27.在本技术中,第一计算机设备、第二计算机设备均不特指相应的平台中的某一个计算机设备。对于任意两个计算机设备,均可以利用本技术提供的加密通信方法进行加密通信。
28.在本技术中,第一计算机设备的非易失性存储介质例如硬盘的用于存储密钥的存储区域称之为第一存储区域,第二计算机设备的非易失性存储介质例如硬盘的用于存储密钥的存储区域称之为第二存储区域。在首次执行密钥更新操作之前,将初始主密钥、初始会话密钥存储在第一存储区域中,将该初始主密钥、初始会话密钥在第二存储区域中。
29.初始主密钥、初始会话密钥可以为预设数量的比特组成的比特串,例如,预设数量可以为128。
30.在本技术中,可以预先设置多个密钥更新条件。多个密钥更新条件可以包括但不限于:当前主密钥为初始主密钥、当前时刻与上一次执行密钥更新操作时密钥更新操作执行完成的时刻之间的时长达到预设时长例如1小时、接收到第一计算机设备和第二计算机设备所属的控制平台发送的指示更新密钥的指令。
31.在本技术中,满足密钥更新条件可以是指满足多个密钥更新条件中的至少一个密钥更新条件。每一次满足密钥更新条件,均执行密钥更新操作,因此,在步骤101中描述的操作为示例性的在一次执行密钥更新操作的过程中执行的操作。
32.在本技术中,将通过密钥更新操作得到的主密钥统一称之为更新主密钥,将通过密钥更新操作得到的会话密钥统一称之为更新会话密钥。
33.第1次执行密钥更新操作时的当前主密钥为初始主密钥。n不等于1,第n次执行密钥更新操作时的当前主密钥为通过第n-1次执行密钥更新操作得到的更新主密钥。
34.第1次执行密钥更新操作时的当前会话密钥为初始会话密钥。n不等于1,第n次执行密钥更新操作时的当前会话密钥为通过第n-1次执行密钥更新操作得到的更新会话密钥。
35.请参考图2,其示出了更新主密钥、更新会话密钥变化的效果示意图。
36.k0表示初始主密钥、s0表示初始会话密钥,第1次密钥执行更新操作时的当前主密钥为k0,第1次执行密钥更新操作时的当前会话密钥为s0,通过第1次执行密钥更新操作,得到更新主密钥k1、更新会话密钥s1。第2次密钥执行更新操作时的当前主密钥为k1,第2次执行密钥更新操作时的当前会话密钥为s1,通过第2次执行密钥更新操作,得到更新主密钥k2、更新会话密钥s2。第3次密钥执行更新操作时的当前主密钥为k2,第3次执行密钥更新操作时的当前会话密钥为s2,通过第3次执行密钥更新操作,得到更新主密钥k3、更新会话密钥s3。
第4次执行密钥更新操作时的当前主密钥为k3,第4次执行密钥更新操作时的当前会话密钥为s3,通过第4次执行密钥更新操作,得到更新主密钥k4、更新会话密钥s4。更新主密钥k4作为第5次执行密钥更新操作时的当前主密钥,更新会话密钥s4作为第5次执行密钥更新操作时的当前会话密钥。
37.在本技术中,密钥更新操作包括:基于当前主密钥和关联信息,得到更新主密钥和更新会话密钥;利用当前会话密钥,对该关联信息进行加密,得到加密信息,以及向第二计算机设备发送该加密信息,以使得第二计算机设备利用该当前会话密钥对该加密信息进行解密,得到该关联信息;响应于满足更新成功条件,将该更新会话密钥作为第一会话密钥,以及将更新主密钥、更新会话密钥存储在第一存储区域中,以在下一次执行密钥更新操作时由更新主密钥作为当前主密钥并且由更新会话密钥作为当前会话密钥,其中,更新成功条件为第二计算机设备得到该更新主密钥和该更新会话密钥,第二计算机设备基于该当前主密钥和该关联信息,得到该更新主密钥和该更新会话密钥并且将该更新主密钥和该更新会话密钥存储在第二存储区域中。
38.在本技术中,在密钥更新操作中,基于当前主密钥和关联信息,得到更新主密钥和更新会话密钥。关联信息可以为当前时间戳,当前时间戳表示开始执行密钥更新操作的时间,当基于当前主密钥和关联信息,得到更新主密钥和更新会话密钥时,可以将当前主密钥与该时间戳进行拼接,得到拼接结果,将该拼接结果作为预设杂凑算法的输入,得到预设杂凑算法的输出。可以预先设置预设杂凑算法的输出中的哪些位置的比特组成更新主密钥、预设杂凑算法的输出中哪些位置的比特组成更新会话密钥,预设杂凑算法的输出中的、由所有用于组成更新主密钥的位置的比特组成的一部分即为更新主密钥。预设杂凑算法的输出中的、由所有用于组成更新会话密钥的比特组成的一部分即为更新会话密钥。
39.例如,预设杂凑算法为sm3杂凑算法或sha-256杂凑算法,将该拼接结果作为sm3杂凑算法或sha-256杂凑算法的输入,得到sm3杂凑算法或sha-256杂凑算法的输出。sm3杂凑算法或sha-256杂凑算法的输出为256个比特,可以将sm3杂凑算法或sha-256杂凑算法的输出中的第1个比特-128个比特即前128个比特作为更新主密钥,可以将sm3杂凑算法或sha-256杂凑算法的输出中的第129个比特-256个比特即后128个比特作为更新会话密钥。
40.在本技术中,在密钥更新操作中,第一计算机设备利用当前会话密钥,对关联信息进行加密,得到加密信息。第一计算机设备向第二计算机设备发送加密信息。第二计算机设备利用当前会话密钥对加密信息进行解密,得到关联信息。
41.在本技术中,在密钥更新操作中,响应于满足更新成功条件,将更新会话密钥作为第一会话密钥,以及将更新主密钥、更新会话密钥存储在第一存储区域中。当第二计算机设备基于当前主密钥和关联信息,得到更新主密钥和更新会话密钥时,第二计算机设备可以向第一计算机设备发送指示第二计算机设备得到更新主密钥和更新会话密钥的指示信息。当第一计算机设备接收到第二计算机设备发送的指示信息时,第一计算机设备确定第二计算机设备得到更新主密钥和更新会话密钥,第一计算机设备确定满足更新成功条件,第一计算机设备将更新会话密钥作为第一会话密钥,以及将更新主密钥、更新会话密钥存储在第一存储区域中。第二计算机设备基于当前主密钥和关联信息,得到更新主密钥和更新会话密钥的过程与上述第一计算机设备基于当前主密钥和关联信息,得到更新主密钥和更新会话密钥的过程同理,第一计算机设备、第二计算机设备均得到同一个更新主密钥,第一计
算机设备、第二计算机设备均得到同一个更新会话密钥。
42.在本技术中,第一计算机设备的第一存储区域、第二计算机设备的第二存储区域均可以仅存储一个相应的更新主密钥、一个相应的更新会话密钥。
43.以第一存储区域为例,将通过第1次执行密钥更新操作得到的更新主密钥、通过第1次执行密钥更新操作得到的更新会话密钥存储在第一存储区域中。
44.n不等于1,在第n次执行密钥更新操作时,在将通过第n次执行密钥更新操作得到的更新主密钥、通过第n次执行密钥更新操作得到的更新会话密钥存储在第一存储区域中之前,删除存储在第一存储区域中的、通过第n-1次执行密钥更新操作得到的更新主密钥,删除存储在第一存储区域中的、通过第n-1次执行密钥更新操作得到的更新会话密钥。然后,将通过第n次执行密钥更新操作得到的更新主密钥、通过第n次执行密钥更新操作得到的更新会话密钥存储在第一存储区域中。
45.例如,在第2次执行密钥更新操作时,在将通过第2次执行密钥更新操作得到的更新主密钥、通过第2次执行密钥更新操作得到的更新会话密钥存储在第一存储区域中之前,删除存储在第一存储区域中的、通过第1次执行密钥更新操作得到的更新主密钥,删除存储在第一存储区域中的、通过第1次执行密钥更新操作得到的更新会话密钥。然后,将通过第2次执行密钥更新操作得到的更新主密钥、通过第2次执行密钥更新操作得到的更新会话密钥存储在第一存储区域中。
46.步骤102,利用第一会话密钥与第二计算机设备进行通信。
47.在本技术中,在得到第一会话密钥之后,可以利用第一会话密钥实现第一计算机设备与第二计算机设备之间的加密通信。在第一计算机设备上,可以利用预设对称加密算法基于第一会话密钥对待发送至第二计算机设备的第一信息进行加密,得到经过加密的第一信息,将经过加密的第一信息发送至第二计算机设备,第二计算机设备可以利用第一会话密钥对经过加密的第一信息进行解密,得到第一信息。在第二计算机设备上,可以利用预设对称加密算法基于第一会话密钥对待发送至第一计算机设备的第二信息进行加密,得到经过加密的第二信息,将经过加密的第二信息发送至第一计算机设备,第一计算机设备可以利用第一会话密钥对经过加密的第二信息进行解密,得到第二信息。
48.在一些实施例中,还包括:执行初始化操作,初始化操作包括:接收数据拷贝指令,其中,数据拷贝指令基于在用于初始化的存储设备与所述第一计算机设备进行连接之后,用于初始化的存储设备的使用者进行的预设操作而生成,该预设操作指示将初始主密钥、初始会话密钥拷贝至第一计算机设备,其中,该初始主密钥为首次执行密钥更新操作时的当前主密钥,该初始会话密钥为首次执行密钥更新操作时的当前会话密钥;从用于初始化的存储设备中读取出该初始主密钥、该初始会话密钥;将该初始主密钥、该初始会话密钥存储在第一存储区域中。
49.在本技术中,初始化操作在首次执行密钥更新操作之前执行。用于初始化的存储设备可以为闪存盘、闪存卡等。用于初始化的存储设备存储初始主密钥、初始会话密钥。在首次执行密钥更新操作之前,可以由存储设备的使用者例如第一计算机设备和第二计算机设备所属的控制平台的运维工程师将用于初始化的存储设备插入第一计算机设备的与用于初始化的存储设备的接口适配的接口,以使得用于初始化的存储设备与第一计算机设备进行连接。用于初始化的存储设备的使用者进行预设操作,以产生数据拷贝指令,预设操作
指示将用于初始化的存储设备中的初始主密钥、初始会话密钥拷贝至第一计算机设备。第一计算机设备从用于初始化的存储设备中读取出初始主密钥、初始会话密钥,将初始主密钥、初始会话密钥存储在第一存储区域中。
50.在本技术中,第一计算机设备从用于初始化的存储设备中读取出初始主密钥、初始会话密钥,将初始主密钥、初始会话密钥存储在第一存储区域中,使得第一计算机设备可以不经过网络传输得到初始主密钥、初始会话密钥,可以避免第一计算机设备经过网络传输得到初始主密钥、初始会话密钥,非法程序监听初始主密钥、初始会话密钥的情况,可以使得非法程序无法监听到初始主密钥、初始会话密钥,无法利用初始主密钥、初始会话密钥破解更新主密钥、更新会话密钥。
51.在一些实施例中,执行密钥更新操作包括:当第预设次执行密钥更新操作时,在满足安全执行条件的情况下执行密钥更新操作。
52.在本技术中,预设次可以由第一计算机设备和第二计算机设备所属的控制平台的运维工程师预先设置。例如,预设次可以为1,当第1次执行密钥更新操作时,在满足安全执行条件的情况下执行密钥更新操作。安全执行条件为用于防止通过第预设次执行密钥更新操作得到的更新主密钥和通过第预设次执行密钥更新操作得到的更新会话密钥被非法获取的条件。可以由第一计算机设备和第二计算机设备所属的控制平台的运维工程师预先设置安全执行条件。例如,对于互联网数据中心而言,安全执行条件可以为在执行密钥更新操作期间,有相关人员实时监控互联网数据中心,确保不会有非法人员进入互联网数据中心进行非法操作例如非法拷贝通过第预设次执行密钥更新操作得到的更新主密钥、通过第预设次执行密钥更新操作得到的更新会话密钥,确保通过第预设次执行密钥更新操作得到的更新主密钥和通过第预设次执行密钥更新操作得到的更新会话密钥不会被非法获取。例如,对于无人机群的控制平台、车群的控制平台而言,安全执行条件可以为在执行密钥更新操作期间,计算机设备即无人机或车辆是与外部网络隔离的,即计算机设备不与外部网络连接,外部网络可以是指除了计算机设备之间的通信所依靠的网络之外的网络,使得非法程序无法监听到可以用于破解更新主密钥的数据和可以用于破解更新会话密钥的数据,相应的,非法程序无法获取到通过第预设次执行密钥更新操作得到的更新主密钥、通过第预设次执行密钥更新操作得到的更新会话密钥。
53.在本技术中,当第预设次执行密钥更新操作时,在满足安全执行条件的情况下执行密钥更新操作,可以确保通过第预设次执行密钥更新操作得到的更新主密钥和通过第预设次执行密钥更新操作得到的更新会话密钥不会被非法获取。进一步的,使得非法程序无法利用通过第预设次执行密钥更新操作得到的更新主密钥和通过第预设次执行密钥更新操作得到的更新会话密钥,破解通过第预设次之后的任意一次执行密钥更新操作得到的相应的更新主密钥、通过第预设次之后的任意一次执行密钥更新操作得到的相应的更新会话密钥。
54.在一些实施例中,基于当前主密钥和关联信息,得到更新主密钥和更新会话密钥包括:至少将当前主密钥与关联信息进行拼接,得到拼接结果;将该拼接结果作为第一密钥导出函数的输入,以得到更新主密钥,其中,第一密钥导出函数用于执行以下操作:对第一密钥导出函数的输入进行杂凑计算,得到杂凑计算结果;从得到的杂凑计算结果中获取更新主密钥;将该拼接结果作为第二密钥导出函数的输入,以得到更新会话密钥,其中,第二
密钥导出函数用于执行以下操作:对第二密钥导出函数的输入进行杂凑计算,得到杂凑计算结果;从得到的杂凑计算结果中获取更新会话密钥。
55.在本技术中,关联信息可以包括:用于拼接的信息、随机数。每一次基于当前主密钥和关联信息,得到更新主密钥和更新会话密钥,均获取一个随机数。例如,从序列0,1,...,2
|r|-1中随机选择一个数值作为一个随机数,r的参考长度为112≤|r|≤128。用于拼接的信息可以为当前时间戳或序号,当前时间戳表示开始执行密钥更新操作的时间,序号表示待得到的更新主密钥为第几个更新主密钥。在本技术中,当基于当前主密钥和关联信息,得到更新主密钥和更新会话密钥时,可以将当前主密钥与关联信息进行拼接即将当前主密钥、用于拼接的信息、随机数进行拼接,得到拼接结果。也可以将当前主密钥、用于拼接的信息、随机数、第一计算机设备的身份标识、第二计算机设备的身份标识进行拼接,得到拼接结果(t||id1||id2||ki||r),其中,||表示拼接,t表示用于拼接的信息,id1表示第一计算机设备的身份标识,id2表示第二计算机设备的身份标识,ki表示当前主密钥,r表示随机数。
56.在对第一密钥导出函数的输入进行杂凑计算时,可以采用已有的杂凑算法例如sm3杂凑算法、sha-256杂凑算法进行杂凑计算的方式对第一密钥导出函数的输入进行杂凑计算,得到杂凑计算结果。在从得到的杂凑计算结果中获取更新主密钥时,可以根据预先设置的每一个用于组成更新主密钥的比特的位置,确定每一个用于组成更新主密钥的比特,每一个用于组成更新主密钥的比特组成的比特串即为更新主密钥。例如,采用sm3杂凑算法或sha-256杂凑算法进行杂凑计算的方式对第一密钥导出函数的输入进行杂凑计算,得到杂凑计算结果,杂凑计算结果为256个比特,可以将该256个比特中的前128个比特作为更新主密钥。
57.在对第二密钥导出函数的输入进行杂凑计算时,可以采用已有的杂凑算法例如sm3杂凑算法、sha-256杂凑算法进行杂凑计算的方式对第二密钥导出函数的输入进行杂凑计算,得到杂凑计算结果。在从得到的杂凑计算结果中获取更新会话密钥时,可以根据预先设置的每一个用于组成更新会话密钥的比特的位置,确定每一个用于组成更新会话密钥的比特,每一个用于组成更新会话密钥的比特组成的比特串即为更新会话密钥。例如,采用sm3杂凑算法或sha-256杂凑算法进行杂凑计算的方式对第二密钥导出函数的输入进行杂凑计算,得到杂凑计算结果,杂凑计算结果为256个比特,可以将该256个比特中的后128个比特作为更新会话密钥。
58.在本技术中,通过第一密钥导出函数得到更新主密钥、通过第二密钥导出函数得到更新会话密钥,仅涉及一次杂凑计算,相比于通过公钥算法协商会话密钥,速度快、开销小。
59.在本技术中,在关联信息包括用于拼接的信息、随机数的情况下,当第一计算机设备利用当前会话密钥对关联信息进行加密时,可以将用于拼接的信息、随机数进行拼接,得到拼接结果,利用当前会话密钥对该拼接结果进行加密,得到加密信息。在第二计算机设备接收到加密信息之后,利用当前会话密钥对加密信息进行解密,得到用于拼接的信息、随机数。第二计算机设备可以在确定用于拼接的信息有效之后,第二计算机设备基于当前主密钥和关联信息,得到更新主密钥和更新会话密钥。在关联信息包括用于拼接的信息、随机数的情况下,第二计算机设备基于当前主密钥和关联信息,得到更新主密钥和更新会话密钥
的过程与上述在关联信息包括用于拼接的信息、随机数的情况下,第一计算机设备基于当前主密钥和关联信息,得到更新主密钥和更新会话密钥的过程同理。
60.在一些实施例中,还包括:响应于第二计算机设备处于离线状态的时长大于时长阈值,删除第一存储区域中的更新主密钥和第一存储区域中的更新会话密钥。
61.在本技术中,对于一个计算机设备,该计算机设备处于离线状态可以是指该计算机设备无法与其他计算机设备进行通信的状态,该计算机设备处于在线状态可以是指该计算机设备可以与其他计算机设备进行通信的状态。在执行密钥更新操作期间,第一计算机设备、第二计算机设备均处于在线状态,在利用第一会话密钥与第二计算机设备进行通信期间,第一计算机设备、第二计算机设备均处于在线状态。
62.在本技术中,当第二计算机设备处于离线状态的时长大于时长阈值时,第一计算机设备可以响应于第二计算机设备处于离线状态的时长大于时长阈值,删除第一存储区域中的更新主密钥和第一存储区域中的更新会话密钥。
63.在一些实施例中,还包括:响应于满足第一预设条件,确定是否满足第二预设条件,第一预设条件为第一计算机设备重新上线或第二计算机设备重新上线,第二预设条件为第一存储区域和第二存储区域均包括目标更新主密钥和目标更新会话密钥,其中,目标更新主密钥为最近一次第一计算机设备与第二计算机设备的通信利用的更新主密钥,目标更新会话密钥为最近一次第一计算机设备与第二计算机设备的通信利用的更新会话密钥;若是,将目标更新主密钥作为当前主密钥并且将目标更新会话密钥作为当前会话密钥,以及执行密钥更新操作,以得到第二会话密钥;若否,将初始主密钥作为当前主密钥并且将初始会话密钥作为当前会话密钥,以及执行密钥更新操作,以得到第二会话密钥;利用第二会话密钥与第二计算机设备进行通信。
64.在本技术中,对于一个计算机设备,在该计算机设备重新上线之前,该计算机设备曾经处于过在线状态,在该计算机设备重新上线之前,该计算该机设备的最近的一个状态为离线状态,通过重新上线,使得该计算机设备的状态从离线状态转变为在线状态。
65.在本技术中,当第一计算机设备和第二计算机设备中的一个计算机设备重新上线时,第一计算机设备和第二计算机设备中的另一个计算机设备处于在线状态。
66.在本技术中,当满足第一预设条件即第一计算机设备重新上线或第二计算机设备重新上线时,确定是否满足第二预设条件。第二预设条件为第一存储区域和第二存储区域均包括目标更新主密钥和目标更新会话密钥。若满足第二预设条件,即第一存储区域和第二存储区域均包括目标更新主密钥和目标更新会话密钥,将目标更新主密钥作为当前主密钥并且将目标更新会话密钥作为当前会话密钥,以及执行密钥更新操作,以得到第二会话密钥。在将目标更新主密钥作为当前主密钥并且将目标更新会话密钥作为当前会话密钥的情况下,执行密钥更新操作,得到相应的更新主密钥、相应的更新会话密钥,得到的相应的更新会话密钥作为第二会话密钥。
67.若不满足第二预设条件,将初始主密钥作为当前主密钥并且将初始会话密钥作为当前会话密钥,以及执行密钥更新操作,得到相应的更新主密钥、相应的更新会话密钥,得到的相应的更新会话密钥作为第二会话密钥。
68.例如,最近一次第一计算机设备与第二计算机设备的通信利用的更新主密钥为通过第n次执行密钥更新操作得到的更新主密钥kn、最近一次第一计算机设备与第二计算机
设备的通信利用的更新会话密钥为通过第n次执行密钥更新操作得到的更新会话密钥sn。目标更新主密钥为kn,目标更新主密钥为sn。在最近一次第一计算机设备与第二计算机设备的通信结束之后,第二计算机设备首先处于离线状态,然后,第二计算机设备重新上线。若满足第二预设条件,即第一存储区域和第二存储区域均包括kn、sn,将kn作为当前主密钥并且将sn作为当前会话密钥,以及执行密钥更新操作,以得到第二会话密钥。若满足第二预设条件,将kn作为当前主密钥并且将sn作为当前会话密钥,然后,第n 1次执行密钥更新操作,通过第n 1次执行密钥更新操作,得到更新主密钥为k
n 1
、更新会话密钥s
n 1
,更新会话密钥s
n 1
作为第二会话密钥。若不满足第二预设条件,将初始主密钥作k0为当前主密钥并且将初始会话密钥s0作为当前会话密钥,以及执行密钥更新操作,以得到第二会话密钥。若不满足第二预设条件,当将k0作为当前主密钥并且将s0作为当前会话密钥,然后,第n 1次执行密钥更新操作,通过第n 1次执行密钥更新操作,得到更新主密钥为k1、更新会话密钥s1,更新会话密钥s1作为第二会话密钥。
69.在得到第二会话密钥之后,第一计算机设备可以利用第二会话密钥与第二计算机设备进行通信。在第一计算机设备上,可以利用预设对称加密算法基于第二会话密钥对待发送至第二计算机设备的第一信息进行加密,得到经过加密的第一信息,将经过加密的第一信息发送至第二计算机设备,第二计算机设备可以利用第二会话密钥对经过加密的第一信息进行解密,得到第一信息。在第二计算机设备上,可以利用预设对称加密算法基于第二会话密钥对待发送至第一计算机设备的第二信息进行加密,得到经过加密的第二信息,将经过加密的第二信息发送至第一计算机设备,第一计算机设备可以利用第二会话密钥对经过加密的第二信息进行解密,得到第二信息。
70.请参考图3,其示出本技术实施例提供的加密通信装置的一个结构示意图。如图3所示,加密通信装置包括:更新单元301,通信单元302。
71.更新单元301被配置为响应于满足密钥更新条件,执行密钥更新操作,以得到第一会话密钥,所述密钥更新操作包括:基于当前主密钥和关联信息,得到更新主密钥和更新会话密钥;利用当前会话密钥,对所述关联信息进行加密,得到加密信息,以及向所述第二计算机设备发送所述加密信息,以使得所述第二计算机设备利用所述当前会话密钥对所述加密信息进行解密,得到所述关联信息;响应于满足更新成功条件,将所述更新会话密钥作为第一会话密钥,以及将更新主密钥、更新会话密钥存储在第一存储区域中,以在下一次执行密钥更新操作时由更新主密钥作为当前主密钥并且由更新会话密钥作为当前会话密钥,其中,所述更新成功条件为所述第二计算机设备得到所述更新主密钥和所述更新会话密钥,所述第二计算机设备基于所述当前主密钥和所述关联信息,得到所述更新主密钥和所述更新会话密钥并且将所述更新主密钥和所述更新会话密钥存储在第二存储区域中;
72.通信单元302被配置为利用第一会话密钥与第二计算机设备进行通信。
73.在一些实施例中,加密通信装置还包括:初始化单元,被配置为执行初始化操作,所述初始化操作包括:接收数据拷贝指令,其中,所述数据拷贝指令基于在用于初始化的存储设备与所述第一计算机设备进行连接之后,用于初始化的存储设备的使用者进行的预设操作而生成,所述预设操作指示将初始主密钥、初始会话密钥拷贝至第一计算机设备,其中,所述初始主密钥为首次执行密钥更新操作时的当前主密钥,所述初始会话密钥为首次执行密钥更新操作时的当前会话密钥;从用于初始化的存储设备中读取出初始主密钥、初
始会话密钥;将所述初始主密钥、所述初始会话密钥存储在所述第一存储区域中。
74.在一些实施例中,所述执行密钥更新操作包括:当第预设次执行密钥更新操作时,在满足安全执行条件的情况下执行密钥更新操作。
75.在一些实施例中,基于当前主密钥和关联信息,得到更新主密钥和更新会话密钥包括:至少将所述当前主密钥与所述关联信息进行拼接,得到拼接结果;将所述拼接结果作为第一密钥导出函数的输入,以得到更新主密钥,其中,所述第一密钥导出函数用于执行以下操作:对所述第一密钥导出函数的输入进行杂凑计算,得到杂凑计算结果;从得到的杂凑计算结果中获取更新主密钥;将所述拼接结果作为第二密钥导出函数的输入,以得到更新会话密钥,其中,所述第二密钥导出函数用于执行以下操作:对所述第二密钥导出函数的输入进行杂凑计算,得到杂凑计算结果;从得到的杂凑计算结果中获取更新会话密钥。
76.在一些实施例中,加密通信装置还包括:
77.第一处理单元,被配置为响应于所述第二计算机设备处于离线状态的时长大于时长阈值,删除所述第一存储区域中的更新主密钥和所述第一存储区域中的更新会话密钥。
78.在一些实施例中,加密通信装置还包括:
79.第二处理单元,被配置为响应于满足第一预设条件,确定是否满足第二预设条件,所述第一预设条件为所述第一计算机设备重新上线或第二计算机设备重新上线,所述第二预设条件为所述第一存储区域和所述第二存储区域均包括目标更新主密钥和目标更新会话密钥,其中,目标更新主密钥为最近一次第一计算机设备与第二计算机设备的通信利用的更新主密钥,目标更新会话密钥为最近一次第一计算机设备与第二计算机设备的通信利用的更新会话密钥;若是,将目标更新主密钥作为当前主密钥并且将目标更新会话密钥作为当前会话密钥,以及执行密钥更新操作,以得到第二会话密钥;若否,将初始主密钥作为当前主密钥并且将初始会话密钥作为当前会话密钥,以及执行密钥更新操作,以得到第二会话密钥;利用所述第二会话密钥与第二计算机设备进行通信。
80.本技术还提供了一种计算机设备,该计算机设备可以配置有一个或多个处理器;存储器,用于存储一个或多个程序,一个或多个程序中可以包括用以执行上述加密通信方法实施例中描述的操作的指令。当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述加密通信方法实施例中描述的操作的指令。
81.本技术还提供了一种存储介质,该存储介质可以是计算机设备中所包括的;也可以是单独存在,未装配入计算机设备中。上述存储介质承载有一个或者多个程序,当一个或者多个程序被计算机设备执行时,使得计算机设备执行上述加密通信方法实施例中描述的操作。
82.需要说明的是,本技术所述的存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包括或存储程序的有形介质,该程序可以被消息执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机
可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多方面形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何存储介质,该存储介质可以发送、传播或者传输用于由消息执行系统、装置或者器件使用或者与其结合使用的程序。存储介质上包括的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
83.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包括一个或多个用于实现规定的逻辑功能的可执行消息。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机消息的组合来实现。
84.以上描述仅为本请求的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术实施例,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术实施例。例如上述特征与本技术中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献