• webauthn
  • passkey
  • authentication
  • MFA

WebAuthn และ Passkey 101

ทำความเข้าใจให้ครอบคลุมเกี่ยวกับ WebAuthn รวมถึงแนวคิด, ขั้นตอนการทำงาน, เหตุผลที่ได้รับความนิยม และความท้าทายที่เกี่ยวข้อง

Ran
Ran
Product & Design

WebAuthn จัดอยู่ในอันดับที่มีความปลอดภัยมากที่สุดตามมาตรฐาน NIST AAL ตั้งแต่เปิดตัวในปี 2013 มันกลายเป็นตัวเลือกที่ธุรกิจโปรดปรานสำหรับการยืนยันตัวตนในขณะนี้ อย่างไรก็ตาม การรับเอายังไม่แพร่หลาย ซึ่งนำไปสู่การตั้งคำถามมากมายเกี่ยวกับ WebAuthn และ Passkeys มาดูกันว่าสิ่งที่ควรรู้มีอะไรบ้าง

แนวคิด: ความสัมพันธ์ระหว่าง WebAuthn, Passkey และ FIDO คืออะไร?

FIDO Alliance

FIDO Alliance คือองค์กรที่ให้มาตรฐานการยืนยันตัวตนแบบไร้รหัสผ่านที่เปิดแหล่งที่มาและปลอดภัย รวมถึง UAF, U2F และ FIDO2

FIDO2

FIDO2 คือชุดมาตรฐานสำหรับการยืนยันตัวตนออนไลน์ที่ปลอดภัยซึ่งพัฒนาโดย FIDO Alliance ประกอบด้วยสององค์ประกอบหลักคือ WebAuthn สำหรับการเข้าสู่ระบบแบบไร้รหัสผ่าน และ CTAP สำหรับการสื่อสารอุปกรณ์ที่ปลอดภัย

Passkey

Passkey คือใบ‌รับรองที่ทนต่อการฟิชชิงบนพื้นฐานของ FIDO ที่ใช้แทนรหัสผ่าน

  1. สามารถเป็นฮาร์ดแวร์โทเค็นหรือกุญแจความปลอดภัย เช่น อุปกรณ์ USB หรือ Bluetooth
  2. ใช้เทคโนโลยีการเข้ารหัสด้วยกุญแจสาธารณะเฉพาะแบบไม่สมมาตรเพื่อเพิ่มความปลอดภัย
  3. มีความยืดหยุ่นในการเชื่อมโยงกับแพลตฟอร์ม, กุญแจความปลอดภัย หรือซิงค์ข้อมูลข้ามอุปกรณ์
WebAuthn

WebAuthn คือJavaScript API ที่พัฒนาโดย W3C และ FIDO Alliance เพื่อเสริมการยืนยันตัวตนของเว็บแอปพลิเคชันตามมาตรฐาน FIDO2 โดยที่ Passkey เป็นหนึ่งในวิธีการยืนยันตัวตนที่ WebAuthn รองรับ

ขั้นตอน: WebAuthn ทำงานอย่างไร?

4 องค์ประกอบหลักของ WebAuthn

คุณอาจรู้จักว่าในขั้นตอนของ WebAuthn มี 4 องค์ประกอบหลักที่เกี่ยวข้อง

  1. ผู้ใช้: บุคคลที่สมัครหรือยืนยันตัวตนกับเว็บแอปพลิเคชันโดยใช้ WebAuthn

  2. ตัวแทนผู้ใช้ (User Agent): เป็นเว็บเบราว์เซอร์ที่ดำเนินการเรียก WebAuthn API และจัดการกระบวนการยืนยันตัวตนระหว่างฝ่ายพึ่ง (relying parties) และตัวตน

  3. ฝ่ายพึ่งพิง (Relying Party): บริการเว็บหรือแอปพลิเคชันที่ผู้ใช้พยายามเข้าถึง ผู้ใช้โต้ตอบกับฝ่ายพึ่งพิงผ่านเครื่องผู้ใช้

  4. ตัวตน (Authenticator): องค์ประกอบฮาร์ดแวร์ที่ผู้ใช้งานมีไว้สำหรับการยืนยันตัวตน สามารถปรับตามเครื่องหรือความสามารถของเบราว์เซอร์ เช่น กุญแจความปลอดภัย (เช่น Yubikeys), โทรศัพท์หรือแท็บเล็ต (เชื่อมต่อด้วย Bluetooth, NFC หรือ USB), ไบโอเมตริกซ์บนอุปกรณ์ หรือ PIN เป็นต้น

