创建加密密钥

可使用 OCI Vault 为 BYOK 创建或导入加密密钥。

先决条件

创建 Vault 作为用于加密密钥的逻辑容器。请参阅《Oracle Cloud Infrastructure Documentation》中的 "Creating a vault"。

创建或导入加密密钥

创建 Vault 后,创建或导入所需的加密密钥。

  1. 以帐户管理员或身份域管理员身份登录 Oracle Cloud 控制台。
  2. 打开导航菜单,搜索身份和安全,然后选择 Vault。
  3. 在 Vault 页面上,选择要在其中创建密钥的 Vault。
  4. 在 Vault 详细信息页面上,选择主加密密钥。
  5. 单击创建密钥。
    创建密钥

  6. 输入所需详细信息:
    • 在区间中创建:在与 Vault 相同的区间中创建密钥
    • 保护模式:
      • HSM - 在硬件安全模块 (Hardware Security Module, HSM) 中存储和处理。
      • 软件 - 在 Vault 服务软件层中存储密钥。
    • 密钥配置规格:算法:AES
    • 密钥配置规格:长度:256 位

    导入外部密钥
  7. 要导入外部密钥(例如,从您的 HSM 导入),请启用导入外部密钥。
  8. 使用保存链接以文件形式下载公共包装密钥。
  9. 使用公共包装密钥(并采用包装算法 RSA_OAEP_SHA256)包装密钥文件。请参阅“在导入之前包装外部密钥”。
  10. 使用外部密钥数据源上传包装的密钥文件
  11. 单击创建密钥。

在导入之前包装外部密钥

请勿上传原始密钥。始终使用 OCI Vault 公共包装密钥包装密钥,然后再上传。

包装密钥:

  • 在传输过程中保护密钥
  • 确保 OCI Vault 可以安全解包密钥

示例:包装外部密钥

以下示例显示了在将客户管理的密钥导入到 OCI Vault 之前如何对其进行包装。假设:

  • 客户密钥存储在 aes_key.bin 中。
  • 公共包装密钥存储在 publickey.pem 中。

请运行如下命令:

openssl pkeyutl -encrypt \
  -in aes_key.bin \
  -inkey publickey.pem \
  -pubin \
  -out wrappedkey.bin \
  -pkeyopt rsa_padding_mode:oaep \
  -pkeyopt rsa_oaep_md:sha256

此命令生成一个名为 wrappedkey.bin 的包装密钥文件。

将 wrappedkey.bin 文件上传到 OCI Vault,并将包装算法指定为 RSA_OAEP_SHA256,以完成密钥导入过程。

有关详细信息,请参阅《Oracle Cloud Infrastructure Documentation》文档中的 "Applying RSA-OAEP to Wrap the Key Material for a Symmetric Key"。