上传自定义私钥以在 Google Cloud KMS 中使用

问题描述

主题 - Google Cloud KMS 和对自定义密钥的支持

我正在浏览 Google Cloud KMS 的文档。它提到 Cloud KMS 更像是一种管理服务,可以通过两种方式帮助控制和管理谷歌使用的 DEK cmeK - 允许谷歌创建 KEK 和我们管理轮换等方面 cmeK - 允许导入您自己的密钥,该密钥将作为 Google DEK 之上的 KEK。

据我所知,云 KMS 允许控制加密 DEK 的密钥。

Google Cloud KMS 是否还支持存储我们的自定义私钥 (CSEK) 以进行加密和使用/签名。

解决方法

客户提供的加密密钥 (CSEK) 是 Google Cloud Storage 和 Google Compute Engine 的一项功能。Google 使用客户提供的加密密钥来保护 Google 生成的用于加密和解密用户数据的密钥 [1] .

当客户提供 CSEK(客户提供的加密密钥)时,云存储不会将 CSEK 密钥永久存储在谷歌服务器上或管理该密钥。您必须为每个云存储操作提供密钥,操作完成后,您的密钥将从 Google 的服务器中清除。 Cloud Storage 仅存储密钥的加密哈希,以便将来如果客户再次提供密钥,可以根据哈希对其进行验证。但是无法从这个散列中恢复出密钥,也无法使用散列来解密数据[2]。

在 Google Compute Engine 的情况下,Google 也不会将您的密钥存储在其服务器上,除非您提供密钥,否则无法访问您的受保护数据。如果您不小心忘记或丢失了密钥,Google 将无法恢复密钥或恢复使用丢失密钥加密的任何数据。例如,当您删除永久性磁盘时,谷歌会丢弃密码密钥,从而导致数据无法恢复 [3]。

有用的链接:

[1] https://cloud.google.com/security/encryption/customer-supplied-encryption-keys [2] https://cloud.google.com/storage/docs/encryption/customer-supplied-keys [3] https://cloud.google.com/compute/docs/disks/customer-supplied-encryption