SSL?安全傳輸協議(安全套接層)
也叫TLS ---- 傳輸層安全協議
SSL的工作原理:SSL協議因為是基于TCP協議工作的,通信雙方需要先建立TCP會話。因為SSL協議需要進行安全保證,需要協商安全參數,所以也需要建立SSL會話。之后,所有的數據將加 密傳輸。SSL的加密和認證體系,采用的是證書體系來實現的。
SSL記錄協議
相當于將應用層的數據加密封裝之后,放置在這個記錄協議中。 、
SSL握手協議
允許服務器和客戶端相互認證,并在應用層協議傳輸數據之前,協商出一個 加密算法和會話密鑰(對稱加密算法的密鑰)。
SSL密碼變化協議
客戶端和服務器都可以發送,主要就是通知后面的數據將使用協商出來 的加密算法加密傳輸。
SSL警告協議
用來在出現錯誤的時候進行告警。
SSL會話建立的過程
1、TCP三次握手,建立鏈接會話

2、客戶端發送client hello包



3、server hello

最后這個服務器證書,可能隨著server hello包發送過來,也可能單獨使用一個數據包發送。
4、服務器發送證書 --- 驗證身份

Server key exchange --- 傳遞公鑰
Server hello done
該數據包中沒有實質參數,僅起到通知作用,通知客戶端,服務器已經做好準備進行主 密鑰的協商。 在這個過程中,可以增加客戶端的證書請求(要求客戶端的身份認證),但是,這一項 是可選項,默認只進行服務器的身份認證。
5、客戶端的回應

因為此時客戶端已經擁有服務器的公鑰,所以,發送的參數都是加密(公鑰加密,非對 稱加密算法)發送的。
1,預主密鑰?(pre-master-key) ?注意,最終的會話密鑰就是靠三個隨機數生成。
????????????????1,客戶端發送的隨機數;
????????????????2,服務器發送的隨機數;
????????????????3,預主密鑰(加密發送);因為機器產生的隨機數都是偽隨機數,所以,可能存在被破解的風險, 所以,使用三個隨機數進行計算,更安全。三個隨機數相當于是真隨機。2,編碼變更通知 --- 因為此時客戶端已經擁有三個隨機數,可以計算出最最終的 會話密鑰,所以,告知服務器,后面是數據可以加密傳輸了。
3,結束通知 --- 告知結束,并進行一次驗證
6、服務器的最終回應

Session ticket --- 進行會話復用 ---- 主要記錄身份認證信息。會話結束之后,如果需要重啟會話,在重新進行握手是,客戶端發送hello時,可以攜帶該參數,用于快速重啟會話。(省略了身份認證。)
?