Cryptology Academy · บทเรียน

การรักษาความลับล่วงหน้าและการแลกเปลี่ยนคีย์ชั่วคราว

ทำความเข้าใจ PFS, DHE กับ ECDHE และเหตุผลที่คีย์ชั่วคราวมีความสำคัญ

บทเรียน 4 จาก 413 ขั้นตอน

การรักษาความลับล่วงหน้าและการแลกเปลี่ยนคีย์ชั่วคราว เป็นบทเรียน Cryptology Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cryptology Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

ยินดีต้อนรับ

การรักษาความลับไปข้างหน้าช่วยให้มั่นใจได้ว่า แม้คีย์ระยะยาวจะถูกเจาะ เซสชันในอดีตก็ยังคงปลอดภัย ปัจจุบันมาตรฐานความปลอดภัยส่วนใหญ่กำหนดให้ต้องมีคุณสมบัตินี้

การรักษาความลับไปข้างหน้าคืออะไร

ความลับไปข้างหน้าอย่างสมบูรณ์ (PFS): การถูกเจาะคีย์ระยะยาวไม่ (NOT) เปิดทางให้ถอดรหัสข้อมูลที่บันทึกไว้ก่อนหน้านี้ได้ แต่ละเซสชันใช้คีย์ชั่วคราวใหม่ ซึ่งจะถูกทำลายหลังใช้งาน

เหตุใด TLS 1.2 ที่ไม่มี PFS จึงอันตราย

การแลกเปลี่ยนคีย์ RSA ใน TLS 1.2: ผู้โจมตีบันทึกข้อมูลการสื่อสารที่เข้ารหัสไว้นานหลายปี ต่อมาขโมยคีย์ส่วนตัว RSA ของเซิร์ฟเวอร์ได้ จากนั้นจึงสามารถถอดรหัสเซสชันที่จัดเก็บไว้ทั้งหมด (ALL) ย้อนหลังได้ โปรแกรม PRISM ของ NSA จัดเก็บข้อมูลการสื่อสารด้วยเหตุผลนี้

Diffie-Hellman แบบชั่วคราว (DHE)

DHE: แต่ละฝ่ายสร้างคีย์ DH ใหม่สำหรับแต่ละเซสชัน จากนั้นสร้างและใช้งานคีย์เซสชัน ทั้งสองฝ่ายลบคีย์ส่วนตัวชั่วคราวของตนหลังการจับมือ คีย์ระยะยาวใช้เพียงเพื่อยืนยันตัวตน

ECDHE: DHE บนเส้นโค้งวงรี

ECDHE = ECDH แบบชั่วคราว ในแต่ละเซสชัน TLS: สร้างคู่คีย์ EC ใหม่ → แลกเปลี่ยน → สร้างคีย์เซสชัน → ลบคีย์ส่วนตัว เป็นรูปแบบหลักใน TLS 1.3 และเร็วกว่า DHE ประมาณ 10 เท่าเมื่อมีระดับความปลอดภัยเท่ากัน

PFS ที่ TLS 1.3 กำหนดให้ต้องมี

TLS 1.3 กำหนดให้ต้องใช้การแลกเปลี่ยนคีย์ชั่วคราว ชุดรหัสลับทั้งหมดใช้ ECDHE หรือ DHE การแลกเปลี่ยนคีย์ RSA ถูกนำออกทั้งหมด 0-RTT (ข้อมูลระยะแรก) เป็นข้อยกเว้นเพียงอย่างเดียวของ PFS

0-RTT และข้อแลกเปลี่ยน

TLS 1.3 0-RTT ส่งข้อมูลก่อนการจับมือจะเสร็จสมบูรณ์ โดยใช้ตั๋วเซสชันที่แชร์ล่วงหน้า ซึ่งเป็นการกลับมาใช้เซสชันเดิมโดยไม่ต้องแลกเปลี่ยนกุญแจใหม่ วิธีนี้แลกกับการป้องกันการเล่นซ้ำและความลับแบบส่งต่ออย่างเคร่งครัด เพื่อให้มีเวลาแฝงเพียงหนึ่งรอบ

