网关JWT的生成方法、系统及存储介质技术方案

技术编号:25485905 阅读:17 留言:0更新日期:2020-09-01 23:05
本发明专利技术涉及数据安全技术领域,提出一种网关JWT的生成方法、系统及存储介质,通过利用ECDSA生产JWT,并使用AES加密,杜绝用户隐私泄露的隐患;通过按照机构失效、按照用户ID失效以及按照JWT ID失效等多种失效方式,解决JWT在有效期内不能失效的问题。本发明专利技术通过网关JWT的生成方法实现了网关管理安全性的提升。

【技术实现步骤摘要】
网关JWT的生成方法、系统及存储介质
本专利技术涉及数据安全
,尤其涉及一种网关JWT的生成方法、系统及存储介质。
技术介绍
JSONWebToken(JWT)是一个开放标准(RFC7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息,因为该信息是数字签名,因此可以被验证和信任。目前JWT被广泛的用于手机端APP个后端服务器的会话保持、信息交换等功能。JwtBearer认证是一种标准的,安全的,通用的,无状态的,可扩展的用户认证方式与语言无关的认证方式。JWT存储在客户端,而服务端仅通过判断JWT是否还在有效期来校验JWT的有效性;现有的JWT存在的弊端如下:1、因为base64编码是可逆的,当base64编码被截取后,可以通过解析该JWT并提取所在Token中的用户信息;因此,JWT中用户信息仅适用base64编码,存在用户信息泄露点的风险;2、当存储在当客户端的JWT被删除后,因为删除的JWT仍在有效期内,带来安全隐患;也就是说,当机构失效,用户失效时,用户的提前注销无法对已颁发给该机构用户的JWT做实时失效处理。所以,亟需一种安全,有效地针对有效期内的JWT的失效方法。
技术实现思路
本专利技术提供一种网关JWT的生成方法、系统及计算机可读存储介质,其主要通过利用ECDSA(EllipticCurveDigitalSignatureAlgorithm)生产JWT,并使用AES加密,杜绝用户隐私泄露的隐患;通过按照机构失效、按照用户ID失效以及按照JWTID失效等多种失效方式,解决JWT在有效期内不能失效的问题。为实现上述目的,本专利技术还提供一种网关JWT的生成方法,应用于电子装置,所述JWT的生成方法包括:生成JWT的JWT头部和有效荷载;其中,所述JWT头部包括token的签名算法信息;所述有效荷载通过将机构编码、用户ID、JWTID、TOKEN的颁发时间以及默认失效时间信息使用AES加密生成;利用所述JWT头部的token的签名算法对ECDSA私钥和JWT的有效荷载进行签名,生成JWT的签名信息;将JWT头部、JWT的有效荷载以及JWT的签名组装成JWT,将组装的JWT返回给网关机构。进一步,优选的,所述将JWT头部、JWT的有效荷载以及JWT的签名组装成JWT,将组装的JWT返回给网关机构之后,还包括网关机构对访问请求发起者的JWT进行有效性校验;其中,网关机构对所述JWT进行有效性校验的方法包括:通过实时读取所述JWT中的机构信息,并判断所述机构信息中的机构是否失效,若是,拒绝该次请求,若否,则继续进行有效性判断;通过第三方接口定时读取用户的ID,判断所述JWT中的用户ID是否失效,若是,拒绝该次请求,若否,则继续进行有效性判断;将JWT的ID与无效列表中缓存的失效JWTID进行比对,判断所述JWT的ID是否失效,若是则拒绝该次请求;若否,则继续访问。进一步,优选的,所述机构信息存储在JWT的有效荷载中,并从BICS系统获取。进一步,优选的,在通过第三方接口定时读取用户的ID,判断所述JWT中的用户ID是否失效的方法包括:判断所述JWT中的用户ID的签名信息与JWT信息内的签名是否一致;若是,则JWT中的用户ID信息校验成功;若否,则JWT中的用户ID信息校验不成功,拒绝该次请求。进一步,优选的,在所述网关机构对所述JWT进行校验之前,还包括网关机构对访问请求发起者的API访问权限的校验;所述API访问权限的校验方法包括:判断请求发起者的API是否在网关管理中心配置的API白名单中;若否,则判断访问请求发起者不具备API访问权限;若是,则判断访问请求发起者的API是否配置网关管理中心的用户访问的API策略;若是,则访问请求发起者具备API访问权限;若否,则访问请求发起者不具备API访问权限。为实现上述目的,本专利技术还提供一种网关JWT的安全验证系统,包括JWT生成单元、JWT有效性校验单元和API访问权限校验单元;其中,JWT生成单元,用于生成JWT的JWT头部和有效荷载,其中,所述JWT头部包括token的签名算法信息;所述有效荷载通过将机构编码、用户ID、JWTID、TOKEN的颁发时间以及默认失效时间信息使用AES加密生成;利用所述JWT头部的token的签名算法对ECDSA私钥和JWT的有效荷载进行签名,生成JWT的签名信息;将JWT头部、JWT的有效荷载以及JWT的签名组装成JWT,将组装的JWT返回给网关机构;JWT有效性校验单元,用于通过读取所生成的JWT中的机构信息、用户的ID以及JWTID,并判断机构信息、用户的ID以及JWTID是否失效;API访问权限校验单元,用于判断请求发起者的API是否在网关管理中心配置的API白名单中;若否,则判断访问请求发起者不具备API访问权限;若是,则判断访问请求发起者的API是否配置网关管理中心的用户访问的API策略;若是,则访问请求发起者具备API访问权限;若否,则访问请求发起者不具备API访问权限。进一步,优选的,所述JWT生成单元包括JWT头部和JWT有效荷载生成模块、JWT签名信息生成模块和JWT组装模块;其中,所述JWT头部和JWT有效荷载生成模块,用于生成JWT的JWT头部和JWT有效荷载,其中,所述JWT头部包括token的签名算法信息;所述有效荷载通过将机构编码、用户ID、JWTID、TOKEN的颁发时间以及默认失效时间信息使用AES加密生成;所述JWT签名信息生成模块,用于利用所述JWT头部的token的签名算法对ECDSA私钥和JWT的有效荷载进行签名,生成JWT的签名信息;所述JWT组装模块,用于将JWT头部、JWT的有效荷载以及JWT的签名组装成JWT,将组装的JWT返回给网关机构。进一步,优选的,JWT有效性校验单元包括机构信息校验模块、用户的ID信息校验模块和JWTID信息校验模块;其中,所述机构信息校验模块,用于通过实时读取所述JWT中的机构信息,并判断所述机构信息中的机构是否失效,若是,拒绝该次请求,若否,则继续进行有效性判断;所述用户的ID信息校验模块,用于通过第三方接口定时读取用户的ID,判断所述JWT中的用户ID是否失效,若是,拒绝该次请求,若否,则继续进行有效性判断;所述JWTID信息校验模块,用于将JWT的ID与无效列表中缓存的失效JWTID进行比对,判断所述JWT的ID是否失效,若是则拒绝该次请求;若否,则继续访问。为实现上述目的,本专利技术还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行上述网关JWT的生成方法的步骤。此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可本文档来自技高网...

【技术保护点】
1.一种网关JWT的生成方法,应用于电子装置,其特征在于,所述JWT的生成方法包括:/n生成JWT的JWT头部和有效荷载;其中,所述JWT头部包括token的签名算法信息;所述有效荷载通过将机构编码、用户ID、JWT ID、TOKEN的颁发时间以及默认失效时间信息使用AES加密生成;/n利用所述JWT头部的token的签名算法对ECDSA私钥和JWT的有效荷载进行签名,生成JWT的签名信息;/n将JWT头部、JWT的有效荷载以及JWT的签名组装成JWT,将组装的JWT返回给网关机构。/n

【技术特征摘要】
1.一种网关JWT的生成方法,应用于电子装置,其特征在于,所述JWT的生成方法包括:
生成JWT的JWT头部和有效荷载;其中,所述JWT头部包括token的签名算法信息;所述有效荷载通过将机构编码、用户ID、JWTID、TOKEN的颁发时间以及默认失效时间信息使用AES加密生成;
利用所述JWT头部的token的签名算法对ECDSA私钥和JWT的有效荷载进行签名,生成JWT的签名信息;
将JWT头部、JWT的有效荷载以及JWT的签名组装成JWT,将组装的JWT返回给网关机构。


2.根据权利要求1所述的网关JWT的生成方法,其特征在于,所述将JWT头部、JWT的有效荷载以及JWT的签名组装成JWT,将组装的JWT返回给网关机构之后,还包括:
网关机构对访问请求发起者的JWT进行有效性校验;其中,网关机构对所述JWT进行有效性校验的方法包括:
通过实时读取所述JWT中的机构信息,并判断所述机构信息中的机构是否失效,若是,拒绝该次请求,若否,则继续进行有效性判断;
通过第三方接口定时读取用户的ID,判断所述JWT中的用户ID是否失效,若是,拒绝该次请求,若否,则继续进行有效性判断;
将JWT的ID与无效列表中缓存的失效JWTID进行比对,判断所述JWT的ID是否失效,若是则拒绝该次请求;若否,则继续访问。


3.根据权利要求2所述的网关JWT的生成方法,其特征在于,
所述机构信息存储在JWT的有效荷载中,并从BICS系统获取。


4.根据权利要求2所述的网关JWT的生成方法,其特征在于,
在通过第三方接口定时读取用户的ID,判断所述JWT中的用户ID是否失效的方法包括:
判断所述JWT中的用户ID的签名信息与JWT信息内的签名是否一致;
若是,则JWT中的用户ID信息校验成功;
若否,则JWT中的用户ID信息校验不成功,拒绝该次请求。


5.根据权利要求2所述的网关JWT的生成方法,其特征在于,在所述网关机构对所述JWT进行校验之前,还包括网关机构对访问请求发起者的API访问权限的校验;所述API访问权限的校验方法包括:
判断请求发起者的API是否在网关管理中心配置的API白名单中;
若否,则判断访问请求发起者不具备API访问权限;
若是,则判断访问请求发起者的API是否配置网关管理中心的用户访问的API策略;
若是,则访问请求发起者具备API访问权限;若否,则访问请求发起者不具备API访问权限。


6.一种网关JWT的管理系统,其特征在于,包括JWT生成单元、JWT有效性校验单元和API访问权限校验单元;其中,
JWT生成单元,用于生成JWT的JWT头部和有效荷载,其中,所述JWT头部包括token的签名算法信息;所述有效荷载通过将机构编码、用户ID、JWTID、TOKEN的颁发时间以及默认失效时...

【专利技术属性】
技术研发人员:余自雷
申请(专利权)人:深圳壹账通智能科技有限公司
类型:发明
国别省市:广东;44

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

1