【发布时间】:2016-11-11 15:13:45
【问题描述】:
很高兴知道
- 它们是什么,
- 它们是做什么用的
- 为什么一个人更喜欢一个而不是另一个。
【问题讨论】:
标签: azure azure-keyvault
很高兴知道
【问题讨论】:
标签: azure azure-keyvault
一个非常简单的答案:
表示为 JWK(JSON Web 密钥)的加密密钥
示例:存储包含一对公钥和私钥的 .pfx 证书文件
KV 接受任何值并将其存储为二进制文件(有最大大小限制)
示例:密码或 API 密钥
【讨论】:
Key Vault 密钥:
Azure Key Vault 中的密钥是“加密密钥”,用于加密信息而不将私钥释放给使用者(用户\服务)。它就像一个黑匣子,使用RSA algotithm 加密和解密内容。
RSA 算法,涉及公钥和私钥。公钥可以为所有人所知;它用于加密消息。使用公钥加密的消息只能使用私钥解密。
场景:
假设您必须存储客户 CreditCard,将其保存在数据库中的安全方法是在软件设计和 业务需求很清楚你应该加密它, 大多数人没有意识到或不打扰的是你如何保护你的 大多数情况下,加密密钥作为软件的一部分存储 配置,如果攻击者或员工有权访问密钥,则 信息不再安全。
使用密钥库密钥,您可以将信用卡信息发送到 KeyVault,它会加密信息并将加密后的值返回给调用者。 在高性能场景下,您可以从 KeyVault 获取公钥,使用它来加密来自应用程序端的信息,并存储在已经加密的 DB 中,而无需将数据发送到 KV。 取回真实数据的唯一方法是将加密数据发送到 KV,KV 将返回解密的 CreditCard。
Key Vault 机密
Azure Key Vault 中的秘密是八位字节序列,每个最大大小为 25kb。它被描述为八位字节,因为它不关心所存储的数据类型,唯一的限制是 25kb 的大小。发送数据后,数据会被加密并存储,如果您有权限,您可以随时检索它。它用于存储应用程序设置、令牌以及是否需要数据库连接字符串、密码等信息。
Key Vault Secrets 的好处是您可以使用预定义的轮换值来定义 Expiration/NotBefore 值。因此,您可以注册将在指定时间段轮换的临时值,而读者可以访问具有 Get 权限的 Key Vault,他们将只能读取当前的值,而未来的值已经定义且不可见获取操作。
【讨论】:
Azure Key Vault (KV) 可以存储 3 种类型的项目:(1) 机密、(2) 密钥和 (3) 证书 (certs)。
秘密 - 提供秘密的安全存储,例如数据库连接字符串、帐户密钥或 PFX 的密码(私钥文件)。身份验证应用程序可以检索秘密以在其操作中使用。更多关于AZ KV Secrets
(加密)密钥 - 表示为 JWK(JSON Web 密钥)的密钥。支持多种密钥类型和算法,并支持将硬件安全模块 (HSM) 用于高价值密钥。更多关于AZ KV Keys
证书 - 是一种托管 X.509 证书,它建立在密钥和机密之上,并添加了自动续订功能/自动翻转。更多关于AZ KV Certificate
【讨论】: