HTTPS的誤解(一)

大家好,SSL證書越來越受到人們的關注,經常有人會說HTTPS只有登錄頁才需要,而且會使網站速度下降,易維信(EVTrust)給大家澄清了一些HTTPS協議容易產生誤解的地方,增長一些網頁加密通信的知識。

誤解一:只有註冊登錄頁,才需要HTTPS

這種想法很普遍。人們覺得,HTTPS可以保護用戶的密碼,此外就不需要了。Firefox瀏覽器新插件Firesheep,證明了這種想法是錯的。我們可以看到,在Twitter和Facebook上,劫持其他人的session是非常容易的。

咖啡館的免費WiFi,就是一個很理想的劫持環境,因爲兩個原因:

1. 這種WiFi通常不會加密,所以很容易監控所有流量。

2. WiFi通常使用NAT進行外網和內網的地址轉換,所有內網客戶端都共享一個外網地址。這意味着,被劫持的session,看上去很像來自原來的登錄者。以Twitter爲例,它的登錄頁使用了HTTPS,但是登錄以後,其他頁面就變成了HTTP。這時,它的cookie裏的session值就暴露了。也就是說,這些cookie是在HTTPS環境下建立的,但是卻在HTTP環境下傳輸。如果有人劫持到這些cookie,那他就能以你的身份在Twitter上發言了。

誤解一:只有註冊登錄頁,才需要HTTPS

誤解二:有了HTTPS,Cookie和查詢字符串就安全了

雖然無法直接從HTTPS數據中讀取Cookie和查詢字符串,但是你仍然需要使它們的值變得難以預測。

比如,曾經有一家英國銀行,直接使用順序排列的數值表示session id:

Cookie

***可以先註冊一個賬戶,找到這個cookie,看到這個值的表示方法。然後,改動cookie,從而劫持其他人的session id。至於查詢字符串,也可以通過類似方式泄漏。

誤解三:HTTPS太慢

使用HTTPS不會使你的網站變得更快(實際上有可能,請看下文),但是有一些技巧可以大大減少額外開銷。

首先,只要壓縮文本內容,就會降低解碼耗用的CPU資源。不過,對於當代CPU來說,這點開銷不值一提。

其次,建立HTTPS連接,要求額外的TCP往返,因此會新增一些發送和接收的字節。但是,從下圖可以看到,新增的字節是很少的。

建立HTTPS連接

第一次打開網頁的時候,HTTPS協議會比HTTP協議慢一點,這是因爲讀取和驗證SSL證書的時間。下面是一張HTTP網頁打開時間的瀑布圖。

HTTP網頁打開時間的瀑布圖

同一張網頁使用HTTPS協議之後,打開時間變長了。

一張網頁使用HTTPS協議

建立連接的部分,大約慢了10%。但是,一旦有效的HTTPS連接建立起來,再刷新網頁,兩種協議幾乎沒有區別。先是HTTP協議的刷新表現:

HTTP協議

然後是HTTPS協議:

HTTPS協議

某些用戶可能發現,HTTPS比HTTP更快一點。這會發生在一些大公司的內部局域網,因爲通常情況下,公司的網關會截取並分析所有的網絡通信。但是,當它遇到HTTPS連接時,它就只能直接放行,因爲HTTPS無法被解讀。正是因爲少了這個解讀的過程,所以HTTPS變得比較快。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章