令牌生成方法、令牌验签方法、装置、设备及存储介质制造方法及图纸

技术编号:32904441 阅读:25 留言:0更新日期:2022-04-07 11:54
本申请公开了一种令牌生成方法、令牌验签方法、装置、设备、存储介质,包括:基于通过客户端获取的当前最新用户信息生成密钥对;构造待签名的目标信息,并基于所述密钥对中的私钥对所述目标信息进行签名,以得到与所述当前最新用户信息对应的签名值;基于所述目标信息、所述签名值以及所述密钥对中的公钥构造相应的令牌,并将所述令牌发送至所述客户端,以便所述客户端对所述令牌进行验签。本申请通过将密钥生成过程与用户信息相结合,避免了在用户修改密码后、服务端修改了某个用户的权限或者角色时,令牌仍然有效的情况发生,提高了令牌和系统的安全性。系统的安全性。系统的安全性。

【技术实现步骤摘要】
令牌生成方法、令牌验签方法、装置、设备及存储介质


[0001]本专利技术涉及计算机
,特别涉及一种令牌生成方法、令牌验签方法、装置、设备及存储介质。

技术介绍

[0002]在信息系统中常使用JWT(Json web token,一种基于Json的开放标准)格式token(令牌),进行身份有效性验证,JWT是一种为了在网络应用环境间传递声明而执行的基于JSON的开放标准,该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO,Single Sign On)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。
[0003]目前系统中的JWT token,在使用过程中用户信息更改时,用户的token仍然有效,这给系统带来了一定的安全风险。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种令牌生成方法、令牌验签方法、装置、设备和存储介质,能够在当前最新用户信息改变时,使令牌无效,以提高系统的安全性。其具体方案如下:
[0005]第一方面,本申请公开了一种令牌生成方法,应用于服务端,包括:
[0006]基于通过客户端获取的当前最新用户信息生成密钥对;
[0007]构造待签名的目标信息,并基于所述密钥对中的私钥对所述目标信息进行签名,以得到与所述当前最新用户信息对应的签名值;
[0008]基于所述目标信息、所述签名值以及所述密钥对中的公钥构造相应的令牌,并将所述令牌发送至所述客户端,以便所述客户端对所述令牌进行验签。
[0009]可选的,所述基于通过客户端获取的当前最新用户信息生成密钥对,包括:
[0010]获取客户端发送的包含当前用户密码和当前角色权限信息的当前最新用户信息;
[0011]利用预设信息摘要算法对所述当前最新用户信息进行摘要处理,以得到摘要信息;
[0012]利用预设非对称密钥生成算法对所述摘要信息进行运算,以得到当前的密钥对。
[0013]可选的,所述利用预设信息摘要算法对所述当前最新用户信息进行摘要处理,以得到摘要信息,包括:
[0014]利用预设随机数生成算法生成目标随机数;
[0015]利用预设信息摘要算法对所述当前最新用户信息和所述目标随机数进行摘要处理,以得到摘要信息。
[0016]可选的,所述基于所述目标信息、所述签名值以及所述密钥对中的公钥构造相应的令牌,包括:
[0017]为所述密钥对配置相应的有效期,并创建与所述有效期对应的时间戳;
[0018]基于所述目标信息、所述签名值、所述密钥对中的公钥以及所述时间戳构造相应的令牌。
[0019]可选的,所述基于所述目标信息、所述签名值、所述密钥对中的公钥以及所述时间戳构造相应的令牌,包括:
[0020]利用预设对称加密算法对所述时间戳进行加密以得到加密后时间戳;
[0021]基于所述目标信息、所述签名值、所述密钥对中的公钥以及所述加密后时间戳构造相应的令牌。
[0022]可选的,所述基于所述目标信息、所述签名值、所述密钥对中的公钥以及所述时间戳构造相应的令牌,还包括:
[0023]判断当前是否满足密钥重新生成条件;
[0024]若是则重新执行所述基于通过客户端获取的当前最新用户信息生成密钥对的步骤;
[0025]其中,所述密钥重新生成条件包括所述时间戳对应的所述有效期已过期、对所述令牌的验签不通过以及用户信息发生变更中的任意一种条件。
[0026]第二方面,本申请公开了一种令牌验签方法,应用于客户端,包括:
[0027]向服务端发送当前最新用户信息,以便所述服务器基于所述当前最新用户信息生成密钥对,并基于所述密钥对中的私钥对待签名的目标信息进行签名以得到与所述当前最新用户信息对应的签名值,以及基于所述目标信息、所述签名值以及所述密钥对中的公钥构造相应的令牌;
[0028]获取所述服务端发送的所述令牌;
[0029]基于所述令牌中的所述公钥以及所述目标信息对所述令牌中的所述签名值进行验签。
[0030]第三方面,本申请公开了一种令牌生成装置,应用于服务端,包括:
[0031]密钥生成模块,用于基于通过客户端获取的当前最新用户信息生成密钥对;
[0032]信息构造模块,用于构造待签名的目标信息;
[0033]信息签名模块,用于基于所述密钥对中的私钥对所述目标信息进行签名,以得到与所述当前最新用户信息对应的签名值;
[0034]令牌构造模块,用于基于所述目标信息、所述签名值以及所述密钥对中的公钥构造相应的令牌;
[0035]令牌发送模块,用于将所述令牌发送至所述客户端,以便所述客户端对所述令牌进行验签。
[0036]第四方面,本申请公开了一种电子设备,包括:
[0037]存储器,用于保存计算机程序;
[0038]处理器,用于执行所述计算机程序,以实现如前述公开的方法的步骤。
[0039]第五方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如前述公开的方法。
[0040]可见,本申请提供了一种令牌生成方法,包括:基于通过客户端获取的当前最新用户信息生成密钥对;构造待签名的目标信息,并基于所述密钥对中的私钥对所述目标信息
进行签名,以得到与所述当前最新用户信息对应的签名值;基于所述目标信息、所述签名值以及所述密钥对中的公钥构造相应的令牌,并将所述令牌发送至所述客户端,以便所述客户端对所述令牌进行验签。由此可见,本申请通过将密钥对的生成过程与当前最新用户信息相结合,即基于当前最新用户信息生成密钥对,以便在用户信息发生变化时使令牌同时进行更新,进而使得当用户信息改变时,客户端验签失败,提高了令牌和系统的安全性,保证了用户进行相关敏感操作后继续访问系统的安全性。
附图说明
[0041]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0042]图1为本申请公开的一种令牌生成方法流程图;
[0043]图2为本申请公开的一种具体的令牌生成方法流程图;
[0044]图3为本申请公开的一种具体的令牌生成方法流程图;
[0045]图4为本申请公开的一种令牌验签方法流程图;
[0046]图5为本申请提供的令牌生成方法结构示意图;
[0047]图6为本申请提供的一种电子设备结构图。
具体实施方式
[0048]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种令牌生成方法,其特征在于,应用于服务端,包括:基于通过客户端获取的当前最新用户信息生成密钥对;构造待签名的目标信息,并基于所述密钥对中的私钥对所述目标信息进行签名,以得到与所述当前最新用户信息对应的签名值;基于所述目标信息、所述签名值以及所述密钥对中的公钥构造相应的令牌,并将所述令牌发送至所述客户端,以便所述客户端对所述令牌进行验签。2.根据权利要求1所述的令牌生成方法,其特征在于,所述基于通过客户端获取的当前最新用户信息生成密钥对,包括:获取客户端发送的包含当前用户密码和当前角色权限信息的当前最新用户信息;利用预设信息摘要算法对所述当前最新用户信息进行摘要处理,以得到摘要信息;利用预设非对称密钥生成算法对所述摘要信息进行运算,以得到当前的密钥对。3.根据权利要求2所述的令牌生成方法,其特征在于,所述利用预设信息摘要算法对所述当前最新用户信息进行摘要处理,以得到摘要信息,包括:利用预设随机数生成算法生成目标随机数;利用预设信息摘要算法对所述当前最新用户信息和所述目标随机数进行摘要处理,以得到摘要信息。4.根据权利要求1所述的令牌生成方法,其特征在于,所述基于所述目标信息、所述签名值以及所述密钥对中的公钥构造相应的令牌,包括:为所述密钥对配置相应的有效期,并创建与所述有效期对应的时间戳;基于所述目标信息、所述签名值、所述密钥对中的公钥以及所述时间戳构造相应的令牌。5.根据权利要求4所述的令牌生成方法,其特征在于,所述基于所述目标信息、所述签名值、所述密钥对中的公钥以及所述时间戳构造相应的令牌,包括:利用预设对称加密算法对所述时间戳进行加密以得到加密后时间戳;基于所述目标信息、所述签名值、所述密钥对中的公钥以及所述加密后...

【专利技术属性】
技术研发人员:刘硕
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:

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

1