提高網站效能的SSL/TLS最佳化方法介紹!

候鳥之戀發表於2022-03-08

首先,瀏覽器向WEB伺服器傳送一個大隨機數和一個加密套件清單,由此開始了TLS握手。Web伺服器從中選擇首要的加密套件,從而決定了握手型別以及用於此次TLS會話的加密機制。

 

然後,Web伺服器向瀏覽器傳送加密套件,還要向瀏覽器返回另一個大隨機數和伺服器的公共SSL證書。瀏覽器需要知道SSL證書是否被吊銷,所以它會檢查CA的證書吊銷列表(除非支援OCSP封裝)。

 

如果證書仍然合法,瀏覽器會生成一個“預主金鑰”,以生成一個對稱的會話金鑰。瀏覽器會用伺服器的公鑰(包含在伺服器的SSL證書中)來加密“預主金鑰”,並傳送回伺服器。在伺服器用私鑰解密“預主金鑰”後,瀏覽器和伺服器都獲得對稱金鑰,用以加密TLS會話的其餘部分。

 

充分利用現代SSL的安全功能

 

TLS握手有很多步驟,這意味著安全管理員有很多機會改進網站的安全性。這裡先討論強制使用HTTPS連線的HSTS,然後再看一下SHA-1與SHA-2的當前狀態,還要探討如何保護未來的使用者會話資料,以及升級到最新TLS版本的重要性。

 

支援HSTS頭

 

支援HSTS協議是更好地保障網站、API、移動應用安全的最簡單方法之一。HSTS是HTTP協議的一個擴充套件,它強制客戶端對每一個訪問Web伺服器的請求都使用安全連線。透過提供一個嚴格傳輸安全(STS)頭部,Web伺服器就可以告訴瀏覽器只能在指定的時間段由HTTPS連線到網站。

 

然後,瀏覽器會在將使用者的請求傳送給伺服器之前,自動將所有的http請求變成https請求。在連線的安全性存在問題時(例如,伺服器的TLS證書不再可信時),HSTS還會告訴瀏覽器顯示一個錯誤頁面。這類錯誤不同於使用者憑直覺就可以忽視的錯誤,它無法被繞開。

 

這種連結重寫可以防禦某些型別的“降級攻的擊”,如SSL-stripping攻的擊,防止中間人將HTTPS請求變成HTTP請求而窺探使用者通訊。

 

支援SHA-2證書籤名

 

SHA-2是SHA(安全雜湊演算法)的下一代版本。雜湊演算法是一種單向功能,它可以產生一個訊息的唯一指紋特徵,並且從網際網路誕生起就已經成為一個關鍵元件。

 

CA為網站頒發TLS證書後,就取得了證書中的所有資訊(域名、合法週期、公鑰、序列號,等等),將這些資訊“雜湊(hash)”變成數字證書,使用指紋資訊建立簽名,並生成私有簽名金鑰。在瀏覽器信任伺服器的證書之前,它需要將證書資訊進行雜湊(hash),並且使用CA的公共簽發金鑰驗證指紋是否與證書的簽名相匹配。gendan5.com/nmetal/ruthenium.html

 

如果攻的擊者能夠使用不同的證書資訊生成同樣的數字指紋,就可以生成偽造的但仍能透過CA簽名驗證的證書。然後,攻的擊者就可以將此偽造的證書作為中間人,而終端使用者並不能夠分辨自己是否正在將其敏感資訊傳送給網際網路上的某個人,而不是安全的Web伺服器。

 

產生這種雜湊衝突需要大量的計算資源。隨著計算機越來越快和廉價,攻的擊者就越有可能偽造一個使用SHA-1進行簽名的TLS證書。解決方案就是SHA-2。

 

現代網站都使用SHA-2而不是SHA-1簽名的TLS證書。如果企業網站仍在使用SHA-1證書,主流的瀏覽器廠商都會顯示警告訊息,告訴網站的訪問者正在訪問不安全的網站。到2016年底的時候,瀏覽器將會完全阻止使用者訪問這種網站。為了升級,企業網站需要從自己的CA購買一個新的SHA-2證書,並且將其安裝到Web伺服器上。

 

如果企業仍需要支援不能使用SHA-2的使用者,不妨考慮利用一個能夠選擇最高安全的證書,並且使用者的瀏覽器還要支援。

 

EDH(Ephemeral Diffie-Hellman)支援前向轉發的加密

 

如果伺服器一直用同樣的私鑰獲得對稱TLS會話金鑰,私鑰就成為鏈條中的脆弱一環。例如,如果攻的擊者記錄了伺服器和使用者之間的大量通訊,就可以從伺服器中竊取私鑰,然後可以解密通訊。

 

即使私鑰在日後失竊了,EDH (Ephemeral Diffie-Hellman)或 DHE也可以使使用者的加密會話更安全。EDH 是一種可以為每個會話產生唯一對稱金鑰的金鑰交換機制,這意味著即使伺服器的私鑰被竊多年,攻的擊者也不能用它來解密已記錄的會話。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70014563/viewspace-2867539/,如需轉載,請註明出處,否則將追究法律責任。

相關文章