当前位置: 首页 > 知识库问答 >
问题:

Azure密钥库是否适合存储在客户端应用程序上生成的加密密钥?

岳硕
2023-03-14

我的客户端应用程序生成的数据在设备上加密。加密密钥通过HTTPS发送给Azure函数,该函数使用Azure密钥库存储加密密钥,以便其他授权的客户机可以获得加密密钥并解密数据。

下面是我的Azure函数中执行将加密密钥(秘密)保存在密钥库中的工作的一段代码:

    public async Task InsertEncryptionKeyAsync(EncryptionKeyContract encryptionKey)
    {
        Guard.CheckForNull(encryptionKey, nameof(encryptionKey));

        //  Serializes the encryption key information.
        string serializedEncryptionKey = JsonConvert.SerializeObject(encryptionKey);

        //  Pushes the encryption to the Key-Vault.
        var client = new KeyVaultClient(/* Key-vault- access otken*/, new HttpClient());

        await client.SetSecretAsync(Constants.Vault.Url, encryptionKey.FileId.ToKey(), serializedEncryptionKey);
    }

问题

这样的设计是不是对Azure Key Vault的适当使用?

共有1个答案

郗学
2023-03-14

是的,Azure Key Vault是用来存储密钥/秘密的,所以这是一个完美有效的用例。根据您的客户机是谁以及他们拥有什么权限,您可以删除中间件,并让客户机将加密密钥添加到存储库中。但是通常您不想授予客户机对存储库的权限,因此使用Azure函数看起来也很好。

 类似资料:
  • 我有一个premium storage account,在创建这个帐户后我就启用了加密,我找到了这个链接https://docs.microsoft.com/en-us/azure/storage/storage-service-encryption来检查blob是否加密。 现在,如果我使用Azure key vault加密OS盘和数据盘,它也用于保护静止数据,但加密存储帐户也会做同样的事情。有谁

  • MySQL Server Enterprise edition与Hashicorp集成,在静止状态下加密数据。加密密钥存储在HashiCorp存储库中,如MySQL文档中所述。 基于HashiCorp文档[1][2],我们可以使用Azure密钥库来存储秘密。 是否可以集成mysql-hashicorp-Azure密钥库 MySQL Enterprise Edition使用hashicorp加密 加

  • 我们希望利用Azure Key vault将我们的敏感密钥存储在Azure Key vault中,并利用存储的敏感密钥在发送到服务之前加密我们的字符串/纯文本数据。服务将再次与Azure Key vault交互,检索敏感密钥,用于解密客户端发送的加密字符串。任何一个可以提供一些关于如何使用azure密钥库以上的场景。

  • 对于我们的指向站点VPN,我们希望创建一个根证书。因此我们可以为所有需要登录VPN的合作伙伴创建尽可能多的客户端证书。(Azure虚拟网络) 手工完成这件事很完美。我们生成一个作为根CA的证书(自签名)。我们可以在powershell中这样做: