在 AWS CloudHSM 中验证集群 HSM 的身份和真实性(可选)
要在 AWS CloudHSM 中初始化您的集群,您需要签署由集群的第一个硬件安全模块(HSM)生成的证书签名请求(CSR)。在执行此操作之前,您可能需要验证 HSM 的身份和真实性。
注意
此过程是可选过程。但是,它仅在初始化群集之前有效。初始化群集后,您不能使用此过程来获取证书或验证 HSM。
要验证群集的第一个 HSM 的身份,请完成以下步骤:
下图显示了 CSR、证书及其相互关系。后续列表定义了每个证书。
- AWS 根证书
-
这是 AWS CloudHSM 的根证书。
- 制造商根证书
-
这是硬件制造商的根证书。
- AWS 硬件证书
-
AWS CloudHSM 在将 HSM 硬件添加到队列时已创建此证书。此证书声明 AWS CloudHSM 拥有硬件。
- 制造商硬件证书
-
HSM 硬件制造商在制造 HSM 硬件时已创建此证书。此证书声明制造商创建了该硬件。
- HSM 证书
-
HSM 证书在您创建群集中的第一个 HSM 时由经 FIPS 验证的硬件生成。此证书声明 HSM 硬件已创建 HSM。
- 群集 CSR
-
第一个 HSM 将创建群集 CSR。在对群集 CSR 进行签名时,您将声明群集。然后,您可以使用已签名 CSR 初始化群集。
第 1 步:从 HSM 获取证书
要验证 HSM 的身份和真实性,请先获取 1 个 CSR 和 5 个证书。您可以从 HSM 获取其中三个证书,此操作可通过 AWS CloudHSM 控制台
第 2 步:获取根证书
按照以下步骤获取 AWS CloudHSM 和制造商的根证书。将根证书文件保存到包含 CSR 和 HSM 证书文件的目录。
获取 AWS CloudHSM 和制造商根证书
-
下载 AWS CloudHSM 根证书:AWS_CloudHSM_Root-G1.zip。
-
下载适合您的 HSM 类型的制造商根证书:
hsm1.medium 制造商根证书:liquid_security_certificate.zip
hsm2m.medium 制造商根证书:liquid_security_certificate.zip
-
在下载文件后,提取 (解压缩) 其内容。
第 3 步:验证证书链
在此步骤中,您将构建 2 个证书链,一个针对的是 AWS CloudHSM 根证书,另一个针对的是制造商根证书。然后使用 OpenSSL 通过每个证书链验证 HSM 证书。
要创建证书链,请打开 Linux shell。您需要 OpenSSL (在大多数 Linux shell 中可用),并且需要已下载的根证书和 HSM 证书文件。但是,此步骤不需要 AWS CLI,而 shell 不需要与您的 AWS 账户关联。
使用 AWS CloudHSM 根证书验证 HSM 证书
-
导航到您将下载的根证书和 HSM 证书文件保存到的目录。以下命令假设所有证书都在当前目录中并使用默认文件名。
使用以下命令创建一个证书链,其中按该顺序包含 AWS 硬件证书和 AWS CloudHSM 根证书。将
<cluster ID>替换为之前创建的群集的 ID。$cat<cluster ID>_AwsHardwareCertificate.crt \ AWS_CloudHSM_Root-G1.crt \ ><cluster ID>_AWS_chain.crt -
使用以下 OpenSSL 命令通过 AWS 证书链验证 HSM 证书。将
<cluster ID>替换为之前创建的群集的 ID。$openssl verify -CAfile<cluster ID>_AWS_chain.crt<cluster ID>_HsmCertificate.crt<cluster ID>_HsmCertificate.crt: OK
使用制造商根证书验证 HSM 证书
-
使用以下命令创建一个证书链,其中按该顺序包含制造商硬件证书和制造商根证书。将
<cluster ID>替换为之前创建的群集的 ID。$cat<cluster ID>_ManufacturerHardwareCertificate.crt \ liquid_security_certificate.crt \ ><cluster ID>_manufacturer_chain.crt -
使用以下 OpenSSL 命令通过制造商证书链验证 HSM 证书。将
<cluster ID>替换为之前创建的群集的 ID。$openssl verify -CAfile<cluster ID>_manufacturer_chain.crt<cluster ID>_HsmCertificate.crt<cluster ID>_HsmCertificate.crt: OK
第 4 步:提取和比较公有密钥
使用 OpenSSL 提取并比较 HSM 证书和群集 CSR 中的公有密钥以确保二者相同。
要比较公有密钥,请使用您的 Linux shell。您需要 OpenSSL(在大多数 Linux shell 中可用),但此步骤不需要 AWS CLI。Shell 无需与您的 AWS 账户关联。
提取和比较公有密钥
-
使用以下命令可从 HSM 证书中提取公有密钥。
$openssl x509 -in<cluster ID>_HsmCertificate.crt -pubkey -noout ><cluster ID>_HsmCertificate.pub -
使用以下命令可从群集 CSR 中提取公有密钥。
$openssl req -in<cluster ID>_ClusterCsr.csr -pubkey -noout ><cluster ID>_ClusterCsr.pub -
使用以下命令可比较公有密钥。如果公有密钥相同,以下命令不会生成任何输出。
$diff<cluster ID>_HsmCertificate.pub<cluster ID>_ClusterCsr.pub
在验证 HSM 的身份和真实性后,请继续初始化集群。