我們對於做不做HTTPS網站這一問題進行了相關調研。
HTTPS是什麽
HTTPS(全稱:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全●為目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。 HTTPS存在不同於HTTP的默認端口及一個加密/身╳份驗證層(在HTTP與TCP之間)。這個系統提供了身份驗證與加密通訊方法。現在它被廣泛用於萬維網上安全敏感的通訊,例如交易支付方面。
傳統的HTTP模式,存在著大量的灰色中間環節,相關信息很容易被竊取,但HTTPS卻是通過認證用戶與服務器,將數據準確地發送到客戶機與服務器,並采用加密方式以防數據中途被盜取,大大降低了第三方竊取信息∞、篡改冒充身份▓的風險。
HTTPS安全原理解析
HTTPS主要由有兩部分組成:HTTP + SSL / TLS,也就是在HTTP上又加了一層處理加↘密信息的模塊。服務端和客戶端的信息傳輸都會通過TLS進行加密,所以傳輸的數據都是加密後的數據。HTTPS與HTTP的原理區別可以觀察下圖:
HTTP工作原理:
①客戶端的瀏覽器首先要通過網絡與服務器建立連接,該連接是通過TCP來完成的,一般TCP連接←的端口號是80。 建立連接後,客戶機發送一個請求給服務器,請求方式的格式為:統一資源標識↑符(URL)、協議版本號,後邊是MIME信息包括請求修飾符、客戶機信息和許可內容。
② 服務器接到請求後,給予相應的響應信息,其格式為一個狀態行,包括信息的∞協議版本號、一個成功或錯誤的代碼,後邊是MIME信息包括服務器信息、實體信息和可能的內容。
HTTPS的工作☆原理:
①. 客戶端將它所支持☆的算法列表和一個用作產生密鑰的↑隨機數發送給服務器;
②. 服務器從☉算法列表中選擇一種加密算法,並將它◣和一份包含服務器公用密鑰的證書發送給客戶端;該證書還〓包含了用於認證目的的服務器標識,服務器同時還提供了一個用作產生密鑰的隨機數;
③. 客戶端對服務器的證書進行驗證(有關驗證證書,可以∑參考數字簽名),並抽取服務器的公用密鑰;然後,再產生一個稱作pre_master_secret的隨」機密碼串,並使用服務器的公用密鑰√對其進行加密(參考非對稱加/解密),並將加密後的信息發送給㊣ 服務器;
④. 客戶端與服務器端根據pre_master_secret以及客戶端與服務器的隨機數值獨立計算出加密和MAC密鑰(參考DH密鑰交換算法)。
⑤. 客戶端將所有握手消︼息的MAC值發送給服務器;
⑥. 服務器將所有握手消息的MAC值發送給客戶端。
HTTPS的優點ξ與缺點
根據案例反饋,目前HTTPS的優缺點主要〓分布在三方面:
HTTPS的優點:
安ξ 全性方面
在目前的技術背景下,HTTPS是現行架構下最安全的▓解決方案,主要有以下幾個好處:
1、使用HTTPS協議可認證用戶和◥服務器,確保數據發送到正確的客戶機和服務器;
2、HTTPS協議是由SSL+HTTP協※議構建的可進行加密傳輸、身份認證的網絡協議,要比http協議安全,可防止數據在傳輸過程中不被竊取、改變,確保數據的完整性。
3、HTTPS是現行架構下最安全的解決方案,雖然不是絕對安全,但它大幅增加了中間人【攻擊的成本。
HTTPS的缺點:
技術方面
1、相同網絡環境下,HTTPS協議會使頁面的加載時間延長近√50%,增加10%到20%的耗電。此外,HTTPS協議還》會影響緩存,增加數據開銷和功耗。
2、HTTPS協議的安全是有Ψ 範圍的,在黑客攻※擊、拒絕服務攻擊、服務器劫持等方面幾乎起不到什麽作用。
3、最關鍵的,SSL 證書的信▅用鏈體系並不安全。特別是在某些國家可以控制 CA 根證書的情況下,中間人▆攻擊一樣可行。
成本方面
1、SSL的專業證書需要購買,功能越強大的證書費用越ζ高。個人網站、小網站可以選擇入門級免費證書。
2、SSL 證書通①常需要綁定 固定IP,為服務〗器增加固定IP會增加一定費用;
3、HTTPS 連接服務器端資源占用高較高多,相同負載下會增加帶寬和服務器ζ 投入成本;
既然HTTPS有這麽多缺點,那是不是就不該做呢,當然不是的】,隨著技術的發展很多缺點是可以優化和彌』補的。比如:
打開速度問題完全可以通過CDN加速解決,很多IDC也在著手推出免費證○書和一站式HTTPS搭建服務,HTTPS成本在未來將會大大縮小!
我們到底要不要做HTTPS?
調研中發現,大多數︾人對HTTPS持觀望態度,他們對HTTPS安全性是認可的,但是從各¤個層面進行考慮後,做出∏了目前不做HTTPS網站的決定,主要有¤以下兩種觀點:
正方觀點
1、HTTPS具有更好的加密性能,避免用戶◤信息泄露;
2、HTTPS復雜的傳輸方式,降低網站被劫持的風險;
3、搜索▆引擎已經全面支持HTTPS抓取、收錄,並且會優先展示HTTPS結果;
4、從安全角度來說個人覺得要做HTTPS,不過HTTPS可以采◣用登錄後展示;
5、HTTPS綠鎖表示可以提升用戶對網╲站信任程度;
6、基礎成本可控,證書及服務器已經有了成型的ㄨ支持方案;
7、網站加載速度可以▼通過cdn等方式進行彌補,但是安全不能忽略;
8、HTTPS是網絡的發展趨勢,早晚都№要做;
9、可以有效防止←山寨、鏡像網站;
反方觀點
1、HTTPS會降低用戶訪問速度,增加網站服務器的計算資源消耗;
2、目前搜索引擎【只是收錄了小部分HTTPS內容,應該保持觀望制度;
3、HTTPS需要申請→加密協議,增加了運●營成本;
4、百度目前對HTTPS的優先展現效果不明顯,谷歌較為明顯;
5、技○術門檻較高,無從下手;
6、目前站點不涉及私密信息,無需HTTPS;
7、兼容⊙性有待提升,如robots不支持/聯盟廣告不支持等;
8、HTTPS網卐站的安全程度有限,該被黑還是被黑;
9、HTTPS維々護比較麻煩,在搜索引擎〗支持HTTP的情況,沒必要做HTTPS;
HTTPS的數據加密性:
HTTPS中數據的保密性主要是通過加密完成的。加密算法一般分◥為兩種,一種是非對稱加密(也叫公鑰加◥密),另外一種是對稱加密(也叫密鑰加密)。
HTTPS使用非對稱加⊙解密主要有兩個作用,一個是密鑰協商,另外可以用來做數□字簽名。所謂密鑰協商簡單說就是∮根據雙方各自的信息計算得出雙方傳輸內容時對稱加解密需要使用的密鑰。如下圖:
對稱加密就是ㄨ加密和解密都使用的是同一個密鑰ㄨ。如下圖:
HTTS多次握手和復雜的加密機制有效的加大了網站的安全性,加密機制與認證機制可以減少網站被劫持和假冒的風險】!
相關文章閱讀: