TLS 1.3 RFC หัวข้อ 7.1 แสดงรายการนี้เป็นส่วนสุดท้ายของกำหนดการสำคัญ:
https://datatracker.ietf.org/doc/html/rfc8446#section-7.1
...
0 -> HKDF-Extract = ความลับหลัก
|
+-----> ได้รับความลับ (., "c ap การจราจร",
| ClientHello...เซิฟเวอร์เสร็จสิ้น)
| = client_application_traffic_secret_0
|
+-----> Derive-Secret(., "s ap การจราจร",
| ClientHello...เซิฟเวอร์เสร็จสิ้น)
| = server_application_traffic_secret_0
|
+-----> ได้รับความลับ (., "exp master",
| ClientHello...เซิฟเวอร์เสร็จสิ้น)
| = ผู้ส่งออก_master_secret
|
+-----> ได้รับความลับ (., "res master",
ลูกค้าสวัสดี...ลูกค้าเสร็จแล้ว)
= resumption_master_secret
การคำนวณสามรายการแรกใช้เวลา มาสเตอร์ซีเคร็ท
รวมกับป้ายกำกับ S "c ap การจราจร"
/ "s ap การจราจร"
/ "มาสเตอร์ประสบการณ์"
(ตามลำดับ) และก แฮชบันทึกการจับมือกันของ ลูกค้า สวัสดี ผ่าน เซิร์ฟเวอร์เสร็จสิ้น. ผลลัพธ์ของแต่ละสิ่งเหล่านี้คือสามคีย์: client_application_traffic_secret_0
, server_application_traffic_secret_0
, ผู้ส่งออก_master_secret
.
การคำนวณครั้งสุดท้ายใช้เวลา มาสเตอร์ซีเคร็ท
รวมกับป้ายกำกับ "มาสเตอร์เรส"
และ ก แฮชบันทึกการจับมือกันของ ลูกค้า สวัสดี ผ่าน ลูกค้าเสร็จแล้ว. ผลลัพธ์ที่ได้คือ resumption_master_secret
.
คำถามของฉัน:
อะไรคือเหตุผลที่อยู่เบื้องหลังการใช้ Client Hello ผ่าน Client Finish แทน Client Hello ผ่าน Server Finish เมื่อคำนวณ Resumption Master Secret