SSL的主要目的是在兩個通信應用程序之間提供私密信和可靠性。這個過程通過3個元素來完成:
1、握手協(xié)議。
握手協(xié)議負責協(xié)商被用于客戶機和服務器之間會話的加密參數(shù)。當一個SSL客戶機和服務器第一次開始通信時,它們在一個協(xié)議版本上達成一致,選擇加密算法,選擇相互認證,并使用公鑰技術(shù)來生成共享密鑰。
SSL握手過程步驟:
步驟1:SSL客戶機連接到SSL服務器,并要求服務器驗證它自身的身份。
步驟2:服務器通過發(fā)送它的數(shù)字證書證明其身份。這個交換還可以包括整個證書鏈,直到某個根證書權(quán)威機構(gòu)(CA)。通過檢查有效日期并確認證書包含有可信任CA的數(shù)字簽名,來驗證證書。
步驟3:服務器發(fā)出一個請求,對客戶端的證書進行驗證。但是,因為缺乏公鑰體系結(jié)構(gòu),當今的大多數(shù)服務器不進行客戶端認證。
步驟4:協(xié)商用于加密的消息加密算法和用于完整性檢查的哈希函數(shù)。通常由客戶機提供它支持的所有算法列表,然后由服務器選擇最安全的加密算法。
步驟5:客戶機和服務器通過下列步驟生成會話密鑰:
a. 客戶機生成一個隨機數(shù),并使用服務器的公鑰(從服務器的證書中獲得)對它加密,然后發(fā)送到服務器上
b. 服務器用更加隨機的數(shù)據(jù)(從客戶機的密鑰可用時則使用客戶機密鑰;否則以明文方式發(fā)送數(shù)據(jù))響應。
c. 使用哈希函數(shù),從隨機數(shù)據(jù)生成安全密鑰。
2、記錄協(xié)議。
記錄協(xié)議用于交換應用層數(shù)據(jù)。應用程序消息被分割成可管理的數(shù)據(jù)塊,還可以壓縮,并應用一個MAC(消息認證代碼);然后結(jié)果被加密并傳輸。接受方接受數(shù)據(jù)并對它解密,校驗MAC,解壓縮并重新組合它,并把結(jié)果提交給應用程序協(xié)議。
3、警告協(xié)議。這個協(xié)議用于指示在什么時候發(fā)生了錯誤或兩個主機之間的會話在什么時候終止。
SSL協(xié)議的工作流程:
服務器認證階段:1)客戶端向服務器發(fā)送一個開始信息“Hello”以便開始一個新的會話連接;2)服務器根據(jù)客戶的信息確定是否需要生成新的主密鑰,如需要則服務器在響應客戶的“Hello”信息時將包含生成主密鑰所需的信息;3)客戶根據(jù)收到的服務器響應信息,產(chǎn)生一個主密鑰,并用服務器的公開密鑰加密后傳給服務器;4)服務器恢復該主密鑰,并返回給客戶一個用主密鑰認證的信息,以此讓客戶認證服務器。
云專線將網(wǎng)絡解耦為核心網(wǎng)絡、邊緣網(wǎng)絡、最后1km三部分。用戶可根據(jù)使用情況,靈活配置核心網(wǎng)絡、邊緣網(wǎng)絡、最后1km帶寬。打破了傳統(tǒng)帶寬利用率不均衡問題,造成的高成本問題。
用戶認證階段:在此之前,服務器已經(jīng)通過了客戶認證,這一階段主要完成對客戶的認證。經(jīng)認證的服務器發(fā)送一個提問給客戶,客戶則返回(數(shù)字)簽名后的提問和其公開密鑰,從而向服務器提供認證。