HTTP和HTTPS協(xié)議?

作者:Gakki

超文本傳輸協(xié)議 HTTP 協(xié)議被用于 Web 瀏覽器和網(wǎng)站服務(wù)器之間的傳遞信息,HTTP 協(xié)議以明文方式發(fā)送內(nèi)容, 不提供任何方式的數(shù)據(jù)加密,如果攻擊者截取了 Web 瀏覽器和網(wǎng)站服務(wù)器之間的傳輸報(bào)文,就可以直接讀懂其中的信息。因此, HTTP 協(xié)議不適合傳輸一些敏感信息,比如:賬號(hào)、密碼等支付信息。
為了解決 HTTP 協(xié)議 的這一缺陷,需要使用另一協(xié)議:安全套接字超文本傳輸協(xié)議 HTTPS ,為了數(shù)據(jù)傳輸?shù)陌踩?,HTTPS 在 HTTP 的基礎(chǔ)上加入了 SSL 協(xié)議,SSL 依靠證書(shū)來(lái)驗(yàn)證服務(wù)器的身份,并為瀏覽器和服務(wù)器之間的通信加密。

01 基本概念

HTTP :是互聯(lián)網(wǎng)上因公最為廣泛的一種網(wǎng)絡(luò)協(xié)議,是一個(gè)客戶(hù)端和服務(wù)器端請(qǐng)求和應(yīng)答的標(biāo)準(zhǔn)(TCP),用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳輸協(xié)議,它可以使瀏覽器更加高效,使網(wǎng)絡(luò)傳輸減少。

HTTPS:是以安全為目標(biāo)的HTTP通道,簡(jiǎn)單講是HTTP的安全版,即HTTP下加入SSL層,HTTPS的安全基礎(chǔ)是SSL,因此加密的詳細(xì)內(nèi)容就需要SSL。
HTTPS協(xié)議的主要作用可以分為兩種:一種是建立一個(gè)信息安全通道,來(lái)保證數(shù)據(jù)傳輸?shù)陌踩?;另一種就是確認(rèn)網(wǎng)站的真實(shí)性。

02 區(qū)別

HTTP 協(xié)議傳輸?shù)臄?shù)據(jù)都是未加密的,也就是明文的,因此使用 HTTP 協(xié)議傳輸隱私信息非常不安全,為了保證這些隱私數(shù)據(jù)能加密傳輸,于是網(wǎng)景公司設(shè)計(jì)了 SSL(Secure Sockets Layer)協(xié)議用于對(duì)HTTP協(xié)議傳輸?shù)臄?shù)據(jù)進(jìn)行加密,從而就誕生了HTTPS。簡(jiǎn)單來(lái)說(shuō),HTTPS 協(xié)議是由 SSL + HTTP 協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,要比 HTTP 協(xié)議安全。

HTTPS 和 HTTP 的區(qū)別主要如下:

  1. https 協(xié)議需要到 ca 申請(qǐng)證書(shū),一般免費(fèi)證書(shū)較少,因而需要一定費(fèi)用。
  2. http 是超文本傳輸協(xié)議,信息是明文傳輸,https 則是具有安全性的 ssl 加密傳輸協(xié)議。
  3. http 和 https 使用的是完全不同的連接方式,用的端口也不一樣,前者是 80 ,后者是 443 。
  4. http 的連接很簡(jiǎn)單,是無(wú)狀態(tài)的;HTTPS 協(xié)議是由 SSL + HTTP 協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,比 http 協(xié)議安全。

03 HTTPS 的工作原理

客戶(hù)端在使用 HTTPS 方式與 Web 服務(wù)器通信時(shí)有以下幾個(gè)步驟,如圖所示。
(1)客戶(hù)使用 https 的 URL 訪問(wèn) Web 服務(wù)器,要求與 Web 服務(wù)器建立 SSL 連接。
(2)Web 服務(wù)器收到客戶(hù)端請(qǐng)求后,會(huì)將網(wǎng)站的證書(shū)信息(證書(shū)中包含公鑰)傳送一份給客戶(hù)端。
(3)客戶(hù)端的瀏覽器與Web服務(wù)器開(kāi)始協(xié)商 SSL 連接的安全等級(jí),也就是信息加密的等級(jí)。
(4)客戶(hù)端的瀏覽器根據(jù)雙方同意的安全等級(jí),建立會(huì)話(huà)密鑰,然后利用網(wǎng)站的公鑰將會(huì)話(huà)密鑰加密,并傳送給網(wǎng)站。
(5)Web 服務(wù)器利用自己的私鑰解密出會(huì)話(huà)密鑰。
(6)Web 服務(wù)器利用會(huì)話(huà)密鑰加密與客戶(hù)端之間的通信。

HTTPS 的工作原理

04 HTTPS 的優(yōu)點(diǎn)

盡管 HTTPS 并非絕對(duì)安全,掌握根證書(shū)的機(jī)構(gòu)、掌握加密算法的組織同樣可以進(jìn)行中間人形式的攻擊,但HTTPS 仍是現(xiàn)行架構(gòu)下最安全的解決方案,主要有以下幾個(gè)好處:
(1)使用 HTTPS 協(xié)議可認(rèn)證用戶(hù)和服務(wù)器,確保數(shù)據(jù)發(fā)送到正確的客戶(hù)機(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ì)安全,但它大幅增加了中間人攻擊的成本。
(4)谷歌曾在2014年8月份調(diào)整搜索引擎算法,并稱(chēng)“比起同等 HTTP 網(wǎng)站,采用 HTTPS 加密的網(wǎng)站在搜索結(jié)果中的排名將會(huì)更高”。

05 HTTPS 的缺點(diǎn)

雖然說(shuō) HTTPS 有很大的優(yōu)勢(shì),但其相對(duì)來(lái)說(shuō),還是存在不足之處的:
(1)HTTPS 協(xié)議握手階段比較費(fèi)時(shí),會(huì)使頁(yè)面的加載時(shí)間延長(zhǎng)近 50%,增加 10% 到 20% 的耗電;
(2)HTTPS 連接緩存不如 HTTP 高效,會(huì)增加數(shù)據(jù)開(kāi)銷(xiāo)和功耗,甚至已有的安全措施也會(huì)因此而受到影響;
(3)SSL 證書(shū)需要錢(qián),功能越強(qiáng)大的證書(shū)費(fèi)用越高,個(gè)人網(wǎng)站、小網(wǎng)站沒(méi)有必要一般不會(huì)用。
(4)SSL 證書(shū)通常需要綁定 IP ,不能在同一 IP 上綁定多個(gè)域名,IPv4 資源不可能支撐這個(gè)消耗。
(5)HTTPS 協(xié)議的加密范圍也比較有限,在黑客攻擊、拒絕服務(wù)攻擊、服務(wù)器劫持等方面幾乎起不到什么作用。最關(guān)鍵的,SSL 證書(shū)的信用鏈體系并不安全,特別是在某些國(guó)家可以控制 CA 根證書(shū)的情況下,中間人攻擊一樣可行。

?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過(guò)簡(jiǎn)信或評(píng)論聯(lián)系作者。

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

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