ความลับแบบส่งต่อใน SSH

SSH ใช้ DH/ECDH ชั่วคราวระหว่างการแลกเปลี่ยนกุญแจ (kex) กุญแจโฮสต์ใช้ยืนยันตัวตนของเซิร์ฟเวอร์ กุญแจเซสชันได้มาจากการแลกเปลี่ยนแบบชั่วคราวและจะถูกทิ้งหลังจบเซสชัน PFS มีมาในตัว

อัลกอริทึมดับเบิลแรตเชต

โปรโตคอลสัญญาณใช้อัลกอริทึมดับเบิลแรตเชต หลังจาก ECDH เริ่มต้น แต่ละข้อความจะทำให้แรตเชตเดินหน้าและสร้างกุญแจใหม่ ทำให้มีความลับแบบส่งต่อและการกู้คืนหลังถูกเจาะ (ความลับในอนาคต) สำหรับแต่ละข้อความ

HSM และการปกป้องกุญแจระยะยาว

แม้จะมี PFS การปกป้องกุญแจยืนยันตัวตนระยะยาวก็ยังสำคัญ กุญแจเหล่านี้ใช้ระบุเอกลักษณ์ของเซิร์ฟเวอร์ ไม่ได้ใช้เข้ารหัส HSM ช่วยให้มั่นใจได้ว่ากุญแจส่วนตัวจะไม่สามารถส่งออกได้ แม้ OS ของเซิร์ฟเวอร์จะถูกเจาะแล้วก็ตาม

ตรวจสอบ PFS บนเซิร์ฟเวอร์ของคุณ

ตรวจสอบด้วย OpenSSL: openssl s_client -connect yoursite.com:443 -cipher 'ECDHE' หรือทางออนไลน์: Qualys SSL Labs (ssllabs.com/ssltest) จะประเมินการกำหนดค่า TLS ของคุณและทดสอบความลับแบบส่งต่อโดยเฉพาะ

ตรวจสอบอย่างรวดเร็ว

อะไรทำให้ ECDHE ให้ความลับแบบส่งต่อได้ ในขณะที่การแลกเปลี่ยนกุญแจ RSA แบบคงที่ทำไม่ได้

สรุปทบทวน

ความลับแบบส่งต่อเป็นสิ่งจำเป็นสำหรับความปลอดภัยสมัยใหม่ ต่อไปเราจะเจาะลึกความปลอดภัยของ RSA ทั้งช่องโหว่ใน RSA แบบตำราและรูปแบบการเติมข้อมูล
เริ่มต้นได้ฟรี

เรียนรู้ Cryptology Academy ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
67
บทเรียน
261

คำถามที่พบบ่อย

บทเรียน “การรักษาความลับล่วงหน้าและการแลกเปลี่ยนคีย์ชั่วคราว” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การรักษาความลับล่วงหน้าและการแลกเปลี่ยนคีย์ชั่วคราว” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cryptology Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การรักษาความลับล่วงหน้าและการแลกเปลี่ยนคีย์ชั่วคราว”

ทำความเข้าใจ PFS, DHE กับ ECDHE และเหตุผลที่คีย์ชั่วคราวมีความสำคัญ คุณปฏิบัติ Cryptology Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cryptology Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cryptology Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “การรักษาความลับล่วงหน้าและการแลกเปลี่ยนคีย์ชั่วคราว” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cryptology Academy นี้ได้ไหม

ได้ บทเรียน Cryptology Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. ปัญหาการกระจายคีย์
  2. คณิตศาสตร์ของการแลกเปลี่ยนคีย์ Diffie-Hellman
  3. ECDH: เส้นโค้งวงรีสำหรับการแลกเปลี่ยนคีย์
  4. การรักษาความลับล่วงหน้าและการแลกเปลี่ยนคีย์ชั่วคราว
← กลับไปที่ Cryptology Academy