HTTP 和 HTTPS 的區(qū)別

一、HTTP 和 HTTPS 的基本概念

HTTP:(HyperText Transfer Protocol:超文本傳輸協(xié)議)是一種用于分布式、協(xié)作式和超媒體信息系統(tǒng)的應(yīng)用層協(xié)議。 簡(jiǎn)單來說就是一種發(fā)布和接收 HTML 頁面的方法,被用于在 Web 瀏覽器和網(wǎng)站服務(wù)器之間傳遞信息。
HTTP 協(xié)議以明文方式發(fā)送內(nèi)容,不提供任何方式的數(shù)據(jù)加密,如果攻擊者截取了Web瀏覽器和網(wǎng)站服務(wù)器之間的傳輸報(bào)文,就可以直接讀懂其中的信息,因此,HTTP協(xié)議不適合傳輸一些敏感信息,比如:信用卡號(hào)、密碼等支付信息。

HTTP 原理:

① 客戶端的瀏覽器首先要通過網(wǎng)絡(luò)與服務(wù)器建立連接,該連接是通過 TCP 來完成的,一般 TCP 連接的端口號(hào)是80。 建立連接后,客戶機(jī)發(fā)送一個(gè)請(qǐng)求給服務(wù)器,請(qǐng)求方式的格式為:統(tǒng)一資源標(biāo)識(shí)符(URI)、協(xié)議版本號(hào),后邊是 MIME 信息包括請(qǐng)求修飾符、客戶機(jī)信息和許可內(nèi)容。

② 服務(wù)器接到請(qǐng)求后,給予相應(yīng)的響應(yīng)信息,其格式為一個(gè)狀態(tài)行,包括信息的協(xié)議版本號(hào)、一個(gè)成功或錯(cuò)誤的代碼,后邊是 MIME 信息包括服務(wù)器信息、實(shí)體信息和可能的內(nèi)容。

HTTPS:(Hypertext Transfer Protocol Secure:超文本傳輸安全協(xié)議)是一種透過計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行安全通信的傳輸協(xié)議。HTTPS 經(jīng)由 HTTP 進(jìn)行通信,但利用 SSL/TLS 來加密數(shù)據(jù)包。HTTPS 開發(fā)的主要目的,是提供對(duì)網(wǎng)站服務(wù)器的身份認(rèn)證,保護(hù)交換數(shù)據(jù)的隱私與完整性。

HTTPS 設(shè)計(jì)目標(biāo):

(1) 數(shù)據(jù)保密性:保證數(shù)據(jù)內(nèi)容在傳輸?shù)倪^程中不會(huì)被第三方查看。就像快遞員傳遞包裹一樣,都進(jìn)行了封裝,別人無法獲知里面裝了什么 。

(2) 數(shù)據(jù)完整性:及時(shí)發(fā)現(xiàn)被第三方篡改的傳輸內(nèi)容。就像快遞員雖然不知道包裹里裝了什么東西,但他有可能中途掉包,數(shù)據(jù)完整性就是指如果被掉包,我們能輕松發(fā)現(xiàn)并拒收 。

(3) 身份校驗(yàn)安全性:保證數(shù)據(jù)到達(dá)用戶期望的目的地。就像我們郵寄包裹時(shí),雖然是一個(gè)封裝好的未掉包的包裹,但必須確定這個(gè)包裹不會(huì)送錯(cuò)地方,通過身份校驗(yàn)來確保送對(duì)了地方 。

二、HTTP 與 HTTPS 的區(qū)別

1、HTTP 明文傳輸,數(shù)據(jù)都是未加密的,安全性較差,HTTPS(SSL+HTTP) 數(shù)據(jù)傳輸過程是加密的,安全性較好。

2、使用 HTTPS 協(xié)議需要到 CA(Certificate Authority,數(shù)字證書認(rèn)證機(jī)構(gòu)) 申請(qǐng)證書,一般免費(fèi)證書較少,因而需要一定費(fèi)用。證書頒發(fā)機(jī)構(gòu)如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。

3、HTTP 頁面響應(yīng)速度比 HTTPS 快,主要是因?yàn)?HTTP 使用 TCP 三次握手建立連接,客戶端和服務(wù)器需要交換 3 個(gè)包,而 HTTPS除了 TCP 的三個(gè)包,還要加上 ssl 握手需要的 9 個(gè)包,所以一共是 12 個(gè)包。

4、http 和 https 使用的是完全不同的連接方式,用的端口也不一樣,前者是 80,后者是 443。

5、HTTPS 其實(shí)就是建構(gòu)在 SSL/TLS 之上的 HTTP 協(xié)議,所以,要比較 HTTPS 比 HTTP 要更耗費(fèi)服務(wù)器資源。

