开发网站登录功能时,如何保证密码在网络传输过程中的安全?
2016-03-21 11:15
836 查看
HTTPS是让请求~~截获不了~~(叙述不准确,其实也是截获了没有用)。客户端混淆是截获了没有用。从截获了没有用的思路上说,简单的单向Hash确实意义不大,攻击者伪造一模一样的POST(重放攻击)就能成功登陆。所以要使用加盐(SALT)Hash。
服务器发送给客户端的登陆页面里嵌上一个一次性且有时效性的字符串Salt,客户端在传回密码时将Salt和密码连接在一起进行Hash再提交。这样客户端每次登录,由于获取到的Salt不同,产生的Hash值也不同,且登录后本次使用的Salt/Hash值立刻作废,攻击者无法通过重放截获的信息登录。但是仍然并不是真正的安全:攻击者可以拦截客户端的登录请求使之不能到达服务器,然后自己提交拦截的登录请求,从而以用户的身份登录。(也算是中间人攻击了吧)但是好像HTTPS也不能完全保证抗中间人攻击的,所以大概也就这样了。
服务器发送给客户端的登陆页面里嵌上一个一次性且有时效性的字符串Salt,客户端在传回密码时将Salt和密码连接在一起进行Hash再提交。这样客户端每次登录,由于获取到的Salt不同,产生的Hash值也不同,且登录后本次使用的Salt/Hash值立刻作废,攻击者无法通过重放截获的信息登录。但是仍然并不是真正的安全:攻击者可以拦截客户端的登录请求使之不能到达服务器,然后自己提交拦截的登录请求,从而以用户的身份登录。(也算是中间人攻击了吧)但是好像HTTPS也不能完全保证抗中间人攻击的,所以大概也就这样了。
相关文章推荐
- HTTP_HOST 和 SERVER_NAME 的区别
- 如何在HTTP客户端与服务器端之间保持状态
- iOS应用架构谈 网络层设计方案
- HTTP Content-type 常用对照表
- 解决IIS7 PHP HTTP 500内部服务器错误问题
- PHP开发-用curl向https发请求时的35号错误 - 琴剑飘零
- C++基于TCP和UDP的socket通信
- TCP与UDP的区别,以及它们各自的定义
- Apache 的 httpd.conf 详解(很实用)
- HTTP 的重定向301,302,303,307(转)
- Linux环境利用tcpdump对网络数据进行抓包
- PHP中的$_SERVER[\"HTTP_REFERER\"]用法浅谈
- IIS&Apache虚拟主机设置(主机头,一服多站)httpd.conf
- socket实现TCP通信_TCP连接android与单片机(2016_03_21)
- 面对网络色情的试探,基督徒…
- 网络版的数据库操作类
- Ubuntu下搭建http访问方式的SVN服务器
- <meta http-equiv=...> 的功能
- 关于千千静听在win7系统下无法打开网络媒体
- 1.REMOTE_ADDR:浏览当前页面的用户计算机的ip地址 HTTP_CLIENT_IP