ScholarGate
ผู้ช่วย

TLS และช่องทางที่ปลอดภัย

Transport Layer Security (TLS) เป็นโปรโตคอลที่ช่วยรักษาความปลอดภัยของการสื่อสารส่วนใหญ่บนอินเทอร์เน็ต โดยรวมการแลกเปลี่ยนคีย์ที่ได้รับการยืนยันตัวตนและการเข้ารหัสที่ได้รับการยืนยันตัวตนเข้าด้วยกัน เพื่อสร้างช่องทางที่ปกป้องความเป็นส่วนตัวและความสมบูรณ์ของข้อมูลระหว่างปลายทางสองจุด

ค้นหาหัวข้อด้วย PaperMindเร็ว ๆ นี้Find papers & topics
Tools & resources
ดาวน์โหลดสไลด์
Learn & explore
วิดีโอเร็ว ๆ นี้

Definition

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

Scope

หัวข้อนี้ครอบคลุมโปรโตคอลช่องทางที่ปลอดภัย โดยมี TLS เป็นตัวอย่างหลัก: การจับมือ (handshake) ที่ยืนยันตัวตนเซิร์ฟเวอร์ (และไคลเอนต์ได้ตามต้องการ) และสร้างคีย์เซสชัน, เลเยอร์บันทึก (record layer) ที่ให้การเข้ารหัสที่ได้รับการยืนยันตัวตน, ความลับไปข้างหน้า (forward secrecy) และการป้องกันการลดระดับ (downgrade protection), รวมถึงบทเรียนจากการโจมตีในอดีต หัวข้อนี้กล่าวถึงวิธีการประกอบบล็อกการเข้ารหัสเข้าเป็นโปรโตคอลที่ใช้งานจริง โดยไม่รวมโครงสร้างพื้นฐานใบรับรอง (PKI) และหลักการพื้นฐานแต่ละส่วน ซึ่งจะกล่าวถึงในหัวข้อที่เกี่ยวข้อง

Core questions

  • การจับมือ TLS ยืนยันตัวตนเซิร์ฟเวอร์และตกลงคีย์เซสชันได้อย่างไร?
  • เลเยอร์บันทึกปกป้องแต่ละข้อความด้วยการเข้ารหัสที่ได้รับการยืนยันตัวตนได้อย่างไร?
  • บรรลุความลับไปข้างหน้าได้อย่างไร และเหตุใดจึงสำคัญต่อการรับส่งข้อมูลที่ถูกบันทึกไว้?
  • ป้องกันการโจมตีแบบลดระดับและการเจรจาต่อรองใหม่ได้อย่างไร?
  • การโจมตีในอดีต (BEAST, POODLE, Heartbleed) สอนอะไรเกี่ยวกับการออกแบบโปรโตคอลและการใช้งาน?

Key concepts

  • การจับมือ TLS
  • เลเยอร์บันทึก
  • การเข้ารหัสที่ได้รับการยืนยันตัวตน (AEAD)
  • การแลกเปลี่ยนคีย์ชั่วคราว (ECDHE)
  • ความลับไปข้างหน้า
  • การยืนยันตัวตนเซิร์ฟเวอร์และไคลเอนต์
  • การโจมตีแบบลดระดับและการเจรจาต่อรองใหม่
  • การกลับมาทำงานต่อของเซสชัน
  • การเจรจาต่อรองชุดการเข้ารหัส

Key theories

โปรโตคอลการจับมือบวกโปรโตคอลบันทึก
TLS แยกการจับมือแลกเปลี่ยนคีย์ที่ได้รับการยืนยันตัวตน — ซึ่งตรวจสอบตัวตนผ่านใบรับรองและสร้างคีย์เซสชัน — ออกจากเลเยอร์บันทึกที่เข้ารหัสและยืนยันตัวตนข้อมูลแอปพลิเคชันด้วยคีย์เหล่านั้น โดยประกอบการยืนยันตัวตน การตกลงคีย์ และการป้องกันข้อมูลจำนวนมากเข้าด้วยกันอย่างชัดเจน
ความลับไปข้างหน้าและการป้องกันการลดระดับ
TLS 1.3 บังคับใช้ Diffie-Hellman แบบชั่วคราว (elliptic-curve) สำหรับความลับไปข้างหน้า และผูกบันทึกการจับมือเข้ากับตารางคีย์ เพื่อไม่ให้ผู้โจมตีที่กระตือรือร้นสามารถบังคับให้ลดระดับพารามิเตอร์ที่อ่อนแอลงโดยไม่ถูกตรวจจับได้

Mechanisms

