JWKS 端点是否需要 https / TLS?

Does JWKS endpoint need https / TLS?

目前,我们在应用程序中嵌入 public 密钥以进行 JWT 验证。而且我们发现手动密钥轮换非常困难。例如,当我们从服务器更换密钥时,移动应用程序无法在同一天切换密钥。

因此,我们正在研究自动密钥轮换方法。这个想法是让客户端切换到 JWKS 端点,这样他们就可以切换新密钥而无需手动更新。

我想问一下我们是否需要 https 来保护 JKWS 端点?因为如果我们使用 https 使用内部 CA 或自签名证书,我们可能必须在每个客户端过期时手动替换证书。这违背了自动密钥轮换的目的。

您需要在 JWKS 端点使用 TLS。如果没有 TLS,您将无法保证密钥来自您的服务器(有人将能够欺骗响应)。所以 JWKS 端点的 TLS 是必须的。

您不需要双向 TLS,除非对此有一些高安全要求。

正如您所指出的那样,最好使用受信任的 CA 签署的证书。