本发明涉及计算机,尤其涉及一种token认证管理系统。
背景技术:
1、信息技术的高速发展将数智化技术渗透到各行各业,也引起人们对信息和数据安全问题的高度重视。认证系统作为信息化系统的第一道安全防线,对保护用户和系统自身的信息安全起着至关重要的作用。
2、传统基于session-cookies技术的认证方式,无法适用于当前广泛使用的移动客户端和前后端分离的分布式系统。基于token的认证方式支持跨域访问和无状态服务端,得到广泛应用。但基于token的认证方式也有自身的不足:token的集中式验证使得验证服务器成为系统扩展的瓶颈,现有的分布式验证系统又存在已签发的token无法按需回收的问题,导致系统存在安全风险。
技术实现思路
1、为了解决以上技术问题,本发明提供了一种token认证管理系统。
2、本发明的技术方案是:
3、一种token认证管理系统,包括认证鉴权授权模块、token管理模块和token验证执行tk-agent;
4、所述认证鉴权授权模块用于根据认证请求中的用户注册信息和相应鉴权授权策略,对资源请求者进行认证鉴权授权;
5、所述token管理模块用于根据系统安全要求管理公私钥对,并根据所述认证鉴权授权结果附加token管理信息,经加密签名后生成本次认证请求的认证token返回给请求方;
6、所述token验证执行tk-agent用于管理所述公钥,并对访问请求中的token进行验证。
7、进一步的,
8、所述token管理模块定期或依据系统运行安全状态即时生成公私钥对,并将公钥下发至token验证执行tk-agent;
9、所述token管理模块在更新公私钥对时执行公钥至少2级优先级轮转机制,并清理优先级轮转为无效的公钥。
10、所述token由标题密文、负载密文和签名密文组成,所述token的标题密文至少包括token类型和签名算法。
11、所述token管理模块使用时间最新的私钥,对附加了token管理信息的token标题密文和负载密文的拼接密文,按照预定签名算法进行签名,生成所述签名密文。token管理模块还可以通过定时或按需改变签名算法加强系统安全性。
12、所述token验证执行tk-agent接收token管理模块下发的公钥,执行本地公钥至少2级优先级轮转机制,依据公钥优先级验证token有效性,并清理优先级轮转为无效的公钥。所述token验证执行tk-agent可定期同步token认证管理系统维护的公钥。
13、再进一步的,token验证具体包括:
14、1)token验证执行tk-agent对接收到的token分解为标题密文、负载密文和签名密文;
15、2)使用预设解密算法解密标题密文,得到token类型和签名算法;
16、3)按照本地公钥优先级从高到低的顺序,依次使用有效公钥和所述签名算法对所述标题密文和负载密文的拼接密文进行验证;
17、4)只要验证成功认定该token有效,可选进一步验证token是否在有效期内;
18、5)若所有有效公钥都验证无效,认定该token无效。
19、token的有效期可以通过附加在token信息中的签发时间和失效期限判定,或不设定失效期限,通过token管理模块的公私钥更新时间间隔作为token有效期。
20、公私钥管理具体包括:
21、token认证管理系统定期或依据系统运行安全状态即时生成公私钥对,本地以新私钥替换旧私钥,用以生成签名密文,并将相应公钥下发至token验证执行tk-agent,同时执行公钥至少2级优先级轮转机制,并清理优先级轮转为无效的公钥;
22、所述token验证执行tk-agent接收token管理模块下发的公钥,将该公钥优先级置为最高优先级,其他历史公钥优先级按照生成时间依次降低,低于最低优先级的公钥设为无效公钥,本地至少保存2级公钥;
23、本发明的有益效果是
24、本发明通过token的分布式验证降低验证服务器的负载,以便于系统规模化扩展;通过token管理模块定时或按需更新公私钥对,以历史公钥失效的方式,实现已签发token的回收,以便动态保障系统安全性。
1.一种token认证管理系统,其特征在于,
2.根据权利要求1所述的系统,其特征在于,
3.根据权利要求1所述的系统,其特征在于,
4.根据权利要求3所述的系统,其特征在于,
5.根据权利要求4所述的系统,其特征在于,
6.根据权利要求2或4所述的系统,其特征在于,
7.根据权利要求6所述的系统,其特征在于,
8.根据权利要求7所述的系统,其特征在于,
9.根据权利要求8所述的系统,其特征在于,
10.根据权利要求6所述的系统,其特征在于,