有没有办法使用对称密钥通过 Azure Key Vault 加密消息?
Is there a way to encrypt a message with Azure Key Vault using a symmetric key?
我正在使用 Java 库访问 Azure Key Vault,并查看 com.azure.security.keyvault.keys.cryptography.CryptographyClient 它采用似乎能够使用对称密钥的 EncryptionAlgorithm。但是,您不能在 Azure Key Vault 中存储对称密钥,这让我想知道:您如何使用 EncryptionAlgorithm.A256CBC_HS512?
我唯一能想到的就是直接使用jsonWebKey作为keyIdentifier(而不是使用标识符)然后加密消息。因此,我需要将 jsonWebKey(AES 密钥)作为 secret 存储在保险库中,检索机密,然后使用它进行加密。这感觉不安全,因为 AES 密钥随后将通过 Internet 发送(即使它是通过 https)。
那么,使用 Azure Key Vault 使用对称密钥加密消息的推荐(安全)过程是什么。
KV只做非对称加密,只有Keys(非对称)公开加密操作,如encrypt/decrypt sign/verify等。
您始终可以使用 KV 包装对称密钥并使用 KV 解开密钥。但是对称加密操作将在您的 Java 代码中。
我写了一篇关于一些时髦的 KV 加密的文章,这为一些 C# 代码提供了 link。
https://michaelhowardsecure.blog/2020/06/05/the-curious-case-of-the-un-enforced-azure-key-vault-rbac-policy/
希望对您有所帮助。
我正在使用 Java 库访问 Azure Key Vault,并查看 com.azure.security.keyvault.keys.cryptography.CryptographyClient 它采用似乎能够使用对称密钥的 EncryptionAlgorithm。但是,您不能在 Azure Key Vault 中存储对称密钥,这让我想知道:您如何使用 EncryptionAlgorithm.A256CBC_HS512?
我唯一能想到的就是直接使用jsonWebKey作为keyIdentifier(而不是使用标识符)然后加密消息。因此,我需要将 jsonWebKey(AES 密钥)作为 secret 存储在保险库中,检索机密,然后使用它进行加密。这感觉不安全,因为 AES 密钥随后将通过 Internet 发送(即使它是通过 https)。
那么,使用 Azure Key Vault 使用对称密钥加密消息的推荐(安全)过程是什么。
KV只做非对称加密,只有Keys(非对称)公开加密操作,如encrypt/decrypt sign/verify等。
您始终可以使用 KV 包装对称密钥并使用 KV 解开密钥。但是对称加密操作将在您的 Java 代码中。
我写了一篇关于一些时髦的 KV 加密的文章,这为一些 C# 代码提供了 link。 https://michaelhowardsecure.blog/2020/06/05/the-curious-case-of-the-un-enforced-azure-key-vault-rbac-policy/
希望对您有所帮助。