代码之家  ›  专栏  ›  技术社区  ›  Jcov

RSA JWT密钥轮换周期?

  •  6
  • Jcov  · 技术社区  · 7 年前

    我已经创建了一个基本的JWT生成器,但是需要一些方面的建议。我一直在用 JWT.io auth0/java-jwt 生成标记的库/repo。

    正在使用RSA512算法使用4096位密钥对刷新令牌进行签名。

    .sign(Algorithm.RSA512(rsaPublicKey, rsaPrivateKey));
    

    访问令牌通过RSA256算法使用1024位RSA密钥进行签名。

     .sign(Algorithm.RSA256(rsaPublicKey, rsaPrivateKey));
    

    另一方面,访问令牌在资源服务器端点进行验证,并且它们被发送的频率更高,因此我选择了一个更短的(256)签名,该签名是用更快的1024位密钥执行的。

    我将jks(keystore)保存在auth服务器和资源服务器上的一个私有文件夹中。

    我需要刷新/形成新密钥吗?如果是…多久一次? 推荐的方法是什么?

    负载平衡器后面可能有多个auth和资源微服务实例…因此RAM生成的密钥是no,因为它们不会在实例之间传播。

    我看了一下可能有一个“密钥服务器”,可以说创建新的密钥并将它们附加到密钥库中,然后分发新的jks文件以使用新的密钥对进行更新。。。与此类似: File Sharing Between Instances

    例如,每隔15秒,EC2认证服务器和资源服务器ping密钥服务器,请求当前jks的副本(和版本检查)。

    有什么建议吗?

    谢谢您!

    0 回复  |  直到 7 年前