2012-02-29 121 views
0

我注意到当查看mvc互联网应用程序的模板时,密码是以明文形式从客户端发送到服务器的,尽管我相信在存储在数据库中时密码可能是加密/哈希值+盐值。asp.net会员密码安全

为了在这里增加安全性来启用SSL/HTTPS,或者最好在客户端散列密码,以便在路由到服务器时不会被拦截,或者这是矫枉过正?

有什么在asp.net框架或第三方工具,这将有助于这样的客户端加密/哈希?

回答

2

这里的正确的解决方案是使用SSL加密网页(和SSL后回来 - 这意味着邮寄到相同的SSL页面,或其他SSL页)如果您尝试将其加密或之前哈希它发送

与JavaScript你只是让你的代码更复杂,而不是增加这么多的安全性。

要说一些更多的想法,假设中间的某个人获得回发值,那么密码的散列通常是48到128位,小于具有密钥f 2048位的SSL安全性。因此,如果您在发送密码之前散列密码,没有特别的收获。

我想到了另外一个问题:如果你在客户端做了密码散列,那么你公开你的密钥,如果有人得到你的密钥,那么可以从哈希创建,给出相同的密码哈希值。所以不要在你的客户端上输入你的密码,因为你也有一个安全问题。