Passkeys (WebAuthn)
Passkey มอบทางเลือกที่ปลอดภัยและใช้งานง่ายกว่ารหัสผ่านแบบเดิม ด้วยการใช้การเข้ารหัสแบบกุญแจสาธารณะ (public-key cryptography) passkey จะเพิ่มความปลอดภัยโดยเชื่อมโยงอุปกรณ์ของผู้ใช้ โดเมนของบริการ และรหัสผู้ใช้ (user ID) ซึ่งช่วยป้องกันการโจมตีแบบฟิชชิ่งและรหัสผ่าน Passkey สามารถใช้งานร่วมกับอุปกรณ์หรือเบราว์เซอร์ต่าง ๆ และอนุญาตให้ผู้ใช้ใช้ไบโอเมตริกซ์และฟีเจอร์ความปลอดภัยของฮาร์ดแวร์เพื่อความสะดวกในการยืนยันตัวตน WebAuthn ให้ API สำหรับเว็บไซต์เพื่อใช้งาน passkey
ขณะนี้ Logto รองรับ passkey (WebAuthn) สำหรับการยืนยันตัวตนหลายปัจจัย (MFA) ฟีเจอร์ลงชื่อเข้าใช้ด้วย passkey กำลังจะมาเร็ว ๆ นี้ โปรดติดตามข่าวสาร
แนวคิด
ลูกค้ามักจะรู้จัก Passkeys มากกว่า WebAuthn แล้วความสัมพันธ์ระหว่างสองสิ่งนี้คืออะไร และควรใช้อย่างไร? มาทำความเข้าใจแนวคิดเหล่านี้กัน:
- Passkeys: Passkey คือข้อมูลรับรอง (credential) ที่ใช้มาตรฐาน FIDO และต้านทานฟิชชิ่ง เพื่อใช้แทนรหัสผ่าน โดยใช้การเข้ารหัสแบบกุญแจสาธารณะ-ส่วนตัว (asymmetric public-key cryptography) เพื่อความปลอดภัยที่สูงขึ้น อาจเป็นโทเค็นฮาร์ดแวร์หรือกุญแจความปลอดภัย เช่น อุปกรณ์ USB หรือ Bluetooth เนื่องจาก “Passkeys” เป็นวิธีการยืนยันตัวตนที่แสดงต่อผู้ใช้ จึงควรใช้คำนี้ในฝั่งไคลเอนต์ของผลิตภัณฑ์คุณ
- WebAuthn: เป็น JavaScript API ที่พัฒนาโดย W3C และ FIDO Alliance เพื่อให้เว็บแอปพลิเคชันสามารถยืนยันตัวตนตามมาตรฐาน FIDO2 ได้ Passkeys เป็นหนึ่งในวิธีการยืนยันตัวตนที่ WebAuthn รองรับ ใน Logto Console เราเรียกการเชื่อมต่อนี้อย่างเป็นทางการว่า “WebAuthn”
WebAuthn มีตัวเลือกตัวตรวจสอบความถูกต้อง (authenticator) หลากหลายให้ผู้ใช้เลือก โดยแบ่งเป็น 2 ประเภทสำหรับการใช้งานแบบ local และ cloud:
- Platform authenticator (ตัวตรวจสอบภายในเครื่อง): ผูกกับระบบปฏิบัติการของอุปกรณ์เดียว เช่น คอมพิวเตอร์ แล็ปท็อป โทรศัพท์ หรือแท็บเล็ตที่ผู้ใช้ลงชื่อเข้าใช้ ใช้งานได้เฉพาะบนอุปกรณ์นั้น ๆ เพื่อการอนุญาต เช่น ไบโอเมตริกซ์หรือรหัสผ่านอุปกรณ์ จึงเป็นวิธีที่รวดเร็วในการยืนยันตัวตน เช่น iCloud Keychain ที่ยืนยันด้วย Touch ID, Face ID หรือรหัสผ่านอุปกรณ์บน macOS หรือ iOS; Windows Hello ที่ยืนยันด้วยการจดจำใบหน้า ลายนิ้วมือ หรือ PIN
- Roaming authenticator (ตัวตรวจสอบภายนอก, ตัวตรวจสอบข้ามแพลตฟอร์ม): เป็นอุปกรณ์หรือแอปพลิเคชันแยกต่างหากที่พกพาได้ เช่น กุญแจความปลอดภัยฮาร์ดแวร์หรือสมาร์ทโฟน ต้องเชื่อมต่ออุปกรณ์ผ่าน USB หรือเปิด NFC / Bluetooth ตัวตรวจสอบแบบ roaming ไม่จำกัดเฉพาะอุปกรณ์หรือเบราว์เซอร์เดียว ให้ความยืดหยุ่นมากกว่า
หากต้องการเจาะลึกหลักการและกระบวนการของ WebAuthn สามารถอ่านได้ที่บล็อกของเรา: WebAuthn and Passkeys 101 และ สิ่งที่ควรรู้ก่อนเชื่อมต่อ WebAuthn
ข้อควรระวังเกี่ยวกับข้อจำกัด
ควรตระหนักถึงข้อจำกัดบางประการเมื่อใช้งาน WebAuthn:
- ข้อจำกัดของแพลตฟอร์มและเบราว์เซอร์: ปัจจุบัน Logto ยังไม่รองรับ WebAuthn สำหรับแอปพลิเคชัน native และการรองรับตัวตรวจสอบ WebAuthn ขึ้นอยู่กับเบราว์เซอร์และอุปกรณ์ (ตรวจสอบรายการ) ดังนั้น WebAuthn จึงไม่ใช่ตัวเลือกเดียวสำหรับการใช้งานการยืนยันตัวตนหลายปัจจัย (MFA) เสมอไป มิฉะนั้นคุณสามารถควบคุมได้ว่าเบราว์เซอร์และอุปกรณ์ใดเข้าถึงผลิตภัณฑ์ของคุณได้
- ข้อจำกัดของโดเมน: การเปลี่ยนโดเมนอาจทำให้ผู้ใช้ไม่สามารถยืนยันตัวตนผ่านบัญชี WebAuthn เดิมได้ Passkeys จะผูกกับโดเมนของหน้าเว็บปัจจุบันโดยเฉพาะ และไม่สามารถใช้ข้ามโดเมนได้
- ข้อจำกัดของอุปกรณ์: หากอุปกรณ์สูญหาย อาจทำให้ผู้ใช้ไม่สามารถเข้าถึงบัญชีได้ โดยเฉพาะผู้ที่ใช้ Platform Authenticator แบบ “อุปกรณ์นี้” ทางที่ดีควรให้ผู้ใช้มีปัจจัยการยืนยันตัวตนมากกว่าหนึ่งอย่างเพื่อเพิ่มโอกาสในการเข้าถึง
กระบวนการยืนยันตัวตน
ข้อกำหนดของ Passkeys กำหนดให้ผู้ใช้ต้องคลิกปุ่มบนหน้าเว็บปัจจุบันเพื่อเริ่มต้นคอมโพเนนต์การยืนยันตัวตน นั่นหมายความว่า ทั้งในขั้นตอนการตั้งค่าและการตรวจสอบ ผู้ใช้ควรถูกนำไปยังหน้า landing page เพื่อเริ่มต้น WebAuthn
- ขั้นตอนการตั้งค่า Passkey

- ขั้นตอนการตรวจสอบ Passkey
