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