「应用安全」OAuth和OpenID Connect的全面比较(18)

关于对称签名和加密算法的熵 , OpenID Connect Core 1.0中的16.19对称密钥熵如下所述 。

在10.1节和10.2节中 , 密钥是从client_secret值派生的 。 因此 , 当与对称签名或加密操作一起使用时 , client_secret值必须包含足够的熵以生成加密强密钥 。 此外 , client_secret值还必须至少包含所使用的特定算法的MAC密钥所需的最小八位字节数 。 因此 , 例如 , 对于HS256 , client_secret值必须包含至少32个八位字节(并且几乎可以肯定应该包含更多 , 因为client_secret值可能使用受限制的字母表) 。

并且 , 3.1 。 RFC 7518(JSON Web算法)中的JWS的“alg”(算法)头部参数值指出必须支持HS256(使用SHA-256的HMAC)作为JWS的签名算法 。 作为合乎逻辑的结果 , 任何声称符合OpenID Connect的实现都需要生成具有256位或更多熵的客户机密钥 。

6.4 。 签名算法

id_token_signed_response_alg列在“2 。 “OpenID Connect动态客户端注册1.0的客户端元数据” 。 它表示客户端应用程序要求授权服务器用作ID令牌的签名算法的算法 。 如上所述 , 有效值列在RFC 7518中 , 应注意不允许任何值 。 如果在注册时省略id_token_signed_response_alg的值 , 则使用RS256 。

推荐阅读