18

我正在尝试了解 Azure Key Vault 将提供的安全优势(或同样的 AWS KMS)

我了解密钥管理的好处,能够轻松轮换、更改、审核密钥访问。

让我有点困惑的是它是如何更安全的。

据我了解,如果我开发了一个 Web 应用程序并想要保护我的连接字符串(例如),我可以在 Key Vault 中创建一个密钥对并将其保存在那里。然后我在 AAD 中创建一个应用程序,并使用客户端 ID/Secret/URI 对 Key Vault 进行身份验证以获取我的连接字符串。资源组进一步限制这一点也可能带来好处。

但是,这现在意味着我有一个要保护的客户端 ID/秘密/URI。

这如何更好?

PS我不是开发者!我只是想从 devops 的角度来研究这些东西以了解它们。因此,如果您可以将答案瞄准典型的无知操作人员,那将不胜感激;)

4

2 回答 2

16

Azure Key Vault 使用 Thales 的硬件安全模块 (HSM)。HSM 的特别之处在于它们不会给您密钥。您创建或将密钥导入 HSM。稍后您将数据提供给 HSM,而 HSM 正在对该数据执行加密操作。例如加密、解密、散列等。顺便说一句,那些硬件设备真的很贵。借助 Azure Key Vault,您可以以较低的价格使用此保护。这是使用 Azure Key Vault 的好处之一。

对于您的问题,为什么这更安全:密钥比已被破坏的单个 VM 更有价值。如果您的其中一个虚拟机遭到入侵,并且您将在该虚拟机上拥有加密密钥,那么攻击者将拥有您的密钥。

如果您的 VM 上只有您的客户端 ID 和密码,那么攻击者只有这些凭据,但没有您的密钥。如您所知,即使使用这些凭据,攻击者也无法从 HSM 获取您的密钥。这意味着攻击者将能够使用您的凭据在一定时间内执行加密操作。当您识别出攻击时,您的凭据就会失效。

简而言之,区别在于:

没有 HSM:攻击者拥有您的密钥,并且可以根据需要使用这些密钥(并且它们是有效的)。

使用 HSM:攻击者没有您的密钥,并且只能使用您的凭据执行加密操作,只要它们有效。

于 2015-10-01T14:36:40.313 回答
0

从开发人员的角度来看,要了解 azure key vault 的概念,我会推荐这个链接 -

https://azure.microsoft.com/en-in/documentation/articles/key-vault-whatis/

它从 3 个不同的角度为开发人员描述了对 azure key vault 的需求——

1. Developer for an Azure application 
2. Developer for Software as a Service (SaaS)
3. Chief security officer (CSO)

然而,微软现在还没有完全发布 Azure 密钥库。完整的密钥库将于 2015 年 12 月发布,这将是 ARM 的扩展功能。

于 2015-10-01T07:23:14.263 回答