您好,登錄后才能下訂單哦!
這篇文章主要介紹“TLS協商過程是怎樣的”,在日常操作中,相信很多人在TLS協商過程是怎樣的問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”TLS協商過程是怎樣的”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
非對稱加密(比如RSA系列)算法運作機制:RSA(PrivateKey,MSG)=ENCODE,只能RSA(PublicKey,ENCODE)=MSG;RSA(PublicKey,MSG)=ENCODE,只能RSA(PrivateKey,ENCODE)=MSG
RSA的難于破解基于這一數學事實:
對于兩個大質數
p*q =n
,與N互質的數數量為(p-1)(q-1),當p或者q在1024位以上的時候要想尋找N的兩個因子概率就太低了,而找到恰好的兩個因子對(PublicKey,PrivateKey)就更難了。。。
字段 | 值 | 解釋 |
---|---|---|
Version | TLS1.0 | 采用的TLS版本 |
Random | 0acc.... | 客戶端生成的隨機值client_random |
Cipher Suites | TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 | 客戶端支持的加解密算法組合列表,分為3個部分密鑰交換算法(ECDHE_RSA),批量加密算法(AES_128_GCM),消息認證碼算法(SHA256) |
TIP: Cipher Suite 分為3個部分:
密鑰交換算法:決定客戶端與服務器之間在握手時如何身份驗證;
批量加密算法:加密消息流,TLS完成之后使用的HTTP消息加密算法(對稱加密)
消息認證碼算法:創建消息摘要, 報文的信息摘要算法,也就是信息的校驗碼用于信息完整性校驗
字段 | 值 | 解釋 |
---|---|---|
Version | TLS1.2 | 采用的TLS版本 |
Random | 22c9c.... | 服務端生成的隨機值server_random |
Cipher Suite | TLS_ECDHE_RSA_WITH_CHACHA20_POLY1205_SHA256 | 從客戶端上報的算法組中選擇一個 |
服務器證書下發->Certifacate:
字段 | 值 | 解釋 |
---|---|---|
Version | TLS1.2 | 采用的TLS版本 |
Certificates | .... | CA證書鏈,從根證書到服務器證書 |
證書鏈(這里可以看到和上面的證書連是一致的):
TIP:
證書鏈的信任邏輯:
購買CA證書其實就是讓CA機構使用自己的privateKey給你的Pubkey的做次加密生成一個簽名;
基于這樣一個邏輯:首先A是可信任的,那么A說B是可以信任的那么B就是可以信任的,B再說C是可以信任的那么C也是可信任的;
證書的驗證大體:
讀取CA證書文件的公鑰簽名及證書的頒發機構;
根據頒發機構獲取該機構的根證書ROOTCA讀取根證書(已信任)的公鑰
使用根證書的公鑰對簽名解密出CA的實際公鑰,和CA文件直接讀取的進行匹配
如果匹配則繼續讀取其他的配置判斷是否過期等等
證書基本信息(公鑰,簽名,使用人,頒發機構等等):
ServerKeyExchange:
字段 | 值 | 解釋 |
---|---|---|
Version | TLS1.2 | 采用的TLS版本 |
Pubkey | 22c9c.... | Diffie-Hellman生成的安全數x 使用函數(p,g,pubKey=g^x mod p)計算pubkey后發送給Client,pubkey是使用ECDHE_RSA算法加密的,客戶端需要用同樣的算法和Certificate的公鑰進行進行解密 |
Signature* | .... | 本段報文的簽名算法及簽名 |
ClientKeyExchange:
字段 | 值 | 解釋 |
---|---|---|
Pubkey | ... | Diffie-Hellman生成的安全數y,根據函數pubKey=g^y mod p 生成pubkey發送給服務端,使用ECDHE_RSA算法公鑰加密后發送給服務器 |
ChangeCipherSpec: 切換信息加密算法(對稱加密,在此例中為CHACHA20_POLY1205)
在協商過程中生成的各種隨機數會被用來生成一個會話密鑰(這個算法是通用的...);
后續所有請求都是基于對稱加密算法(在此例中為CHACHA20_POLY1205)的密文了(不會使用效率比較低的非對稱算法)
客戶端發送一個隨機數給服務端(明文),支持的算法組
服務端收到后也發送一個隨機數給客戶端(明文),要使用的算法,及數據簽名
服務端發送證書文件(CA證書鏈)
客戶端對證書合法性進行校驗(驗簽名等等)
校驗完成后再生成第三個隨機數,第三個隨機數用證書的公鑰加密后發送給服務端,服務端用私鑰解密得到第三個隨機數(密文)。
服務端和客戶端手握三個隨機數然后各自生成會話密鑰進行會話加密。
以后數據的機密解密就會使用會話密鑰進行對稱加解密了
TLS-wareshark
到此,關于“TLS協商過程是怎樣的”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。