雙向 SSL 認證(也被稱爲「相互認證」,或「使用客戶端證書的 TLS/SSL」)是指雙方經過校驗彼此提供的數字證書來進行認證,以便雙方均可以確認對方的身份。web
-
術語瀏覽器
-
TLS 與 SSL安全
TLS 的前身是 SSL。其是一個用於在應用程序之間進行通訊時保障隱私的協議。除非另有說明,本文中認爲 TLS 與 SSL 是等價的。服務器
證書(cert)加密
包含了提供者信息等一些額外元數據的公鑰/私鑰對的公鑰部分。它能夠被自由的提供給任何人。操作系統
私鑰blog
一個私鑰能夠驗證與其對應的用來對數據進行加密的證書和公鑰。其決不公開提供。ip
證書頒發機構(CA)ssl
一個頒發數字證書的公司。對於 SSL/TLS 證書,也有少數供應商(例如 Symantec/Versign/Thawte、Comodo、GoDaddy)的證書囊括了大多數瀏覽器和操做系統。它們的目的是成爲一個「可信的第三方」。get
證書籤名請求(CSR)
用私鑰生成的一個文件。一個 CSR 能夠向一個 CA 發送簽名請求。CA 則使用其私鑰對 CSR 進行數字簽名,並建立一個已簽名的證書。而後瀏覽器能夠使用 CA 提供的證書來驗證新的證書是否已被 CA 批准。
X.509
用於描述證書的格式和用法的一個規範。
- SSL認證SSL實際上就是在一個web服務器與瀏覽器之間創建加密連接的標準安全技術。通常來講,一個瀏覽器(客戶端)創建一個SSL鏈接到一個安全的web站點,它只檢查該服務器證書。該瀏覽器一方面依靠其自己,或者提供已經被指定爲根證書的列表證書以及受信任的CAs的操做系統。單向SSL認證(服務器->客戶端)客戶端與服務器使用9個握手消息,以及經過優先創建加密通道來進行消息交換。 1.客戶端發送ClientHello消息來提議SSL選項。 2.服務器經過響應ServerHello消息來選擇SSL選項。 3.服務器發送Certificate消息,其中包括該服務器證書。 4.客戶端經過ServerHelloDone消息,來判斷其部分談判. 5.客戶端在其ClientKeyExchange消息之中發送會話密匙信息(加密服務器公匙) 6.客戶端經過發送ChangeCipherSpec消息來激活全部發送的將來消息的談判選項。 7。客戶端經過發送Finished消息,讓服務器檢查新激活的選項。 8.客戶端經過發送ChangeCipherSpec消息來激活全部發送將來消息的談判選項。 9.服務器發送Finished消息,讓客戶端檢查新激活的選項。雙向SSL認證(服務器<->客戶端) 客戶端與服務器使用12個握手消息,以及優先創建加密通道來進行消息交換: 1.客戶端發送ClientHello消息來提議SSL選項。 2.服務器經過響應ServerHello消息來選擇SSL選項。 3.服務器發送Certificate消息,其中包括該服務器證書。 4.客戶端經過ServerHelloDone消息,來判斷其部分談判. 5.客戶端在其ClientKeyExchange消息之中發送會話密匙信息(加密服務器公匙) 6.客戶端經過發送ChangeCipherSpec消息來激活全部發送的將來消息的談判選項。 7。客戶端經過發送Finished消息,讓服務器檢查新激活的選項。 8.客戶端經過發送ChangeCipherSpec消息來激活全部發送將來消息的談判選項。 9.服務器發送Finished消息,讓客戶端檢查新激活的選項。