ใน TLS 1.3 ไคลเอนต์จะส่งส่วนแบ่งการแลกเปลี่ยนคีย์และพารามิเตอร์ที่รองรับ; เซิร์ฟเวอร์จะตอบกลับด้วยส่วนแบ่ง Diffie-Hellman ชั่วคราวของตนเอง, ใบรับรอง, และลายเซ็นบนบันทึกการจับมือ (handshake transcript) จากนั้นทั้งสองฝ่ายจะสร้างคีย์เซสชันผ่านฟังก์ชันการสร้างคีย์ (HKDF) เลเยอร์บันทึกจะปกป้องข้อมูลทั้งหมดด้วยการเข้ารหัส AEAD (เช่น AES-GCM หรือ ChaCha20-Poly1305) บันทึกจะได้รับการยืนยันตัวตนเพื่อป้องกันการปลอมแปลงหรือการลดระดับ และการจับมือจะเสร็จสมบูรณ์ในรอบเดียว โดยมีการกลับมาทำงานต่อแบบศูนย์รอบ (zero-round-trip resumption) ที่เป็นทางเลือก

Clinical relevance

TLS รักษาความปลอดภัยของการรับส่งข้อมูลส่วนใหญ่บนอินเทอร์เน็ต: HTTPS สำหรับเว็บ, การขนส่งอีเมลที่ปลอดภัย, API, VPN และการส่งข้อความ ล้วนทำงานผ่าน TLS ความถูกต้องของ TLS กำหนดโดยตรงว่ารหัสผ่าน การชำระเงิน และข้อมูลส่วนบุคคลได้รับการปกป้องจากการโจมตีเครือข่ายหรือไม่ การย้ายจาก SSL/TLS รุ่นแรกที่มีข้อบกพร่องมาสู่ TLS 1.3 — และการวิเคราะห์ที่มาพร้อมกับการเปลี่ยนแปลงนี้ — เป็นแบบอย่างสำหรับการพัฒนาโปรโตคอลภายใต้แรงกดดันในโลกแห่งความเป็นจริง

Evidence & guidelines

TLS 1.3 ได้รับการกำหนดมาตรฐานใน RFC 8446 และแนะนำให้ใช้; SSL 3.0, TLS 1.0 และ TLS 1.1 ถูกยกเลิกแล้ว (RFC 8996) NIST SP 800-52 ให้คำแนะนำในการกำหนดค่า TLS 1.3 ได้รับการพัฒนาด้วยการวิเคราะห์เชิงรูปแบบอย่างกว้างขวาง โดยขจัดจุดอ่อนเดิม (การแลกเปลี่ยนคีย์ RSA แบบคงที่, โหมด CBC, การเจรจาต่อรองใหม่) ที่ทำให้เกิดการโจมตีในอดีต เช่น BEAST, POODLE และข้อบกพร่องในการใช้งาน Heartbleed

History

Netscape สร้าง SSL ในปี 1994-1995; SSL 3.0 ได้รับการออกแบบใหม่โดย IETF เป็น TLS 1.0 (1999) และปรับปรุงผ่าน TLS 1.2 (2008) การโจมตีตลอดทศวรรษ — BEAST, CRIME, POODLE, ข้อบกพร่องในการใช้งาน Heartbleed, Logjam และ FREAK — ได้เปิดเผยจุดอ่อนในโหมดเดิมและการจัดการการลดระดับ TLS 1.3 (RFC 8446, 2018) เป็นการออกแบบใหม่ที่สำคัญ โดยมี forward secrecy ที่บังคับใช้, การจับมือที่เร็วขึ้น และการวิเคราะห์ความปลอดภัยเชิงรูปแบบ

Key figures

  • Eric Rescorla
  • Hugo Krawczyk
  • Kenny Paterson
  • Taher ElGamal

Related topics

Seminal works

  • rfc8446
  • stallings2017
  • katz2020

Frequently asked questions

SSL กับ TLS แตกต่างกันอย่างไร?
TLS เป็นรุ่นต่อจาก SSL SSL (เวอร์ชัน 2.0 และ 3.0) ล้าสมัยและไม่ปลอดภัย; 'SSL' ยังคงเป็นคำที่ใช้กันทั่วไป แต่การเชื่อมต่อเว็บที่ปลอดภัยในปัจจุบันทั้งหมดใช้ TLS โดย TLS 1.3 เป็นเวอร์ชันที่ทันสมัยที่สุด
TLS ป้องกันฉันจากเว็บไซต์ที่เป็นอันตรายได้หรือไม่?
TLS รับประกันเพียงว่าคุณมีช่องทางที่เป็นความลับและได้รับการยืนยันตัวตนไปยังเซิร์ฟเวอร์ที่ระบุในใบรับรอง — มันยืนยันว่าคุณกำลังสื่อสารกับโดเมนนั้น ไม่ใช่ว่าโดเมนนั้นน่าเชื่อถือ เว็บไซต์ฟิชชิ่งสามารถให้บริการใบรับรองที่ถูกต้องสำหรับโดเมนของตนเอง (ที่ดูคล้ายกัน) ดังนั้น TLS จึงไม่รับรองความซื่อสัตย์ของเว็บไซต์

Methods for this concept

Related concepts