【问题标题】:How to secure Keycloak access token如何保护 Keycloak 访问令牌
【发布时间】:2020-07-25 21:56:26
【问题描述】:

是否可以使用公钥加密 keycloak 访问令牌并使用私钥解密有效负载? 因为,如果有人获得了 keycloak 访问令牌,他可以很容易地在 https://jwt.io/ 看到令牌内容,因为它可以用公钥解密。

我们可以使用 keycloak 使 JWT 令牌更安全吗?

【问题讨论】:

  • 访问令牌旨在可解密以查看其内容,但不可修改,因为它们已签名。用户不应与任何人共享他的访问令牌。此外,访问令牌应该只包含与他们自己的用户相关的信息。所以它们的可读性没有问题;-)
  • 谢谢@XtremeBiker,我同意你的回答。我知道访问令牌是 base64 编码和编码的!= 加密。所以我的问题是可以用公钥加密令牌吗?只是好奇..
  • 您可能会发现this 很有用。

标签: java spring-boot keycloak


【解决方案1】:

根据 JWT 网站的介绍 (https://jwt.io/introduction) - 是的,JWT 令牌可以加密以提供各方之间的保密性。

什么是 JSON Web 令牌?
JSON Web 令牌 (JWT) 是一种开放标准 (RFC 7519),它定义了一种紧凑且自包含的安全方式 作为 JSON 对象在各方之间传输信息。这 信息可以被验证和信任,因为它是数字化的 签。 JWT 可以使用密钥(使用 HMAC 算法)进行签名,或者 使用 RSA 或 ECDSA 的公钥/私钥对。

虽然 JWT 可以加密以提供各方之间的保密性,但我们将专注于签名令牌。签名令牌可以验证 其中包含的声明的完整性,同时加密 代币向其他方隐藏这些声明。签署令牌时 使用公钥/私钥对,签名还证明只有 持有私钥的一方是签名方。

如果您的身份验证提供商支持,您将需要查阅您的提供商的文档,例如 AppId、Keycloak、Azure B2C 等,以获取有关如何对其进行加密的更多信息。

【讨论】:

    猜你喜欢
    • 2021-11-04
    • 2015-10-15
    • 2018-07-27
    • 2020-09-29
    • 2021-03-31
    • 2022-10-13
    • 1970-01-01
    • 2022-01-28
    相关资源
    最近更新 更多