【问题标题】:asp.net membership password securityasp.net 会员密码安全
【发布时间】:2012-03-18 22:26:23
【问题描述】:

我在查看 mvc 互联网应用程序的模板时注意到,密码是以明文形式从客户端发送到服务器的,尽管我相信它在存储在数据库中时可能是加密/散列+加盐的。

在此处提高安全性以仅启用 SSL/HTTPS 是最好的做法,还是最好在客户端对密码进行哈希处理,这样它就不会在发送到服务器的途中被截获,或者这是否矫枉过正?

asp.net 框架或 3rd 方工具中是否有任何东西可以帮助进行这种客户端加密/散列?

【问题讨论】:

    标签: asp.net security passwords membership


    【解决方案1】:

    这里正确的解决方案是使用 SSL 加密页面(和 SSL 回发 - 意味着发布到同一个 ssl 页面或其他 ssl 页面)

    如果您在使用 javascript 发送它之前尝试对其进行加密或散列,您只会使您的代码更加复杂,并且不会增加它的安全性。

    要说更多的想法,假设中间有人得到回发值,那么密码的哈希通常是 48 到 128 位,小于具有密钥 f 2048 位的 SSL 安全性。因此,如果您在发送密码之前对密码进行哈希处理,并没有什么特别的收获。

    我想到了另一个问题:如果您在客户端对密码进行哈希处理,那么您就会公开您的密钥,如果有人得到您的密钥,那么可以从哈希中创建提供相同哈希的密码.所以不要在客户端上设置密码的哈希/盐,因为你也有安全问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多