为什么使用Azure Key Vault

Mic*_*l B 15 security azure

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

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

让我感到困惑的是它如何更安全.

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

但是现在这意味着我要保护客户端ID/Secret/URI.

这怎么样更好?

PS我不是开发人员!我只想在这些事情中四处寻找,从一个devops的角度来理解它们.因此,如果你能够将你的答案瞄准典型的无知操作员,那将是值得赞赏的;)

小智 10

Azure Key Vault使用Thales的硬件安全模块(HSM).关于HSM的特殊之处在于他们没有给你钥匙.您可以在HSM中创建或导入密钥.稍后,您将数据提供给HSM,HSM正在对该数据执行加密操作.例如加密,解密,散列等.顺便说一下,那些硬件设备真的很贵.使用Azure Key Vault,您可以以较低的价格使用此保护.这是使用Azure Key Vault的一个好处.

对于您的问题,为什么这样更安全:密钥比受到危害的单个虚拟机更有价值.如果您的某个虚拟机已遭到入侵,并且您的虚拟机上有加密密钥,则攻击者会拥有您的密钥.

如果您的VM上只有您的客户端ID和密码,则攻击者只有那些凭据而不是您的密钥.正如您所知,即使使用这些凭据,攻击者也无法从HSM获取密钥.这意味着攻击者可以使用您的凭据在一定时间内执行加密操作.当您识别出攻击时,您将使凭据无效.

所以区别在于:

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

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

  • 您将获得以下明显的安全优势:1) 隔离 - 您可以拥有多个访问机密的凭据并仅关闭受损的凭据 2) 轻松滚动 - 您可以在不更改应用程序配置的情况下更改机密,3) 审计 - 知道谁读取和写入秘密,4) 年龄保护 - 设置秘密的到期日期,强制汇总或更新,您会收到有关警告,5) 网络钓鱼保护 - 只有经过授权的人才能更改连接字符串,因此攻击者更难发散前端应用到他自己的数据库或后端服务。 (2认同)