CN114285655A - 密钥的确定方法和装置、存储介质及电子装置 - Google Patents
密钥的确定方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN114285655A CN114285655A CN202111621089.XA CN202111621089A CN114285655A CN 114285655 A CN114285655 A CN 114285655A CN 202111621089 A CN202111621089 A CN 202111621089A CN 114285655 A CN114285655 A CN 114285655A
- Authority
- CN
- China
- Prior art keywords
- key
- angle value
- dictionary
- client
- server
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000004590 computer program Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000000246 remedial effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种密钥的确定方法和装置、存储介质及电子装置,其中,上述方法包括:接收服务端发送的所述服务端中配置的第一密钥字典对应的第一字典版本号和第一服务端角度值,其中,所述第一密钥字典中包括:字符序列,所述第一服务端角度值用于标识所述服务端;根据所述第一服务端角度值在客户端中配置第一客户端角度值和第一服务端角度值,以及根据所述第一字典版本号在客户端中配置第一密钥字典和第一字典版本号,所述第一客户端角度值用于标识所述客户端;通过所述第一服务端角度值和所述第一客户端角度值确定第一密钥角度值;根据所述第一密钥角度值在所述第一密钥字典中获取第一目标字符序列,以将所述第一目标字符序列作为第一目标密钥。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种密钥的确定方法和装置、存储介质及电子装置。
背景技术
现有加解密数据主要分为对称性加密和非对称性加密,其中对称性加密性能较好但安全性相对较低,非对称性加密安全性有较高的保障但其性能相对较低。无论哪种加密方式,一旦透露密钥,加密也就失去了意义。动态密钥的提出,让加密的安全性进一步提高,但是现有的动态密钥大都在动态生成后要通过网络互相传达,在知道彼此的密钥后才能完成加解密操作。然而,通过网络传递密钥就可能造成密钥的泄露。即便不考虑网络问题,存储的密钥也可能被有心人窃取。在互联网技术及硬件性能告诉提升的今天,数据安全的问题愈发严重。
针对相关技术中,密钥的安全性较低等问题,尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种密钥的确定方法和装置、存储介质及电子装置,以至少解决相关技术中,密钥的安全性较低等问题。
根据本发明实施例的一个实施例,提供了一种密钥的确定方法,包括:接收服务端发送的所述服务端中配置的第一密钥字典对应的第一字典版本号和第一服务端角度值,其中,所述第一密钥字典中包括:字符序列,所述第一服务端角度值用于标识所述服务端;根据所述第一服务端角度值在客户端中配置第一客户端角度值和第一服务端角度值,以及根据所述第一字典版本号在客户端中配置第一密钥字典和第一字典版本号,所述第一客户端角度值用于标识所述客户端;通过所述第一服务端角度值和所述第一客户端角度值确定第一密钥角度值;根据所述第一密钥角度值在所述第一密钥字典中获取第一目标字符序列,以将所述第一目标字符序列作为第一目标密钥。
在一个示例性实施例中,根据所述第一密钥角度值在所述第一密钥字典中获取第一目标字符序列,包括:分别确定所述第一密钥字典中所有字符序列的排列序号;在所述第一密钥字典中获取与所述第一密钥角度值一致的第一排列序号,以及所述第一排列序号之前的第二排列序号;将所述第一排列序号对应的字符序列和所述第二排列序号对应的字符序列按顺序进行拼接,以得到所述第一目标字符序列。
在一个示例性实施例中,根据所述第一服务端角度值在客户端中配置第一客户端角度值和第一服务端角度值,包括:根据所述第一服务端角度值和预设角度值确定所述第一客户端角度值对应的取值区间,其中,所述第一服务端角度值、所述第一客户端角度值与所述第一密钥角度值相加为所述预设角度值;在所述取值区间中通过预设方式确定所述第一客户端角度值,以在所述客户端中配置第一客户端角度值和第一服务端角度值。
在一个示例性实施例中,所述根据所述第一字典版本号在客户端中配置第一密钥字典和第一字典版本号,包括:确定所述客户端中是否存储所述第一字典版本号对应的第一密钥字典;在所述客户端中未存储所述第一字典版本号对应的第一密钥字典的情况下,向所述服务端发送获取所述第一密钥字典的获取请求;在所述服务端接收到所述获取请求的情况下,接收所述服务端根据所述获取请求发送的第一密钥字典,以在所述客户端中配置所述第一密钥字典和第一所述字典版本号。
在一个示例性实施例中,接收所述服务端根据所述获取请求发送的第一密钥字典的过程中,所述方法还包括:向所述服务端发送获取所述第一密钥字典的获取请求,其中,所述获取请求中包括:所述第一字典版本号和所述第一客户端角度值;在所述服务端确定所述第一字典版本号与所述服务端中存储的字典版本号一致,且所述第一客户端角度值位于取值区间的情况下,接收所述服务端发送的第一密钥字典。
在一个示例性实施例中,将所述第一字符序列作为第一目标密钥之后,所述方法还包括:根据所述第一目标密钥以及所述服务端发送的加密算法对目标明文进行加密,以得到所述目标明文对应的第一目标密文;将所述第一目标密文、所述第一字典版本号和所述第一客户端角度值发送至所述服务端,以使所述服务端根据所述第一字典版本号和所述第一客户端角度值解密所述目标密文。
在一个示例性实施例中,将所述第一字符序列作为目标密钥之后,所述方法还包括:在所述服务端中增加第二密钥字典的情况下,接收服务端发送的所述服务端中配置的第二密钥字典对应的第二字典版本号和第二服务端角度值,其中,所述第二密钥字典中包括:第二字符序列,所述第二服务端角度值用于标识所述服务端,所述服务端包括:多个服务端角度值和多个密钥字典,所述多个服务端角度值分别与所述多个密钥字典一一对应;根据所述第二服务端角度值在所述客户端中配置第二客户端角度值和服务端角度值,以及根据所述第二字典版本号在客户端中配置第二密钥字典和第二字典版本号,所述第二客户端角度值用于标识所述客户端;通过所述第二服务端角度值和所述第二客户端角度值确定第二密钥角度值;根据所述密钥角度值在所述密钥字典中获取第二目标字符序列,以将所述第二目标字符序列作为第二目标密钥。
根据本发明实施例的另一个实施例,还提供了一种密钥的确定装置,包括:接收模块,用于接收服务端发送的所述服务端中配置的第一密钥字典对应的第一字典版本号和第一服务端角度值,其中,所述第一密钥字典中包括:字符序列,所述第一服务端角度值用于标识所述服务端;配置模块,用于根据所述第一服务端角度值在客户端中配置第一客户端角度值和第一服务端角度值,以及根据所述第一字典版本号在客户端中配置第一密钥字典和第一字典版本号,所述第一客户端角度值用于标识所述客户端;确定模块,用于通过所述第一服务端角度值和所述第一客户端角度值确定第一密钥角度值;获取模块,用于根据所述第一密钥角度值在所述第一密钥字典中获取第一目标字符序列,以将所述第一目标字符序列作为第一目标密钥。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述密钥的确定方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的密钥的确定方法。
在本发明实施例中,接收服务端发送的所述服务端中配置的第一密钥字典对应的第一字典版本号和第一服务端角度值,其中,所述第一密钥字典中包括:字符序列,所述第一服务端角度值用于标识所述服务端;根据所述第一服务端角度值在客户端中配置第一客户端角度值和第一服务端角度值,以及根据所述第一字典版本号在客户端中配置第一密钥字典和第一字典版本号,所述第一客户端角度值用于标识所述客户端;通过所述第一服务端角度值和所述第一客户端角度值确定第一密钥角度值;根据所述第一密钥角度值在所述第一密钥字典中获取第一目标字符序列,以将所述第一目标字符序列作为第一目标密钥;采用上述技术方案,解决了密钥的安全性较低等问题,进而本发明实施例通过为每个服务端和客户端分配角度值和密钥字典,根据每个服务端和客户端分配角度值和密钥字典动态的计算出密钥的方式来达到密钥隐藏的目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种密钥的确定方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的密钥的确定方法的流程图;
图3是根据本发明可选实施例的密钥的确定装置的结构框图;
图4是根据本发明可选实施例的密钥的确定方法的时序图;
图5是根据本发明实施例的密钥的确定装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种密钥的确定方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的密钥的确定方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种密钥的确定方法,应用于上述计算机终端,图2是根据本发明实施例的密钥的确定方法的流程图,该流程包括如下步骤:
步骤S202,接收服务端发送的所述服务端中配置的第一密钥字典对应的第一字典版本号和第一服务端角度值,其中,所述第一密钥字典中包括:字符序列,所述第一服务端角度值用于标识所述服务端;
步骤S204,根据所述第一服务端角度值在客户端中配置第一客户端角度值和第一服务端角度值,以及根据所述第一字典版本号在客户端中配置第一密钥字典和第一字典版本号,所述第一客户端角度值用于标识所述客户端;
步骤S206,通过所述第一服务端角度值和所述第一客户端角度值确定第一密钥角度值;
步骤S208,根据所述第一密钥角度值在所述第一密钥字典中获取第一目标字符序列,以将所述第一目标字符序列作为第一目标密钥。
通过上述步骤,接收服务端发送的所述服务端中配置的第一密钥字典对应的第一字典版本号和第一服务端角度值,其中,所述第一密钥字典中包括:字符序列,所述第一服务端角度值用于标识所述服务端;根据所述第一服务端角度值在客户端中配置第一客户端角度值和第一服务端角度值,以及根据所述第一字典版本号在客户端中配置第一密钥字典和第一字典版本号,所述第一客户端角度值用于标识所述客户端;通过所述第一服务端角度值和所述第一客户端角度值确定第一密钥角度值;根据所述第一密钥角度值在所述第一密钥字典中获取第一目标字符序列,以将所述第一目标字符序列作为第一目标密钥,解决了相关技术中,密钥的安全性较低等问题,进而本发明实施例通过为每个服务端和客户端分配角度值和密钥字典,根据每个服务端和客户端分配角度值和密钥字典动态的计算出密钥的方式来达到密钥隐藏的目的。
在一个示例性实施例中,根据所述第一密钥角度值在所述第一密钥字典中获取第一目标字符序列,包括:分别确定所述第一密钥字典中所有字符序列的排列序号;在所述第一密钥字典中获取与所述第一密钥角度值一致的第一排列序号,以及所述第一排列序号之前的第二排列序号;将所述第一排列序号对应的字符序列和所述第二排列序号对应的字符序列按顺序进行拼接,以得到所述第一目标字符序列。
举例来讲,在第一密钥角度值为3的情况下,在第一密钥字典中获取序列号为1、2、3分别对应的字符序列,将1、2、3分别对应的字符序列按顺序进行拼接得到第一目标字符序列,其中,第一目标字符序列为密钥。
需要说明的是,在所述第一排列序号对应的字符序列和所述第二排列序号对应的字符序列未顺序进行拼接,则将字符序列的拼接序列一起发送至服务端,以使所述服务端根据拼接序列对密钥进行解密,例如,在拼接序列为1、3、2的情况下,将拼接序列为1、3、2发送至服务端。
在一个示例性实施例中,根据所述第一服务端角度值在客户端中配置第一客户端角度值和第一服务端角度值,包括:根据所述第一服务端角度值和预设角度值确定所述第一客户端角度值对应的取值区间,其中,所述第一服务端角度值、所述第一客户端角度值与所述第一密钥角度值相加为所述预设角度值;在所述取值区间中通过预设方式确定所述第一客户端角度值,以在所述客户端中配置第一客户端角度值和第一服务端角度值。
也就是说,在客户端根据服务端提供的第一服务端角度值配置客户端的客户端角度值,具体的,在预设角度值为180、第一服务端角度值为120的情况下,第一客户端角度值的取值区间为0-60,在0-60的取值区间上随机选取一个数值,将所述数值作为第一客户端角度值。
在一个示例性实施例中,所述根据所述第一字典版本号在客户端中配置第一密钥字典和第一字典版本号,包括:确定所述客户端中是否存储所述第一字典版本号对应的第一密钥字典;在所述客户端中未存储所述第一字典版本号对应的第一密钥字典的情况下,向所述服务端发送获取所述第一密钥字典的获取请求;在所述服务端接收到所述获取请求的情况下,接收所述服务端根据所述获取请求发送的第一密钥字典,以在所述客户端中配置所述第一密钥字典和第一所述字典版本号。
客户端完成配置后,会根据第一字典版本号检查客户端的本地是否存在第一字典版本号对应的第一密钥字典,如不存在则向服务端发起请求,进行密钥字典的同步,并将获取的第一密钥字典和所述第一字典版本号存储至本地的数据库,以使后续不再向所述服务端获取所述第一密钥字典。
在一个示例性实施例中,接收所述服务端根据所述获取请求发送的第一密钥字典的过程中,向所述服务端发送获取所述第一密钥字典的获取请求,其中,所述获取请求中包括:所述第一字典版本号和所述第一客户端角度值;在所述服务端确定所述第一字典版本号与所述服务端中存储的字典版本号一致,且所述第一客户端角度值位于取值区间的情况下,接收所述服务端发送的第一密钥字典。
在服务端接收到获取请求的情况下,服务端校验所述第一字典版本号与所述服务端中存储的字典版本号是否一致,以及第一客户端角度值是否位于对应的取值区间(由于第一字典版本号与所述第一服务端角度值向对应,因此服务端可以根据第一字典版本号确定对应的第一服务端角度值,以及根据第一服务端角度值确定第一客户端角度值对应的取值区间),已在所述服务端确定所述第一字典版本号与所述服务端中存储的字典版本号一致,且所述第一客户端角度值位于取值区间的情况下,向客户单发送第一字典版本号对应的第一密钥字典。
在一个示例性实施例中,将所述第一字符序列作为第一目标密钥之后,根据所述第一目标密钥以及所述服务端发送的加密算法对目标明文进行加密,以得到所述目标明文对应的第一目标密文;将所述第一目标密文、所述第一字典版本号和所述第一客户端角度值发送至所述服务端,以使所述服务端根据所述第一字典版本号和所述第一客户端角度值解密所述目标密文。
在生成密钥的情况下,为了解决通过网络传递密钥就可能造成密钥的泄露的问题,在发送第一目标密文的过程中不发送密钥,而是向服务端发送所述第一字典版本号和所述第一客户端角度值,以使服务端根据第一字典版本号确定第一密钥字典,以及根据所述第一客户端角度值、第一服务端角度值确定第一密钥角度值,根据第一密钥角度值在第一密钥字典中确定第一目标密钥,在通过第一目标密钥和加密算法对目标第一目标密文进行解密。
在一个示例性实施例中,将所述第一字符序列作为目标密钥之后,在所述服务端中增加第二密钥字典的情况下,接收服务端发送的所述服务端中配置的第二密钥字典对应的第二字典版本号和第二服务端角度值,其中,所述第二密钥字典中包括:第二字符序列,所述第二服务端角度值用于标识所述服务端,所述服务端包括:多个服务端角度值和多个密钥字典,所述多个服务端角度值分别与所述多个密钥字典一一对应;根据所述第二服务端角度值在所述客户端中配置第二客户端角度值和服务端角度值,以及根据所述第二字典版本号在客户端中配置第二密钥字典和第二字典版本号,所述第二客户端角度值用于标识所述客户端;通过所述第二服务端角度值和所述第二客户端角度值确定第二密钥角度值;根据所述密钥角度值在所述密钥字典中获取第二目标字符序列,以将所述第二目标字符序列作为第二目标密钥。
由于客户端角度值、字典版本号服务端角度值等可以被泄漏,因此可动态的调整密钥字典及其版本号,第一字典版本号以及第一密钥字典仍旧留存,在配置第二字典密钥版本号以及第二密钥字典后,用户的下一次请求可根据实际情况决定携带第一密钥字典版本号还是第二密钥字典版本号,以此在兼容第一密钥字典的同时切换第二密钥字典。
为了更好的理解上述密钥的确定方法的过程,以下再结合可选实施例对上述密钥的确定的实现方法流程进行说明,但不用于限定本发明实施例的技术方案。
在本实施例中提供了一种密钥的确定方法,图3是根据本发明可选实施例的密钥的确定装置的结构框图,如图3所示,客户端通过客户端密钥生成组件生成对应的第一密钥以及对服务端发送的第二密钥进行解密,服务端通过服务端密钥生成组件用于生成第二密钥,以及对客户端发送的第一密钥进行解密。
图4是根据本发明可选实施例的密钥的确定方法的时序图,如图4所示,具体如下步骤:
步骤S401:用户向服务端的服务端加解密模块配置密钥字典、字典版本号、服务端角度值,需要说明的是,一个服务端角度值只能对应一个密钥字典,一个服务端可以有多个服务端角度值;
步骤S402:将密钥字典与服务端角度值的对应关系保存至服务端的本地数据库;
步骤S403:客户端根据服务端提供的服务端角度值确定客户端的可选角度值区间,以及根据服务端提供的字典版本号和可选角度值区间配置密钥字典、字典版本号、客户端角度值、服务端角度值;
其中,根据服务端提供的字典版本号配置密钥字典需要执行以下步骤:步骤S404:检查客户端的本地数据库是否存储有字典版本号对应的密钥字典;
步骤S405:在客户端的本地数据库未存储有字典版本号对应的密钥字典的情况下,向服务端请求获取所述密钥字典,其中,获取请求中包括:字典版本号和客户端角度值;
步骤S406:服务端的服务端加解密模块校验字典版本号是否合法,以及客户端角度值是否在有效值区间;
步骤S407:服务端加解密模块向服务端发送检验结果:发送密钥字典或者发送不合法的提示信息;
步骤S408:服务端向客户端的客户端加解密模块发送响应结果:密钥字典或不合法的提示信息;
步骤S409:在客户端加解密模块接收到密钥字典的情况下,客户端将密钥字典保存至客户端的本地数据库;
步骤S410:用户向客户端加解密模块发送明文信息和字典版本号;
步骤S411:客户端加解密模块通过180-客户端角度值-服务端角度值,得到密钥角度值,之后根据密钥角度值,在指定的字典版本号的密钥字典中按次序获取角度个数的字符序列作为密钥;
步骤S412:密钥生成后,客户端加解密模块可使用配置的加密算法对明文进行加密,得到密文信息;
步骤S413:将密文信息发送至客户端;
步骤S414:将密文、密钥字典版本号、客户端角度值传递到服务端;
步骤S415:服务端将密文、密钥字典版本号、客户端角度值传递到服务端加解密模块;
步骤S416:服务端加解密模块通过180-客户端角度值-服务端角度值得到密钥角度值,然后根据密钥角度值,在对应版本号字典中按次序获取角度个数的字符序列作为密钥;服务端计算出密钥后就可以使用与客户端约定的加密算法进行解密,得到明文;
步骤S417:将密文发送至服务端。
需要说明的是,密钥字典可以是180个8到12位的字符序列,在计算密钥时,根据角度值按字典顺序获得角度值个数个序列并按顺序组合,以此获取本次密钥。
由于需要考虑客户端角度值、字典版本号泄露后的补救措施,可动态的调整密钥字典及其版本号,旧的版本号仍旧留存,新密钥字典配置后,用户的下一次请求可根据实际情况决定携带新字典版本号还是旧字典版本号,以此在兼容旧密钥字典的同时切换新密钥字典。
本发明实施例,接收服务端发送的所述服务端中配置的第一密钥字典对应的第一字典版本号和第一服务端角度值,其中,所述第一密钥字典中包括:字符序列,所述第一服务端角度值用于标识所述服务端;根据所述第一服务端角度值在客户端中配置第一客户端角度值和第一服务端角度值,以及根据所述第一字典版本号在客户端中配置第一密钥字典和第一字典版本号,所述第一客户端角度值用于标识所述客户端;通过所述第一服务端角度值和所述第一客户端角度值确定第一密钥角度值;根据所述第一密钥角度值在所述第一密钥字典中获取第一目标字符序列,以将所述第一目标字符序列作为第一目标密钥,解决了相关技术中,密钥的安全性较低等问题,进而本发明实施例通过为每个服务端和客户端分配角度值和密钥字典,根据每个服务端和客户端分配角度值和密钥字典动态的计算出密钥的方式来达到密钥隐藏的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
在本实施例中还提供了密钥的确定装置,该密钥的确定装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明实施例的一种密钥的确定装置的结构框图;如图5所示,包括:
接收模块52,用于接收服务端发送的所述服务端中配置的第一密钥字典对应的第一字典版本号和第一服务端角度值,其中,所述第一密钥字典中包括:字符序列,所述第一服务端角度值用于标识所述服务端;
配置模块54,用于根据所述第一服务端角度值在客户端中配置第一客户端角度值和第一服务端角度值,以及根据所述第一字典版本号在客户端中配置第一密钥字典和第一字典版本号,所述第一客户端角度值用于标识所述客户端;
确定模块56,用于通过所述第一服务端角度值和所述第一客户端角度值确定第一密钥角度值;
获取模块58,用于根据所述第一密钥角度值在所述第一密钥字典中获取第一目标字符序列,以将所述第一目标字符序列作为第一目标密钥。
通过上述装置,接收服务端发送的所述服务端中配置的第一密钥字典对应的第一字典版本号和第一服务端角度值,其中,所述第一密钥字典中包括:字符序列,所述第一服务端角度值用于标识所述服务端;根据所述第一服务端角度值在客户端中配置第一客户端角度值和第一服务端角度值,以及根据所述第一字典版本号在客户端中配置第一密钥字典和第一字典版本号,所述第一客户端角度值用于标识所述客户端;通过所述第一服务端角度值和所述第一客户端角度值确定第一密钥角度值;根据所述第一密钥角度值在所述第一密钥字典中获取第一目标字符序列,以将所述第一目标字符序列作为第一目标密钥,解决了相关技术中,密钥的安全性较低等问题,进而本发明实施例通过为每个服务端和客户端分配角度值和密钥字典,根据每个服务端和客户端分配角度值和密钥字典动态的计算出密钥的方式来达到密钥隐藏的目的。
在一个示例性实施例中,获取模块,还用于分别确定所述第一密钥字典中所有字符序列的排列序号;在所述第一密钥字典中获取与所述第一密钥角度值一致的第一排列序号,以及所述第一排列序号之前的第二排列序号;将所述第一排列序号对应的字符序列和所述第二排列序号对应的字符序列按顺序进行拼接,以得到所述第一目标字符序列。
在一个示例性实施例中,配置模块,还用于根据所述第一服务端角度值和预设角度值确定所述第一客户端角度值对应的取值区间,其中,所述第一服务端角度值、所述第一客户端角度值与所述第一密钥角度值相加为所述预设角度值;在所述取值区间中通过预设方式确定所述第一客户端角度值,以在所述客户端中配置第一客户端角度值和第一服务端角度值。
在一个示例性实施例中,配置模块,还用于确定所述客户端中是否存储所述第一字典版本号对应的第一密钥字典;在所述客户端中未存储所述第一字典版本号对应的第一密钥字典的情况下,向所述服务端发送获取所述第一密钥字典的获取请求;在所述服务端接收到所述获取请求的情况下,接收所述服务端根据所述获取请求发送的第一密钥字典,以在所述客户端中配置所述第一密钥字典和第一所述字典版本号。
在一个示例性实施例中,接收模块,还用于向所述服务端发送获取所述第一密钥字典的获取请求,其中,所述获取请求中包括:所述第一字典版本号和所述第一客户端角度值;在所述服务端确定所述第一字典版本号与所述服务端中存储的字典版本号一致,且所述第一客户端角度值位于取值区间的情况下,接收所述服务端发送的第一密钥字典。
在一个示例性实施例中,上述装置还包括:发送模块,还用于根据所述第一目标密钥以及所述服务端发送的加密算法对目标明文进行加密,以得到所述目标明文对应的第一目标密文;将所述第一目标密文、所述第一字典版本号和所述第一客户端角度值发送至所述服务端,以使所述服务端根据所述第一字典版本号和所述第一客户端角度值解密所述目标密文。
在一个示例性实施例中,接收模块,还用于在所述服务端中增加第二密钥字典的情况下,接收服务端发送的所述服务端中配置的第二密钥字典对应的第二字典版本号和第二服务端角度值,其中,所述第二密钥字典中包括:第二字符序列,所述第二服务端角度值用于标识所述服务端,所述服务端包括:多个服务端角度值和多个密钥字典,所述多个服务端角度值分别与所述多个密钥字典一一对应;配置模块,还用于根据所述第二服务端角度值在所述客户端中配置第二客户端角度值和服务端角度值,以及根据所述第二字典版本号在客户端中配置第二密钥字典和第二字典版本号,所述第二客户端角度值用于标识所述客户端;确定模块,还用于通过所述第二服务端角度值和所述第二客户端角度值确定第二密钥角度值;获取模块,还用于根据所述密钥角度值在所述密钥字典中获取第二目标字符序列,以将所述第二目标字符序列作为第二目标密钥。
本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,接收服务端发送的所述服务端中配置的第一密钥字典对应的第一字典版本号和第一服务端角度值,其中,所述第一密钥字典中包括:字符序列,所述第一服务端角度值用于标识所述服务端;
S2,根据所述第一服务端角度值在客户端中配置第一客户端角度值和第一服务端角度值,以及根据所述第一字典版本号在客户端中配置第一密钥字典和第一字典版本号,所述第一客户端角度值用于标识所述客户端;
S3,通过所述第一服务端角度值和所述第一客户端角度值确定第一密钥角度值;
S4,根据所述第一密钥角度值在所述第一密钥字典中获取第一目标字符序列,以将所述第一目标字符序列作为第一目标密钥。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,接收服务端发送的所述服务端中配置的第一密钥字典对应的第一字典版本号和第一服务端角度值,其中,所述第一密钥字典中包括:字符序列,所述第一服务端角度值用于标识所述服务端;
S2,根据所述第一服务端角度值在客户端中配置第一客户端角度值和第一服务端角度值,以及根据所述第一字典版本号在客户端中配置第一密钥字典和第一字典版本号,所述第一客户端角度值用于标识所述客户端;
S3,通过所述第一服务端角度值和所述第一客户端角度值确定第一密钥角度值;
S4,根据所述第一密钥角度值在所述第一密钥字典中获取第一目标字符序列,以将所述第一目标字符序列作为第一目标密钥。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种密钥的确定方法,其特征在于,包括:
接收服务端发送的所述服务端中配置的第一密钥字典对应的第一字典版本号和第一服务端角度值,其中,所述第一密钥字典中包括:字符序列,所述第一服务端角度值用于标识所述服务端;
根据所述第一服务端角度值在客户端中配置第一客户端角度值和第一服务端角度值,以及根据所述第一字典版本号在客户端中配置第一密钥字典和第一字典版本号,所述第一客户端角度值用于标识所述客户端;
通过所述第一服务端角度值和所述第一客户端角度值确定第一密钥角度值;
根据所述第一密钥角度值在所述第一密钥字典中获取第一目标字符序列,以将所述第一目标字符序列作为第一目标密钥。
2.根据权利要求1所述的密钥的确定方法,其特征在于,根据所述第一密钥角度值在所述第一密钥字典中获取第一目标字符序列,包括:
分别确定所述第一密钥字典中所有字符序列的排列序号;
在所述第一密钥字典中获取与所述第一密钥角度值一致的第一排列序号,以及所述第一排列序号之前的第二排列序号;
将所述第一排列序号对应的字符序列和所述第二排列序号对应的字符序列按顺序进行拼接,以得到所述第一目标字符序列。
3.根据权利要求1所述的密钥的确定方法,其特征在于,根据所述第一服务端角度值在客户端中配置第一客户端角度值和第一服务端角度值,包括:
根据所述第一服务端角度值和预设角度值确定所述第一客户端角度值对应的取值区间,其中,所述第一服务端角度值、所述第一客户端角度值与所述第一密钥角度值相加为所述预设角度值;
在所述取值区间中通过预设方式确定所述第一客户端角度值,以在所述客户端中配置第一客户端角度值和第一服务端角度值。
4.根据权利要求1所述的密钥的确定方法,其特征在于,所述根据所述第一字典版本号在客户端中配置第一密钥字典和第一字典版本号,包括:
确定所述客户端中是否存储所述第一字典版本号对应的第一密钥字典;
在所述客户端中未存储所述第一字典版本号对应的第一密钥字典的情况下,向所述服务端发送获取所述第一密钥字典的获取请求;
在所述服务端接收到所述获取请求的情况下,接收所述服务端根据所述获取请求发送的第一密钥字典,以在所述客户端中配置所述第一密钥字典和第一所述字典版本号。
5.根据权利要求1所述的密钥的确定方法,其特征在于,接收所述服务端根据所述获取请求发送的第一密钥字典的过程中,所述方法还包括:
向所述服务端发送获取所述第一密钥字典的获取请求,其中,所述获取请求中包括:所述第一字典版本号和所述第一客户端角度值;
在所述服务端确定所述第一字典版本号与所述服务端中存储的字典版本号一致,且所述第一客户端角度值位于取值区间的情况下,接收所述服务端发送的第一密钥字典。
6.根据权利要求1所述的密钥的确定方法,其特征在于,将所述第一字符序列作为第一目标密钥之后,所述方法还包括:
根据所述第一目标密钥以及所述服务端发送的加密算法对目标明文进行加密,以得到所述目标明文对应的第一目标密文;
将所述第一目标密文、所述第一字典版本号和所述第一客户端角度值发送至所述服务端,以使所述服务端根据所述第一字典版本号和所述第一客户端角度值解密所述目标密文。
7.根据权利要求1所述的密钥的确定方法,其特征在于,将所述第一字符序列作为目标密钥之后,所述方法还包括:
在所述服务端中增加第二密钥字典的情况下,接收服务端发送的所述服务端中配置的第二密钥字典对应的第二字典版本号和第二服务端角度值,其中,所述第二密钥字典中包括:第二字符序列,所述第二服务端角度值用于标识所述服务端,所述服务端包括:多个服务端角度值和多个密钥字典,所述多个服务端角度值分别与所述多个密钥字典一一对应;
根据所述第二服务端角度值在所述客户端中配置第二客户端角度值和服务端角度值,以及根据所述第二字典版本号在客户端中配置第二密钥字典和第二字典版本号,所述第二客户端角度值用于标识所述客户端;
通过所述第二服务端角度值和所述第二客户端角度值确定第二密钥角度值;
根据所述密钥角度值在所述密钥字典中获取第二目标字符序列,以将所述第二目标字符序列作为第二目标密钥。
8.一种密钥的确定装置,其特征在于,包括:
接收模块,用于接收服务端发送的所述服务端中配置的第一密钥字典对应的第一字典版本号和第一服务端角度值,其中,所述第一密钥字典中包括:字符序列,所述第一服务端角度值用于标识所述服务端;
配置模块,用于根据所述第一服务端角度值在客户端中配置第一客户端角度值和第一服务端角度值,以及根据所述第一字典版本号在客户端中配置第一密钥字典和第一字典版本号,所述第一客户端角度值用于标识所述客户端;
确定模块,用于通过所述第一服务端角度值和所述第一客户端角度值确定第一密钥角度值;
获取模块,用于根据所述第一密钥角度值在所述第一密钥字典中获取第一目标字符序列,以将所述第一目标字符序列作为第一目标密钥。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111621089.XA CN114285655B (zh) | 2021-12-27 | 2021-12-27 | 密钥的确定方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111621089.XA CN114285655B (zh) | 2021-12-27 | 2021-12-27 | 密钥的确定方法和装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114285655A true CN114285655A (zh) | 2022-04-05 |
CN114285655B CN114285655B (zh) | 2024-04-30 |
Family
ID=80876794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111621089.XA Active CN114285655B (zh) | 2021-12-27 | 2021-12-27 | 密钥的确定方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114285655B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000134192A (ja) * | 1998-10-21 | 2000-05-12 | Nippon Telegr & Teleph Corp <Ntt> | データ暗号/復号化装置及びそのプログラム記録媒体 |
US20040105549A1 (en) * | 2002-11-15 | 2004-06-03 | Nec Corporation | Key mangement system and multicast delivery system using the same |
CN103763096A (zh) * | 2014-01-17 | 2014-04-30 | 北京邮电大学 | 随机密钥分配方法和装置 |
CN108063667A (zh) * | 2018-01-03 | 2018-05-22 | 广州杰赛科技股份有限公司 | 密钥分配方法和装置 |
CN111565107A (zh) * | 2020-07-14 | 2020-08-21 | 腾讯科技(深圳)有限公司 | 基于云服务平台的密钥处理方法、装置和计算机设备 |
GB202100434D0 (en) * | 2021-01-13 | 2021-02-24 | Arqit Ltd | System and method for key establishment |
US20210218560A1 (en) * | 2018-06-28 | 2021-07-15 | Iot And M2M Technologies, Llc | ECDHE Key Exchange for Mutual Authentication Using a Key Server |
CN113541941A (zh) * | 2021-07-02 | 2021-10-22 | 珠海格力电器股份有限公司 | 一种密钥处理方法、装置、电子设备及存储介质 |
-
2021
- 2021-12-27 CN CN202111621089.XA patent/CN114285655B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000134192A (ja) * | 1998-10-21 | 2000-05-12 | Nippon Telegr & Teleph Corp <Ntt> | データ暗号/復号化装置及びそのプログラム記録媒体 |
US20040105549A1 (en) * | 2002-11-15 | 2004-06-03 | Nec Corporation | Key mangement system and multicast delivery system using the same |
CN103763096A (zh) * | 2014-01-17 | 2014-04-30 | 北京邮电大学 | 随机密钥分配方法和装置 |
CN108063667A (zh) * | 2018-01-03 | 2018-05-22 | 广州杰赛科技股份有限公司 | 密钥分配方法和装置 |
US20210218560A1 (en) * | 2018-06-28 | 2021-07-15 | Iot And M2M Technologies, Llc | ECDHE Key Exchange for Mutual Authentication Using a Key Server |
CN111565107A (zh) * | 2020-07-14 | 2020-08-21 | 腾讯科技(深圳)有限公司 | 基于云服务平台的密钥处理方法、装置和计算机设备 |
GB202100434D0 (en) * | 2021-01-13 | 2021-02-24 | Arqit Ltd | System and method for key establishment |
CN113541941A (zh) * | 2021-07-02 | 2021-10-22 | 珠海格力电器股份有限公司 | 一种密钥处理方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
王学庆;王彪;薛锐;: "具有短密文的多身份全同态加密构造框架", 信息安全学报, no. 05, 15 September 2018 (2018-09-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN114285655B (zh) | 2024-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110463237B (zh) | 用于管理服务器和用户设备之间的通信的方法 | |
CN110138744B (zh) | 更换通信号码的方法、装置、系统、计算机设备及存储介质 | |
US10454674B1 (en) | System, method, and device of authenticated encryption of messages | |
CN105007577B (zh) | 一种虚拟sim卡参数管理方法、移动终端及服务器 | |
US10169615B2 (en) | Methods and apparatuses for encryption and decryption | |
CN110708164B (zh) | 一种物联网设备的控制方法、装置、存储介质及电子装置 | |
CN107707562B (zh) | 一种非对称动态令牌加、解密算法的方法、装置 | |
CN111699706B (zh) | 用于通过蓝牙低能耗连接进行通信的主从系统 | |
CN104836784A (zh) | 一种信息处理方法、客户端和服务器 | |
CN105208005A (zh) | 一种指纹认证方法、连接设备和终端设备 | |
CN114465803B (zh) | 对象授权方法、装置、系统及存储介质 | |
CN112672342B (zh) | 数据传输方法、装置、设备、系统和存储介质 | |
CN111917555A (zh) | 数据处理方法及装置 | |
CN112883388A (zh) | 文件加密方法及装置、存储介质、电子装置 | |
CN113239403A (zh) | 一种数据共享方法及装置 | |
US11128455B2 (en) | Data encryption method and system using device authentication key | |
CN113839780A (zh) | 加密方法、解密方法、服务器及存储介质 | |
CN109547196B (zh) | 一种手表令牌系统的实现方法及手表令牌系统和装置 | |
CN112134831B (zh) | 接入请求的发送、处理方法及装置 | |
CN110166460B (zh) | 业务帐号的注册方法和装置、存储介质、电子装置 | |
CN114285655B (zh) | 密钥的确定方法和装置、存储介质及电子装置 | |
CN110875902A (zh) | 通信方法、装置及系统 | |
CN111490880A (zh) | 文件的接收方法及装置 | |
CN111614739A (zh) | 网络测量数据存储方法、装置和系统 | |
CN113824618B (zh) | 跨平台的设备配网方法、第二方平台和第一方平台 |
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 |