我們對于做不做HTTPS網(wǎng)站這一問題進(jìn)行了相關(guān)調(diào)研。和推來客小編一起來了解一下吧。
HTTPS是什么:
HTTPS(全稱:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全為目標(biāo)的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎(chǔ)是SSL,因此加密的詳細(xì)內(nèi)容就需要SSL。 HTTPS存在不同于HTTP的默認(rèn)端口及一個加密/身份驗證層(在HTTP與TCP之間)。這個系統(tǒng)提供了身份驗證與加密通訊方法?,F(xiàn)在它被廣泛用于萬維網(wǎng)上安全敏感的通訊,例如交易支付方面。
傳統(tǒng)的HTTP模式,存在著大量的灰色中間環(huán)節(jié),相關(guān)信息很容易被竊取,但HTTPS卻是通過認(rèn)證用戶與服務(wù)器,將數(shù)據(jù)準(zhǔn)確地發(fā)送到客戶機(jī)與服務(wù)器,并采用加密方式以防數(shù)據(jù)中途被盜取,大大降低了第三方竊取信息、篡改冒充身份的風(fēng)險。
HTTPS安全原理解析:
HTTPS主要由有兩部分組成:HTTP + SSL / TLS,也就是在HTTP上又加了一層處理加密信息的模塊。服務(wù)端和客戶端的信息傳輸都會通過TLS進(jìn)行加密,所以傳輸?shù)臄?shù)據(jù)都是加密后的數(shù)據(jù)。HTTPS與HTTP的原理區(qū)別可以觀察下圖:
HTTPS的工作原理:
①. 客戶端將它所支持的算法列表和一個用作產(chǎn)生密鑰的隨機(jī)數(shù)發(fā)送給服務(wù)器;
②. 服務(wù)器從算法列表中選擇一種加密算法,并將它和一份包含服務(wù)器公用密鑰的證書發(fā)送給客戶端;該證書還包含了用于認(rèn)證目的的服務(wù)器標(biāo)識,服務(wù)器同時還提供了一個用作產(chǎn)生密鑰的隨機(jī)數(shù);
③. 客戶端對服務(wù)器的證書進(jìn)行驗證(有關(guān)驗證證書,可以參考數(shù)字簽名),并抽取服務(wù)器的公用密鑰;然后,再產(chǎn)生一個稱作pre_master_secret的隨機(jī)密碼串,并使用服務(wù)器的公用密鑰對其進(jìn)行加密(參考非對稱加/解密),并將加密后的信息發(fā)送給服務(wù)器;
④. 客戶端與服務(wù)器端根據(jù)pre_master_secret以及客戶端與服務(wù)器的隨機(jī)數(shù)值獨立計算出加密和MAC密鑰(參考DH密鑰交換算法)。
⑤. 客戶端將所有握手消息的MAC值發(fā)送給服務(wù)器;
⑥. 服務(wù)器將所有握手消息的MAC值發(fā)送給客戶端。
HTTPS的優(yōu)點與缺點:
根據(jù)案例反饋,目前HTTPS的優(yōu)缺點主要分布在三方面:
HTTPS的優(yōu)點:
安全性方面
在目前的技術(shù)背景下,HTTPS是現(xiàn)行架構(gòu)下最安全的解決方案,主要有以下幾個好處:
1、使用HTTPS協(xié)議可認(rèn)證用戶和服務(wù)器,確保數(shù)據(jù)發(fā)送到正確的客戶機(jī)和服務(wù)器;
2、HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,要比http協(xié)議安全,可防止數(shù)據(jù)在傳輸過程中不被竊取、改變,確保數(shù)據(jù)的完整性。
3、HTTPS是現(xiàn)行架構(gòu)下最安全的解決方案,雖然不是絕對安全,但它大幅增加了中間人攻擊的成本。
HTTPS的缺點:
技術(shù)方面
1、相同網(wǎng)絡(luò)環(huán)境下,HTTPS協(xié)議會使頁面的加載時間延長近50%,增加10%到20%的耗電。此外,HTTPS協(xié)議還會影響緩存,增加數(shù)據(jù)開銷和功耗。
2、HTTPS協(xié)議的安全是有范圍的,在黑客攻擊、拒絕服務(wù)攻擊、服務(wù)器劫持等方面幾乎起不到什么作用。
3、最關(guān)鍵的,SSL 證書的信用鏈體系并不安全。特別是在某些國家可以控制 CA 根證書的情況下,中間人攻擊一樣可行。
成本方面
1、SSL的專業(yè)證書需要購買,功能越強大的證書費用越高。個人網(wǎng)站、小網(wǎng)站可以選擇入門級免費證書。
2、SSL 證書通常需要綁定 固定IP,為服務(wù)器增加固定IP會增加一定費用;
3、HTTPS 連接服務(wù)器端資源占用高較高多,相同負(fù)載下會增加帶寬和服務(wù)器投入成本;
既然HTTPS有這么多缺點,那是不是就不該做呢,當(dāng)然不是的,隨著技術(shù)的發(fā)展很多缺點是可以優(yōu)化和彌補的。比如:
打開速度問題完全可以通過CDN加速解決,很多IDC也在著手推出免費證書和一站式HTTPS搭建服務(wù),HTTPS成本在未來將會大大縮?。?/p>
我們到底要不要做HTTPS?
調(diào)研中發(fā)現(xiàn),大多數(shù)人對HTTPS持觀望態(tài)度,他們對HTTPS安全性是認(rèn)可的,但是從各個層面進(jìn)行考慮后,做出了目前不做HTTPS網(wǎng)站的決定,主要有以下兩種觀點:
正方觀點
1、HTTPS具有更好的加密性能,避免用戶信息泄露
2、HTTPS復(fù)雜的傳輸方式,降低網(wǎng)站被劫持的風(fēng)險;
3、搜索引擎已經(jīng)全面支持HTTPS抓取、收錄,并且會優(yōu)先展示HTTPS結(jié)果;
4、從安全角度來說個人覺得要做HTTPS,不過HTTPS可以采用登錄后展示;
5、HTTPS綠鎖表示可以提升用戶對網(wǎng)站信任程度;
6、基礎(chǔ)成本可控,證書及服務(wù)器已經(jīng)有了成型的支持方案;
7、網(wǎng)站加載速度可以通過cdn等方式進(jìn)行彌補,但是安全不能忽略;
8、HTTPS是網(wǎng)絡(luò)的發(fā)展趨勢,早晚都要做;
9、可以有效防止山寨、鏡像網(wǎng)站;
反方觀點
1、HTTPS會降低用戶訪問速度,增加網(wǎng)站服務(wù)器的計算資源消耗;
2、目前搜索引擎只是收錄了小部分HTTPS內(nèi)容,應(yīng)該保持觀望制度;
3、HTTPS需要申請加密協(xié)議,增加了運營成本;
4、百度目前對HTTPS的優(yōu)先展現(xiàn)效果不明顯,谷歌較為明顯;
5、技術(shù)門檻較高,無從下手;
6、目前站點不涉及私密信息,無需HTTPS;
7、兼容性有待提升,如robots不支持/聯(lián)盟廣告不支持等;
8、HTTPS網(wǎng)站的安全程度有限,該被黑還是被黑;
9、HTTPS維護(hù)比較麻煩,在搜索引擎支持HTTP的情況,沒必要做HTTPS;
HTTPS的數(shù)據(jù)加密性:
HTTPS中數(shù)據(jù)的保密性主要是通過加密完成的。加密算法一般分為兩種,一種是非對稱加密(也叫公鑰加密),另外一種是對稱加密(也叫密鑰加密)。
HTTPS使用非對稱加解密主要有兩個作用,一個是密鑰協(xié)商,另外可以用來做數(shù)字簽名。所謂密鑰協(xié)商簡單說就是根據(jù)雙方各自的信息計算得出雙方傳輸內(nèi)容時對稱加解密需要使用的密鑰。如下圖:
對稱加密就是加密和解密都使用的是同一個密鑰。如下圖:
HTTS多次握手和復(fù)雜的加密機(jī)制有效的加大了網(wǎng)站的安全性,加密機(jī)制與認(rèn)證機(jī)制可以減少網(wǎng)站被劫持和假冒的風(fēng)險!
我們專注高端建站,小程序開發(fā)、軟件系統(tǒng)定制開發(fā)、BUG修復(fù)、物聯(lián)網(wǎng)開發(fā)、各類API接口對接開發(fā)等。十余年開發(fā)經(jīng)驗,每一個項目承諾做到滿意為止,多一次對比,一定讓您多一份收獲!