民初思韻網

加入收藏   設為首頁
選擇語言   簡體中文
你好,請 登陸 或 注冊
首頁 人文思韻 傳奇人物 歷史思潮 時代作品 話題討論 國民思韻 民初捐助 賬戶管理
  搜索  
    話題討論 >>> 新編網絡文學
字體    

HTTPS的七個誤解(譯文)
HTTPS的七個誤解(譯文)
阮一峰     阅读简体中文版

開發網頁的時候,往往需要觀察HTTP通信。

我使用的工具主要有兩個,在Firefox中是Firebug,在IE中是Fiddler。但是,一直聽別人說,付費軟件HttpWatch是這方面最好的工具。

前幾天,HttpWatch的官方網志刊登了一篇好文章,澄清了一些HTTPS協議容易產生誤解的地方。學習之后,我增長了不少網頁加密通信的知識。

我覺得這篇文章很實用,值得留作參考,就翻譯了出來。

==============================================

HTTPS的七個誤解

原文網址:http://blog.httpwatch.com/2011/01/28/top-7-myths-about-https/

譯者:阮一峰


誤解七:HTTPS無法緩存

許多人以為,出于安全考慮,瀏覽器不會在本地保存HTTPS緩存。實際上,只要在HTTP頭中使用特定命令,HTTPS是可以緩存的。

微軟的IE項目經理Eric Lawrence寫道:

"說來也許令人震驚,只要HTTP頭允許這樣做,所有版本的IE都緩存HTTPS內容。比如,如果頭命令是Cache-Control: max-age=600,那么這個網頁就將被IE緩存10分鐘。IE的緩存策略,與是否使用HTTPS協議無關。(其他瀏覽器在這方面的行為不一致,取決于你使用的版本,所以這里不加以討論。)"

Firefox默認只在內存中緩存HTTPS。但是,只要頭命令中有Cache-Control: Public,緩存就會被寫到硬盤上。下面的圖片顯示,Firefox的硬盤緩存中有HTTPS內容,頭命令正是Cache-Control:Public。

誤解六:SSL證書很貴

如果你在網上搜一下,就會發現很多便宜的SSL證書,大概10美元一年,這和一個.com域名的年費差不多。而且事實上,還能找到免費的SSL證書。

在效力上,便宜的證書當然會比大機構頒發的證書差一點,但是幾乎所有的主流瀏覽器都接受這些證書。

誤解五:HTTPS站點必須有獨享的IP地址

由于IPv4將要分配完畢,所以很多人關心這個問題。每個IP地址只能安裝一張SSL證書,這是毫無疑問的。但是,如果你使用子域名通配符SSL證書(wildcard SSL certificate,價格大約是每年125美元),就能在一個IP地址上部署多個HTTPS子域名。比如,https://www.httpwatch.com和https://store.httpwatch.com,就共享同一個IP地址。

另外,UCC(統一通信證書,Unified Communications Certificate)支持一張證書同時匹配多個站點,可以是完全不同的域名。SNI(服務器名稱指示,Server Name Indication)允許一個IP地址上多個域名安裝多張證書。服務器端,Apache和Nginx支持該技術,IIS不支持;客戶端,IE 7+、Firefox 2.0+、Chrome 6+、Safari 2.1+和Opera 8.0+支持。

誤解四:轉移服務器時要購買新證書

部署SSL證書,需要這樣幾步:

  1. 在你的服務器上,生成一個CSR文件(SSL證書請求文件,SSL Certificate Signing Request)。

  2. 使用CSR文件,購買SSL證書。

  3. 安裝SSL證書。

這些步驟都經過精心設計,保證傳輸的安全,防止有人截取或非法獲得證書。結果就是,你在第二步得到的證書不能用在另一臺服務器上。如果你需要這樣做,就必須以其他格式輸出證書。

比如,IIS的做法是生成一個可以轉移的.pfx文件,并加以密碼保護。

將這個文件傳入其他服務器,將可以繼續使用原來的SSL證書了。

誤解三:HTTPS太慢

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

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

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

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

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

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

然后是HTTPS協議:

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

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

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

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

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

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

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

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

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

  2. WiFi通常使用NAT進行外網和內網的地址轉換,所有內網客戶端都共享一個外網地址。這意味著,被劫持的session,看上去很像來自原來的登錄者。

以Twitter為例,它的登錄頁使用了HTTPS,但是登錄以后,其他頁面就變成了HTTP。這時,它的cookie里的session值就暴露了。

也就是說,這些cookie是在HTTPS環境下建立的,但是卻在HTTP環境下傳輸。如果有人劫持到這些cookie,那他就能以你的身份在Twitter上發言了。

(完)

 

2014-04-15 20:20

歡迎訂閱我們的微信公眾賬號!
春秋茶館訂閱號
微信號 season-tea(春秋茶館)
每天分享一篇科技/遊戲/人文類的資訊,點綴生活,啟迪思想,探討古典韻味。
  清末民初歷史人物  民初人物
為傳統文化招魂
錢穆(1895年7月30日-1990年8月30日),原名恩,字賓四,江蘇無錫人,歷史學家,儒學學者,教育家。錢穆對中國古代政治制度有良好觀感,認為中國傳統政治非但不是君主....
從國務總理到修道士
陸徵祥(1871-1949年),字子欣,一作子興,上海人。中國近代著名的天主教人士,也是著名的外交官。他出生于一個基督教家庭,父親是一位基督教新教徒,曾經在倫敦傳教會工作....
資助民初精神網
        回頂部     寫評論

 
評論集
暫無評論!
發表評論歡迎你的評論
昵稱:     登陸  註冊
主頁:  
郵箱:  (僅管理員可見)

驗證:   验证码(不區分大小寫)  
© 2011   民初思韻網-清末民初傳奇時代的發現與復興   版權所有   加入收藏    設為首頁    聯繫我們    1616導航