一、TLS/SSL協(xié)議
- HTTPS協(xié)議是在HTTP+TLS/SSL協(xié)議組成的可進行加密傳輸、身份認證的網(wǎng)絡協(xié)議,旨在保證數(shù)據(jù)傳輸過程中的保密性、完整性和安全性。
- HTTPS在HTTP和TCP之間,增加了TLS/SSL協(xié)議
- 正是通過TLS協(xié)議,才能保證HTTP通信是安全的。
- TLS主要通過信息加密、校驗機制和身份證書來保證數(shù)據(jù)安全,其中信息加密是保證HTTP交互信息是被加密的,第三方無法知曉真實信息;校驗機制是來校驗信息在傳輸過程中是否被篡改;身份證書是用來確認這個網(wǎng)址的身份的。
- TLS會進行四次握手,是在TCP連接建立三次握手之后進行。因為HTTPS都是基于TCP傳輸協(xié)議實現(xiàn)的,得先建立完可靠的TCP連接才能繼續(xù)TLS握手。
二、SSL單向認證
SSL協(xié)議用到了對稱加密和非對稱加密,在建立連接時,SSL首先對對稱加密密鑰使用非對稱加密。連接建立好后,SSL對傳輸內(nèi)容使用對稱加密。單向認證是客戶端不攜帶證書,服務端存在證書,在認證過程中,僅驗證服務端的身份,當客戶端訪問服務器時,瀏覽器會去檢查服務器的SSL證書,來驗證網(wǎng)站服務器的合法性。一般web端應用都是采用單向認證的。
單向認證過程
-
客戶端向服務端發(fā)送SSL協(xié)議的版本號、加密算法種類、隨機數(shù)等信息,建立連接;
-
服務端給客戶端返回SSL協(xié)議版本號、加密算法種類、隨機數(shù)等信息,以及服務端證書(證書中有公鑰);
-
客戶端用返回的信息,進行對服務端的校驗,驗證通過則繼續(xù)通信,否則告警,驗證內(nèi)容:
- 證書是否過期
- 服務器證書簽發(fā)的CA機構(gòu)是否可靠
- 公鑰是否能解開證書中的數(shù)字簽名
- 服務器證書上的域名是否和服務器實際域名相匹配
-
客戶端向服務器發(fā)送自己所能支持的對稱加密方案,供服務器進行選擇;
-
服務器選擇加密程度高的加密方式;
-
服務器將選擇好的加密方式以明文方式返回給客戶端;
-
客戶端收到加密方案后,使用該加密方案生成隨機碼,用作通信過程中對稱加密的密鑰,使用服務端返回的公鑰進行加密,將加密后的隨機碼發(fā)送給服務器;
-
服務端收到客戶端返回的加密信息后,使用自己的私鑰解密,獲取對稱加密密鑰,接下來的會話中,服務器和客戶端將會使用該密碼進行對稱加密,保證通信的信息安全。
三、雙向認證
雙向認證是指在SSL握手的過程中,同時驗證客戶端和服務器的身份,所以雙向認證SSL證書至少包括兩個或兩個以上的證書,一個是服務器證書,另一個或多個是客戶端證書。
雙向認證過程文章來源:http://www.zghlxwxcb.cn/news/detail-671287.html
- 客戶端向服務器發(fā)送SSL協(xié)議的版本號、加密算法種類、隨機數(shù)等信息,建立連接;
- 服務端給客戶端返回SSL協(xié)議版本號、加密算法種類、隨機數(shù)等信息,以及服務端證書(證書中有公鑰);
- 客戶端使用服務端返回的信息驗證服務器的合法性,驗證內(nèi)容跟單向認證一樣;
- 客戶端校驗通過后,將自己的證書及公鑰發(fā)送到服務器;
- 服務器驗證客戶端的證書,校驗通過后,可獲取到客戶端的公鑰;
- 客戶端發(fā)送自己的可支持的對稱加密方案給服務器供其選擇;
- 服務器端在客戶端發(fā)送的加密方案中先擇加密程度高的方案,將加密方式通過客戶端發(fā)送證書中的公鑰加密后,返回給客戶端;
- 客戶端收到服務端返回的加密方案密文后,用私鑰解密,獲取加密方案的明文,產(chǎn)生隨機碼,作為對稱加密密鑰,使用服務端公鑰加密后,發(fā)送給服務端;
- 服務端使用私鑰解密得到對稱加密的密鑰,接下來的會話中,服務器和客戶端將使用該密鑰進行對稱加密,保證通信安全。
四、SSL單向和雙向認證區(qū)別
SSL單向認證只要求服務端部署了SSL證書,任何用戶都可訪問,僅服務器提供身份認證。SSL雙向認證則是服務端和客戶端均部署證書,進行身份認證,只能是服務端允許的客戶去訪問,安全性相對高。文章來源地址http://www.zghlxwxcb.cn/news/detail-671287.html
到了這里,關(guān)于SSL單雙向認證的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!