一种密钥处理方法与流程

文档序号:36632256发布日期:2024-01-06 23:21阅读:25来源:国知局
一种密钥处理方法与流程

本技术涉及金融科技,尤其涉及一种密钥处理方法。


背景技术:

1、客户端为面向用户的前端,服务端为具体处理数据的后端。用户在客户端的页面操作,客户端生成业务请求报文,发送给服务端对业务请求报文进行处理,处理之后生成响应报文,将响应报文反馈至客户端,这是一个完整的数据传输过程。

2、但是,在业务请求报文传输过程中,为了保证业务请求报文中所携带信息的安全性,一般会对业务请求报文进行加密之后再进行传输。例如,业务请求为用户登录请求,那么在业务请求报文中则会携带用户的用户名和密码等隐私信息,此时,若传输过程中,业务请求报文被截获,那么用户的隐私信息就有可能会暴露。需要客户端将密钥同步给服务端,服务端才能使用密钥对业务请求报文进行解密;但是,若客户端的页面被刷新之后或者用户的登录状态过期后,会产生新的密钥,新的业务请求报文会使用新的密钥进行加密,但是此时不会将新的密钥同步给服务端,服务端仍然保留的是旧的密钥,因此就会导致对业务请求报文解密失败。

3、基于此,目前亟需一种密钥处理方法,用于解决客户端和服务端密钥不同步的问题。


技术实现思路

1、本技术实施例提供一种密钥处理方法,用于解决客户端和服务端密钥不同步的问题。

2、第一方面,本技术实施例提供一种密钥处理方法,包括:

3、客户端的安全层在接收到服务端发送的解密失败响应报文后,确定所述客户端的网络层未处于锁定状态;

4、所述客户端的安全层将所述客户端的网络层锁定,并触发对称密钥更新流程;所述对称密钥更新流程用于更新所述客户端与所述服务端之间的加解密密钥;

5、所述客户端的安全层在所述对称密钥更新流程完成之前,缓存所述客户端发送至所述服务端的业务请求报文;

6、所述客户端的安全层在所述对称密钥更新流程完成后,解锁所述客户端的网络层并继续处理缓存中的业务请求报文。

7、一种可能的实现方式中,所述客户端的安全层在所述客户端的网络层未处于锁定状态时,使用对称密钥对业务请求报文进行加密并发送至所述服务端,和/或,使用所述对称密钥对业务响应报文进行解密并发送所述客户端的业务层。

8、通过上述方式,使用户客户端的安全层进行对称密钥更新,并且在对称密钥更新流程完成之前,客户端发送至服务端的业务请求报文需要先行进行缓存,以保证不会有新的报文再发送到服务端,产生解密失败报文。当对称密钥更新流程完成后,在解锁客户端的网络层,并继续处理缓存中的业务请求报文。由此,实现了一种用户无感知的密钥更新流程,在保证安全性的前提下,避免了加解密失败导致的业务流程终端的问题。

9、一种可能的实现方式中,所述客户端的安全层触发对称密钥更新流程,包括:

10、所述客户端的安全层生成对称密钥和随机字符串rc;

11、所述客户端的安全层基于身份识别证明rs得到第一向量te和第一码源,并基于所述随机字符串rc得到第二向量tv和第二码源;基于所述第一码源和所述第二码源,得到编码表;通过所述第一向量te和所述第二向量tv,确定所述对称密钥在所述编码表中的掩码对称密钥;所述身份识别证明是所述服务端根据所述客户端所在的设备信息和用户信息确定的;

12、所述客户端的安全层将所述掩码对称密钥和所述身份识别证明rs进行加密后发送至所述服务端,从而实现对称密钥更新流程。

13、通过上述方式,在密钥更新过程中并非是对秘钥进行简单的加密,而是对其进行了掩码运算,并且掩码运算的过程比较容易实现,不会占用太多的算力,运算的基础是身份识别证明和随机字符串,即使截获者获取到了这两个信息,也无法知道具体的掩码过程,不能还原出原始的对称密钥,以保证对称密钥的安全。

14、一种可能的实现方式中,所述身份识别证明是所述服务端根据所述客户端所在的设备信息和用户信息确定的,包括:

15、根据所述设备信息中的显卡信息和驱动信息确定客户端处理器信息;

