【问题标题】:Encryption Web.config sections加密 Web.config 部分
【发布时间】:2012-07-20 05:54:17
【问题描述】:

我已经阅读了有关在 ASP.net 项目中加密 web.config 部分的 aspnet_regiis,但我很困惑这是如何工作的,因为解密密钥必须以明文形式存在于实际服务器上的某处。

理想情况下,我希望使用 AES 进行加密,但这需要将 aes 密钥以纯文本形式添加到 web.config,这对我来说似乎没用。 (来自https://stackoverflow.com/a/8777147

也许我遗漏了一些东西.. 有人能解释一下这个加密过程实际上是如何安全的吗?

【问题讨论】:

  • 保护谁? Web 服务器之外的用户应该能够看到 Web.config。曾经。如果可以,那是一个需要堵住的安全漏洞。还是您指的是有权访问网络服务器的人?
  • “解密密钥必须以明文形式存在于某处的实际服务器上”是不正确的假设。

标签: asp.net encryption web-config


【解决方案1】:

aspnet_regiis 加密很容易解密,如果您能够登录到机器上的会话并有权访问密钥。

这可以防止有人可以查看文件但无法登录计算机的情况以及解密密钥被正确 ACL 分配给一组已知用户的情况。

在底层它使用 DPAPI 和机器上下文特定信息。我相信您也可以使用用户配置文件进行加密,在这种情况下其他用户无法解密它。

这里有一些有用的链接:

http://weblogs.asp.net/owscott/archive/2005/07/29/421063.aspx

http://weblogs.asp.net/scottgu/archive/2006/01/09/434893.aspx

【讨论】:

    【解决方案2】:

    您必须先创建一个密钥,然后在您的 web.config 中使用此密钥

    详细解释可以在这里找到:msdn microsoft

    网络农场场景下的那个是最实用的。

    如果您在 web.config 中有很多密码等,我认为加密它们很有用。

    【讨论】:

      猜你喜欢
      • 2012-08-31
      • 2011-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-07
      • 1970-01-01
      • 2012-10-01
      • 2010-11-07
      相关资源
      最近更新 更多