【问题标题】:Does Keycloak Support x5* parameters in its JWK endpoint?Keycloak 是否在其 JWK 端点中支持 x5* 参数?
【发布时间】:2019-08-09 10:58:37
【问题描述】:

我使用 Keycloak 作为我的身份和访问管理器。

我有一个用例,我需要将敏感信息传输给另一个受信任方。流程是这样的:

  • 我通过信任方的 JWK 端点检索可信方的公钥
  • 我使用受信任方的公钥加密敏感数据
  • 然后我向自己发出一个 JWT 令牌。我用我的私钥签名。
  • 接下来,我将数据与授权标头中的 JWT 令牌一起传输给受信任方
  • 受信任方收到我的请求
  • 受信任方调用我的 JWK 端点以获取我的公钥
  • 受信任方使用我的公钥验证我发送的 JWT 令牌
  • 然后受信任方使用其私钥解密敏感数据

通过此流程,受信任方可以确信

  • 敏感数据在传输过程中未被篡改

他们不能自信的是:

  • 我就是他们认为的我;我是发送数据的人。

他们唯一知道的是,他们在我这边呼叫的端点看起来像是属于我公司的。但是,如果攻击者以这样一种方式拦截请求,即他们返回自己的公钥并能够发布由他们的私钥签名的自己的令牌,那么他们就可以将他们想要的任何数据传输给受信任的一方。

这就是 x.509 证书的用武之地。受信任的一方需要一种方法来确定另一端的一方是我。

截至四天前,Keycloak 在 5.0.0-SNAPSHOT 中出现在 support x5c(证书链);这是通过添加/生成新的公钥/私钥对和证书来配置的。如果配置了证书,则可以通过 JWKS 端点使用 x5c 参数。

但是,我还需要提供x5t(指纹)参数。 Keycloak 是否提供或打算在未来提供任何支持?

【问题讨论】:

    标签: keycloak x509 jwk


    【解决方案1】:

    我为KEYCLOAK-9868 创建并发出拉取请求,以添加x5tx5t#S256 JWK 参数。这已合并到 Keycloak master 中,并且应该可以在 5.0.0 之后的任何下一个版本中使用。

    【讨论】:

      猜你喜欢
      • 2021-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-25
      • 2015-12-10
      • 1970-01-01
      • 2020-01-08
      • 2013-04-26
      相关资源
      最近更新 更多