Cloud HSM

本主题概述了 Cloud HSM,并介绍了如何在 Cloud Key Management Service 中创建和使用 HSM 保护的加密密钥。

什么是 Cloud HSM?

Cloud HSM 是一种云托管的硬件安全模块 (HSM) 服务,该服务允许您在 FIPS 140-2 Level 3 认证的 HSM 集群中托管加密密钥并执行加密操作。Google 会为您管理 HSM 集群,因此您无需担心创建集群、扩缩或修补事宜。由于 Cloud HSM 使用 Cloud KMS 作为其前端,因此您可以利用 Cloud KMS 提供的所有便利和功能。

准备工作

创建密钥环

创建一个名为 hsm-ring 的密钥环。

控制台

  1. 转到 GCP Console 中的加密密钥页面。

  2. 点击创建密钥环

  3. 密钥环名称字段中,输入 hsm-ring。

  4. 位置下拉列表中,选择一个支持 Cloud HSM 的区域

  5. 点击创建

命令行

在一个支持 Cloud HSM 的区域中,使用名称 hsm-ring 创建一个新的密钥环。

gcloud kms keyrings create hsm-ring \
  --location [LOCATION]

创建密钥

创建一个名为 hsm-key 的密钥。

控制台

  1. 转到 GCP Console 中的加密密钥页面。

  2. 点击名为 hsm-ring 的密钥环。

  3. 点击创建密钥

  4. 密钥名称字段中,输入 hsm-key。

  5. 点击用途下拉列表,然后选择对称加密/解密。 如需详细了解密钥用途,请参阅密钥用途

  6. 对于保护级别,选择 HSM。如需详细了解保护级别,请参阅保护级别

  7. [可选] 如果您要为密钥添加标签,请在标签字段中,点击添加标签

  8. 点击创建

命令行

在密钥环 hsm-ring 中创建一个新密钥 hsm-key

  • --purpose 设置为 encryption。如需详细了解密钥用途,请参阅密钥用途
  • --protection-level 设置为 hsm。如需了解有关保护级别的更多信息,请参阅保护级别
gcloud kms keys create hsm-key \
  --location [LOCATION] \
  --keyring hsm-ring \
  --purpose encryption \
  --protection-level hsm

加密数据

现在您有了密钥,就可以使用该密钥对文本或二进制内容进行加密。 请生成一些要加密的文本。

echo "Some text to be encrypted" > ~/my-secret-file

将该纯文本加密到名为 my-secret-file.enc 的文件中

gcloud kms encrypt \
  --location [LOCATION] \
  --keyring hsm-ring \
  --key hsm-key \
  --plaintext-file ~/my-secret-file \
  --ciphertext-file ~/my-secret-file.enc

对密文进行解密

如需对已加密内容进行解密,您必须使用加密该内容时使用的相同密钥。您可以通过发出以下命令对加密的文件 my-secret-file.enc 进行解密:

gcloud kms decrypt \
  --location [LOCATION] \
  --keyring hsm-ring \
  --key hsm-key \
  --ciphertext-file ~/my-secret-file.enc \
  --plaintext-file ~/my-secret-file.dec

您应该会看到 my-secret-file.dec 的内容和原始明文文件 my-secret-file 是相同的:

cat ~/my-secret-file.dec
Some text to be encrypted

清理

为避免系统因本快速入门中使用的资源向您的 GCP 帐号收取费用,请按照以下步骤操作。

清理操作包括销毁本主题中使用的密钥版本。

列出您的密钥可用的版本:

gcloud kms keys versions list \
  --location [LOCATION] \
  --keyring hsm-ring \
  --key hsm-key

如需销毁版本,请运行以下命令,将 [VERSION_NUMBER] 替换为要销毁的版本号:

gcloud kms keys versions destroy \
  [VERSION_NUMBER] \
  --location [LOCATION] \
  --keyring hsm-ring \
  --key hsm-key

后续步骤

已知限制

  • 对于用户提供的明文和密文,块大小限制为 16384 字节(作为对照,Cloud KMS 软件密钥限制是 64 KiB),包括经过身份验证的额外数据

  • Cloud HSM 仅在某些区域可用。如需了解详情,请参阅支持 Cloud HSM 的区域

  • 与使用 Cloud KMS 软件密钥相比,对存储在 Cloud HSM 中的密钥执行的操作目前可能有明显更长的延迟。

如果您遇到错误

如果您遇到问题,请参阅支持中的反馈选项。

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Cloud KMS 文档