1、ClientHello 中的參數
ClientHello---{ Random_C 、extension } 在 extension中的擴展中包含 ( supported_version 、 supported_groups、 signatureschemlist、key_shared )
2、服務器接收到之后需要選擇支持的最高版本協議,秘鑰分發算法和選擇的公鑰,加密簽名算法、以及random_S、session_id 回復 serverHello,算出自己前主秘鑰,緊接着使用自己選擇的加密方式加密發送一個 Encryption_Extension報文,接着服務器加密發送CA證書與數字簽名,然后等待客戶端的回復 Finished
3、客戶端收到服務器的 SeverHello報文之后,計算前主秘鑰,解密接下來收到的文件,驗證其正確性,如果存在問題,發送警告報文,然后終端此次握手。重新建立握手,如果正確加密發送Finished 報文,之后可以發送加密的數據報文。
4、服務器計算主秘鑰,收到Finished報文之后,加密發送Finished 報文,然后握手成功,可以選擇新的會話 tickets報文
第二部分:
對TLS 1.3的RCF文檔部分重新進行整一遍
1.2 Major Difference from TLS1.2
傳統的加密算法被精簡了,剩下的都是有關認證加密的關聯
客戶端和服務端,服務讀研收到客戶端的ClientHello之后,響應客戶端發送ServerHello ,如果選擇(EC)DHE 秘鑰建立方法,ServerHello包含 “key_share”的擴展 但是如果選擇的是PSK秘鑰建立ServerHello中包含“pre_shared_key”擴展,表明客戶端提供的PSKs被選擇,注意實現方式可以同時選擇 ( EC)DHE 和 PSK兩種方式。當選擇兩種方式的時候兩個擴展都應該包括
握手協議的作用:
握手協議的作用是協議安全參數的連接,握手消息提供給記錄層,
第三部分:
TLS1.3的握手優化
Client發送 ClientHello , extension中攜帶支持的橢圓曲線類型,且對自己支持的橢圓曲線類型計算公鑰(POINT),公鑰放在extension中的 keyshare中
Server端回復 ServerHello和 certificate等,server選擇的橢圓曲線參數,然后乘以橢圓曲線的base point得到公鑰 (POINT),然后提取CLientHEllo中的key_share拓展中對應的公鑰,計算主密鑰。公鑰(POINT)放在ServerHEllo的key_share擴展中。Client收到Server的公鑰(POINT)之后計算主密鑰。
第四部分: TLS1.3的全握手
1、client發送CLientHello 攜帶的信息如下:
- 支持的加密套件 (和TLS1.2版本的信息是一樣的)
- support_versions擴展。包含自己支持的TLS協議版本號(TLS1.2沒有)
- support_group擴展,表示自己支持的橢圓曲線類型
- key_share 擴展,包含Support_group中各橢圓曲線對應的 public key,key_share中的橢圓曲線必須出現在support_group中。(TLS1.2中沒有)
2、Server發送SeverHello 攜帶信息如下:
support_version 擴展,包含自己從Client的Support_version中選擇的TLS協議的版本號,(之前TLS1.2沒有)
key_share擴展,包含自己選中的橢圓曲線,以及自己計算出來的公鑰(之前TLS1.2沒有)
3、Sever 發送 Change cipher Spec (允許不發送,在這一步中我們直接不做處理)
4、Server端發送 Encrypted Extension (加密)
ServerHello 之后必須立刻發送 Encryption Extension ,這是第一個被加密的數據,和秘鑰協商沒有關系(之前TLS1.2沒有)
5、Server端發送 Certificate(加密)
這個報文和之前的協議沒有太大的差別,唯一的是證書鏈中的每個證書后面都有一個 extension(雙向認證)
6、server端發送certificate verify(加密)
certificate verify 生成的額邏輯是當前所有的握手報文解析簽名
7、Server端回復Finished (加密)
8、客戶端發送 Change Cipher Spec (允許不發送 ,在實驗中我們不添加這一步)
9、Client發送加密的Finished
10、Server 發送 new Session Ticket (可選)
其實上面的說法還是不夠,全面,后續還要對參與的參數等 從新分析 之后開始對協議形式化的分析 。所以現在還是卡在這部分的分析上面