การพิสูจน์ตัวตนแบบไร้รหัสผ่าน: WebAuthn และ FIDO2
สำรวจมาตรฐาน WebAuthn ของ W3C และพาสคีย์ FIDO2 ในฐานะอนาคตของการพิสูจน์ตัวตน
การพิสูจน์ตัวตนแบบไร้รหัสผ่าน: WebAuthn และ FIDO2 เป็นบทเรียน Cryptology Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cryptology Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน
สถาปัตยกรรม FIDO2
FIDO2 เป็นคำเรียกรวมสำหรับข้อกำหนด Web Authentication ของ W3C (WebAuthn) ซึ่งใช้ร่วมกับโพรโทคอลระหว่างไคลเอ็นต์กับตัวตรวจสอบสิทธิ์ 2 (CTAP2) ของ FIDO Alliance ทั้งสองส่วนนี้ร่วมกันกำหนดระบบยืนยันตัวตนแบบไม่ใช้รหัสผ่านอย่างครบถ้วน โดยใช้การเข้ารหัสด้วยกุญแจสาธารณะที่ผูกกับต้นทางของฝ่ายที่พึ่งพา
ประเภทของอุปกรณ์ยืนยันตัวตน
FIDO2 รองรับอุปกรณ์ยืนยันตัวตนสองประเภท อุปกรณ์ยืนยันตัวตนบนแพลตฟอร์มติดตั้งอยู่ภายในอุปกรณ์ เช่น Touch ID และ Face ID บนอุปกรณ์ Apple และ Windows Hello บน Windows ส่วนอุปกรณ์ยืนยันตัวตนแบบพกพาเป็นโทเค็นฮาร์ดแวร์ภายนอก เช่น YubiKey, Google Titan Key และคีย์ Feitian ทั้งหมดใช้การเข้ารหัสด้วยกุญแจสาธารณะและสร้างคำแถลงการรับรอง
การลงทะเบียน: การสร้างข้อมูลรับรอง
ระหว่างการลงทะเบียน WebAuthn อุปกรณ์ยืนยันตัวตนจะสร้างคู่กุญแจแบบอสมมาตรชุดใหม่สำหรับฝ่ายที่พึ่งพา กุญแจสาธารณะจะถูกส่งไปยังเซิร์ฟเวอร์และจัดเก็บไว้ กุญแจส่วนตัวจะไม่ออกจากอุปกรณ์ยืนยันตัวตนเลย คำแถลงการรับรองจะพิสูจน์ประเภทของอุปกรณ์ยืนยันตัวตนและพิสูจน์ว่ากุญแจถูกสร้างขึ้นภายในฮาร์ดแวร์ของอุปกรณ์ยืนยันตัวตน
การยืนยันตัวตน: การยืนยันข้อมูลรับรอง
ระหว่างการยืนยันตัวตนด้วย WebAuthn เซิร์ฟเวอร์จะส่งคำท้าทายไปยังไคลเอ็นต์ อุปกรณ์ยืนยันตัวตนจะลงลายเซ็นคำท้าทายพร้อมกับรหัสฝ่ายที่พึ่งพาและข้อมูลไคลเอ็นต์ โดยใช้กุญแจส่วนตัวที่จัดเก็บไว้ เซิร์ฟเวอร์จะตรวจสอบลายเซ็นด้วยกุญแจสาธารณะที่จัดเก็บไว้ ไม่มีการส่งข้อมูลลับที่ใช้ร่วมกันในขั้นตอนใดเลย
การผูกกับต้นทางช่วยป้องกันฟิชชิง
รหัสฝ่ายที่พึ่งพาในการยืนยันข้อมูลรับรองของ WebAuthn ถูกผูกกับต้นทาง (โดเมน) ของหน้าที่ร้องขอด้วยกลไกการเข้ารหัส อุปกรณ์ยืนยันตัวตนจะปฏิเสธการลงลายเซ็นการยืนยันข้อมูลรับรองสำหรับต้นทางที่แตกต่างจากต้นทางที่ลงทะเบียนไว้ การออกแบบเช่นนี้ทำให้ WebAuthn ทนทานต่อฟิชชิงโดยพื้นฐาน เว็บไซต์ฟิชชิงปลอมจึงไม่สามารถดำเนินการยืนยันตัวตนให้เสร็จสมบูรณ์ได้
กุญแจประจำอุปกรณ์และการไม่ใช้รหัสผ่านอย่างแท้จริง
ข้อมูลรับรองแบบค้นหาได้ (เดิมเรียกว่ากุญแจประจำอุปกรณ์) จะจัดเก็บอยู่บนอุปกรณ์ยืนยันตัวตนเองและจัดทำดัชนีตามรหัสฝ่ายที่พึ่งพา ฟังก์ชันนี้ทำให้กระบวนการไม่ใช้รหัสผ่านอย่างแท้จริงเป็นไปได้ โดยผู้ใช้ยื่นอุปกรณ์ยืนยันตัวตน เลือกบัญชีของตนจากข้อมูลรับรองที่จัดเก็บอยู่ในอุปกรณ์ และยืนยันตัวตนโดยไม่ต้องป้อนชื่อผู้ใช้หรือรหัสผ่าน
การตรวจสอบผู้ใช้เทียบกับการแสดงตนของผู้ใช้
WebAuthn แยกความแตกต่างระหว่างการตรวจสอบผู้ใช้ (UV) กับการแสดงตนของผู้ใช้ (UP) การแสดงตนของผู้ใช้กำหนดเพียงให้ผู้ใช้แตะหรือสัมผัสอุปกรณ์ยืนยันตัวตน ส่วนการตรวจสอบผู้ใช้ยังกำหนดให้ตรวจสอบด้วย PIN หรือข้อมูลชีวมิติ เพื่อพิสูจน์ว่าบุคคลนั้นอยู่ตรงหน้า การใช้งานที่มีความปลอดภัยสูงควรกำหนดให้ใช้ UV ในการยืนยันตัวตน
โพรโทคอล CTAP2
CTAP2 กำหนดโพรโทคอลระหว่างไคลเอ็นต์ (เบราว์เซอร์หรือ OS) กับอุปกรณ์ยืนยันตัวตนแบบพกพาภายนอกผ่าน USB, NFC หรือ BLE โดยระบุคำสั่งสำหรับการสร้างข้อมูลรับรอง การสร้างการยืนยันข้อมูลรับรอง และการจัดการอุปกรณ์ยืนยันตัวตน CTAP2.1 เพิ่มความสามารถต่าง ๆ เช่น การจัดการข้อมูลรับรองและนโยบายบังคับใช้ UV เสมอ
พาสคีย์: ข้อมูลรับรองที่ซิงโครไนซ์
พาสคีย์คือข้อมูลรับรอง WebAuthn แบบค้นหาได้ ซึ่งซิงโครไนซ์ข้ามอุปกรณ์ของผู้ใช้ผ่านระบบคลาวด์เข้ารหัสของผู้จำหน่ายแพลตฟอร์ม เช่น พวงกุญแจ iCloud ของ Apple, ตัวจัดการรหัสผ่านของ Google และ Windows Hello สำหรับธุรกิจ พาสคีย์ช่วยให้ยืนยันตัวตนโดยไม่ใช้รหัสผ่านและใช้งานข้ามอุปกรณ์ได้ โดยผสานความปลอดภัยเข้ากับความสะดวกที่ผู้ใช้คาดหวังจากรหัสผ่าน
ขั้นตอนการใช้งานพาสคีย์
ขั้นตอนการยืนยันตัวตนด้วยพาสคีย์โดยทั่วไปมีดังนี้ ผู้ใช้ไปยังเว็บไซต์และคลิก "เข้าสู่ระบบด้วยพาสคีย์" เบราว์เซอร์จะแสดงพาสคีย์ที่มีให้ใช้สำหรับเว็บไซต์นั้น ผู้ใช้ยืนยันตัวตนด้วยข้อมูลชีวมิติ (Face ID, Touch ID หรือ Windows Hello) เบราว์เซอร์จะลงลายเซ็นคำท้าทายและส่งการยืนยันข้อมูลรับรอง กระบวนการทั้งหมดใช้เวลาเพียงไม่กี่วินาทีโดยไม่ต้องป้อนรหัสผ่าน
เปรียบเทียบ WebAuthn กับการยืนยันตัวตนแบบดั้งเดิม
รหัสผ่านแบบดั้งเดิม: ถูกหลอกเอาได้ นำกลับมาใช้ซ้ำได้ และอาจถูกถอดรหัสจากการรั่วไหลของฐานข้อมูล รหัส OTP (TOTP): ถูกหลอกเอาได้แบบเรียลไทม์ รหัส SMS: เสี่ยงต่อการสับเปลี่ยน SIM และถูกหลอกเอาได้ WebAuthn/พาสคีย์: ทนทานต่อฟิชชิงด้วยการผูกกับต้นทาง ไม่มีข้อมูลลับฝั่งเซิร์ฟเวอร์ให้ขโมย ใช้แยกกันในแต่ละเว็บไซต์ และมีกุญแจส่วนตัวที่ฮาร์ดแวร์ป้องกันไว้ WebAuthn เป็นกลไกการยืนยันตัวตนที่แข็งแกร่งที่สุดซึ่งมีการใช้งานอย่างแพร่หลายในปัจจุบัน
ตรวจสอบ WebAuthn เทียบกับรหัสผ่าน
คุณสมบัติใดของ WebAuthn ที่ทำให้ทนทานต่อการโจมตีแบบฟิชชิงโดยพื้นฐาน แตกต่างจากรหัสผ่านหรือรหัส TOTP
สรุปบทเรียน: FIDO2 และ WebAuthn
FIDO2 ผสาน WebAuthn (W3C) และ CTAP2 (FIDO Alliance) เพื่อให้ยืนยันตัวตนโดยไม่ใช้รหัสผ่านและทนทานต่อฟิชชิง อุปกรณ์ยืนยันตัวตนบนแพลตฟอร์ม (Touch ID, Face ID) และอุปกรณ์ยืนยันตัวตนแบบพกพา (YubiKey) ใช้การเข้ารหัสด้วยกุญแจสาธารณะที่ผูกกับต้นทางของฝ่ายที่พึ่งพา พาสคีย์ต่อยอดความสามารถนี้ด้วยการซิงโครไนซ์ข้ามอุปกรณ์ WebAuthn มอบความปลอดภัยในการยืนยันตัวตนที่แข็งแกร่งที่สุดและพร้อมใช้งานอย่างแพร่หลายในปัจจุบัน
เรียนรู้ Cryptology Academy ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 67
- บทเรียน
- 261
คำถามที่พบบ่อย
บทเรียน “การพิสูจน์ตัวตนแบบไร้รหัสผ่าน: WebAuthn และ FIDO2” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การพิสูจน์ตัวตนแบบไร้รหัสผ่าน: WebAuthn และ FIDO2” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cryptology Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การพิสูจน์ตัวตนแบบไร้รหัสผ่าน: WebAuthn และ FIDO2”
สำรวจมาตรฐาน WebAuthn ของ W3C และพาสคีย์ FIDO2 ในฐานะอนาคตของการพิสูจน์ตัวตน คุณปฏิบัติ Cryptology Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cryptology Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cryptology Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การพิสูจน์ตัวตนแบบไร้รหัสผ่าน: WebAuthn และ FIDO2” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cryptology Academy นี้ได้ไหม
ได้ บทเรียน Cryptology Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ปัญหาพื้นฐานของการพิสูจน์ตัวตนด้วยรหัสผ่าน
- SRP: โพรโทคอลรหัสผ่านระยะไกลที่ปลอดภัย
- โพรโทคอล PAKE และคุณสมบัติของโพรโทคอล
- การพิสูจน์ตัวตนแบบไร้รหัสผ่าน: WebAuthn และ FIDO2