《HTTP 權威指南》筆記:第十四章 安全 HTTP
阿新 • • 發佈:2019-04-06
成了 虛擬 驗證 密鑰 安全 發送 cipher 建立 ron
基本流程如下:
?
HTTPS 與 HTTP 不同,其在傳輸層與應用層之間添加了一個 SSL/TLS 的安全層.
機制:所有的 HTTP 請求與響應都要通過 SSL/TLS 先進行加密,再進行傳輸.
基礎知識
密碼 cipher:
一套編碼的算法,用於編碼和以後解碼的結合體
工作原理: 通過算法將 plaintext 編碼為 ciphertext
密鑰 key:
改變密碼的工作方式的數字化參數,從而使得密碼機有不同的行為.
數字密鑰:數字密鑰是編/解碼算法的數字化參數
工作原理:一個加密算法可產生眾多的虛擬加密算法,每一種算法即為一種密鑰.
對稱密鑰技術
定義:在編碼時使用的密鑰和解碼時使用的密鑰相同
缺陷:在發送著與接受者互相對話之前,一定要有一個共享密鑰;若有 N 個節點進行相互之間的安全對話,那麽總共需要的保密密鑰數量龐大,不便於管理.
公開密鑰加密技術
定義:編碼的密鑰為公開密鑰,所有人都可以對其進行編碼;解碼的密鑰稱為私有密鑰,只有其私有者慘鞥夠對報文進行解碼
功能:
- 在安全協議下全球範圍內發送報文
- 解決了對稱密鑰數量龐大的問題
數字簽名
定義:數字簽名是用來驗證報文未被偽造或篡改的校驗和.
機制:
- 證明身份:作者擁有私有密鑰,因此只有作者能計算出校驗和
- 防止篡改:當報文被惡意攻擊,進行修改了之後,無法計算出正確的校驗和
流程:
發送端:
- 報文轉變為摘要
- 應用私有密鑰的加密算法對摘要編碼,計算出數字簽名
接受端:
- 接收到明文報文與簽名
- 把接受到的明文報文計算出其報文摘要 ,同時將簽名通過公共密鑰的反函數計算出其報文摘要
- 將兩報文摘要進行對比
數字證書
定義:在 HTTPS 建立一個安全事務之後,瀏覽器獲取其數字證書,它的內容基本如下:
- Web 站點的名稱和主機名
- Web 站點的公開密鑰
- 簽名頒發機構的名稱
- 數字簽名
瀏覽器會對證書內容進行檢查:
- 簽名頒發機構可信度
- 日期檢測
- 簽名檢測
- 站點身份檢測
通過這些檢測來判斷是否信任這一證書.
SSL 握手
機制:在 HTTPS 中,客戶端首先打開一條到 443 服務端口的連接.之後就會初始化 SSL 層,對加密參數進行溝通,並交換密鑰.這個流程叫做「握手」,握手完成之後, SSL 初始化就完成了.
握手
- 客戶端發送可供選擇的密碼並請求證書
- 服務器發送選中的密碼和證書
- 客戶端發送保密信息;客戶端與服務器生成密鑰
- 客戶端與服務器交換密鑰,互相告知
《HTTP 權威指南》筆記:第十四章 安全 HTTP