使用存储在Google Cloud KMS中的密钥来签署区块链交易

时间:2018-07-19 21:24:25

标签: google-cloud-kms

我有一个要求来保护用于签署区块链交易的私钥。当我们评估使用HSM(硬件安全模块)的选项时,我同样想知道Google Cloud KMS的适用性。如果您能回答我以下问题,将非常感谢您的帮助:)

  1. 我们可以将可能是在外部生成的密钥保存在Google Cloud KMS中吗?
  2. 假设我已经将我的私钥保存在Google Cloud KMS中,那么以下哪一项是正确的/可能的?
    • 使用API​​调用,首先检索存储在KMS中的密钥,然后将其用于签署区块链交易。但是在这种情况下,一旦密钥不在KMS外部,安全性就会受到损害。
    • 密钥一旦存储就永远不会离开Goog​​le Cloud KMS。相反,可以将区块链交易发送到Google Cloud KMS,以使用其管理的密钥对交易进行签名。在这里,我假设KMS可以为我提供一些自定义功能,以便我可以执行签名过程,或者KMS可以执行一段代码。
    • Google Cloud KMS无法执行专门的任务(如签署区块链交易),它仅执行加密/解密。

1 个答案:

答案 0 :(得分:0)

Cloud KMS不存储用于检索的密钥;而是存储密钥并将其保密。我相信您的第三个子弹最接近这种情况。

在您的情况下,我建议用KMS密钥包装区块链私钥,然后将包装的私钥存储在某处。要签署交易,该应用将使用KMS解开密钥,然后在本地用软件对其进行签名。

是的,这会将调用应用程序暴露给私钥,并使您对此安全性负责。

一个问题:您想签署支持哪种算法? Google NEXT将于下周发布,请寻找我们可能对您感兴趣的公告。