16、根据所述用户信息中的浏览器信息、地址信息和所述客户端处理器信息以及时间戳信息确定所述身份识别证明。

17、通过上述方式,可以在不需要任何鉴权的情况下获取到身份识别证明,并且,可以用于对对称密钥进行掩码。

18、一种可能的实现方式中,所述客户端的安全层基于身份识别证明rs得到第一向量te和第一码源,包括:

19、将所述身份识别证明按照第一预设规则拆分为n位的第一码源和m位的第一向量te;

20、基于所述随机字符串rc得到第二向量tv和第二码源,包括:

21、将所述随机字符串按照第二预设规则拆分为n位的第二码源和m位的第二向量。

22、通过上述方式,通过第一预设规则和第二预设规则对身份识别证明rs和随机字符串进行拆分,第一预设规则和第二预设规则可以根据实际的需要自行设置,使得对身份识别证明rs和随机字符串的处理更加灵活且多样,不易被截获。

23、一种可能的实现方式中,基于所述第一码源和所述第二码源,得到编码表,包括:

24、将所述n位的第一码源和所述n位的第二码源中的每一位用二进制字符表示;

25、针对所述n位的第一码源中的第x位,将所述第x位分别与所述第二码源中的第y位按设定规则进行拼接,得到所述编码表中的第x列第y行的初步位编码;若所述初步位编码与所述编码表中已有的位编码冲突,则更新所述初步位编码,直至与所述编码表中已有的位编码不冲突,则作为所述编码表中的第x列第y行的位编码;其中,所述设定规则为正序拼接或倒序拼接。

26、通过上述方式,得到了编码表,并且编码表中的编码均是不冲突的,即可以根据这个编码表进行编码。

27、一种可能的实现方式中,将所述第x位分别与所述第二码源中的第y位按设定规则进行拼接,得到所述编码表中的第x列第y行的初步位编码,包括:

28、若所述n位的第一码源中的第x位上二进制字符的末位数和所述n位的第二码源中的第y位上二进制字符的末位数不同,则将所述n位的第一码源中的第x位与所述n位的第二码源中的第y位正序拼接,得到所述编码表中的第x列第y行的初步位编码;x、y为大于0小于等于n的整数;

29、若所述n位的第一码源中的第x位上二进制字符的末位数和所述n位的第二码源中的第y位上二进制字符的末位数相同,则将所述n位的第一码源中的第x位与所述n位的第二码源中的第y位的倒序拼接,得到所述编码表中的第x列第y行的初步位编码。

30、上述方式为一种编码表的具体实现方式,可见是对第一码源和第二码源进行的简单拼接,不会占用大量的计算资源,降低了时间复杂度。

31、一种可能的实现方式中,通过所述第一向量te和所述第二向量tv,确定所述对称密钥在所述编码表中的掩码对称密钥,包括:

32、通过所述第一向量te和所述第二向量tv,得到量表和位编码指示信息;

33、所述量表的长度和所述对称密钥的长度为n;所述第二向量为和所述对称密钥进制相同的数值;

34、对所述对称密钥中的第n位和所述位编码指示信息进行第一运算,得到所述位编码指示信息在所述编码表中对应的待编码数;n为小于等于n的整数;

35、根据所述量表中的第n位确定编码次数;

36、根据所述待编码数、所述编码次数和所述编码表确定掩码对称密钥中的第n位。

37、在根据编码表进行编码之前,根据第一向量和第二向量得到量表和位编码指示信息,通过量表可以确定根据编码表的编码次数,根据位编码指示信息可以对原始的对称密钥进行初步运算,进一步提高了最终掩码对称密钥的复杂度。

38、一种可能的实现方式中,通过所述第一向量te和所述第二向量tv,得到量表和位编码指示信息,包括:

39、将所述第一向量te和所述第二向量tv按照第三预设规则拼接为第三字符串;

40、对所述第三字符串进行第二运算得到量表,对所述第三字符串进行第三运算得到位编码指示信息。

41、在上述方式中,得到第三字符串是按照第三预设规则对第一向量te和第二向量tv进行简单的拼接,而第三预设规则是可以自定义的,进而保证第一向量te和第二向量不会被破解。

42、一种可能的实现方式中,使用对称密钥对业务请求报文进行加密并发送至所述服务端,包括:

43、使用对称密钥对业务请求报文进行加密,得到加密密文;

44、自增传输次数标识;所述传输次数标识用于所述服务端确定所述客户端发送的业务请求报文是否为重构报文;

45、将所述加密密文、所述传输次数标识和所述身份识别证明发送至所述服务端。

46、通过上述方式,确定了传输次数标识,每传输一次,服务端和客户端都会加1,并且,服务端在接收报文时,会判断服务端的传输次数标识和客户端的传输次数标识,只有二者之间的大小关系满足设定要求时,才接受报文。而重构报文的传输次数标识是不满足设定要求的,因此服务端不会接收重构报文,不需要对其进行处理。

47、第二方面,本技术实施例提供另一种密钥处理方法,包括:

48、服务端的安全层在确定客户端发送的业务请求报文解密失败后,向所述客户端发送解密失败响应报文;

49、所述服务端的安全层基于所述客户端触发的对称密钥更新流程,获取所述客户端发送的加密后的掩码对称密钥、随机字符串rc和身份识别证明;所述身份识别证明是所述服务端根据所述客户端所在的设备信息和用户信息确定的;所述随机字符串rc是所述客户端的安全层随机生成的;

50、所述服务端的安全层根据所述随机字符串rc和所述身份识别证明,解码所述掩码对称密钥,得到所述客户端的对称密钥并更新自身存储的所述客户端的对称密钥。

51、一种可能的实现方式中,所述服务端的安全层根据所述随机字符串rc和所述身份识别证明,解码所述掩码对称密钥,得到所述客户端的对称密钥,包括:

52、所述服务端的安全层基于所述身份识别证明rs得到第一向量te和第一码源,并基于所述随机字符串rc得到第二向量tv和第二码源;基于所述第一码源和所述第二码源,得到编码表;通过所述第一向量te、所述第二向量tv和所述编码表,解码所述掩码对称密钥,得到所述客户端的对称密钥。

53、一种可能的实现方式中,通过所述第一向量te、所述第二向量tv和所述编码表,解码所述掩码对称密钥,包括:

54、通过所述第一向量te和所述第二向量tv,得到量表和位编码指示信息;所述量表的长度和所述对称密钥的长度为n;所述位编码指示信息为和所述对称密钥进制相同的数值;

55、针对所述对称密钥的第n位,根据所述量表中的第n位确定所述对称密钥的第n位的编码次数;

56、将所述掩码对称密钥通过所述编码表进行所述编码次数的解码,得到所述编码表中对应的待编码数;

57、将所述待编码数和所述位编码指示信息,通过第一运算的逆运算,得到所述对称密钥在第n位,从而获得所述对称密钥。

58、一种可能的实现方式中,所述方法还包括:

59、所述服务端的安全层接收所述业务请求报文;所述业务请求报文中包括加密密文、传输次数标识和身份识别证明;

60、所述服务端的安全层获取自身存储的所述身份识别证明对应的传输次数标识;若自身存储的传输次数标识不小于所述业务请求报文中的传输次数标识,则拒绝所述业务请求报文的访问。

61、第三方面,本技术实施例提供一种密钥处理装置,该装置包括:

62、确定模块,用于在接收到服务端发送的解密失败响应报文后,确定所述客户端的网络层未处于锁定状态;

63、锁定模块,用于将所述客户端的网络层锁定,并触发对称密钥更新流程;所述对称密钥更新流程用于更新所述客户端与所述服务端之间的加解密密钥;

64、缓存模块,用于在所述对称密钥更新流程完成之前,缓存所述客户端发送至所述服务端的业务请求报文;

65、重放模块,用于在所述对称密钥更新流程完成后,解锁所述客户端的网络层并继续处理缓存中的业务请求报文。

66、第四方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序被运行时,执行上述第一方面中任一项方法。

67、第五方面,本技术实施例提供一种计算设备,包括:存储器,用于存储程序指令;处理器,用于调用存储器中存储的程序指令,按照获得的程序执行上述第一方面中任一项设计中的方法。

68、第六方面,本技术实施例提供一种计算机程序产品,当计算机程序产品在处理器上运行时,实现如上述第一方面中任一项设计中的方法。

69、上述第二方面至第六方面的有益效果,具体可参照上述第一方面任一项设计可达到的有益效果,此处不再赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1