6.6. 配置 HSM


要使用硬件安全模块(HSM),需要联邦信息处理标准(FIPS) 140-2 验证的 HSM。Red Hat Certificate System 默认支持 nShield Connect XC hardware security 模块(HSM)和 Thales Luna HSM (有关 Luna 的限制的更多信息,请参阅 第 4.4 节 “支持的硬件安全模块”)。如果在安装过程的预配置阶段使用 modutil 命令,则证书系统支持的 HSM 会自动添加到 pkcs11.txt 数据库中,如果 PKCS modprobe 库模块位于指定的安装路径中。

  • rhcs10.example.com 配置为 HSM 客户端机器。
重要

请按照 HSM 供应商为特定的 HSM 品牌/模型/发行版本提供的说明进行操作。

在我们的示例中,会安装 nShield Connect XC 单元,并配置了最新的软件和固件,以遵守 FIPS 140-2 (Level 3)。在编写 RFS 软件时为 SecWorld_Lin64-12.71.0,固件为 nShield firmware 12.72.1 (FIPS certified), image 12.80.5。

6.6.1. HSM 上的 FIPS 模式

要使用硬件安全模块(HSM),需要联邦信息处理标准(FIPS) 140-2 验证的 HSM。某些部署需要设置其 HSM 以使用 FIPS 模式。要在 HSM 上启用 FIPS 模式,请参阅 HSM 供应商文档。

重要
NShield Connect XC HSM
在 nShield Connect XC HSM 上,只能在生成 Security World 时启用 FIPS 模式,之后无法更改它。虽然生成安全世界的方法有多种,但首选方法始终使用 new-world 命令。
有关如何生成 FIPS 兼容安全世界的指导,请按照 HSM 供应商文档进行操作。
Luna HSM
同样,必须在初始配置期间在 Luna HSM 上启用 FIPS 模式,因为更改此策略会将 HSM 零化为安全措施。
详情请查看 Luna HSM 供应商文档。有关 Luna 限制的更多信息,请参阅 第 4.4 节 “支持的硬件安全模块”

以下步骤可帮助您验证是否为 nShield Connect XC 和 Luna HSMs 启用 FIPS 模式。对于其他 HSM,请参考您的 HSM 制造商文档。

NShield Connect XC HSM

要验证是否在 nShield HSM 中启用了 FIPS 模式,请输入:

# /opt/nfast/bin/nfkminfo
Copy to Clipboard Toggle word wrap

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

Luna HSM

验证在 Luna 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.
    ...
    Copy to Clipboard Toggle word wrap
注意

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

6.6.2. 为 HSM 设置 SELinux

某些 HSM 要求您在安装证书系统前手动更新 SELinux 设置。下面描述了 nShield 和 Luna HSM。对于其他 HSM,请参考您的 HSM 制造商文档。

NShield Connect XC

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

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

    # restorecon -R /opt/nfast/
    Copy to Clipboard Toggle word wrap
  2. 重新启动 nfast 软件。

    # /opt/nfast/sbin/init.d-ncipher restart
    Copy to Clipboard Toggle word wrap
Thales Luna HSM
在开始安装证书系统前,不需要与 SELinux 相关的操作。

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

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

第 7 章 安装和配置 Red Hat Certificate System 中,您在安装带有 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
...
Copy to Clipboard Toggle word wrap
  • pki_hsm_libfilepki_token_name 参数的值取决于您的特定的 HSM 安装。这些值允许 pkispawn 工具设置 HSM 并启用证书系统来连接它。
  • pki_token_password 的值取决于您的特定 HSM 令牌的密码。密码可让 pkispawn 工具在 HSM 上创建新密钥的读写权限。
  • pki_hsm_modulename 的值是一个在后续 pkispawn 操作中使用的名称来标识 HSM。字符串是您可以设置的标识符。它允许 pkispawn 和 Certificate System 在后续操作中按名称引用 HSM 和配置信息。

