Cryptology Academy · บทเรียน

โพรโทคอล PAKE และคุณสมบัติของโพรโทคอล

สำรวจตระกูลโพรโทคอลแลกเปลี่ยนกุญแจที่พิสูจน์ตัวตนด้วยรหัสผ่าน รวมถึง OPAQUE และ SPAKE2

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

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

บทนำสู่ตระกูล PAKE

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

PAKE แบบสมดุลเทียบกับแบบเสริม

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

โพรโทคอล SPEKE

การแลกเปลี่ยนคีย์เลขชี้กำลังอย่างง่ายด้วยรหัสผ่าน (SPEKE) เป็น PAKE แบบสมดุลที่ทั้งสองฝ่ายใช้รหัสผ่านเพื่อกำหนดตัวกำเนิดกลุ่ม g = H(password) จากนั้นจึงทำการแลกเปลี่ยนคีย์แบบ Diffie-Hellman โดยใช้ตัวกำเนิดที่ได้จากรหัสผ่าน ทำให้เฉพาะฝ่ายที่รู้รหัสผ่านเท่านั้นที่ทำการแลกเปลี่ยนให้เสร็จสมบูรณ์ได้

โพรโทคอล J-PAKE

การแลกเปลี่ยนคีย์ที่ยืนยันตัวตนด้วยรหัสผ่านแบบสับเปลี่ยน (J-PAKE) ตามมาตรฐาน RFC 8236 ใช้การพิสูจน์ความรู้ศูนย์เพื่อให้สองฝ่ายสร้างคีย์เซสชันจากรหัสผ่านร่วมกัน J-PAKE ถูกใช้ใน Thread (โพรโทคอลเครือข่ายสำหรับอินเทอร์เน็ตของสรรพสิ่ง) และถูกนำไปใช้งานใน OpenSSL โพรโทคอลนี้ไม่มีสิทธิบัตรและมีคุณสมบัติของ PAKE แบบสมดุล

OPAQUE: PAKE แบบไม่สมมาตร

OPAQUE (ร่างของ IETF, draft-irtf-cfrg-opaque) เป็น PAKE แบบเสริมที่มีคุณสมบัติด้านความปลอดภัยแข็งแกร่ง ระหว่างการลงทะเบียน ไคลเอนต์ใช้ PRF แบบไม่เปิดเผย (OPRF) เพื่อสร้างคีย์จากรหัสผ่านโดยที่เซิร์ฟเวอร์ไม่เรียนรู้รหัสผ่าน เซิร์ฟเวอร์จะจัดเก็บซองข้อมูลเข้ารหัสที่มีคีย์ส่วนตัวของไคลเอนต์อยู่ภายใน

ระยะการเข้าสู่ระบบของ OPAQUE

ระหว่างการเข้าสู่ระบบด้วย OPAQUE ไคลเอนต์และเซิร์ฟเวอร์จะทำโพรโทคอล OPRF เพื่อสร้างคีย์ของไคลเอนต์ขึ้นใหม่โดยที่เซิร์ฟเวอร์ไม่เรียนรู้รหัสผ่าน จากนั้นไคลเอนต์ใช้คีย์นี้ถอดรหัสซองข้อมูลและเรียกดูข้อมูลรับรองเพื่อทำการแลกเปลี่ยนคีย์ให้เสร็จสมบูรณ์ เซิร์ฟเวอร์จะไม่เห็นรหัสผ่านในระยะใดเลย

OPAQUE ทนทานต่อการคำนวณล่วงหน้า

OPAQUE มีความทนทานต่อการคำนวณล่วงหน้า แม้ผู้โจมตีจะเจาะเซิร์ฟเวอร์และได้ข้อมูลที่จัดเก็บไว้ทั้งหมด ก็ไม่สามารถโจมตีแบบเดารหัสผ่านจากพจนานุกรมแบบออฟไลน์กับค่าที่จัดเก็บไว้ได้ หากไม่จำลองการโต้ตอบ OPRF ใหม่สำหรับการเดาแต่ละครั้ง หลักประกันนี้แข็งแกร่งกว่าที่ SRP มอบให้

SPAKE2 และ SPAKE2+

SPAKE2 (RFC 9382) เป็น PAKE แบบสมดุลที่เรียบง่าย ซึ่งอาศัย Diffie-Hellman พร้อมกุญแจสาธารณะที่ถูกบดบังด้วยรหัสผ่าน SPAKE2+ เป็นรุ่นแบบเสริมที่เซิร์ฟเวอร์จัดเก็บค่าแยกกันสำหรับบทบาทไคลเอนต์และเซิร์ฟเวอร์ แอปเปิลใช้ SPAKE2+ ใน HomeKit เพื่อจับคู่อุปกรณ์ และยังมีการใช้โพรโทคอลนี้ในโพรโทคอลจัดเตรียมอุปกรณ์อินเทอร์เน็ตของสรรพสิ่งหลายรายการ

