流量劫持總體來說屬于中間人攻擊(Man-in-the-Middle Attack,MITM)的一種,本質上攻擊者在通信兩端之間對通信内容進行嗅探和篡改,以達到插入數據和獲取關鍵信息的目的。
能夠實施流量劫持的根本原因,是HTTP協議沒有辦法對通信對方的身份進行校驗以及對數據完整性進行校驗。如果能解決這個問題,則流量劫持将無法輕易發生。
HTTPS如何防止流量劫持?
HTTPS,是HTTP over SSL的意思,提到HTTPS就不得不先簡單描述一下SSL/TLS協議。SSL協議是Netscape在1995年提出的用于解決傳輸層安全問題的網絡協議,其核心是基于公鑰密碼學理論實現了對服務器身份認證、數據的私密性保護以及對數據完整性的校驗等功能。1999年IETF将SSL 3.0标準化,是為TLS 1.0版本,目前TLS協議的版本是版本,TLS 1.3标準正在制定中。為了方便,下文将SSL/TLS協議都簡稱為SSL協議。
SSL協議在HTTP請求開始之前增加了握手的階段,在SSL握手階段,客戶端浏覽器會認證服務器的身份,這是通過“證書”來實現的,證書由證書權威(CA)為某個域名簽發,可以理解為網站的身份信息,客戶端需要進行認證,需要确定該證書是否屬于目标網站并确認證書本身是否有效。最後在握手階段,通信的雙方還會協商出一個用于加密和解密的會話密鑰。
SSL握手階段結束之後,服務器和客戶端使用協商出的會話密鑰對交互的數據進行加密/解密操作,對于HTTP協議來說,就是将HTTP請求和應答經過加密之後再發送到網絡上。
由此可見,因為SSL協議提供了對服務器的身份認證,所以DNS劫持導緻連接錯誤服務器的情況将會被發現進而終止連接,最終導緻DNS挾持攻擊無法實現。此外SSL協議還提供數據的加密和完整性校驗,這就解決了關鍵信息被嗅探以及數據内容被修改的可能。
那麼HTTPS要如何部署呢?
要将網站進行HTTPS支持以達到防劫持的效果,首先需要的是為網站的域名申請SSL證書。這個證書必須是由知名CA所簽發的,這是因為知名CA的根證書廣泛的存在于大多數浏覽器和操作系統中,因此可以被客戶端用來校驗網站證書是否合法。
傳統CA的證書簽發流程大體相同,基本上都是根據證書認證的級别,進行一系列不同流程的認證,然後認證通過後申請者繳納相應的費用就可以或得到證書。這個流程相對比較繁瑣,尤其是對于個人和小型網站管理者來說也确實麻煩,天威誠信建議大家去SSL證書智能管理系統申請,一鍵下單,集成主流國際CA,根據不同需求自動進行産品選型,系統自動生成CSR,一鍵提交訂單,訂單簽發自動下載,讓管理更輕松,讓運營更高效。
免責聲明:本文僅代表作者個人觀點,與每日科技網無關。其原創性以及文中陳述文字和内容未經本站證實,對本文以及其中全部或者部分内容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關内容。
本網站有部分内容均轉載自其它媒體,轉載目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責,若因作品内容、知識産權、版權和其他問題,請及時提供相關證明等材料并與我們聯系,本網站将在規定時間内給予删除等相關處理.

