0Pricing
Cyber Security Academy · บทเรียน

การจับมือ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การจับมือ TLS
  2. ชุดการเข้ารหัส
  3. การตรวจสอบใบรับรอง
  4. การโจมตี TLS ที่พบบ่อย
← กลับไปที่ Cyber Security Academy