SSL證書實現雙向認證的方法

SSL/TLS證書用於保護用戶瀏覽器和網站服務器之間的數據傳輸。當大多數人談到這些證書時,一般指的是服務器證書,它用於對服務器進行客戶機身份驗證。但是,如果需要執行客戶機身份驗證,即希望對瀏覽器進行客戶機身份驗證,該怎麼辦?這就是雙向SSL證書(或“雙向SSL”)派上用場的地方。

爲什麼需要使用雙向SSL證書?因爲當使用這兩種類型的證書時,它促進了雙方之間的相互身份驗證。雙向SSL證書與標準SSL證書不同,雙向SSL證書實際上稱爲個人身份驗證證書(PAC)。

在瞭解了雙向SSL證書之後,接下來我們進一步探索單向SSL和雙向SSL身份驗證過程的含義、工作原理和用法。

單向SSL身份驗證如何與傳統的SSL/TLS證書一起工作?

在所有的通信中,都涉及到兩個端點,瀏覽器和它所連接的網站。客戶端和服務器。在單向SSL身份驗證中,只有一個端點(服務器)的身份得到驗證。當您試圖打開一個網站時,您的瀏覽器通過檢查網站的SSL證書來驗證網站服務器的合法性。單向SSL證書也稱爲服務器身份驗證證書。

單向SSL身份驗證中SSL握手過程是如何發生的?

1.當用戶試圖在他們的web瀏覽器上連接到一個網站時,瀏覽器會嘗試建立一個到該網站服務器的HTTPS連接。它在ClientHello進程中將受支持的密碼套件發送到服務器。

2.服務器通過發送它的公共證書(即SSL/TLS證書)發送給瀏覽器。

3.瀏覽器檢查該證書是否是合法的(例如:支持最新的算法,配置正確等)

4.瀏覽器從預安裝的根存儲庫中檢查CA簽名的有效性。

5.如果一切正常,SSL握手過程將完成,瀏覽器將生成會話密鑰。

如上所述,在整個SSL握手過程中,只驗證服務器的SSL證書。基本上,這個過程使瀏覽器能夠確保它連接到正確的網站服務器,並且所有的數據只能通過安全連接路由到指定的網站。

雙向SSL證書與單向SSL有何不同?

在SSL的兩種方式中,在SSL握手過程中對客戶機和服務器的身份進行驗證。這就是它們被稱爲相互身份驗證SSL證書的原因。現在,讓我們探討SSL握手過程的兩種不同方式:

1.當用戶試圖在他們的web瀏覽器上連接一個網站時,瀏覽器會嘗試建立一個到該網站服務器的HTTPS連接。它在ClientHello進程中將受支持的密碼套件發送到服務器。

2.服務器通過發送它的公共證書來響應,將SSL/TLS證書發送給瀏覽器。

3.瀏覽器檢查證書是否合法,未過期或撤銷,支持最新算法,配置正確等。

4.在此之後,瀏覽器將從預安裝的根存儲庫中檢查證書頒發機構簽名的有效性。

5.一旦成功地驗證了服務器,客戶機(瀏覽器)本身就會向服務器發送它的公共證書。

6.服務器驗證瀏覽器證書的有效性和CA的簽名。

7.如果一切正常,SSL握手過程將完成,瀏覽器將生成會話密鑰。

可以看到,在雙向SSL證書中,在SSL握手過程中還涉及兩個額外的步驟。

一旦客戶機驗證了服務器的身份,服務器也有機會驗證客戶機的身份。在這裏,雙方都有自己的單獨的SSL證書,這些證書必須由公開信任的證書頒發機構簽名。

現在我們已經瞭解了單向SSL和雙向SSL之間的SSL握手過程有何不同,那麼下一個問題就出現了,爲什麼需要雙向證書?網站使用雙向證書來選擇哪些客戶可以安全地與之交互。

例如,一個組織的內部網網站通常是爲其員工訪問信息和就官方事務進行交流而存在的。該組織不希望任何人訪問這樣的內部網站,並希望限制受衆。此外,員工應該通過他們的官方設備訪問該網站,以進一步降低非主動訪問的風險。

在這種情況下,組織可以在允許客戶訪問網站之前使用雙向SSL證書對客戶進行身份驗證,公司還可以用它來清除進入他們網站的網絡罪犯和機器人。

雙向SSL證書一般用於組織內部的溝通。例如,當您在所有員工的設備上都有一個S/MIME或個人身份驗證證書時,沒有人可以攔截和讀取兩個端點之間的通信。就SSL證書而言,一些組織使用它來阻止來自特定地理位置的特定用戶或網站訪問者。無論哪種方式,雙向SSL或任何其他雙向證書(如S/MIME)都爲您的內部和外部通信提供了健壯的安全性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章