System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种JWT签名生成方法、装置、设备及可读存储介质制造方法及图纸_技高网

一种JWT签名生成方法、装置、设备及可读存储介质制造方法及图纸

技术编号:39964148 阅读:6 留言:0更新日期:2024-01-09 00:16
本发明专利技术公开了一种JWT签名生成方法、装置、设备及可读存储介质,应用于计算机技术领域,该方法包括:对密钥池中的密钥进行定时更新;当接收到登录服务端发出的密钥获取请求时,则随机将密钥池中的一个密钥及其对应的凭据ID发送给登录服务端,以使登录服务端根据密钥生成第一JWT签名,并将凭据ID发送给API调用服务端来完成JWT签名校验。本发明专利技术通过自动化更新密钥,无需人工干预,具有便捷性;密钥完全由服务内部生成,对于外部不可见,避免了密钥的泄漏与仿冒,具有安全性;密钥由密钥池随机取出,增加密钥的随机性,增加了对密钥爆破的复杂度,同时每次更新不需要进行重启服务,即可完成密钥的更新,因此提高JWT签名的稳定性。

【技术实现步骤摘要】

本专利技术涉及计算机,特别涉及一种jwt签名生成方法、装置、设备及可读存储介质。


技术介绍

1、jwt(json web token),是一个开放标准(rfc 7519),它定义了一种紧凑的、自包含的方式,用于作为json(javascript object notation,一种轻量级的数据交换格式)对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。

2、目前,jwt签名生成的方式通常是将密钥、时间戳和身份信息进行算法加密,得到jwt签名的方式。其中,时间戳和身份信息是可变的,对密钥的一般处理包括:(1)长时间不更新或者一直不更新,这种情况下,极易根据搜集的数据进行反推,密钥容易被爆破,缺乏安全性;(2)由外部人员进行手动更新:将密钥预先设定好存储在配置文件中,进行更新时,需要外部人员在配置文件中修改密钥。手动更新的方法存在以下缺陷:①由于涉及到人员参与,密钥容易外漏,缺乏安全性和便捷性;②在配置文件中进行密钥修改导致每次修改都需要重启服务,操作繁琐;③人员手动更新时,会容易产生规律性的更新密钥,也存在密钥爆破的风险,缺乏更新的随机性。

3、因此,当前jwt签名生成方法存在安全性差和不够便捷性的缺陷。


技术实现思路

1、有鉴于此,本专利技术的目的在于提供一种jwt签名生成方法、装置、设备及可读存储介质,解决了现有技术中密钥更新缺乏安全性和便捷性的问题。

2、为解决上述技术问题,本专利技术提供了一种jwt签名生成方法,包括

3、对密钥池中的密钥进行定时更新;

4、当接收到登录服务端发出的密钥获取请求时,则随机从所述密钥池中选取一个密钥,得到选取密钥;

5、将所述选取密钥和所述选取密钥对应的凭据id发送给所述登录服务端,以使所述登录服务端根据所述选取密钥生成第一jwt签名,并将所述凭据id发送给api调用服务端来完成jwt签名校验。

6、可选的,所述对密钥池中的密钥进行定时更新,包括:

7、当接收到根据预设更新周期定时发送的更新命令时,则获取预设数量个硬件密码机生产的密钥,并放入到所述密钥池中;

8、将所述密钥池中过期密钥进行伪删除。

9、可选的,在所述当接收到根据预设更新周期定时发送的更新命令时之后,还包括:将所述密钥池的当前状态由正常状态更新为更新中状态;相应的,在所述将所述密钥池中过期密钥进行伪删除之后,将所述密钥池的当前状态由更新中状态更新为正常状态。

10、可选的,所述当接收到登录服务端发出的密钥获取请求时,则随机从所述密钥池中选取一个密钥,包括:

11、当接收到所述登录服务端发出的所述密钥获取请求时,判断当前密钥池是否处于更新中状态;

12、若是,则从上一次更新得到的密钥池中随机选取一个密钥;

13、若否,则从当前更新得到的密钥池中随机选取一个密钥。

14、可选的,所述当接收到登录服务端发出的密钥获取请求时,包括:

15、利用登录服务端获取登录请求;

16、利用所述登录服务端检测所述登录请求的有效性;

17、若有效,则利用所述登录服务端执行登录验证;

18、当登录验证通过后,则向密钥管理服务端申请密钥和凭据id。

19、可选的,所述利用登录服务端执行登录验证,当登录验证通过后,则向所述密钥管理服务端申请密钥和凭据id,包括:

20、对所述登录请求中的登录信息账号、登录密码、有效期和验证码进行验证,当全部验证通过后,则向所述密钥管理服务端申请密钥和凭据id。

21、可选的,所述登录服务端根据所述选取密钥生成第一jwt签名,并将所述凭据id发送给api调用服务端来完成jwt签名校验,包括:

22、利用所述登录服务端将所述选取密钥加密登录信息,生成所述第一jwt签名,登录成功;

