HTTP必死:Google是怎么考虑安全的?

标签: http google 考虑 | 发表时间:2015-08-28 21:10 | 作者:
出处:http://www.cnbeta.com/

公开的内容就不需要加密?不,业界并不这么认为。其实,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 插件是有安全问题的,说明安全组的同学们还是很有先见之明的,关于 NPAPI 插件问题之前我在雷锋网专栏文章里面提到过: 谷歌浏览器禁止Flash?少年,你不是当真了吧?

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

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

安全组的同学说,我们认为(全面) 转向使用 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 为主。

cnBeta 已经入驻豌豆荚啦,扫描左侧的二维码就可以在豌豆荚关注我们。
最懂应用的豌豆荚,发现无数好应用。

相关 [http google 考虑] 推荐:

HTTP必死:Google是怎么考虑安全的?

- - cnBeta.COM
其实,Chromium安全组很早就开始全面推进HTTPS ,目的是给这些公开的数据加密. 国外网站大部分已经开始使用 HTTPS,包括 Facebook、白宫,而国内除百度之外还未普及. 本文作者@罗志宇,混迹Opera 十年的CTO,Opera是Chromium安全组成员,他将讲述安全链接 (https) 背后的故事.

传Hulu仍然考虑将公司出售给Google

- 远 - cnBeta.COM
一名知情人士透露,Hulu股东可能仍然在考虑以某种资产置换的方式将公司出售给Google. Hulu股东――新闻集团、迪士尼和私募投资公司Providence Equity Partners昨晚在一份声明中公布了“中止出售Hulu过程的决定”.

IntelliJ IDEA 开发商考虑推出 Google Reader 替代品

- - 博客园_新闻
在 Google 打算关闭其 Google Reader 服务后,大量类似的新闻聚合阅读解决方案浮现出来. 尽管这些阅读器各有各的特点,但对于用惯了 Google Reader 的用户来说,它们似乎缺少某些特性,使人不太满意,在功能上还不足以替代 Google Reader. IntelliJ IDEA 的开发商 JetBrains 放出话来,将考虑开发一款更加智能的新闻阅读器.

Google 考虑在欧洲建立下一代的高速光纤网络

- Chinaxingwei - 谷奥——探寻谷歌的奥秘
来自MarketWatch的报道,Google首席法务官David Drummond 表示Google正在考虑在欧洲建立他们的下一代超级快速的光纤网路. 今年年初,Google已经在美国堪萨斯城筹建自己的第一条光纤网络,Google会通过更快的互联网网络中受益,因为他们只要拉更多人上网,就有机会让他们看到更多Google提供的广告.

HTTP Headers 入门

- johnny - Time Machine
非常感谢 @ytzong 同学在twitter上推荐这篇文章,原文在此. 本文系统的对HTTP Headers进行了简明易懂的阐述,我仅稍作笔记. 什么是HTTP Headers. HTTP是“Hypertext Transfer Protocol”的所写,整个万维网都在使用这种协议,几乎你在浏览器里看到的大部分内容都是通过http协议来传输的,比如这篇文章.

HTTP基础

- - ITeye博客
HTTP的结构主要包括下面几个要点:. HTTP的版本主要有1.0,1.1 和更高版本.    1.1 及以上版本允许在一个TCP连接上传送多个HTTP协议,1.0能 .    1.1 及以上版本多个请求和响应可以重叠,1.0不能.    1.1 增加了很多的请求头和响应头.     一个请求行,若干小心头,以及实体内容,其中的一些消息头和实体内容是可选的,消息头和实体内容需要空行隔开.

HTTP Header 详解

- - 博客园_Ruby's Louvre
HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议. HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应. 就整个网络资源传输而言,包括message-header和message-body两部分. 首先传递message- header,即 http header消息.

HTTP/2 in Netty

- -
Here, we created a context for the server with a JDK SSL provider, added a couple of ciphers, and configured the Application-Layer Protocol Negotiation for HTTP/2..

HTTP负载测试

- - 博客 - 伯乐在线
英文原文: ON HTTP LOAD TESTING 来源: oschina. 有很多人在谈论HTTP服务器软件的性能测试,也许是因为现在有太多的服务器选择. 这很好,但是我看到有人很多基本相同的问题,使得测试结果的推论值得怀疑. 在日常工作中花费了很多时间在高性能代理缓存和源站性能测试方面之后,这里有我认为比较重要的一些方面来分享.

HTTP断点续传

- - CSDN博客互联网推荐文章
要实现断点续传的功能,通常都需要客户端记录下当前的下载进度,并在需要续传的时候通知服务端本次需要下载的内容片段. HTTP1.1协议(RFC2616)中定义了断点续传相关的HTTP头 Range和Content-Range字段,一个最简单的断点续传实现大概如下:.   1.客户端下载一个1024K的文件,已经下载了其中512K.