本发明涉及计算机安全,具体涉及一种token加密秘钥的动态生成方法及装置。
背景技术:
1、在计算机应用中,token作为一种身份验证和授权机制,广泛应用于保护用户数据和资源。传统的token生成方法通常使用固定的秘钥进行加密签名,然后在用户登录后颁发给客户端。然而,这种静态秘钥机制容易受到黑客攻击和恶意伪造,从而导致用户身份泄露和数据被篡改的风险。
2、jwt(json web token)是一种常用的token生成和验证机制,其中秘钥用于签名生成token的第三部分。然而,由于jwt的秘钥是固定的且需要在服务器和客户端之间共享,秘钥的安全性难以保证,可能被不法分子获取和滥用。
3、在现有的token生成机制中,静态的秘钥容易受到攻击和伪造,从而影响系统的安全性和数据完整性。因此,需要一种能够保障token加密秘钥安全性的方法和装置,以动态生成秘钥并有效地防止未经授权的访问和数据篡改。
技术实现思路
1、有鉴于此,本发明提出了一种token加密秘钥的动态生成方法及装置。通过动态生成token加密秘钥的安全性方案,本发明有效地解决了现有技术中token加密秘钥固定的问题。本发明基于现有token机制,引入了动态生成秘钥的概念,从而提高了系统的安全性和数据保护能力。
2、基于上述目的,第一方面,本发明提供了一种token加密秘钥的动态生成方法,该方法包括以下步骤:
3、用户登录应用系统;
4、在用户登录应用系统后,调用token生成api,从缓存中获取最新秘钥版本号(kv值);
5、将用户的身份信息与获取的秘钥版本号编码为token的一部分,生成token,其中,秘钥版本号嵌入在token的载体中;
6、将生成的token传递至客户端,以供后续请求的身份验证。
7、作为本发明的进一步方案,生成的token中秘钥版本号作为token的载体之一,用于指示动态生成秘钥的版本信息,从而增加秘钥的安全性和有效性。
8、作为本发明的进一步方案,用户信息包括用于用户身份验证的数据,用于确认用户身份的用户名、密码等。
9、作为本发明的进一步方案,生成的token中秘钥版本号(kv值)嵌入token的payload中,以确保token的合法性验证。
10、第二方面,本发明还提供了一种token秘钥的动态生成装置,包括:
11、用于用户登录的应用系统;
12、用于生成token的api模块,用于根据用户信息和秘钥版本号生成token;
13、用于缓存最新秘钥对象的存储模块,用于存储秘钥版本号、秘钥本身和过期时间。
14、作为本发明的进一步方案,api模块用于从存储模块获取最新秘钥版本号,并将用户信息和秘钥版本号编码为token的一部分,生成token。
15、作为本发明的进一步方案,秘钥版本号作为token的一部分嵌入token的载体中,用于在token验证过程中获取对应版本的秘钥。
16、作为本发明的进一步方案,存储模块中的最新秘钥对象包括秘钥本身、过期时间和版本号,用于后续token的生成和验证。
17、作为本发明的进一步方案,存储模块中的过期时间用于标识秘钥的有效期,当秘钥过期时,自动更新为新的秘钥对象。
18、作为本发明的进一步方案,存储模块中的秘钥版本号用于标识秘钥对象的版本,用于token的验证。
19、作为本发明的进一步方案,生成的token传递给客户端,用于客户端向服务端发起请求时的身份验证。
20、作为本发明的进一步方案,api模块用于对用户信息进行校验,并结合秘钥版本号生成token,以保障token的安全性和合法性。
21、本发明的又一方面,还提供了一种计算机设备,包括存储器和处理器,该存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述任一项根据本发明的token加密秘钥的动态生成方法。
22、本发明的再一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被执行时实现上述任一项根据本发明的token加密秘钥的动态生成方法。
23、与现有技术相比较而言,本发明提出的一种token加密秘钥的动态生成方法及装置,通过引入动态生成秘钥的概念,有效地解决了传统固定秘钥方式容易受到攻击和伪造的问题,从而带来了多方面的有益效果,具体为以下有益效果:
24、1.提高系统安全性:由于传统的固定秘钥方式容易被黑客获取和滥用,从而导致用户身份泄露和数据篡改的风险。而本发明的动态生成秘钥方法,使得每次生成的秘钥都是唯一且动态变化的,大大减少了秘钥被攻击的风险,从而提高了系统的整体安全性。
25、2.防止秘钥泄露:本发明通过将秘钥版本号嵌入token中,实现了秘钥信息与token一同传递给客户端。这样,秘钥本身不需要在服务器和客户端之间传递,降低了秘钥被截获和泄露的风险,从而增加了秘钥的安全性。
26、3.增强秘钥的时效性:本发明的装置通过定期检查秘钥的过期时间并自动更新,确保生成的秘钥始终处于有效状态。这有助于防止使用过期秘钥进行攻击或伪造token,增强了秘钥的时效性和合法性。
27、4.适用性广泛:本发明的方法及装置可适用于各种应用场景,如网络应用、移动应用、云服务等,提供了一种通用的安全解决方案。无论是基于web还是移动端的应用,都可以采用本发明的方法来保障身份验证和数据保护。
28、5.易于实施和集成:本发明的方法及装置基于现有的token机制进行改进,不需要对现有系统进行重大改动。开发人员可以轻松地将本发明的方法集成到现有系统中,无需大规模的系统变革,降低了实施成本和风险。
29、综上所述,本发明的动态生成token加密秘钥的方法及装置有效地提高了系统的安全性和用户数据的保护性,防止秘钥泄露和伪造,具备广泛的适用性和实施便利性。这些有益效果共同促使本发明在用户身份验证和数据保护领域具有显著的优越性和创新性。
30、本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
1.一种token加密秘钥的动态生成方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的token加密秘钥的动态生成方法,其特征在于,生成的token中秘钥版本号作为token的载体之一,用于指示动态生成秘钥的版本信息。
3.根据权利要求2所述的token加密秘钥的动态生成方法,其特征在于,所述用户信息包括用于用户身份验证的数据,用于确认用户身份的用户名、密码。
4.根据权利要求3所述的token加密秘钥的动态生成方法,其特征在于,生成的token中秘钥版本号嵌入token的payload中。
5.一种token加密秘钥的动态生成装置,其特征在于,用于执行权利要求1-4任一项所述的token加密秘钥的动态生成方法,所述token加密秘钥的动态生成装置包括:
6.根据权利要求5所述的token加密秘钥的动态生成装置,其特征在于,api模块用于从存储模块获取最新秘钥版本号,并将用户信息和秘钥版本号编码为token的一部分,生成token。
7.根据权利要求6所述的token加密秘钥的动态生成装置,其特征在于,秘钥版本号作为token的一部分嵌入token的载体中,用于在token验证过程中获取对应版本的秘钥。
8.根据权利要求7所述的token加密秘钥的动态生成装置,其特征在于,存储模块中的最新秘钥对象包括秘钥本身、过期时间和版本号,用于后续token的生成和验证;存储模块中的过期时间用于标识秘钥的有效期,当秘钥过期时,自动更新为新的秘钥对象。
9.根据权利要求8所述的token加密秘钥的动态生成装置,其特征在于,生成的token传递给客户端,用于客户端向服务端发起请求时的身份验证。
10.根据权利要求9所述的token加密秘钥的动态生成装置,其特征在于,api模块用于对用户信息进行校验,并结合秘钥版本号生成token。