當前位置:
首頁 > 文史 > 小知識:HTTP與HTTPS 的區別

小知識:HTTP與HTTPS 的區別

來源:國際教育

哲學園鳴謝

基本概念

HTTP(HyperText Transfer Protocol:超文本傳輸協議)是一種用於分散式、協作式和超媒體信息系統的應用層協議。 簡單來說就是一種發布和接收 HTML 頁面的方法,被用於在 Web 瀏覽器和網站伺服器之間傳遞信息。

HTTP 默認工作在 TCP 協議 80 埠,用戶訪問網站 http:// 打頭的都是標準 HTTP 服務。

HTTP 協議以明文方式發送內容,不提供任何方式的數據加密,如果攻擊者截取了Web瀏覽器和網站伺服器之間的傳輸報文,就可以直接讀懂其中的信息,因此,HTTP協議不適合傳輸一些敏感信息,比如:信用卡號、密碼等支付信息。

HTTPS(Hypertext Transfer Protocol Secure:超文本傳輸安全協議)是一種透過計算機網路進行安全通信的傳輸協議。HTTPS 經由 HTTP 進行通信,但利用 SSL/TLS 來加密數據包。HTTPS 開發的主要目的,是提供對網站伺服器的身份認證,保護交換數據的隱私與完整性。

HTTPS 默認工作在 TCP 協議443埠,它的工作流程一般如以下方式:

1、TCP 三次同步握手

2、客戶端驗證伺服器數字證書

3、DH 演算法協商對稱加密演算法的密鑰、hash 演算法的密鑰

4、SSL 安全加密隧道協商完成

5、網頁以加密的方式傳輸,用協商的對稱加密演算法和密鑰加密,保證數據機密性;用協商的hash演算法進行數據完整性保護,保證數據不被篡改。

截至 2018 年 6 月,Alexa 排名前 100 萬的網站中有 34.6% 使用 HTTPS 作為默認值,互聯網 141387 個最受歡迎網站的 43.1% 具有安全實施的 HTTPS,以及 45% 的頁面載入(透過Firefox紀錄)使用HTTPS。2017 年3 月,中國註冊域名總數的 0.11%使用 HTTPS。

根據 Mozilla 統計,自 2017 年 1 月以來,超過一半的網站流量被加密。

HTTP 與 HTTPS 區別

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

使用 HTTPS 協議需要到 CA(Certificate Authority,數字證書認證機構) 申請證書,一般免費證書較少,因而需要一定費用。證書頒發機構如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。

HTTP 頁面響應速度比 HTTPS 快,主要是因為 HTTP 使用 TCP 三次握手建立連接,客戶端和伺服器需要交換 3 個包,而 HTTPS除了 TCP 的三個包,還要加上 ssl 握手需要的 9 個包,所以一共是 12 個包。

http 和 https 使用的是完全不同的連接方式,用的埠也不一樣,前者是 80,後者是 443。

HTTPS 其實就是建構在 SSL/TLS 之上的 HTTP 協議,所以,要比較 HTTPS 比 HTTP 要更耗費伺服器資源。

TCP 三次握手

在TCP/IP協議中,TCP協議通過三次握手建立一個可靠的連接。

第一次握手:客戶端嘗試連接伺服器,向伺服器發送 syn 包(同步序列編號Synchronize Sequence Numbers),syn=j,客戶端進入 SYN_SEND 狀態等待伺服器確認

第二次握手:伺服器接收客戶端syn包並確認(ack=j+1),同時向客戶端發送一個 SYN包(syn=k),即 SYN+ACK 包,此時伺服器進入 SYN_RECV 狀態

第三次握手:第三次握手:客戶端收到伺服器的SYN+ACK包,向伺服器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和伺服器進入ESTABLISHED狀態,完成三次握手

簡化:

HTTPS 的工作原理

我們都知道 HTTPS 能夠加密信息,以免敏感信息被第三方獲取,所以很多銀行網站或電子郵箱等等安全級別較高的服務都會採用 HTTPS 協議。

01

客戶端發起 HTTPS 請求

這個沒什麼好說的,就是用戶在瀏覽器里輸入一個 https 網址,然後連接到 server 的 443 埠。

02

服務端的配置

採用 HTTPS 協議的伺服器必須要有一套數字證書,可以自己製作,也可以向組織申請,區別就是自己頒發的證書需要客戶端驗證通過,才可以繼續訪問,而使用受信任的公司申請的證書則不會彈出提示頁面(startssl 就是個不錯的選擇,有 1 年的免費服務)。

這套證書其實就是一對公鑰和私鑰,如果對公鑰和私鑰不太理解,可以想像成一把鑰匙和一個鎖頭,只是全世界只有你一個人有這把鑰匙,你可以把鎖頭給別人,別人可以用這個鎖把重要的東西鎖起來,然後發給你,因為只有你一個人有這把鑰匙,所以只有你才能看到被這把鎖鎖起來的東西。

03

傳送證書

這個證書其實就是公鑰,只是包含了很多信息,如證書的頒發機構,過期時間等等。

04

客戶端解析證書

這部分工作是有客戶端的TLS來完成的,首先會驗證公鑰是否有效,比如頒發機構,過期時間等等,如果發現異常,則會彈出一個警告框,提示證書存在問題。

如果證書沒有問題,那麼就生成一個隨機值,然後用證書對該隨機值進行加密,就好像上面說的,把隨機值用鎖頭鎖起來,這樣除非有鑰匙,不然看不到被鎖住的內容。

05

傳送加密信息

這部分傳送的是用證書加密後的隨機值,目的就是讓服務端得到這個隨機值,以後客戶端和服務端的通信就可以通過這個隨機值來進行加密解密了。

06

服務端解密信息

服務端用私鑰解密後,得到了客戶端傳過來的隨機值(私鑰),然後把內容通過該值進行對稱加密,所謂對稱加密就是,將信息和私鑰通過某種演算法混合在一起,這樣除非知道私鑰,不然無法獲取內容,而正好客戶端和服務端都知道這個私鑰,所以只要加密演算法夠彪悍,私鑰夠複雜,數據就夠安全。

07

傳輸加密後的信息

這部分信息是服務段用私鑰加密後的信息,可以在客戶端被還原。

08

客戶端解密信息

客戶端用之前生成的私鑰解密服務段傳過來的信息,於是獲取了解密後的內容,整個過程第三方即使監聽到了數據,也束手無策。

GESS-KT188

健康按摩披肩

全網歷史最低價

僅需418元

特惠截止10月07日23:59


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 哲學園 的精彩文章:

劉小楓 | 《貨幣哲學》:一位寂靜主義哲學家的世紀末勸言
你需要一本靠譜的「國保」指南

TAG:哲學園 |