6.2. 硬件安全模块
要使用硬件安全模块(HSM),需要一个联邦信息处理标准(FIPS) 140-2 验证的 HSM。证书系统默认支持 nCipher nShield 硬件安全模块(HSM)和 Gemalto Safenet LunaSA HSM。如果在安装过程的预配置阶段使用 modutil 命令,则证书系统支持的 HSM 会自动添加到 pkcs11.txt 数据库中,如果 PKCS modprobe 库模块位于指定的安装路径中。
6.2.1. 在 HSM 中启用 FIPS 模式 复制链接链接已复制到粘贴板!
某些部署需要设置其 HSM 以使用 FIPS 模式。要在 HSM 上启用 FIPS 模式,请参阅您的 HSM 供应商文档来了解具体说明。
- nCipher HSM
-
在 nCipher HSM 中,只有生成 Security World 时才能启用 FIPS 模式,之后无法更改它。虽然生成安全世界的方法有多种,但首选方法始终使用
new-world命令。有关如何生成 FIPS 兼容安全 World 的指导,请按照 nCipher HSM 供应商文档进行操作。 - LunaSA HSM
- 同样,必须在 Luna HSM 上启用 FIPS 模式,因为更改此策略会将 HSM 归类为安全措施。详情请查看 Luna HSM 供应商文档。
6.2.2. 验证 HSM 上是否启用了 FIPS 模式 复制链接链接已复制到粘贴板!
本节描述了如何为某些 HSM 验证是否启用了 FIPS 模式。有关其他 HSM,请参阅硬件厂商的文档。
6.2.2.1. 验证 nCipher HSM 是否启用了 FIPS 模式 复制链接链接已复制到粘贴板!
有关完整的流程,请参阅 HSM 供应商的文档。
要验证在 nCipher HSM 上是否启用了 FIPS 模式,请输入:
/opt/nfast/bin/nfkminfo
# /opt/nfast/bin/nfkminfo
在旧版本的软件中,如果 StrictFIPS140 在 state 标志中列出,则启用了 FIPS 模式。在较新的 vesions 中,最好检查新模式行并查找 fips1402level3。在所有情况下,nfkminfo 输出中还应有一个 hkfips 密钥。
6.2.2.2. 验证 Luna SA HSM 上是否启用了 FIPS 模式 复制链接链接已复制到粘贴板!
有关完整的流程,请参阅 HSM 供应商的文档。
验证 Luna SA HSM 上是否启用了 FIPS 模式:
-
打开
lunash管理控制台 使用
hsm show命令,并验证输出是否包含文本The HSM is in FIPS 140-2 approved 操作模式。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.2.3. 为 HSM 设置 SELinux 复制链接链接已复制到粘贴板!
某些 HSM 要求您在安装证书系统前手动更新 SELinux 设置。
下面的部分描述了支持的 HSMs 所需的操作:
- nCipher nShield
安装 HSM 并在开始安装证书系统前:
重置
/opt/nfast/目录中文件的上下文:restorecon -R /opt/nfast/
# restorecon -R /opt/nfast/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新启动
nfast软件。/opt/nfast/sbin/init.d-ncipher restart
# /opt/nfast/sbin/init.d-ncipher restartCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- Gemalto Safenet LunaSA HSM
- 在开始安装证书系统前,不需要与 SELinux 相关的操作。
有关支持的 HSM 的详情,请参考 第 4.4 节 “支持的硬件安全模块”。
6.2.4. 准备使用 HSM 安装证书系统 复制链接链接已复制到粘贴板!
在 第 7.2 节 “使用 pkispawn 工具安装 RHCS” 中,您在安装带有 HSM 的证书系统时,会指示使用您传递给 pkispawn 工具的以下参数:
-
pki_hsm_libfile和pki_token_name参数的值取决于您的特定的 HSM 安装。这些值允许pkispawn工具设置 HSM 并启用证书系统来连接它。 -
pki_token_password的值取决于您的特定 HSM 令牌的密码。密码可让pkispawn工具在 HSM 上创建新密钥的读写权限。 -
pki_hsm_modulename的值是一个在后续pkispawn操作中使用的名称来标识 HSM。字符串是一个标识符,您可以原样设置。它允许pkispawn和 Certificate System 在后续操作中按名称引用 HSM 和配置信息。
以下部分为各个 HSMs 提供设置。如果没有列出 HSM,请咨询您的 HSM 制造商文档。
有关使用 HSM 的更多信息,请参阅在 子系统中使用硬件安全模块。
6.2.4.1. nCipher HSM 参数 复制链接链接已复制到粘贴板!
对于 nCipher HSM,请设置以下参数:
pki_hsm_libfile=/opt/nfast/toolkits/pkcs11/libcknfast.so pki_hsm_modulename=nfast
pki_hsm_libfile=/opt/nfast/toolkits/pkcs11/libcknfast.so
pki_hsm_modulename=nfast
请注意,您可以将 pki_hsm_modulename 的值设置为任何值。以上是推荐的值。
例 6.1. 识别令牌名称
要识别令牌名称,以 root 用户身份运行以下命令:
Cardset 部分中的 name 字段的值列出了令牌名称。
设置令牌名称,如下所示:
pki_token_name=NHSM-CONN-XC
pki_token_name=NHSM-CONN-XC
6.2.4.2. SafeNet / Luna SA HSM 参数 复制链接链接已复制到粘贴板!
对于 SafeNet / Luna SA HSM,如 SafeNet Luna Network HSM,请指定以下参数:
pki_hsm_libfile=/usr/safenet/lunaclient/lib/libCryptoki2_64.so pki_hsm_modulename=lunasa
pki_hsm_libfile=/usr/safenet/lunaclient/lib/libCryptoki2_64.so
pki_hsm_modulename=lunasa
请注意,您可以将 pki_hsm_modulename 的值设置为任何值。以上是推荐的值。
例 6.2. 识别令牌名称
要识别令牌名称,以 root 用户身份运行以下命令:
label 列中的值列出了令牌名称。
设置令牌名称,如下所示:
pki_token_name=lunasaQE
pki_token_name=lunasaQE