HTTP 必死:先知 Google 呼籲大家升級 HTTPS, 網頁瀏覽更有保障

公開的內容就不需要加密?不,業界並不這麼認為。其實,Chromium 安全組很早就開始全面推進 HTTPS ,目的是給這些公開的數據加密。國外網站大部分已經開始使用 HTTPS,包括Facebook、白宮。本文作者@羅志宇,混跡 Opera 十年的 CTO,Opera 是 Chromium 安全組成員,他將講述安全連結(https)背後的故事。

  •  HTTPS 是什麼?

如果你其實連 HTTPS 是啥都不知道,你可以先看看這篇文章。

簡單地講, HTTPS 是加過密的 HTTP。這樣,由於網路上傳輸的數據是加密的,在瀏覽網頁時,除了你自己可以看到你在看什麼網頁,第三方是無法得知你在幹什麼的。

保護私密數據其實是 HTTPS 過去十幾年中起到的最大作用了。

比如你登入了你的 email 帳戶,或者是你的網路銀行,一旦使用 HTTPS,那麼數據在網上就不再是明文,於是第三方就看不到你的密碼和你的郵件。這個就是為什麼 HTTPS 過去十幾年,都是用在 email、金融等特別需要隱私的領域。

  • HTTP 怎麼了?

幾年前, 一位挪威同事剛從 Google 開會回來,我在走廊上面遇到他,看他一副垂頭喪氣的樣子,隨便問了一句「你和谷歌會開得怎麼樣啊」。

挪威同事嘆了口氣:「Google 的人都活在 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 位的質數。)

好吧, Google 老兄們都是想得很遠的。

有一個每天「杞人憂天」的安全組其實也不是壞事,最近 Flash 爆出 0 day 漏洞的時候其實 Chromium 安全組兩年前就警告過像 Flash 這種 NPAPI 插件是有安全問題的,說明安全組的同學們還是很有先見之明的,關於 NPAPI 插件問題之前我在雷鋒網專欄文章裡面提到過:谷歌瀏覽器禁止 Flash?少年,你不是當真了吧?

神經質一樣地活在未來的安全組最近發布了一個二季度總結:TOC-Q2-2015

大眾應該全面轉用 HTTPS 保資安

今天就講講裡面一個很有意思的東西:

安全組的同學說,我們認為 (全面) 轉向使用 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 的懷抱呢?而且 Google 還在大力推行,建議每一個網站,都換為 HTTPS!

要知道,HTTP 已經存在快 20 年了。而從 HTTP 遷移到 HTTPS 對大部分網站來說,是一個不小的決定:

HTTPS 對硬體的要求要比 HTTP 高, 這個意味著更大的開銷, 而更大的開銷也就意味著需要花費更多的資金購買服務器。其他架構上面帶來的成本可能就跟不用說了。

一定是發生了什麼?!

可是看個白宮網站應該不算是隱私吧,為何這個也需要 HTTPS 來傳輸呢?

原因其實是: HTTP 這個在天真無邪時期誕生的協議,這幾年徹底被一幫駭客玩殘了。

1、駭客們發現 HTTP 明文傳輸不僅會洩露數據,也會很容易被注入數據。

網路在誕生的時候怎麼也沒有想到, 一個以查資料為目的的網路,最後會變成一個無所不能的平台。越來越多的商業行為從線下遷移到了線上。很多公司們開始在線上賣東西、賣內容、賣服務、打廣告。

而一幫駭客們突然發現,有些東西雖然是明文在網上傳輸的,看著沒有什麼意思,但是我可以修改內容或者添加裡面的內容啊。這個有點像一個郵遞員每天都在投遞明信片,雖然明信片上的內容看起來並沒有什麼用。突然有一天,這個郵遞員想,其實我還可以修改明信片的內容啊, 比如加上一句「請立即向 XX 賬戶匯款 5000 元」 等等。

下面是個很典型的截圖:

圖中某運營商的套餐售賣其實完全不是原網頁的內容,而是網頁數據經過運營商服務器時被強行注入的數據。

這個情況,業內叫「流量劫持」。

作為白宮網站,他們肯定不希望網頁中的歐巴馬頭像過了某個網絡節點,被人換成賓拉登吧。

那就 HTTPS 吧。

2、HTTP 不僅內容不加密,協議本身的(原語,頭部數據)也是不加密的,於是協議指令本身也可能被修改

駭客:協議也不加密是吧, 就不要怪我來花式破解了。

事實上, HTTP 協議已經被黑客們各種匪夷所思的破解得不成樣子了。比如傳說中的Cache poisoning

一系列的花式技巧讓你的瀏覽器緩存永遠不更新。什麼!服務器那邊股票價格已經跌停了?不過你看不到哦,因為,你的暫存沒法更新……

3、如果上面的資料不夠生猛,最後給你來個更生猛的:HTTP 傳輸的 Web 網頁中對於系統設備的授權是統一的。

想像一下這樣的場景: 用戶去訪問一個視訊聊天的網站,網頁需要訪問你手機上面的鏡頭,然後瀏覽器會詢問用戶是否同意授權,用戶選擇了同意。但是萬萬沒想到, 這個頁面在通過某個網路節點的時候,被黑客注入了一段 code。那麼這個時候,這個注入的腳本在瀏覽器看來,由於已經是原網頁的一部分,自動就有了對鏡頭的訪問權限。

於是,你在和別人視頻訊聊天的時候,剛剛注入的 code 就可以偷偷把你的英容笑貌上傳到駭客的服務器裡面。

後果當然取決於聊天的內容, 不過我目測一大波陳冠希事件會浮出水面。。

同樣的事情還可能發生在你的麥克風,當前的位置訊息,甚至手機上的照片等等。比如,陳冠希這樣:

在各種嘗試著修修補補以後,各大產業界大佬們終於醒悟,目前硬體的水平和價格,既然用 HTTPS 已經完全不是問題,那麼全面轉向 HTTPS 才是唯一的出路。

相信很快大家就看到越來越多的網站會使用 HTTPS。同時,國內的站長們,如果你也有遇到上面的問題的話, HTTPS 可能是一個很好的選擇。而作為一個用戶,如果有的選擇,盡量選支持 HTTPS 的網站。

這裡可能有人就要問了, 如果都用 HTTPS, 那豈不是就沒法做網絡監視了,那我們的萬里長城的敏感詞部分豈不是…….(呃,這段當我沒有寫過)

PS:HTTP 的下一個版本 HTTP/2 已經可以自帶加密,只是這個協議本身推廣還需要一段時間,於是網頁傳輸加密還是以 HTTPS 為主。

(本文轉自雷鋒網,未經授權不得轉載)