JWKS 端点是否需要 https / TLS?
Does JWKS endpoint need https / TLS?
目前,我们在应用程序中嵌入 public 密钥以进行 JWT 验证。而且我们发现手动密钥轮换非常困难。例如,当我们从服务器更换密钥时,移动应用程序无法在同一天切换密钥。
因此,我们正在研究自动密钥轮换方法。这个想法是让客户端切换到 JWKS 端点,这样他们就可以切换新密钥而无需手动更新。
我想问一下我们是否需要 https 来保护 JKWS 端点?因为如果我们使用 https 使用内部 CA 或自签名证书,我们可能必须在每个客户端过期时手动替换证书。这违背了自动密钥轮换的目的。
您需要在 JWKS 端点使用 TLS。如果没有 TLS,您将无法保证密钥来自您的服务器(有人将能够欺骗响应)。所以 JWKS 端点的 TLS 是必须的。
您不需要双向 TLS,除非对此有一些高安全要求。
正如您所指出的那样,最好使用受信任的 CA 签署的证书。
目前,我们在应用程序中嵌入 public 密钥以进行 JWT 验证。而且我们发现手动密钥轮换非常困难。例如,当我们从服务器更换密钥时,移动应用程序无法在同一天切换密钥。
因此,我们正在研究自动密钥轮换方法。这个想法是让客户端切换到 JWKS 端点,这样他们就可以切换新密钥而无需手动更新。
我想问一下我们是否需要 https 来保护 JKWS 端点?因为如果我们使用 https 使用内部 CA 或自签名证书,我们可能必须在每个客户端过期时手动替换证书。这违背了自动密钥轮换的目的。
您需要在 JWKS 端点使用 TLS。如果没有 TLS,您将无法保证密钥来自您的服务器(有人将能够欺骗响应)。所以 JWKS 端点的 TLS 是必须的。
您不需要双向 TLS,除非对此有一些高安全要求。
正如您所指出的那样,最好使用受信任的 CA 签署的证书。