main entities

ขั้นตอนการทำงานของ WebAuthn

การเข้ารหัสด้วยกุญแจสาธารณะแบบไม่สมมาตรคือกระบวนการหลัก

  1. การสร้างคู่กุญแจ: ตัวแทนผู้ใช้สร้างคู่กุญแจสาธารณะ-กุญแจส่วนตัว กุญแจสาธารณะจะถูกแชร์กับฝ่ายพึ่งพิง ส่วนกุญแจส่วนตัวจะถูกเก็บอย่างปลอดภัยในตัวตนของผู้ใช้
  2. การท้าทายการยืนยันตัวตน: เมื่อผู้ใช้พยายามเข้าสู่ระบบ ฝ่ายพึ่งพิงจะส่งการท้าทายการยืนยันตัวตนไปยังตัวแทนผู้ใช้
  3. การยืนยันตัวตนของผู้ใช้: ตัวแทนผู้ใช้ส่งการท้าทายไปยังตัวตน ซึ่งโต้ตอบกับผู้ใช้เพื่อการยืนยัน (เช่น ไบโอเมตริกซ์หรือกดปุ่ม)
  4. ลายเซ็นการเข้ารหัส: ตัวตนใช้กุญแจส่วนตัวลงนามในความท้าทาย สร้างลายเซ็นการเข้ารหัส
  5. การยืนยันและการเข้าถึง: ตัวแทนผู้ใช้ยืนยันลายเซ็นโดยใช้กุญแจสาธารณะและแจ้งฝ่ายพึ่งพิงว่าการยืนยันตัวตนสำเร็จแล้ว การเข้าถึงได้รับการอนุญาต

เพื่ออธิบายเพิ่มเติม แบ่งเป็นขั้นตอนการสมัครและการยืนยันตัวตน

ขั้นตอนการสมัครของ WebAuthn: enrollment flow

ขั้นตอนการยืนยันตัวตนของ WebAuthn: authentication flow

ข้อดี: ทำไม WebAuthn กลายเป็นเทรนด์?

อุปกรณ์ตัวตนหลายตัว

คุณมีตัวเลือกในการเลือกระหว่างอุปกรณ์ตนหลายตัวเพื่อเพิ่มความยืดหยุ่น อุปกรณ์เหล่านี้มีอยู่ในสองแบบสำหรับการใช้ในพื้นที่และบนคลาวด์ คุณสามารถเปิดใช้งานหนึ่งหรือทั้งสองสำหรับบริการของคุณ

ตัวตนบนแพลตฟอร์ม (Internal authenticator)

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

  • MacOS และ iOS: iCloud Keychain ตรวจสอบโดย Touch ID, Face ID หรือรหัสผ่านอุปกรณ์
  • Windows: Windows Hello ตรวจสอบโดยการรู้จำใบหน้า, ลายนิ้วมือ หรือ PIN ที่เป็นมิตร
  • Android: Google Password Manager ยังรองรับการรู้จำใบหน้าหรือลายนิ้วมือเพื่ิอเติมรหัสผ่านอัตโนมัติให้อนุมัติอุปกรณ์

platform authenticator

ตัวตนที่เคลื่อนที่ (Roaming authenticator, External authenticator, Cross-platform authenticator)