23、利用所述登录服务端将所述凭据id发送给所述api调用服务端,在登录成功后,当所述api调用服务端接收到访问请求时,所述访问请求包括所述第一jwt签名和所述凭证id;

24、利用所述api调用服务端检测所述访问请求的有效性;

25、当所述访问请求有效,则利用所述api调用服务端根据所述凭据id从所述密钥管理服务端获取对应的目标密钥;

26、通过所述api调用服务端利用所述目标密钥生成第二jwt签名,将所述jwt签名与所述第一jwt签名进行比对验证;

27、验证成功,则执行所述访问请求对应的业务;

28、验证失败,则返回失败信息。

29、本专利技术还提供了一种jwt签名生成装置,包括:

30、更新模块,用于对密钥池中的密钥进行定时更新;

31、选取模块,用于当接收到登录服务端发出的密钥获取请求时,则随机从所述密钥池中选取一个密钥,得到选取密钥;

32、jwt签名生成模块,用于将所述选取密钥和所述选取密钥对应的凭据id发送给所述登录服务端,以使所述登录服务端根据所述选取密钥生成第一jwt签名,并将所述凭据id发送给api调用服务端来完成jwt签名校验。

33、本专利技术还提供了一种jwt签名生成设备,包括:

34、存储器,用于存储计算机程序;

35、处理器,用于执行所述计算机程序时实现上述的jwt签名生成方法的步骤。

36、本专利技术还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的jwt签名生成方法的步骤。

37、可见,本专利技术通过对密钥池中的密钥进行定时更新;当接收到登录服务端发出的密钥获取请求时,则随机从密钥池中选取一个密钥,得到选取密钥;将选取密钥和选取密钥对应的凭据id发送给所述登录服务端,以使登录服务端根据选取密钥生成第一jwt签名,并将凭据id发送给api调用服务端来完成jwt签名校验。本方法通过自动化更新密钥,无需人工干预即可完成密钥的更新,具有便捷性;并且,密钥完全由服务内部生成,对于外部不可见,避免了密钥的泄漏与仿冒,具有安全性;并且,密钥由密钥池随机取出,增加密钥的随机性,增加了对密钥爆破的复杂度,提高了安全性,同时每次更新不需要进行重启服务,即可完成密钥的更新,提高了更新效率。通过上述对密钥的更新,提高jwt签名的稳定性。

38、此外,本专利技术还提供了一种jwt签名生成装置、设备及可读存储介质,同样具有上述有益效果。

本文档来自技高网...

【技术保护点】

1.一种JWT签名生成方法,其特征在于,包括:

2.根据权利要求1所述的JWT签名生成方法,其特征在于,所述对密钥池中的密钥进行定时更新,包括:

3.根据权利要求2所述的JWT签名生成方法,其特征在于,在所述当接收到根据预设更新周期定时发送的更新命令时之后,还包括:将所述密钥池的当前状态由正常状态更新为更新中状态;相应的,在所述将所述密钥池中过期密钥进行伪删除之后,将所述密钥池的当前状态由更新中状态更新为正常状态。

4.根据权利要求3所述的JWT签名生成方法,其特征在于,所述当接收到登录服务端发出的密钥获取请求时,则随机从所述密钥池中选取一个密钥,包括:

5.根据权利要求1所述的JWT签名生成方法,其特征在于,所述当接收到登录服务端发出的密钥获取请求时,包括:

6.根据权利要求5所述的JWT签名生成方法,其特征在于,所述利用登录服务端执行登录验证,当登录验证通过后,则向所述密钥管理服务端申请密钥和凭据ID,包括:

7.根据权利要求1至6任一项所述的JWT签名生成方法,其特征在于,所述登录服务端根据所述选取密钥生成第一JWT签名,并将所述凭据ID发送给API调用服务端来完成JWT签名校验,包括:

8.一种JWT签名生成装置,其特征在于,包括:

9.一种JWT签名生成设备,其特征在于,包括:

10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的JWT签名生成方法的步骤。

...

【技术特征摘要】

1.一种jwt签名生成方法,其特征在于,包括:

2.根据权利要求1所述的jwt签名生成方法,其特征在于,所述对密钥池中的密钥进行定时更新,包括:

3.根据权利要求2所述的jwt签名生成方法,其特征在于,在所述当接收到根据预设更新周期定时发送的更新命令时之后,还包括:将所述密钥池的当前状态由正常状态更新为更新中状态;相应的,在所述将所述密钥池中过期密钥进行伪删除之后,将所述密钥池的当前状态由更新中状态更新为正常状态。

4.根据权利要求3所述的jwt签名生成方法,其特征在于,所述当接收到登录服务端发出的密钥获取请求时,则随机从所述密钥池中选取一个密钥,包括:

5.根据权利要求1所述的jwt签名生成方法,其特征在于,所述当接收到登录服务...

【专利技术属性】
技术研发人员:陈国鹏吕勇陈丰薛晨薛中良
申请(专利权)人:税友信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1