时间:2015-08-29 09:02:05 来源: 复制分享
公开的内容就不需要加密?不,业界并不这么认为。其实,Chromium安全组很早就开始全面推进HTTPS,目的是给这些公开的数据加密。国外网站大部分已经开始使用HTTPS,包括Facebook、白宫,而国内除百度之外还未普及。本文作者@罗志宇,混迹Opera十年的CTO,Opera是Chromium安全组成员,他将讲述安全链接(https)背后的故事。
HTTPS是什么?
如果你其实连HTTPS是啥都不知道,你可以先看看这篇文章。
简单地讲,HTTPS是加过密的HTTP。这样,由于网路上传输的数据是加密的,在浏览网页时,除了你自己可以看到你在看什么网页,第三方是无法得知你在干什么的。
保护私密数据其实是HTTPS过去十几年中起到的最大作用了。
比如你登入了你的邮箱,或者是你的网上银行,一旦使用HTTPS,那么数据在网上就不再是明文,于是第三方就看不到你的密码和你的邮件。这个就是为什么HTTPS过去十几年,都是用在邮箱、金融等特别需要隐私的领域。
HTTPS怎么来的?
几年前,一位挪威同事刚从谷歌开会回来,我在走廊上面遇到他,看他一副垂头丧气的样子,随便问了一句“你和谷歌会开得怎么样啊”。
挪威同事叹了口气:“谷歌的人尼玛都活在5年以后啊”。
那个时候我年幼无知,还不能了解这句话的真实含义,直到最近加入Chromium安全讨论组,才真正了解到这句话背后的气势。
基本上Chromium安全讨论组里面充斥着的都是这种话题:
我们要马上淘汰SHA-1!因为SHA-1强度太低了。虽然预计再过几年就可能会被破解,我们今天就淘汰它吧。
SSL状态放到HTTP cache可能会受到攻击,需要马上改!
TLS DH group size最少应该提高到1024 bit,因为INRIA, Microsoft Research, John’s Hopkin大学已经证明低强度的TLS DH group不安全了。
人家证明的是512 bit不安全,768 bit估计可能会被大学级别的资源破解,你上来就最低1024 bit,还给不给活路了啊
We carried out this computation against the most common 512-bit prime used for TLS and demonstrate that the Logjam attack can be used to downgrade connections to 80% of TLS servers supporting DHE_EXPORT. We further estimate that an academic team can break a 768-bit prime and that a nation-state can break a 1024-bit prime.
(我们按照这个计算方法可以破解使用512位质数加密的TLS链接。同时也展示了Logjam攻击可以用来对80%的支持DHE_EXPORT的TLS服务器的链接进行降级。我们进一步估计一个学术团队,以其掌握的资源的知识,有可能破解一个768位的质数,而一个国家的力量可能破解一个1024位的质数。)
好吧,谷歌兄们都是想得很远的。
有一个每天“杞人忧天”的安全组其实也不是坏事,最近Flash爆出0 day漏洞的时候其实Chromium安全组两年前就警告过像Flash这种NPAPI插件是有安全问题的,说明安全组的同学们还是很有先见之明的。
神经质一样地活在未来的安全组最近发布了一个二季度总结,今天就讲讲里面一个很有意思的东西:
安全组的同学说,我们认为(全面)转向使用HTTPS是保证安全唯一途径。号召大家都转向HTTPS:
We see migration to HTTPS as foundational to any security whatsoever, so we’re actively working to drive# MOARTLS across Google and the Internet at large.
这个说法其实一季度的时候就已经碎碎念了一次,二季度报告里面,居然又放进去了。
实际上,如果你稍微留意一下,你会发现很多国外的网站已经开始这样做了。
比如在浏览器里面键入www.google.com,你会看到:
或者是facebook.com:
就连白宫,也会是:
注意到那个绿色的https没,因为就算你没有写https,目标网站也会自动跳转到https上面去。
对比一下国内的网站,比如qq.com,并不会有这个行为:
我观察了下,国内强制使用https的看起来百度应该算是一个:
为了安全,转向HTTPS?
What!发生了什么?为什么大家突然纷纷摒弃HTTP全面投入HTTPS的怀抱呢?而且谷歌还在大力推行,建议每一个网站,都换为HTTPS!
要知道,HTTP已经存在快20年了。而从HTTP迁移到HTTPS对大部分网站来说,是一个不小的决定:
HTTPS对硬件的要求要比HTTP高,这个意味着更大的开销,而更大的开销也就意味着需要花费更多的资金购买服务器。其他架构上面带来的成本可能就跟不用说了。
一定是发生了什么?!
可是看个白宫网站应该不算是隐私吧,为何这个也需要HTTPS来传输呢?
原因其实是:HTTP这个在天真无邪时期诞生的协议,这几年彻底被一帮黑客玩残了。
1、黑客们发现HTTP明文传输不仅会泄露数据,也会很容易被注入数据。
万维网在诞生的时候怎么也没有想到,一个以查资料为目的的网络,最后会变成一个无所不能的平台。越来越多的商业行为从线下迁移到了线上。很多公司们开始在线上卖东西、卖内容、卖服务、打广告。
而一帮黑客们突然发现,有些东西虽然是明文在网上传输的,看着没有什么意思,但是我可以修改内容或者添加里面的内容啊。这个有点像一个邮递员每天都在投递明信片,虽然明信片上的内容看起来并没有什么卵用。突然有一天,这个邮递员想,其实我还可以修改明信片的内容啊,比如加上一句“请立即向XX账户汇款5000元”等等。
下面是个很典型的截图:
图中某运营商的套餐售卖其实完全不是原网页的内容,而是网页数据经过运营商服务器时被强行注入的数据。
这个情况,业内叫“流量劫持”。
作为白宫网站,他们肯定不希望网页中的奥巴马头像过了某个网络节点,被人换成本拉登吧。
那就HTTPS吧。
2、HTTP不仅内容不加密,协议本身的(原语,头部数据)也是不加密的,于是协议指令本身也可能被修改
黑客:协议也不加密是吧,就不要怪我来花式破解了。
事实上,HTTP协议已经被黑客们各种匪夷所思的破解得不成样子了。比如传说中的“Cache poisoning”
一系列的花式技巧让你的浏览器缓存永远不更新。什么!服务器那边股票价格已经跌停了?不过你看不到哦,因为,你的缓存没法更新......
3、如果上面的资料不够生猛,最后给你来个更生猛的:HTTP传输的Web网页中对于系统设备的授权是统一的。
想象一下这样的场景:用户去访问一个视频聊天的网站,网页需要访问你手机上面的摄像头,然后浏览器会询问用户是否同意授权,用户选择了同意。但是万万没想到,这个页面在通过某个网络节点的时候,被黑客注入了一段脚本(因为是明文传输的,注入就是分分钟的事情)。那么这个时候,这个注入的脚本在浏览器看来,由于已经是原网页的一部分,自动就有了对摄像头的访问权限。
于是,你在和别人视频聊天的时候,刚刚注入的脚本就可以偷偷把你的英容笑貌上传到黑客的服务器里面。
后果当然取决于聊天的内容,不过我目测一大波陈老师会浮出水面。。
同样的事情还可能发生在你的麦克风,当前的位置信息,甚至手机上的照片等等。比如,陈老师这样:
在各种尝试着修修补补以后,各大产业界大佬们终于醒悟,目前硬件的水平和价格,既然用HTTPS已经完全不是问题,那么全面转向HTTPS才是唯一的出路。
相信很快大家就看到越来越多的网站会使用HTTPS。同时,国内的站长们,如果你也有遇到上面的问题的话,HTTPS可能是一个很好的选择。而作为一个用户,如果有的选择,尽量选支持HTTPS的网站。
这里可能有人就要问了,如果都用HTTPS,那岂不是就没法做网络监视了,那我们的万里长城的敏感词部分岂不是.......(呃,这段当我没有写过)
PS:HTTP的下一个版本HTTP/2已经可以自带加密,只是这个协议本身推广还需要一段时间,于是网页传输加密还是以HTTPS为主。