下面的部分提供了单个 HSM 的设置。如果没有列出 HSM,请咨询您的 HSM 制造商文档。

nShield HSM 参数

对于 nShield Connect XC,请设置以下参数:

pki_hsm_libfile=/opt/nfast/toolkits/pkcs11/libcknfast.so
pki_hsm_modulename=nfast
Copy to Clipboard Toggle word wrap

请注意,您可以将 pki_hsm_modulename 的值设置为任何值。以上是一个推荐的值。

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

# /opt/nfast/bin/nfkminfo

Module #1 Slot #0 IC 1
 generation    1
 phystype      SmartCard
 slotlistflags 0x2 SupportsAuthentication
 state         0x5 Operator
 flags         0x10000
 shareno       1 (`CONNXC-1')
 shares        LTU(PIN) LTFIPS
 error         OK
Cardset
 name          "NHSM-CONN-XC"
 k-out-of-n    1/2
 flags         Persistent PINRecoveryForbidden(disabled) !RemoteEnabled
 timeout       none
 card names    "CONNXC-1" "CONNXC-2"
 hkltu         xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 gentime       2021-11-17 21:19:47

Module #1 Slot #1 IC 0
 generation    1
 phystype      SoftToken
 slotlistflags 0x0
 state         0x2 Empty
 flags         0x0
 shareno       0
 shares
 error         OK
No Cardset

No Pre-Loaded Objects
Copy to Clipboard Toggle word wrap

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

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

pki_token_name=NHSM-CONN-XC
Copy to Clipboard Toggle word wrap

SafeNet / Luna HSM 参数

对于 SafeNet / Luna HSM,如 SafeNet Luna Network HSM,请指定以下参数:

pki_hsm_libfile=/usr/safenet/lunaclient/lib/libCryptoki2_64.so
pki_hsm_modulename=thalesluna
Copy to Clipboard Toggle word wrap

请注意,您可以将 pki_hsm_modulename 的值设置为任何值。以上是一个推荐的值。

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

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

The following Luna Slots/Partitions were found:

Slot    Serial #            Label
===    ===============    =====
   0       1209461834772     thaleslunaQE
Copy to Clipboard Toggle word wrap

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

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

pki_token_name=thaleslunaQE
Copy to Clipboard Toggle word wrap
注意

有关 Luna 限制的更多信息,请参阅 第 4.4 节 “支持的硬件安全模块”

6.6.4. 测试 HSM 连接

测试 HSM 连接:

  1. 创建临时数据库:

    # mkdir -p /root/tmp1
    Copy to Clipboard Toggle word wrap
    # certutil -N -d /root/tmp1
    Copy to Clipboard Toggle word wrap
  2. 将 PKCS modprobe 库模块添加到数据库中:

    • NShield Connect XC:

      # modutil -dbdir /root/tmp1 -nocertdb -add nfast -libfile /opt/nfast/toolkits/pkcs11/libcknfast.so
      ---
      Module "nfast" added to database.
      Copy to Clipboard Toggle word wrap
    • Thales Luna:

      # modutil -dbdir ~/testLuna -nocertdb -add thalesluna -libfile /usr/safenet/lunaclient/lib/libCryptoki2_64.so
      ---
      Module "thalesluna" added to database.
      Copy to Clipboard Toggle word wrap
  3. 列出模块并在 "token:" 中记下 HSM 名称(例如,以下示例中的 NHSM-CONN-XC ):

    # modutil -dbdir /root/tmp1 -list
    
    1. NSS Internal PKCS #11 Module
    …
    token: NSS FIPS 140-2 Certificate DB
    …
    2. nfast
    …
    token: accelerator
    …
    token: NHSM-CONN-XC
    Copy to Clipboard Toggle word wrap
  4. 显示此令牌的证书:

    # certutil -L -d /root/tmp1 -h <token name>
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部