โพรโทคอล PAKE และคุณสมบัติของโพรโทคอล
สำรวจตระกูลโพรโทคอลแลกเปลี่ยนกุญแจที่พิสูจน์ตัวตนด้วยรหัสผ่าน รวมถึง OPAQUE และ SPAKE2
โพรโทคอล 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ปัญหาพื้นฐานของการพิสูจน์ตัวตนด้วยรหัสผ่าน
- SRP: โพรโทคอลรหัสผ่านระยะไกลที่ปลอดภัย
- โพรโทคอล PAKE และคุณสมบัติของโพรโทคอล
- การพิสูจน์ตัวตนแบบไร้รหัสผ่าน: WebAuthn และ FIDO2