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

在旧版本的软件中,如果 StrictFIPS140 在 state 标志中列出,则启用了 FIPS 模式。在较新的 vesions 中,最好检查新模式行并查找 fips1402level3在所有情况下,nfkminfo 输出中还应有一个 hkfips 密钥。

6.2.2.2. 验证 Luna SA HSM 上是否启用了 FIPS 模式

注意

有关完整的流程,请参阅 HSM 供应商的文档。

验证 Luna SA HSM 上是否启用了 FIPS 模式:

  1. 打开 lunash 管理控制台
  2. 使用 hsm show 命令,并验证输出是否包含文本 The HSM is in FIPS 140-2 approved 操作模式。

    lunash:> hsm show
    ...
           FIPS 140-2 Operation:
           =====================
           The HSM is in FIPS 140-2 approved operation mode.
    ...

6.2.3. 为 HSM 设置 SELinux

某些 HSM 要求您在安装证书系统前手动更新 SELinux 设置。

下面的部分描述了支持的 HSMs 所需的操作:

nCipher nShield

安装 HSM 并在开始安装证书系统前:

  1. 重置 /opt/nfast/ 目录中文件的上下文:

    # restorecon -R /opt/nfast/
  2. 重新启动 nfast 软件。

    # /opt/nfast/sbin/init.d-ncipher restart
Gemalto Safenet LunaSA HSM
在开始安装证书系统前,不需要与 SELinux 相关的操作。

有关支持的 HSM 的详情,请参考 第 4.4 节 “支持的硬件安全模块”

6.2.4. 准备使用 HSM 安装证书系统

第 7.2 节 “使用 pkispawn 工具安装 RHCS” 中,您在安装带有 HSM 的证书系统时,会指示使用您传递给 pkispawn 工具的以下参数:

...
[DEFAULT]
##########################
# Provide HSM parameters #
##########################
pki_hsm_enable=True
pki_hsm_libfile=hsm_libfile
pki_hsm_modulename=hsm_modulename
pki_token_name=hsm_token_name
pki_token_password=pki_token_password

########################################
# Provide PKI-specific HSM token names #
########################################
pki_audit_signing_token=hsm_token_name
pki_ssl_server_token=hsm_token_name
pki_subsystem_token=hsm_token_name
...
  • pki_hsm_libfilepki_token_name 参数的值取决于您的特定的 HSM 安装。这些值允许 pkispawn 工具设置 HSM 并启用证书系统来连接它。
  • pki_token_password 的值取决于您的特定 HSM 令牌的密码。密码可让 pkispawn 工具在 HSM 上创建新密钥的读写权限。
  • pki_hsm_modulename 的值是一个在后续 pkispawn 操作中使用的名称来标识 HSM。字符串是一个标识符,您可以原样设置。它允许 pkispawn 和 Certificate System 在后续操作中按名称引用 HSM 和配置信息。

以下部分为各个 HSMs 提供设置。如果没有列出 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_modulename 的值设置为任何值。以上是推荐的值。

例 6.1. 识别令牌名称

要识别令牌名称,以 root 用户身份运行以下命令:

[root@example911 ~]# /opt/nfast/bin/nfkminfo
World
 generation  2

...snip...

Cardset
 name          "NHSM6000-OCS"
 k-out-of-n    1/4
 flags         NotPersistent PINRecoveryRequired(enabled) !RemoteEnabled
 timeout       none

...snip...

Cardset 部分中的 name 字段的值列出了令牌名称。

设置令牌名称,如下所示:

pki_token_name=NHSM6000-OCS

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_modulename 的值设置为任何值。以上是推荐的值。

例 6.2. 识别令牌名称

要识别令牌名称,以 root 用户身份运行以下命令:

# /usr/safenet/lunaclient/bin/vtl verify

The following Luna SA Slots/Partitions were found:

Slot    Serial #            Label
===    ===============    =====
   0       1209461834772     lunasaQE

label 列中的值列出了令牌名称。

设置令牌名称,如下所示:

pki_token_name=lunasaQE
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.