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 ประเภทสำหรับการใช้งานในเครื่องและบนคลาวด์:
- Platform authenticator (Internal authenticator): ผูกกับระบบปฏิบัติการของอุปกรณ์เดียว เช่น คอมพิวเตอร์ แล็ปท็อป โทรศัพท์ หรือแท็บเล็ตที่ผู้ใช้ลงชื่อเข้าใช้ ใช้งานได้เฉพาะบนอุปกรณ์นั้น ๆ เพื่อการอนุญาต เช่น ไบโอเมตริกซ์หรือรหัสผ่านอุปกรณ์ จึงเป็นวิธีที่รวดเร็วในการยืนยันตัวตน เช่น iCloud Keychain ที่ยืนยันด้วย Touch ID, Face ID หรือรหัสผ่านอุปกรณ์บน macOS หรือ iOS; Windows Hello ที่ยืนยันด้วยการจดจำใบหน้า ลายนิ้วมือ หรือ PIN
- Roaming authenticator (External authenticator, Cross-platform authenticator): เป็นอุปกรณ์หรือแอปพลิเคชันแยกต่างหากที่พกพาได้ เช่น กุญแจความปลอดภัยฮาร์ดแวร์หรือสมาร์ทโฟน ต้องเชื่อมต่ออุปกรณ์ผ่าน USB หรือเปิด NFC / Bluetooth ตัว roaming authenticator ไม่จำกัดเฉพาะอุปกรณ์หรือเบราว์เซอร์เดียว จึงมีความยืดหยุ่นสูง
หากต้องการเจาะลึกหลักการและกระบวนการของ WebAuthn สามารถอ่านได้ที่บล็อกของเรา: WebAuthn and Passkeys 101 และ สิ่งที่ควรรู้ก่อนเชื่อมต่อ WebAuthn
ตั้งค่าการยืนยัน passkey สำหรับ MFA
- ไปที่ Console > การยืนยันตัวตนหลายปัจจัย (Multi-factor authentication)
- เปิดใช้งานปัจจัย "Passkeys (WebAuthn)" แนะนำให้ใช้ Passkeys ร่วมกับปัจจัย MFA อื่น ๆ (TOTP, SMS, รหัสสำรอง) เพื่อลดการพึ่งพาปัจจัยเดียว
- กำหนดนโยบาย MFA ที่ต้องการ (บังคับใช้ / ไม่บังคับ)
- บันทึกการเปลี่ยนแปลงการตั้งค่า
ควรตระหนักถึงข้อจำกัดบางประการเมื่อใช้งาน WebAuthn:
- ข้อจำกัดของแพลตฟอร์มและเบราว์เซอร์: ปัจจุบัน Logto ยังไม่รองรับ WebAuthn สำหรับแอปพลิเคชันเนทีฟ และการรองรับ WebAuthn authenticator ขึ้นอยู่กับเบราว์เซอร์และความสามารถของอุปกรณ์ (ตรวจสอบรายการ) ดังนั้น WebAuthn จึงไม่ใช่ตัวเลือกเดียวสำหรับการใช้งาน MFA เสมอไป มิฉะนั้นคุณสามารถควบคุมได้ว่าเบราว์เซอร์และอุปกรณ์ใดเข้าถึงผลิตภัณฑ์ของคุณได้บ้าง
- ข้อจำกัดของโดเมน: การเปลี่ยนโดเมนอาจทำให้ผู้ใช้ไม่สามารถยืนยันตัวตนผ่านบัญชี WebAuthn เดิมได้ Passkeys จะผูกกับโดเมนของหน้าเว็บปัจจุบันและไม่สามารถใช้ข้ามโดเมนได้
- ข้อจำกัดของอุปกรณ์: หากผู้ใช้ทำอุปกรณ์หาย อาจสูญเสียการเข้าถึงบัญชี โดยเฉพาะผู้ที่ใช้ Platform Authenticator แบบ "อุปกรณ์นี้" เพียงอย่างเดียว เพื่อเพิ่มโอกาสในการเข้าถึง ควรให้ผู้ใช้ตั้งค่าปัจจัยการยืนยันมากกว่าหนึ่งอย่าง
ตั้งค่าการจัดการ passkey
คุณสามารถใช้ Account API เพื่อสร้างอินเทอร์เฟซจัดการบัญชีแบบกำหนดเอง ให้ผู้ใช้เพิ่ม ดู เปลี่ยนชื่อ และลบ passkey ได้ เหมาะสำหรับสร้างศูนย์บัญชีส่วนตัวและรองรับการสำรองข้อมูลข้ามอุปกรณ์
สำหรับขั้นตอนการใช้งานและ API endpoint โดยละเอียด ดูที่ การตั้งค่าบัญชีด้วย Account API
ขั้นตอนการตั้งค่า Passkey
ข้อกำหนดของ Passkeys ระบุว่าผู้ใช้ต้องคลิกปุ่มบนหน้าปัจจุบันเพื่อเริ่มต้นคอมโพเนนต์การยืนยันตัวตน นั่นหมายความว่า ทั้งในขั้นตอนการตั้งค่าและการยืนยัน ผู้ใช้ควรถูกนำไปยังหน้า landing page เพื่อเริ่มต้น WebAuthn

ขั้นตอนการยืนยัน Passkey
เมื่อผู้ใช้ตั้งค่า MFA หลายวิธีรวมถึง passkey แล้ว passkey จะถูกนำเสนอเป็นวิธีแนะนำในการยืนยันตัวตนบนหน้าจอแรก เนื่องจากมีความปลอดภัยและสะดวกกว่า ผู้ใช้สามารถเปลี่ยนไปใช้วิธีอื่นได้โดยคลิก "ลองวิธีอื่นเพื่อยืนยัน" ด้านล่าง อ่าน ตั้งค่า MFA เพื่อเรียนรู้เพิ่มเติม
