【发布时间】:2020-05-11 03:05:47
【问题描述】:
我正在尝试实现 RSA JWT 身份验证服务。我已经关注了这里的其他帖子,但我不确定我创建的服务是否真正安全。
让我列出流程:
- 客户端点击身份验证服务并通过身份验证
- 创建 RSA 公钥/私钥。
- 使用私钥生成 JWT 签名。
- 使用 JWT 以及之前生成的公钥响应用户
- 客户持有 JWT
- 客户端在 HTTP Header 中将 JWT 和公钥发送到单独的受保护服务。
- 受保护的服务使用公钥解密 JWT
我的担忧是:
如果 HTTP 请求包含解密 JWT 所需的所有信息,那么这是否意味着任何人都可以使用它来访问受保护的服务?
我对 RSA 加密的理解是 2 方生成自己的公钥/私钥。他们交换公钥。一方使用对方的公钥进行加密,只能通过对应的私钥解密。这意味着只有正确的客户端才能读取信息。 在这种情况下不会发生这种情况
【问题讨论】:
标签: java spring-boot authentication jwt