ตัวตนที่เคลื่อนที่คืออุปกรณ์แยกที่พกพาได้หรือแอปพลิเคชันซอฟต์แวร์ เช่น กุญแจความปลอดภัยฮาร์ดแวร์หรือสมาร์ทโฟน ควรเชื่อมโยงอุปกรณ์โดยใช้ USB หรือเปิดใช้งาน NFC หรือ Bluetooth ตัวตนที่เคลื่อนที่ไม่จำกัดเพียงอุปกรณ์หรือเบราว์เซอร์เดียว ให้ความยืดหยุ่นมากยิ่งขึ้น ตัวอย่างเช่น:

  • กุญแจความปลอดภัย: เรียกอีกอย่างว่าโทเค็นฮาร์ดแวร์ อย่างเช่น Yubikey
  • สมาร์ทโฟร์: เช่น การใช้บัญชี Google บนคลาวด์บน Android หรือลิงก์ iCloud บน iPhone สำคัญคือการยืนยันตัวตนข้ามอุปกรณ์ต้องเชื่อมต่อกับ Bluetooth, NFC, หรือ USB เพื่อให้ตัวตนของผู้ใช้อยู่ใกล้เคียง ตัวตนบนโทรศัพท์มักต้องสแกน QR Code เพื่อลิงก์กับอุปกรณ์เดสก์ท็อป (โทรศัพท์ Android โดยเฉพาะสามารถใช้งานการลิงก์ถาวรเพื่อเชื่อมต่ออย่างไม่สะดุดกับเบราว์เซอร์ Chrome เพื่อการยืนยันตัวตนผ่านการคลิกเพียงครั้งเดียวโดยไม่จำเป็นต้องสแกน QR Code )

roaming authenticator

ความปลอดภัยรับประกันสูง

ความปลอดภัยรับประกันสูงเป็นสิ่งจำเป็นสำหรับการปกป้องทรัพยากรธุรกิจ นี่คือการบรรลุผ่านมาตรการดังต่อไปนี้:

  1. ปกป้องกุญแจความเป็นส่วนตัว: กุญแจความเป็นส่วนตัวไม่เคยถูกแชร์กับเว็บไซต์บุคคลที่สาม (ฝ่ายพึ่ง) ซึ่งช่วยป้องกันการละเมิดรหัสผ่านและความพยายามฟิชชิ่ง
  2. ความต้องการความใกล้ของอุปกรณ์: อุปกรณ์ต้องการ "การยืนยันตัวตนบนแพลตฟอร์มสำหรับอุปกรณ์เดียว" หรือ "ตัวตนที่เคลื่อนที่จำกัดด้วย USB, Bluetooth, หรือ NFC" ให้อยู่ใกล้เคียงผู้ใช้เพื่อป้องกันการโจมตีทางไกล
  3. การผูกความปลอดภัยกับโดเมน: WebAuthn ถูกผูกแน่นหนากับโดเมนเฉพาะของเว็บไซต์ที่ผู้ใช้สมัครใช้งาน ป้องกันจากการโจมตีฟิชชิ่งจากเว็บไซต์ที่ไม่อนุญาต

ประสบการณ์การใช้งานไร้ความยุ่งยากสำหรับ MFA&1FA

WebAuthn เพิ่มระดับความปลอดภัยในขณะที่ปรับปรุงประสบการณ์การยืนยันตัวตนแบบไร้รหัสผ่านของผู้ใช้:

  • ประสบการณ์เนทีฟและประสิทธิภาพไบโอเมตริกซ์: WebAuthn ใช้วิธีการยืนยันตัวตนที่เฉพาะเจาะจงที่ปรับตามแพลตฟอร์มและอุปกรณ์ต่างๆ รวมเข้ากับนิสัยของผู้ใช้ การยืนยันตัวตนแบบไบโอเมตริกซ์ลดความต้องการในการป้อนข้อมูลโดยไม่ใช้แรงงาน เร่งกระบวนการยืนยัน
  • การข้าม MFA ตรงสู่ 1FA: WebAuthn ใช้กันอย่างแพร่หลายสำหรับ MFA (การยืนยันตัวตนหลายปัจจัย) เนื่องจากมีความปลอดภัยสูง หากฝ่ายพึ่งได้บันทึกการใช้งาน WebAuthn ในเบราว์เซอร์ไว้ก่อนแล้ว ผู้ใช้สามารถข้ามขั้นตอน 1FA (การยืนยันตัวตนปัจจัยเดียว) และลงทะเบียนเข้าสู่ระบบผ่านการยืนยัน passkey โดยตรง
  • Passkey แทนที่รหัสผ่าน: Passkeys สามารถทำหน้าที่แทนรหัสผ่านแบบเดิมใน 1FA ผู้ใช้สามารถให้ passkey ของตนก่อนหรือหลังจากการป้อนชื่อบัญชี โดยต้องมีการตรวจสอบรหัสผ่านเฉพาะเมื่อการยืนยัน passkey ไม่สามารถใช้งานได้

