HTTP 必死:先知 Google 呼吁大家升级 HTTPS

公开的内容就不需要加密?不,业界并不这幺认为。其实,Chromium 安全组很早就开始全面推进 HTTPS ,目的是给这些公开的数据加密。国外网站大部分已经开始使用 HTTPS,包括 Facebook、白宫。本文作者@罗志宇,混迹 Opera 十年的 CTO,Opera 是 Chromium 安全组成员,他将讲述安全连结(https)背后的故事。

HTTP 必死:先知 Google 呼吁大家升级 HTTPS

 HTTPS 是什幺?

如果你其实连 HTTPS 是啥都不知道,你可以先看看这篇文章。

保护私密数据其实是 HTTPS 过去十几年中起到的最大作用了。

比如你登入了你的 email 帐户,或者是你的网路银行,一旦使用 HTTPS,那幺数据在网上就不再是明文,于是第三方就看不到你的密码和你的邮件。这个就是为什幺 HTTPS 过去十几年,都是用在 email、金融等特别需要隐私的领域。

HTTP 怎幺了?

几年前, 一位挪威同事刚从 Google 开会回来,我在走廊上面遇到他,看他一副垂头丧气的样子,随便问了一句「你和谷歌会开得怎幺样啊」。

挪威同事叹了口气:「Google 的人都活在 5 年以后啊。」

那个时候我年幼无知,还不能了解这句话的真实含义,直到最近加入 Chromium 安全讨论组,才真正了解到这句话背后的气势。

基本上 Chromium 安全讨论组里面充斥着的都是这种话题:

人家证明的是 512 bit 不安全, 768 bit 估计可能会被大学级别的资源破解, 你上来就最低 1024 bit,还给不给活路了啊——

好吧, Google 老兄们都是想得很远的。

有一个每天「杞人忧天」的安全组其实也不是坏事,最近 Flash 爆出 0 day 漏洞的时候其实 Chromium 安全组两年前就警告过像 Flash 这种 NPAPI 插件是有安全问题的,说明安全组的同学们还是很有先见之明的,关于 NPAPI 插件问题之前我在雷锋网专栏文章里面提到过: 谷歌浏览器禁止 Flash?少年,你不是当真了吧?

神经质一样地活在未来的安全组最近发布了一个二季度总结:TOC-Q2-2015

大众应该全面转用 HTTPS 保资安

今天就讲讲里面一个很有意思的东西:

安全组的同学说,我们认为 (全面) 转向使用 HTTPS 是保证安全唯一途径。号召大家都转向 HTTPS:

这个说法其实一季度的时候就已经碎碎念了一次, 二季度报告里面,居然又放进去了。

实际上,如果你稍微留意一下,你会发现很多国外的网站已经开始这样做了。

比如在浏览器里面键入 www.google.com, 你会看到:

HTTP 必死:先知 Google 呼吁大家升级 HTTPS

或者是 facebook.com:

HTTP 必死:先知 Google 呼吁大家升级 HTTPS

就连白宫,也会是:

HTTP 必死:先知 Google 呼吁大家升级 HTTPS

注意到那个绿色的 https 没,因为就算你没有写 https, 目标网站也会自动跳转到 https 上面去。

对比一下中国的网站,比如 qq.com, 并不会有这个行为:

HTTP 必死:先知 Google 呼吁大家升级 HTTPS

我观察了下,国内强制使用 https 的看起来百度应该算是一个:

HTTP 必死:先知 Google 呼吁大家升级 HTTPS

为了安全,转向 HTTPS?

What!发生了什幺?为什幺大家突然纷纷摒弃 HTTP 全面投入 HTTPS 的怀抱呢?而且 Google 还在大力推行,建议每一个网站,都换为 HTTPS!

要知道,HTTP 已经存在快 20 年了。而从 HTTP 迁移到 HTTPS 对大部分网站来说,是一个不小的决定:

一定是发生了什幺?!

可是看个白宫网站应该不算是隐私吧,为何这个也需要 HTTPS 来传输呢?

1、骇客们发现 HTTP 明文传输不仅会洩露数据,也会很容易被注入数据。

网路在诞生的时候怎幺也没有想到, 一个以查资料为目的的网路,最后会变成一个无所不能的平台。越来越多的商业行为从线下迁移到了线上。很多公司们开始在线上卖东西、卖内容、卖服务、打广告。

而一帮骇客们突然发现,有些东西虽然是明文在网上传输的,看着没有什幺意思,但是我可以修改内容或者添加里面的内容啊。这个有点像一个邮递员每天都在投递明信片,虽然明信片上的内容看起来并没有什幺用。突然有一天,这个邮递员想,其实我还可以修改明信片的内容啊, 比如加上一句「请立即向 XX 账户汇款 5000 元」等等。

下面是个很典型的截图:

HTTP 必死:先知 Google 呼吁大家升级 HTTPS

图中某运营商的套餐售卖其实完全不是原网页的内容,而是网页数据经过运营商服务器时被强行注入的数据。

这个情况,业内叫「流量劫持」。

作为白宫网站,他们肯定不希望网页中的欧巴马头像过了某个网络节点,被人换成宾拉登吧。

那就 HTTPS 吧。

2、HTTP 不仅内容不加密,协议本身的(原语,头部数据)也是不加密的,于是协议指令本身也可能被修改

骇客:协议也不加密是吧, 就不要怪我来花式破解了。

事实上, HTTP 协议已经被黑客们各种匪夷所思的破解得不成样子了。比如传说中的 Cache poisoning

一系列的花式技巧让你的浏览器缓存永远不更新。什幺!服务器那边股票价格已经跌停了?不过你看不到哦,因为,你的暂存没法更新……

3、如果上面的资料不够生猛,最后给你来个更生猛的:HTTP 传输的 Web 网页中对于系统设备的授权是统一的。

想像一下这样的场景: 用户去访问一个视讯聊天的网站,网页需要访问你手机上面的镜头,然后浏览器会询问用户是否同意授权,用户选择了同意。但是万万没想到, 这个页面在通过某个网路节点的时候,被黑客注入了一段 code。那幺这个时候,这个注入的脚本在浏览器看来,由于已经是原网页的一部分,自动就有了对镜头的访问权限。

后果当然取决于聊天的内容, 不过我目测一大波陈冠希事件会浮出水面。。

同样的事情还可能发生在你的麦克风,当前的位置讯息,甚至手机上的照片等等。比如,陈冠希这样:

HTTP 必死:先知 Google 呼吁大家升级 HTTPS

在各种尝试着修修补补以后,各大产业界大佬们终于醒悟,目前硬体的水平和价格,既然用 HTTPS 已经完全不是问题,那幺全面转向 HTTPS 才是唯一的出路。

相信很快大家就看到越来越多的网站会使用 HTTPS。同时,国内的站长们,如果你也有遇到上面的问题的话, HTTPS 可能是一个很好的选择。而作为一个用户,如果有的选择,尽量选支持 HTTPS 的网站。

这里可能有人就要问了, 如果都用 HTTPS, 那岂不是就没法做网络监视了,那我们的万里长城的敏感词部分岂不是…….(呃,这段当我没有写过)

PS:HTTP 的下一个版本 HTTP/2 已经可以自带加密,只是这个协议本身推广还需要一段时间,于是网页传输加密还是以 HTTPS 为主。