การจับมือ TLS
ทำความเข้าใจการเริ่มเซสชันที่ปลอดภัย
การจับมือ TLS เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
การจับมือ TLS คืออะไร
การจับมือ TLSคือการเจรจาที่เกิดขึ้นก่อนมีการส่งข้อมูลที่เข้ารหัส
กระบวนการนี้ช่วยให้ไคลเอ็นต์และเซิร์ฟเวอร์ตกลงพารามิเตอร์การเข้ารหัส ตรวจสอบตัวตน และสร้างกุญแจลับร่วมกันได้
เป้าหมายของการจับมือ
การจับมือ TLS มีเป้าหมายสามประการ:
- การยืนยันตัวตน: ไคลเอ็นต์ตรวจสอบใบรับรองของเซิร์ฟเวอร์
- การแลกเปลี่ยนกุญแจ: ทั้งสองฝ่ายสร้างกุญแจเซสชันร่วมกัน
- การเจรจา: ทั้งสองฝ่ายเลือกชุดรหัสลับและรุ่นของโพรโทคอล
ClientHello
ไคลเอ็นต์เริ่มต้นด้วยข้อความ ClientHello ซึ่งมีข้อมูลต่อไปนี้:
- รุ่น TLS ที่รองรับ
- รายการชุดรหัสลับที่สามารถใช้ได้
- ค่าที่สุ่มขึ้น (ค่าสุ่มของไคลเอ็นต์)
- ส่วนขยาย เช่น SNI (ชื่อโฮสต์)
ServerHello
เซิร์ฟเวอร์ตอบกลับด้วย ServerHello โดยเลือกรุ่น TLS และชุดรหัสลับหนึ่งชุดจากรายการของไคลเอ็นต์ พร้อมทั้งส่งค่าที่สุ่มขึ้นของตนเอง
จากนั้นเซิร์ฟเวอร์จะส่งใบรับรองของตน เพื่อให้ไคลเอ็นต์ตรวจสอบตัวตนได้
การตรวจสอบเซิร์ฟเวอร์
ไคลเอ็นต์ตรวจสอบห่วงโซ่ใบรับรองของเซิร์ฟเวอร์ ได้แก่ ลายเซ็น วันที่มีผลบังคับใช้ สถานะการเพิกถอน และการตรวจสอบว่าชื่อโฮสต์ตรงกัน
หากการตรวจสอบล้มเหลว การจับมือจะถูกยกเลิกและจะไม่มีการส่งข้อมูล
การแลกเปลี่ยนกุญแจ
TLS สมัยใหม่ใช้การแลกเปลี่ยนกุญแจดิฟฟี–เฮลล์แมนชั่วคราว (ECDHE) ทั้งสองฝ่ายแลกเปลี่ยนส่วนของกุญแจสาธารณะและคำนวณความลับร่วมเดียวกันอย่างอิสระ
วิธีนี้ให้ความลับส่งต่อ: แม้มีผู้ขโมยกุญแจระยะยาวของเซิร์ฟเวอร์ในภายหลัง ก็ไม่สามารถถอดรหัสเซสชันที่ผ่านมาได้
การสร้างกุญแจเซสชัน
ทั้งสองฝ่ายใช้ความลับร่วมกับค่าสุ่มทั้งสองค่าเพื่อสร้างกุญแจเซสชันแบบสมมาตร
การเข้ารหัสแบบอสมมาตรที่ใช้ทรัพยากรมากจะถูกใช้เพียงเพื่อเริ่มต้นการเข้ารหัสแบบสมมาตรที่รวดเร็วสำหรับข้อมูลจริงเท่านั้น
ข้อความ Finished
แต่ละฝ่ายส่งข้อความ Finished ซึ่งเข้ารหัสด้วยกุญแจใหม่และมีค่าแฮชของการจับมือทั้งหมดอยู่ภายใน
หากทั้งสองฝ่ายตรวจสอบผ่าน แสดงว่าไม่มีผู้ใดแก้ไขการเจรจา และกุญแจของทั้งสองฝ่ายตรงกัน
การเร่งความเร็วของ TLS 1.3
TLS 1.3ปรับกระบวนการจับมือให้เหลือการเดินทางไปกลับเพียงครั้งเดียว (1-RTT) และตัดตัวเลือกที่ไม่ปลอดภัยออก
นอกจากนี้ยังสามารถกลับมาใช้เซสชันก่อนหน้าได้ด้วย 0-RTT โดยส่งข้อมูลไปพร้อมกับข้อความแรก
การสังเกตการจับมือ
คุณสามารถดูรายละเอียดการจับมือ รวมถึงรุ่นและชุดรหัสลับที่เจรจาตกลงกันได้ด้วย OpenSSL
openssl s_client -connect example.com:443 -tls1_3เหตุใดจึงสำคัญ
การจับมือเป็นจุดที่ความปลอดภัยถูกสร้างขึ้นหรือสูญเสียไป การจับมือที่มีข้อบกพร่องหรือถูกลดระดับอาจเปิดเผยข้อมูลการรับส่งทั้งหมดในภายหลัง
ความเข้าใจเรื่องนี้ช่วยให้คุณวินิจฉัยความล้มเหลวของการเชื่อมต่อและสังเกตการโจมตีได้
ตรวจสอบอย่างรวดเร็ว
การแลกเปลี่ยนกุญแจดิฟฟี–เฮลล์แมนชั่วคราว (ECDHE) ให้ประโยชน์ใดในการจับมือ
สรุปทบทวน
คุณได้เรียนรู้ขั้นตอนต่าง ๆ ของการจับมือ TLS
- ClientHello / ServerHelloใช้เจรจารุ่นและชุดรหัสลับ
- ไคลเอ็นต์ตรวจสอบใบรับรอง
- ECDHEสร้างกุญแจเซสชันร่วมที่มีความลับส่งต่อ
- TLS 1.3ทำให้กระบวนการเร็วขึ้นและปลอดภัยยิ่งขึ้น
ถัดไป เราจะตรวจสอบชุดรหัสลับโดยละเอียด
คำถามที่พบบ่อย
บทเรียน “การจับมือ TLS” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การจับมือ TLS” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การจับมือ TLS”
ทำความเข้าใจการเริ่มเซสชันที่ปลอดภัย คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “การจับมือ TLS” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม
ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