HTTPS 是否會徹底取代 HTTP.
幾年前, 一位挪威哥剛從谷歌開會回來,我在走廊上面遇到他,看他一副垂頭喪氣的樣子,隨便問了一句 “你和谷歌會開得怎么樣啊”。
挪威哥嘆了口氣 “谷歌的人尼瑪都活在 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.
好吧, 谷歌兄們都想得很遠的。
有一個每天杞人憂天的安全組其實也不是壞事,最近 Flash 爆出 0 day 漏洞的時候其實 Chromium 安全組 2 年前就警告過 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, 你會看到:

或者是 非死book.com,

就連白宮,也會是
注意到沒,就算你沒有寫 https, 目標網站也會自動跳轉到 https 上面去
對比一下國內的網站,比如 qq.com, 并不會有這個行為
我觀察了下,國內強制使用 https 的看起來只有百度。
這個一個什么樣的情況,發生了什么事情,讓大家突然紛紛摒棄 HTTP 全面投入 HTTPS 的懷抱呢?而且谷歌還在大力推行,建議每一個網站,都換為 HTTPS.
要知道,HTTP 已經存在塊 20 年。 對大部分網站來說,這是一個相當大的決定: HTTPS 對硬件的要求要比 HTTP 高, 這個意味著更大的開銷, 而更大的開銷也就意味著需要花費更多的資金購買服務器和帶寬。
一定是發生了什么。
呃, 如果你其實連 HTTPS 是啥都不知道,你可以先看看 這篇文章 。 簡單的講, HTTPS 是加過密的 HTTP, 這樣,除了你自己可以看到你自己在看什么網頁,第三方是無法看到你在看什么的。
這個基本是 HTTPS 在過去幾十年中起的最大的作用了,比如你登入了你的郵箱,或者是你的網上銀行,一旦使用 HTTPS, 那么數據在網上就不再是明文,于是第三方就看不到你的密碼和你的郵件。這個是為什么 HTTPS 過去十幾年,都是用在郵箱,金融等特別需要隱私的領域。
可是看個白宮網站應該不算是隱私吧,為何這個也需要 HTTPS 來傳輸呢。
原因其實是: HTTP 這個在天真無邪時期誕生的協議,這幾年徹底被一幫黑客玩殘了
1. HTTP 明文傳輸不僅會泄露數據,也會很容易的被注入數據。
萬維網在誕生的時候怎么也沒有想到, 一個以查資料為目的的網絡,最后會變成一個無所不能的平臺。越來越多的商業行為從線下遷移到了線上。很多公司們開始在線上賣東西,賣內容,賣服務,打廣告。
而一幫黑客們突然發現,有些東西雖然是明文在網上傳輸的,看著沒有什么意思,但是我可以修改內容或者添加內容,讓用戶誤認為是原網站里面就有的啊。
比如下面截圖。

圖中某運營商的套餐售賣其實完全不是原網頁內容,而是網頁數據經過運營商服務器時被強行注入的數據。
作為白宮網站,他們肯定不希望網頁中的奧巴馬頭像過了某個網絡節點,被人換成本拉登吧。
那就 HTTPS 吧。
2. HTTP 不僅內容不加密,協議本身的(原語,頭部數據)也是不加密的,于是協議指令本身也可能被修改
協議也不加密是吧, 就不要怪我來花式破解了。事實上, HTTP 協議已經被黑客們各種匪夷所思的破解得不成樣子了。比如傳說中的 “Cache poisoning”
http://deadlytechnology.com/web-development/http-attack
一系列的花式技巧讓你的瀏覽器緩存永遠不更新。什么服務器那邊股票價格已經跌停了?你看不到哦,因為,你的緩存沒法更新。。
3. 如果上面的不夠生猛,最后給你來個更生猛的:HTTP 傳輸的 Web 網頁中對于系統設備的授權是統一的。
這就意味著,如果用戶去訪問一個視頻聊天的網站,網頁需要訪問你手機上面的攝像頭,然后瀏覽器會詢問你是否授權,你選擇了是。 但是萬萬沒想到, 這個頁面在通過某個網絡節點的時候,被黑客注入了一段腳本。那么這個時候,這個注入腳本自動就有了對攝像頭的訪問權限。于是你在和別人視頻聊天的時候,剛 剛注入的腳本就可以偷偷把你的英容笑貌上傳到黑客的服務器里面。
后果當然取決于聊天的內容, 不過我目測一大波陳老師正在浮出水面。。
同樣的事情還可能發生在你的麥克風,當前的位置信息等等。
在各種嘗試著修修補補以后,各大產業界大佬們終于醒悟,目前硬件的水平和價格,既然用 HTTPS 已經完全不是問題,那么全面轉向 HTTPS 才是唯一的出路。
相信很快大家就看到越來越多的網站會使用 HTTPS, 同時,國內的站長,如果你也有遇到上面的問題的話, HTTPS 可能是一個很好的選擇。
這里可能有人就要問了, 如果都用 HTTPS, 那豈不是就沒法做網絡監視了,那我們的萬里長城的敏感詞部分豈不是。。呃。。這段當我沒有寫過。
PS: HTTP 的下一個版本 HTTP/2 已經可以自帶加密,只是這個協議本身推廣還需要一段時間,于是網頁傳輸加密還是以 HTTPS 為主。