三、HTTPS 相對(duì)于 HTTP 的改進(jìn)

1、雙向的身份認(rèn)證

客戶端和服務(wù)端在傳輸數(shù)據(jù)之前,會(huì)通過基于X.509證書對(duì)雙方進(jìn)行身份認(rèn)證 。具體過程如下:

客戶端發(fā)起 SSL 握手消息給服務(wù)端要求連接。

服務(wù)端將證書發(fā)送給客戶端。

客戶端檢查服務(wù)端證書,確認(rèn)是否由自己信任的證書簽發(fā)機(jī)構(gòu)簽發(fā)(客戶端內(nèi)置了所有受信任 CA 的證書)。 如果不是,將是否繼續(xù)通訊的決定權(quán)交給用戶選擇 ( 注意,這里將是一個(gè)安全缺陷 )。如果檢查無誤或者用戶選擇繼續(xù),則客戶端認(rèn)可服務(wù)端的身份。

服務(wù)端要求客戶端發(fā)送證書,并檢查是否通過驗(yàn)證。失敗則關(guān)閉連接,認(rèn)證成功則從客戶端證書中獲得客戶端的公鑰,一般為 1024 位或者 2048 位。到此,服務(wù)器客戶端雙方的身份認(rèn)證結(jié)束,雙方確保身份都是真實(shí)可靠的。

[圖片上傳失敗...(image-6504d0-1639103093164)]

(1) 采用 HTTPS 協(xié)議的服務(wù)器必須要有一套數(shù)字證書,可以自己制作,也可以向組織申請(qǐng)。區(qū)別就是自己頒發(fā)的證書需要客戶端驗(yàn)證通過,才可以繼續(xù)訪問。這套證書其實(shí)就是一對(duì)公鑰和私鑰。

(2) 互聯(lián)網(wǎng)有太多的服務(wù)需要使用證書來驗(yàn)證身份,以至于客戶端(操作系統(tǒng)或?yàn)g覽器等)無法內(nèi)置所有證書,需要通過服務(wù)端將證書發(fā)送給客戶端。

(3) 客戶端內(nèi)置的是 CA 的根證書(Root Certificate),HTTPS 協(xié)議中服務(wù)器會(huì)發(fā)送證書鏈(Certificate Chain)給客戶端。

2、數(shù)據(jù)傳輸?shù)臋C(jī)密性

客戶端和服務(wù)端在開始傳輸數(shù)據(jù)之前,會(huì)協(xié)商傳輸過程需要使用的加密算法。 客戶端發(fā)送協(xié)商請(qǐng)求給服務(wù)端, 其中包含自己支持的非對(duì)成加密的密鑰交換算法 ( 一般是RSA),數(shù)據(jù)簽名摘要算法 ( 一般是SHA或者M(jìn)D5) ,加密傳輸數(shù)據(jù)的對(duì)稱加密算法 ( 一般是DES),以及加密密鑰的長(zhǎng)度。 服務(wù)端接收到消息之后,選中安全性最高的算法,并將選中的算法發(fā)送給客戶端,完成協(xié)商??蛻舳松呻S機(jī)的字符串,通過協(xié)商好的非對(duì)稱加密算法,使用服務(wù)端的公鑰對(duì)該字符串進(jìn)行加密,發(fā)送給服務(wù)端。 服務(wù)端接收到之后,使用自己的私鑰解密得到該字符串。在隨后的數(shù)據(jù)傳輸當(dāng)中,使用這個(gè)字符串作為密鑰進(jìn)行對(duì)稱加密。

3、防止重放攻擊

SSL 使用序列號(hào)來保護(hù)通訊方免受報(bào)文重放攻擊。這個(gè)序列號(hào)被加密后作為數(shù)據(jù)包的負(fù)載。在整個(gè) SSL 握手中,都有一個(gè)唯一的隨機(jī)數(shù)來標(biāo)記 SSL 握手。 這樣防止了攻擊者嗅探整個(gè)登錄過程,獲取到加密的登錄數(shù)據(jù)之后,不對(duì)數(shù)據(jù)進(jìn)行解密,而直接重傳登錄數(shù)據(jù)包的攻擊手法。

可以看到,鑒于電子商務(wù)等安全上的需求,HTTPS 對(duì)比 HTTP 協(xié)議,在安全方面已經(jīng)取得了極大的增強(qiáng)??偨Y(jié)來說,HTTPS 的改進(jìn)點(diǎn)在于創(chuàng)造性的使用了非對(duì)稱加密算法,在不安全的網(wǎng)路上,安全的傳輸了用來進(jìn)行非對(duì)稱加密的密鑰,綜合利用了非對(duì)稱加密的安全性和對(duì)稱加密的快速性。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容