ScholarGate
ผู้ช่วย

การแลกเปลี่ยนและการสร้างคีย์

โปรโตคอลการสร้างคีย์ช่วยให้คู่สนทนาสามารถตกลงร่วมกันในคีย์ลับใหม่ โดยผูกคีย์นั้นเข้ากับข้อมูลระบุตัวตนที่ได้รับการยืนยัน เพื่อให้การสื่อสารในภายหลังได้รับการปกป้องด้วยการเข้ารหัสแบบสมมาตรที่รวดเร็ว

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

Definition

การสร้างคีย์คือโปรโตคอลที่ทำให้คู่สนทนาตั้งแต่สองฝ่ายขึ้นไปสามารถใช้คีย์ลับร่วมกันได้ ในการตกลงคีย์ (key agreement) ทั้งสองฝ่ายมีส่วนร่วมในการสร้างคีย์ ในขณะที่การส่งผ่านคีย์ (key transport) ฝ่ายหนึ่งสร้างและส่งคีย์อย่างปลอดภัย

Scope

หัวข้อนี้ครอบคลุมโปรโตคอลการแลกเปลี่ยนคีย์ที่ได้รับการยืนยันตัวตน (AKE): การตกลงคีย์เทียบกับการส่งผ่านคีย์ ภัยคุกคามที่โปรโตคอลเหล่านี้ต้องต้านทาน (การโจมตีแบบคนกลาง, การโจมตีซ้ำ, การปลอมแปลงตัวตนจากการถูกบุกรุกคีย์) คุณสมบัติความปลอดภัย เช่น ความลับไปข้างหน้า (forward secrecy) และการควบคุมคีย์แบบมีส่วนร่วม (contributory key control) และแบบจำลองเชิงรูปนัย (Bellare-Rogaway, Canetti-Krawczyk) ที่ใช้ในการวิเคราะห์ นอกจากนี้ยังกล่าวถึงวิธีการเพิ่มการยืนยันตัวตนให้กับ Diffie-Hellman แบบดิบๆ โดยไม่รวมถึงคณิตศาสตร์ของปัญหาพื้นฐานและโปรโตคอลช่องสัญญาณที่ใช้งานจริง ซึ่งจะกล่าวถึงแยกต่างหาก

Core questions

  • โปรโตคอลการแลกเปลี่ยนคีย์ที่ได้รับการยืนยันตัวตนต้องรับประกันคุณสมบัติความปลอดภัยใดบ้าง?
  • การยืนยันตัวตนถูกนำมาใช้กับโปรโตคอลการตกลงคีย์แบบดิบๆ เช่น Diffie-Hellman ได้อย่างไร?
  • ความลับไปข้างหน้าคืออะไร และการเลือกคีย์ชั่วคราวให้ความลับไปข้างหน้าได้อย่างไร?
  • แบบจำลองเชิงรูปนัยสามารถจับภาพผู้โจมตีที่กระตือรือร้นซึ่งควบคุมเครือข่ายได้อย่างไร?
  • โปรโตคอลต้องต้านทานการโจมตีใดบ้าง (การโจมตีแบบคนกลาง, การโจมตีซ้ำ, การปลอมแปลงตัวตนจากการถูกบุกรุกคีย์, การโจมตีแบบ unknown-key-share)?

Key concepts

  • การตกลงคีย์เทียบกับการส่งผ่านคีย์
  • การแลกเปลี่ยนคีย์ที่ได้รับการยืนยันตัวตน
  • ความลับไปข้างหน้า
  • คีย์ชั่วคราว
  • การโจมตีแบบคนกลาง
  • การปลอมแปลงตัวตนจากการถูกบุกรุกคีย์
  • การโจมตีแบบ unknown-key-share
  • แบบจำลอง Bellare-Rogaway และ Canetti-Krawczyk
  • ฟังก์ชันการสร้างคีย์

Key theories

การแลกเปลี่ยนคีย์ที่ได้รับการยืนยันตัวตน
การตกลงคีย์แบบดิบๆ ให้คีย์ลับที่ใช้ร่วมกันแต่ไม่รับประกันตัวตนของคู่สนทนา โปรโตคอล AKE เพิ่มการยืนยันตัวตน (ผ่านลายเซ็น, ใบรับรอง, หรือคีย์ที่ใช้ร่วมกันล่วงหน้า) เพื่อให้แต่ละฝ่ายรู้ว่าตนเองใช้คีย์ร่วมกับคู่สนทนาที่ตั้งใจไว้ ไม่ใช่ผู้แอบอ้าง
ความลับไปข้างหน้าและความสดใหม่ของคีย์เซสชัน
การใช้วัสดุคีย์ชั่วคราวที่สดใหม่สำหรับแต่ละเซสชันและรวมเข้ากับคีย์การยืนยันตัวตนระยะยาว จะได้คีย์เซสชันที่ยังคงเป็นความลับแม้ว่าคีย์ระยะยาวจะถูกบุกรุกในภายหลัง ในขณะเดียวกันก็ต้านทานการโจมตีซ้ำของเซสชันเก่า

