第 1 章 将 RHEL 切换到 FIPS 模式
要启用联邦信息处理标准(FIPS) 140-3 强制的加密模块自我检查,您必须在 FIPS 模式下操作 Red Hat Enterprise Linux 10。将系统切换到 FIPS 模式的唯一方法是在安装过程中启用它。
Red Hat Enterprise Linux 10 不支持在安装后将系统切换到 FIPS 模式。特别是,设置 FIPS
系统范围的加密策略 不足以启用 FIPS 模式,并保证遵守 FIPS 140 标准。将 FIPS
策略用于 FIPS 模式启用过程的 fips-mode-setup
工具已被删除。
要关闭 FIPS 模式,您必须在安装过程中在没有启用 FIPS 模式的情况下重新安装系统。
1.1. 联邦信息处理标准 140 和 FIPS 模式 复制链接链接已复制到粘贴板!
联邦信息处理标准(FIPS)出版物 140 是国家标准与技术研究所开发的一系列计算机安全标准,以确保加密模块的质量。FIPS 140 标准确保加密工具正确实现其算法。运行时加密算法和完整性自我测试是确保系统使用满足标准要求的加密机制。
1.1.1. FIPS 模式下的 RHEL 复制链接链接已复制到粘贴板!
要确保 RHEL 系统只生成并使用所有带有 FIPS 批准的算法的加密密钥,您必须将 RHEL 切换到 FIPS 模式。
要启用 FIPS 模式,以 FIPS 模式开始安装。这可避免加密密钥材料重新生成和与转换已部署系统关联的结果系统的合规性的重新评估。另外,根据是否启用了 FIPS 模式更改算法选择的组件,请选择正确的算法。例如,LUKS 磁盘加密在以 FIPS 模式安装时使用 PBKDF2 密钥派生函数(KDF),否则它会选择与FIPS 兼容的 Argon2 KDF。因此,在安装后切换到 FIPS 模式时,使用磁盘加密的非FIPS 安装不兼容或可能无法引导。
要操作遵守 FIPS 的系统,请在 FIPS 模式下创建所有加密密钥资料。另外,加密密钥材料不得离开 FIPS 环境,除非它被安全包装,且永远不会在非 FIPS 环境下打开包装。
1.1.2. FIPS 模式状态 复制链接链接已复制到粘贴板!
是否启用 FIPS 模式是否由内核命令行中的 fips=1
引导选项决定。如果没有使用 update-crypto-policies --set FIPS
命令明确设置,则系统范围的加密策略会自动遵循此设置。/boot
单独分区的系统还需要 boot=UUID=<uuid-of-boot-disk&
gt; 内核命令行参数。在 FIPS 模式中启动时,安装程序会执行必要的更改。
FIPS 模式所需的限制强制取决于 /proc/sys/crypto/fips_enabled
文件的内容。如果文件包含 1
,RHEL 核心加密组件切换到模式,在此模式下,它们只使用 FIPS 批准的加密算法的实现。如果 /proc/sys/crypto/fips_enabled
包含 0
,则加密组件不会启用其 FIPS 模式。
1.1.3. 加密策略中的 FIPS 复制链接链接已复制到粘贴板!
FIPS
系统范围的加密策略有助于配置更高级别的限制。因此,支持加密灵活性的通信协议不会在选择时宣布系统拒绝的密码。例如,ChaCha20 算法不是 FIPS 批准的,FIPS
加密策略确保 TLS 服务器和客户端不宣布 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 TLS 密码套件,因为任何使用此类密码的尝试都会失败。
如果您在 FIPS 模式下操作 RHEL,并使用提供其自己的与 FIPS 模式相关的配置选项的应用程序,请忽略这些选项和相应的应用程序指导。系统以 FIPS 模式运行,系统范围的加密策略只强制执行 FIPS 兼容加密。例如,如果系统在 FIPS 模式下运行,请忽略 Node.js 配置选项 --enable-fips
。如果您在没有在 FIPS 模式下运行的系统上使用 --enable-fips
选项,则您没有满足 FIPS-140 合规性要求。
1.1.4. RHEL 10.0 OpenSSL FIPS 指示符 复制链接链接已复制到粘贴板!
因为 RHEL 在 OpenSSL 上游执行前引入了 OpenSSL FIPS 指标,且两种设计都有所不同,所以指标可能会在将来的 RHEL 10 次版本中有所变化。在可能使用上游 API 后,RHEL 10.0 指标可能会返回错误信息 "unsupported" 而不是结果。详情请查看 OpenSSL FIPS Indicators GitHub 文档。
RHEL 10 的加密模块尚未获得国家标准与技术研究院(NIST)加密模块验证计划(CMVP)的 FIPS 140-3 要求认证。您可以在 产品合规性 红帽客户门户网站页面上的 FIPS - Federal Information Processing Standards 部分中看到加密模块的验证状态。