SSL/TLS 證書是用於用戶瀏覽器和網站伺服器之間的數據傳輸加密,實現網際網路傳輸安全保護,大多數情況下指的是伺服器證書。伺服器證書是用於向瀏覽器客戶端驗證伺服器,這種是屬於單向認證的SSL證書。但是,如果伺服器需要對客戶端進行身份驗證,該怎麼辦?這就需要雙向認證證書。
為什麼需要另一種認證方式的證書?因為當同時使用兩種認證方式的證書時,有助於雙方(即客戶端和伺服器端)之間的相互認證。另外,與標準SSL證書不同的是,雙向認證的SSL證書實際上被稱作為個人認證證書(PAC)。
在了解SSL證書的兩種認證方式之前,您必須先要了解如何創建HTTPS連接的。
網站所有者為其網站域名購買SSL證書,CA遵循國際行業驗證標準對申請人身份和域名所有權進行驗證。驗證成功後,CA為該域名頒發SSL證書。
網站所有者將CA機構頒發的SSL證書公鑰和私鑰都安裝到網站伺服器上。
當客戶端瀏覽器提交HTTPS請求,將進行SSL握手。
當SSL握手結束後,瀏覽器將生成會話密鑰,並使用伺服器SSL / TLS證書中的公鑰對會話密鑰進行加密。
會話密鑰發送到伺服器後,伺服器使用相應的私鑰對會話密鑰解密。
客戶端瀏覽器與伺服器雙方利用這個會話密鑰加密解密傳輸過程的所有數據。
之所以在上述過程中強調「 SSL握手」一詞,是因為在單向認證和雙向認證流程中,只有使用的證書類型和SSL握手過程本身不同,而所有其他步驟是一樣的。
現在,在了解了SSL基礎知識後,我們再進一步探討單向認證SSL和雙向認證的含義和工作過程。
在所有通信中,涉及兩個端點,即瀏覽器和它所連接的網站(即客戶端和伺服器)。 在單向SSL身份認證過程中,僅驗證一個端點(伺服器)的身份。 當您嘗試打開網站時,您的瀏覽器會通過檢查網站的SSL證書來驗證網站伺服器的合法性。單向認證SSL證書也稱為伺服器身份認證證書。
在整個SSL握手流程中,僅僅單向驗證了伺服器的SSL證書。因此,這個單向認證過程使客戶端瀏覽器可以連接到正確的網站伺服器,並且僅通過安全連接將所有數據傳輸到目標站點。
接下來,我們再了解雙向認證的相關知識。
雙向認證是指在SSL握手過程中將同時驗證客戶端和伺服器的身份,所以雙向認證SSL證書至少包括兩個或兩個以上的證書,一個是伺服器證書,另一個或多個是客戶端證書(即個人認證證書)。
雙向認證SSL握手過程與單向認證有所不同。大部分步驟與單向認證過程一樣,但是,當客戶端成功驗證伺服器後,會增加伺服器驗證客戶端的流程步驟,具體如下圖紅色標註所示:
正如您所見,雙向認證過程中,SSL握手多了兩個步驟,也就是多了伺服器驗證客戶端身份的流程。
私鑰
個人認證證書
CA根證書
CA中間證書(非所有情況下必需)
有了以上必備東西,當客戶端驗證伺服器身份後,伺服器才能驗證客戶端身份。雙方都有自己獨立的SSL證書,而且這些證書必須是由受信任的第三方CA機構頒發的。
了解了單向認證和雙向認證在SSL握手過程中的不同後,新的問題出現了:為什麼需要雙向認證證書?網站使用雙向認證將選擇哪些客戶端與其進行安全通信?
因為雙向認證需要伺服器和客戶端提供身份認證,只能是伺服器允許的客戶方能訪問,安全性相對於高一些。所以需要做雙向認證的SSL證書多數是企業,尤其是像金融行業等對安全性要求較高的企業。
比如,一個企業有自己的內部網站,該網站主要是用於員工查詢信息和官方事務交流的。他們不希望任何人都可以這樣自由訪問內部網站。這種情況下,就可以選擇使用雙向認證的SSL證書驗證客戶端身份,然後再讓他們訪問網站。如此一來,企業可避免網絡犯罪分子和殭屍程序進入該內部網站,降低不安全性風險。
總的來說,一般Web應用都是採用SSL單向認證的,用戶數自由無限制,且無需在通訊層對用戶身份進行驗證,一般都在應用邏輯層來保證用戶的合法登入。但如果是企業應用對接,數據信息相對較多且複雜,可能會要求對客戶端做身份驗證,這時就需要做SSL雙向認證,這也是保護公司內部數據信息的最好的方法。
本文來源:銳成信息
聲明:本文由入駐金色財經的作者撰寫,觀點僅代表作者本人,絕不代表金色財經贊同其觀點或證實其描述。
提示:投資有風險,入市須謹慎。本資訊不作為投資理財建議。