PAKE แบบ CPace

CPace (องค์ประกอบ RFC 9380) เป็น PAKE ที่ออกแบบให้ประกอบร่วมกับส่วนอื่นได้ โดย Haase และ Labrique และได้รับเลือกให้เป็น PAKE แบบสมดุลตามมาตรฐาน IETF CPace ออกแบบมาให้ประกอบร่วมกับขั้นตอนยืนยันคีย์ที่ตามมา และแนะนำให้ใช้ในโพรโทคอลใหม่ที่ต้องการ PAKE แบบสมดุล นี่คือ B-PAKE ที่ CFRG เลือกใช้ควบคู่กับ OPAQUE ในฐานะ A-PAKE

เปรียบเทียบคุณสมบัติด้านความปลอดภัยของ PAKE

PAKE ทุกแบบให้การยืนยันตัวตนและการสร้างคีย์ A-PAKE ยังให้ความทนทานต่อการที่เซิร์ฟเวอร์ถูกเจาะเพิ่มเติมด้วย OPAQUE ให้ความทนทานต่อการคำนวณล่วงหน้านอกเหนือจากความทนทานต่อการที่เซิร์ฟเวอร์ถูกเจาะ FIDO2 ให้การผูกกับต้นทางซึ่งป้องกันฟิชชิง การเลือกใช้ขึ้นอยู่กับว่าจำเป็นต้องใช้การยืนยันตัวตนด้วยรหัสผ่านหรือสามารถแทนที่ด้วยข้อมูลรับรองกุญแจสาธารณะได้

ข้อควรพิจารณาในการนำ PAKE ไปใช้งาน

การนำโพรโทคอล PAKE ไปใช้งานให้ถูกต้องซับซ้อนกว่าการแฮชรหัสผ่านอย่างง่าย และควรเลือกใช้จากไลบรารีที่ผ่านการตรวจสอบแล้ว IETF CFRG ได้กำหนดมาตรฐาน CPace (B-PAKE) และ OPAQUE (A-PAKE) ให้เป็นตัวเลือกที่แนะนำสำหรับโพรโทคอลใหม่ SRP ยังคงถูกใช้ในระบบที่มีอยู่ แต่สำหรับการออกแบบใหม่ควรเลือก OPAQUE

แบบทดสอบคุณสมบัติของ PAKE

คุณสมบัติใดของ PAKE ที่ทำให้ PAKE แบบเสริม (A-PAKE) แตกต่างจาก PAKE แบบสมดุล (B-PAKE)

ทบทวนบทเรียน: ภาพรวมโพรโทคอล PAKE

โพรโทคอล PAKE ช่วยให้ยืนยันตัวตนร่วมกันด้วยรหัสผ่านพร้อมกับสร้างคีย์ได้ B-PAKE (CPace, SPAKE2, J-PAKE) เป็นแบบสมมาตร ส่วน A-PAKE (SRP, OPAQUE, SPAKE2+) จัดเก็บเฉพาะค่าตรวจสอบไว้ฝั่งเซิร์ฟเวอร์ OPAQUE ให้หลักประกันที่แข็งแกร่งที่สุด รวมถึงความทนทานต่อการคำนวณล่วงหน้า IETF ได้กำหนดมาตรฐาน CPace และ OPAQUE ให้เป็นตัวเลือกสมัยใหม่ที่แนะนำ

เริ่มต้นได้ฟรี

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

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

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

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

บทเรียน “โพรโทคอล PAKE และคุณสมบัติของโพรโทคอล” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “โพรโทคอล PAKE และคุณสมบัติของโพรโทคอล”

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

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

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

บทเรียน “โพรโทคอล PAKE และคุณสมบัติของโพรโทคอล” ใช้เวลานานแค่ไหน

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

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

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

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

  1. ปัญหาพื้นฐานของการพิสูจน์ตัวตนด้วยรหัสผ่าน
  2. SRP: โพรโทคอลรหัสผ่านระยะไกลที่ปลอดภัย
  3. โพรโทคอล PAKE และคุณสมบัติของโพรโทคอล
  4. การพิสูจน์ตัวตนแบบไร้รหัสผ่าน: WebAuthn และ FIDO2
← กลับไปที่ Cryptology Academy