用于密码存储的asp.net密钥库?

问题描述:

我知道加密的密码可以存储在web.config中,或者哈希和腌制的密码可以存储在数据库中,但可以将密码存储在某个密钥库中吗?用于密码存储的asp.net密钥库?

密钥仓库是否应该存储应用程序所需的“服务帐户”密码?

与.NET/Windows环境中Java密钥库最接近的模拟是DPAPI(http://en.wikipedia.org/wiki/Data_Protection_API)。它将加密值存储在Windows注册表中,加密密钥来源于系统或用户帐户级别的机密。

它在相当广泛的用途,虽然在2010年黑帽DC会议上发布了一篇论文,详细介绍了对它的破解(Google Docs)。

在这篇论文之前(如果MS在某个时候修正了这个问题),我会强烈推荐DPAPI来描述你正在描述的内容。

在这一点上,使用DPAPI可能(不幸)是最好的选择。一个缓解因素是该技术高度技术性,难以执行,并且需要相当多的操作系统访问权限。违反DPAPI密钥最有可能被具有系统访问权限的受信任内部人员阻止,而不是外部攻击者。