Mechanisms

AKE โดยทั่วไปจะรวมการแลกเปลี่ยน Diffie-Hellman แบบชั่วคราวเข้ากับการยืนยันตัวตน: คู่สนทนาจะแลกเปลี่ยนค่าสาธารณะแบบชั่วคราวและพิสูจน์ตัวตนโดยการลงนามในข้อมูลการถอดความ (transcript data) หรือโดยการใช้คีย์ระยะยาวที่ใช้ร่วมกันล่วงหน้าหรือได้รับการรับรอง ความลับที่ใช้ร่วมกันที่ได้จะถูกส่งผ่านฟังก์ชันการสร้างคีย์ (key-derivation function) พร้อมกับแฮชของข้อมูลการถอดความเพื่อผูกเข้ากับเซสชัน ซึ่งจะช่วยป้องกันการโจมตีซ้ำและการโจมตีแบบ unknown-key-share และให้คีย์เซสชันที่สดใหม่และได้รับการยืนยันตัวตน

Clinical relevance

การสร้างคีย์เป็นขั้นตอนเริ่มต้นของการเชื่อมต่อที่ปลอดภัยเกือบทุกครั้ง: การจับมือ TLS 1.3, Signal X3DH และ Double Ratchet, IPsec IKEv2, SSH และ WireGuard ล้วนดำเนินการแลกเปลี่ยนคีย์ที่ได้รับการยืนยันตัวตนก่อนที่ข้อมูลใดๆ จะไหลผ่าน ความถูกต้องของโปรโตคอลเหล่านี้เป็นตัวกำหนดว่าผู้โจมตีสามารถปลอมแปลงเป็นเซิร์ฟเวอร์หรือแอบอยู่ระหว่างสองฝ่ายได้หรือไม่

Evidence & guidelines

แผนการสร้างคีย์ได้รับการกำหนดมาตรฐานใน NIST SP 800-56A/B และวิเคราะห์ในแบบจำลองเช่น Bellare-Rogaway และ Canetti-Krawczyk โปรโตคอลสมัยใหม่ (TLS 1.3, Noise framework) กำหนดให้มีการแลกเปลี่ยนคีย์แบบชั่วคราวที่มีความลับไปข้างหน้าและได้รับการวิเคราะห์ความปลอดภัยอย่างเป็นทางการ การแลกเปลี่ยนคีย์แบบคงที่แบบเดิมที่ไม่มีความลับไปข้างหน้าไม่เป็นที่แนะนำ

History

การแลกเปลี่ยนคีย์ที่ได้รับการยืนยันตัวตนพัฒนามาจากโปรโตคอล Diffie-Hellman ในปี 1976 และการตระหนักว่าจำเป็นต้องมีการยืนยันตัวตนเพื่อต้านทานผู้โจมตีที่กระตือรือร้น ในช่วงทศวรรษ 1990-2000 ได้มีการสร้างแบบจำลองความปลอดภัยที่เข้มงวด (Bellare-Rogaway 1993, Canetti-Krawczyk 2001) และโปรโตคอลแบบ station-to-station และ MQV บทเรียนเหล่านี้ได้รับการรวบรวมในการจับมือ TLS 1.3 ที่ได้รับการวิเคราะห์อย่างเป็นทางการและกรอบงานโปรโตคอล Noise

Key figures

  • Whitfield Diffie
  • Martin Hellman
  • Mihir Bellare
  • Phillip Rogaway
  • Ran Canetti
  • Hugo Krawczyk

Related topics

Seminal works

  • diffie1976
  • katz2020
  • menezes1996

Frequently asked questions

ความแตกต่างระหว่างการตกลงคีย์และการส่งผ่านคีย์คืออะไร?
ในการตกลงคีย์ (เช่น Diffie-Hellman) ทั้งสองฝ่ายมีส่วนร่วมในการสร้างค่าสุ่ม ดังนั้นจึงไม่มีฝ่ายใดฝ่ายหนึ่งกำหนดคีย์สุดท้ายได้เพียงลำพัง ในการส่งผ่านคีย์ ฝ่ายหนึ่งสร้างคีย์และส่งคีย์นั้นโดยเข้ารหัสภายใต้คีย์สาธารณะของอีกฝ่าย การตกลงคีย์มักจะสนับสนุนความลับไปข้างหน้าได้ดีกว่า
ทำไมการสร้างคีย์เพียงครั้งเดียวจึงไม่เพียงพอสำหรับการเชื่อมต่อที่ยาวนาน?
คีย์ที่มีอายุการใช้งานยาวนานจะเพิ่มความเสี่ยงหากถูกบุกรุก และอาจถูกลดทอนลงด้วยการวิเคราะห์รหัสลับหรือการสังเกตการณ์ของผู้โจมตี โปรโตคอลจะทำการเปลี่ยนคีย์หรือ ratchet เป็นระยะ (เช่นใน Signal) เพื่อให้การบุกรุกคีย์เซสชันเดียวไม่เปิดเผยข้อความในอดีตหรืออนาคต

Methods for this concept

Related concepts