ความท้าทาย: ทำไม WebAuthn ยังไม่ถูกนำไปใช้อย่างกว้างขวาง?

ข้อจำกัดของเบราว์เซอร์หรือแพลตฟอร์ม

บางเบราว์เซอร์หรือแพลตฟอร์มไม่รองรับ WebAuthn เลยหรือไม่มีการรองรับตัวตนที่เคลื่อนที่ ขณะที่สถิติปัจจุบันของ Caniuse แสดงการรองรับที่ดี โดยมีการรองรับแพลตฟอร์มเดสก์ท็อปถึง 97.37% และแพลตฟอร์มมือถือ 96.3% แต่ยังคงมีความหลากหลายในเวอร์ชันเบราว์เซอร์และระบบปฏิบัติการต่างๆ ยกตัวอย่างเช่น Desktop Linux ไม่มีการรองรับตัวตนบนแพลตฟอร์ม Android รองรับ WebAuthn เฉพาะบน Chrome และ Internet Explorer บน MacOS ไม่รองรับ WebAuthn ซึ่งจำเป็นต้องให้ผู้ดูแลระบบร้องขอสมาชิกในการบังคับให้ใช้เบราว์เซอร์หรือเลือก OS เฉพาะ หรือกำหนดวิธีการ MFA แบบอื่นแทน

browser support

ความเสี่ยงจากการสูญเสียอุปกรณ์

โดยเฉพาะสำหรับผู้ใช้ที่พึ่งพาตัวตนบนแพลตฟอร์ม “อุปกรณ์นี้" การที่สูญเสียอุปกรณ์สามารถนำไปสู่การสูญเสียการเข้าถึงบัญชี การกู้คืนบัญชีสามารถเป็นกระบวนการที่ใช้เวลานาน เพื่อลดความเสี่ยงนี้ แนะนำให้ผู้ใช้งานผูกวิธีการยืนยันตัวตนสำรองอื่น ๆ ในขณะตั้งค่า WebAuthn

การรองรับเว็บไซต์และแอปจำกัด

หลายบริการและแอปพลิเคชันยังไม่รองรับ passkeys ผู้ใช้มักขาดความรู้เกี่ยวกับวิธีการยืนยันตัวตนต่าง ๆ และอาจไม่เข้าใจข้อดีและข้อจำกัดระหว่างตัวตนบนแพลตฟอร์มและตัวตนที่เคลื่อนที่อย่างเต็มที่ อย่างไรก็ตาม ระบบหลัก เบราว์เซอร์ และบริการ SaaS กำลังเริ่มที่จะยอมรับ WebAuthn มากขึ้น ทำให้มันกลายเป็นแนวโน้มที่ทั้งธุรกิจและผู้ใช้เริ่มยอมรับไปด้วยกัน

สรุป

Logto กำลังเตรียมที่จะปล่อย MFA (การยืนยันตัวตนหลายปัจจัย) ในเดือนพฤศจิกายน โดยในเฟสแรกจะรองรับสามวิธีการตรวจสอบ: แอป TOTP ของ Authenticator, WebAuthn (Passkey) และรหัสสำรอง มอบระบบการลงทะเบียนและเข้าสู่ระบบที่ครอบคลุม เราจะพัฒนาคุณสมบัติที่เพิ่มขึ้นเกี่ยวกับ WebAuthn ต่อไป เราหวังว่าจะได้รับประสบการณ์ของคุณและขอเชิญคุณติดตามการประกาศ MFA ครั้งถัดไปบน Product Hunt สำหรับการเปิดตัว MFA.