问题是如果您在 Windows 安全策略设置中强制执行 FIPS 验证加密,则会引发异常,因为 RADIUS 协议使用 MD5 算法对请求身份验证器进行哈希处理。没有经过 FIPS 验证的替代 MD5 算法,因此在提供 FIPS 验证加密的机器上似乎没有任何 RADIUS 代码实现是可能的。
这是否意味着 RADIUS 与 FIPS 验证互斥?
该代码实现了官方 RFC ( https://www.rfc-editor.org/rfc/rfc2865 )指定的 RADIUS 协议。
问题是如果您在 Windows 安全策略设置中强制执行 FIPS 验证加密,则会引发异常,因为 RADIUS 协议使用 MD5 算法对请求身份验证器进行哈希处理。没有经过 FIPS 验证的替代 MD5 算法,因此在提供 FIPS 验证加密的机器上似乎没有任何 RADIUS 代码实现是可能的。
这是否意味着 RADIUS 与 FIPS 验证互斥?
该代码实现了官方 RFC ( https://www.rfc-editor.org/rfc/rfc2865 )指定的 RADIUS 协议。
当您在 Windows 中启用 FIPS 验证加密时,您就是在断言您现在将只使用 FIPS 验证的加密和哈希算法。更具体地说,它是 Windows 中的加密模块,经过验证仅允许用户使用经批准的 FIPS 算法。可接受的算法列表在附件 A:已批准的 FIPS PUB 140-2 安全功能,加密模块的安全要求中定义。
MD5 不是经过批准的哈希算法,所以不,应用程序不能使用它。对于散列,您仅限于 SHA 系列算法。因此基于 MD5 的 Radius 已被淘汰,因为它无法使用 FIPS 验证的安全模块中的 MD5。
如果您仔细阅读 FIPS 验证的模块,您可能会注意到一些将 MD5 声明为未经批准的算法。这意味着经过认证的模块在内部使用 MD5,但不会将功能暴露给应用程序,或将其用于通信。例如,运行嵌入式 linux 的硬件加密模块可能使用 MD5 对 /etc/passwd 中的密码进行哈希处理。没关系,因为模块的用户不能使用 MD5。