1. 程式人生 > >網路安全-->淺談HTTPS協議

網路安全-->淺談HTTPS協議

簡介

  HTTPS,安全的HTTP,也被稱為HTTP over TLS,TLS的前身是SSL。HTTPS的安全基礎是SSL。SSL協議位於TCP/IP協議與各種應用層協議之間,
  為資料通訊提供安全支援。
  SSL協議:
    SSL記錄協議--建立在可靠的傳輸協議之上,為高層協議提供資料封裝,壓縮、加密等基本功能。
    SSL握手協議--建立在SSL記錄協議之上,使用者在實際的資料傳輸開始前,通訊雙方進行身份認證、協商加密演算法、交換加密祕鑰。
    
  1、HTTPS協議需要到證書頒發機構CA申請證書。
  2、客戶端無法內建所有證書,所以需要服務端將證書傳送給客戶端
  3、證書包含:
    證書資訊:過期時間和序列號
    所有者資訊:姓名等
    所有者公鑰
  4、客戶端放著證書偽造,所以在服務端傳送證書到客戶端後,客戶端需要驗證接收到的證書
  5、客戶端通過數字簽名驗證證書有效性

HTTPS基本原理

  HTTPS其實是由兩部分組成:HTTP + SSL/TLS,在HTTP上加以一層處理加密資訊的模組。
  1、客戶端發起HTTPS請求,連線到服務端的443埠
  2、服務端配置。採用HTTPS協議的伺服器必須有一套數字證書,可以自己製作或者向組織申請。自己製作的需要客戶端驗證通過才可以訪問。這套證書其實
  就是公鑰和私鑰。
  3、服務端向客戶端傳送證書,這個證書其實就是公鑰,包含證書的辦法機構、過期時間等資訊
  4、客戶端驗證公鑰是否有效,有異常則彈框提示,沒問題則生成一個隨機值,然後用證書對該隨機值進行加密
  5、客戶端將上一步驟生成的加密後的隨機值傳送給服務端,以後客戶端和服務端就用這個隨機值來進行加密解密。
  6、服務端用私鑰解密客戶端傳送過來的加密隨機值,這個隨機值就是客服端和服務端之間的私鑰。服務端把響應內容通過該值就行對稱加密。
  7、服務端將對稱加密後的資料傳送給客戶端。
  8、客戶端用之前生成的私鑰(隨機值)解密服務端傳過來的資訊。

HTTPS缺點

  1、HTTPS協議握手階段比較費時
  2、連線快取不如HTTP高效
  3、SSL證書需要花錢
  4、SSL證書需要繫結IP,不能再同一IP上繫結多個域名,IPv4資源無法支撐
  5、HTTPS協議的加密範圍有限,無法保證絕