1. 程式人生 > >《HTTP 權威指南》筆記:第十四章 安全 HTTP

《HTTP 權威指南》筆記:第十四章 安全 HTTP

成了 虛擬 驗證 密鑰 安全 發送 cipher 建立 ron

技術分享圖片?

HTTPS 與 HTTP 不同,其在傳輸層與應用層之間添加了一個 SSL/TLS 的安全層.
機制:所有的 HTTP 請求與響應都要通過 SSL/TLS 先進行加密,再進行傳輸.

基礎知識

密碼 cipher:

一套編碼的算法,用於編碼和以後解碼的結合體
工作原理: 通過算法將 plaintext 編碼為 ciphertext

密鑰 key:

改變密碼的工作方式的數字化參數,從而使得密碼機有不同的行為.
數字密鑰:數字密鑰是編/解碼算法的數字化參數
工作原理:一個加密算法可產生眾多的虛擬加密算法,每一種算法即為一種密鑰.

對稱密鑰技術

定義:在編碼時使用的密鑰和解碼時使用的密鑰相同
缺陷:在發送著與接受者互相對話之前,一定要有一個共享密鑰;若有 N 個節點進行相互之間的安全對話,那麽總共需要的保密密鑰數量龐大,不便於管理.

公開密鑰加密技術

定義:編碼的密鑰為公開密鑰,所有人都可以對其進行編碼;解碼的密鑰稱為私有密鑰,只有其私有者慘鞥夠對報文進行解碼
功能:

  1. 在安全協議下全球範圍內發送報文
  2. 解決了對稱密鑰數量龐大的問題

數字簽名

定義:數字簽名是用來驗證報文未被偽造或篡改的校驗和.
機制:

  1. 證明身份:作者擁有私有密鑰,因此只有作者能計算出校驗和
  2. 防止篡改:當報文被惡意攻擊,進行修改了之後,無法計算出正確的校驗和

流程:
發送端:

  1. 報文轉變為摘要
  2. 應用私有密鑰的加密算法對摘要編碼,計算出數字簽名

接受端:

  1. 接收到明文報文與簽名
  2. 把接受到的明文報文計算出其報文摘要 ,同時將簽名通過公共密鑰的反函數計算出其報文摘要
  3. 將兩報文摘要進行對比

數字證書

定義:在 HTTPS 建立一個安全事務之後,瀏覽器獲取其數字證書,它的內容基本如下:

  1. Web 站點的名稱和主機名
  2. Web 站點的公開密鑰
  3. 簽名頒發機構的名稱
  4. 數字簽名

瀏覽器會對證書內容進行檢查:

  1. 簽名頒發機構可信度
  2. 日期檢測
  3. 簽名檢測
  4. 站點身份檢測

通過這些檢測來判斷是否信任這一證書.

SSL 握手

機制:在 HTTPS 中,客戶端首先打開一條到 443 服務端口的連接.之後就會初始化 SSL 層,對加密參數進行溝通,並交換密鑰.這個流程叫做「握手」,握手完成之後, SSL 初始化就完成了.

握手

基本流程如下:

  1. 客戶端發送可供選擇的密碼並請求證書
  2. 服務器發送選中的密碼和證書
  3. 客戶端發送保密信息;客戶端與服務器生成密鑰
  4. 客戶端與服務器交換密鑰,互相告知





《HTTP 權威指南》筆記:第十四章 安全 HTTP