最近我在考虑如何访问您的帐户login过程中如Gmail和亚马逊的网站使用HTTPS。 这显然是有道理的,因为你input你的账户的用户名和密码,你会希望这是安全的。 但是,在Facebook上,无数其他网站中,他们的login都是通过简单的HTTP完成的。 这不是说我的login名和密码是完全没有encryption的吗? 更糟糕的是,所有那些在公共WiFi网站上loginFacebook(或类似网站)的人都容易受到任何人使用简单的数据包嗅探器(或类似的东西)获取他们的证书? 这真的很简单吗? 还是我误解networking安全?
我是一名从事networking相关工作的软件工程师,尽pipe目前我并不太在意软件的安全性,但我知道我应该知道这个问题的答案,因为它是非常重要的网站安全。
谢谢!
是。 任何使用HTTP的开放式WiFi完全可以进行拦截,重放等操作。
也就是说,正如firesheep的开发者所说的那样,使用HTTPS协商login但是通过HTTP交换得到的authenticationcookie的站点对于会话劫持是非常开放的。
如果您想要体面的安全性,请在HTTPS的掩护下进行操作。 现在的服务器速度够快,SSL证书足够便宜(如果你购物的话),这是实用的; Web开发人员再也没有任何理由危及用户了。
如果您确实使用普通的HTTPlogin到网站,则完全不安全,是的,公共WLAN中的任何人都可以嗅探您的数据。 这就是为什么Facebook通过HTTPS进行实际login(查看Facebook开始页面的源代码,您将看到它),然后继续不encryption以节省计算能力。 这至less可以保护你的密码,但仍然允许其他types的攻击,比如Session Hijacking(他们嗅探你的会话cookie并自己使用它)。
传递敏感数据的站点(如凭证或充当代理凭证的cookie)会使用户面临风险。 任何可用于拦截和loggingstream量的方法(嗅探器,监视器模式的wifi网卡等)将适合于收集这些证书。 会话可能被劫持,远程服务器的响应可能被欺骗,等等。各种各样的问题来自移动数据。
仅通过HTTPS移动用户凭据数据不够好。 如果您使用的是用户凭据的站点位置的cookie,则无法通过HTTP移动这些cookie,否则您可能会损害用户的会话。
作为一名开发人员,如果您不使用HTTPS来移动他们的凭据,那么您将会损害用户的安全。 这通常意味着您的基础架构的某些层次中的CPU利用率更高,并且在stream向networking边缘时stream量不透明。 这意味着创build一个软件体系结构,允许以明文方式传送“批量”内容(静态图像,静态脚本等),但是交付个性化内容(即,通过从远程用户接收凭证来控制组合的内容)通过允许证书安全传输的手段。