分分鐘讓你理解HTTPS


一、HTTP存在的問題

1.1 可能被竊聽

  1. HTTP 本身不具備加密的功能,HTTP 報文使用明文方式發送
  2. 由於互聯網是由聯通世界各個地方的網絡設施組成,所有發送和接收經過某些設備的數據都可能被截獲或窺視。(例如大家都熟悉的抓包工具:charles)

1.2 認證問題

  1. 無法確認你發送到的服務器就是真正的目標服務器(可能服務器是偽裝的)
  2. 無法確定返回的客戶端是否是按照真實意圖接收的客戶端(可能是偽裝的客戶端)
  3. 無法確定正在通信的對方是否具備訪問權限,Web 服務器上某些重要的信息,只想發給特定用戶即使是無意義的請求也會照單全收。無法阻止海量請求下的 DoS 攻擊(Denial of Service,拒絕服務攻擊)。

1.3 可能被篡改

1.請求或響應在傳輸途中,遭攻擊者攔截並篡改內容的攻擊被稱為中間人攻擊(Man-in-the-Middle attack,MITM)。

分分鐘讓你理解HTTPS

二、HTTPS介紹

2.1 什麼是HTTPS

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

2.2 HTTPS怎麼解決上述問題

HTTPS是在通信接口部分用 TLS(Transport Layer Security 傳輸層安全性協議),TLS協議採用主從式架構模型,用於在兩個應用程序間通過網絡創建起安全的連接,防止在交換數據時受到竊聽及篡改。

分分鐘讓你理解HTTPS

2.3 SSL和TLS的關係

  1. 傳輸層安全性協議(英語:Transport Layer Security,縮寫作 TLS),及其前身安全套接層(Secure Sockets Layer,縮寫作 SSL)是一種安全協議,目的是為互聯網通信,提供安全及數據完整性保障。
  2. 網景公司(Netscape)在1994年推出首版網頁瀏覽器,網景導航者時,推出HTTPS協議,以SSL進行加密,這是SSL的起源。
  3. IETF將SSL進行標準化,1999年公佈第一版TLS標準文件。隨後又公佈RFC 5246 (2008年8月)與 RFC 6176 (2011年3月)。在瀏覽器、電子郵件、即時通信、VoIP、網絡傳真等應用程序中,廣泛支持這個協議。

2.4 TLS/SSL 協議

HTTPS 協議的主要功能基本都依賴於 TLS/SSL 協議,TLS/SSL 的功能實現主要依賴於三類基本算法:散列函數 、對稱加密和非對稱加密,其利用非對稱加密實現身份認證和密鑰協商,對稱加密算法採用協商的密鑰對數據加密,基於散列函數驗證信息的完整性。

分分鐘讓你理解HTTPS

參考原文鏈接:https://juejin.im/post/5ad6ad575188255c272273c4


分享到:


相關文章: