WebAuthn และ Passkey 101
ทำความเข้าใจให้ครอบคลุมเกี่ยวกับ WebAuthn รวมถึงแนวคิด, ขั้นตอนการทำงาน, เหตุผลที่ได้รับความนิยม และความท้าทายที่เกี่ยวข้อง
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 ที่ใช้แทนรหัสผ่าน
|
WebAuthn | WebAuthn คือJavaScript API ที่พัฒนาโดย W3C และ FIDO Alliance เพื่อเสริมการยืนยันตัวตนของเว็บแอปพลิเคชันตามมาตรฐาน FIDO2 โดยที่ Passkey เป็นหนึ่งในวิธีการยืนยันตัวตนที่ WebAuthn รองรับ |
ขั้นตอน: WebAuthn ทำงานอย่างไร?
4 องค์ประกอบหลักของ WebAuthn
คุณอาจรู้จักว่าในขั้นตอนของ WebAuthn มี 4 องค์ประกอบหลักที่เกี่ยวข้อง
-
ผู้ใช้: บุคคลที่สมัครหรือยืนยันตัวตนกับเว็บแอปพลิเคชันโดยใช้ WebAuthn
-
ตัวแทนผู้ใช้ (User Agent): เป็นเว็บเบราว์เซอร์ที่ดำเนินการเรียก WebAuthn API และจัดการกระบวนการยืนยันตัวตนระหว่างฝ่ายพึ่ง (relying parties) และตัวตน
-
ฝ่ายพึ่งพิง (Relying Party): บริการเว็บหรือแอปพลิเคชันที่ผู้ใช้พยายามเข้าถึง ผู้ใช้โต้ตอบกับฝ่ายพึ่งพิงผ่านเครื่องผู้ใช้
-
ตัวตน (Authenticator): องค์ประกอบฮาร์ดแวร์ที่ผู้ใช้งานมีไว้สำหรับการยืนยันตัวตน สามารถปรับตามเครื่องหรือความสามารถของเบราว์เซอร์ เช่น กุญแจความปลอดภัย (เช่น Yubikeys), โทรศัพท์หรือแท็บเล็ต (เชื่อมต่อด้วย Bluetooth, NFC หรือ USB), ไบโอเมตริกซ์บนอุปกรณ์ หรือ PIN เป็นต้น
ขั้นตอนการทำงานของ WebAuthn
การเข้ารหัสด้วยกุญแจสาธารณะแบบไม่สมมาตรคือกระบวนการหลัก
- การสร้างคู่กุญแจ: ตัวแทนผู้ใช้สร้างคู่กุญแจสาธารณะ-กุญแจส่วนตัว กุญแจสาธารณะจะถูกแชร์กับฝ่ายพึ่งพิง ส่วนกุญแจส่วนตัวจะถูกเก็บอย่างปลอดภัยในตัวตนของผู้ใช้
- การท้าทายการยืนยันตัวตน: เมื่อผู้ใช้พยายามเข้าสู่ระบบ ฝ่ายพึ่งพิงจะส่งการท้าทายการยืนยันตัวตนไปยังตัวแทนผู้ใช้
- การยืนยันตัวตนของผู้ใช้: ตัวแทนผู้ใช้ส่งการท้าทายไปยังตัวตน ซึ่งโต้ตอบกับผู้ใช้เพื่อการยืนยัน (เช่น ไบโอเมตริกซ์หรือกดปุ่ม)
- ลายเซ็นการเข้ารหัส: ตัวตนใช้กุญแจส่วนตัวลงนามในความท้าทาย สร้างลายเซ็นการเข้ารหัส
- การยืนยันและการเข้าถึง: ตัวแทนผู้ใช้ยืนยันลายเซ็นโดยใช้กุญแจสาธารณะและแจ้งฝ่ายพึ่งพิงว่าการยืนยันตัวตนสำเร็จแล้ว การเข้าถึงได้รับการอนุญาต
เพื่ออธิบายเพิ่มเติม แบ่งเป็นขั้นตอนการสมัครและการยืนยันตัวตน
ขั้นตอนการสมัครของ WebAuthn:
ขั้นตอนการยืนยันตัวตนของ WebAuthn:
ข้อดี: ทำไม WebAuthn กลายเป็นเทรนด์?
อุปกรณ์ตัวตนหลายตัว
คุณมีตัวเลือกในการเลือกระหว่างอุปกรณ์ตนหลายตัวเพื่อเพิ่มความยืดหยุ่น อุปกรณ์เหล่านี้มีอยู่ในสองแบบสำหรับการใช้ในพื้นที่และบนคลาวด์ คุณสามารถเปิดใช้งานหนึ่งหรือทั้งสองสำหรับบริการของคุณ
ตัวตนบนแพลตฟอร์ม (Internal authenticator)
ตัวตนบนแพลตฟอร์มถูกผูกกับอุปกรณ์ OS เดียวและเฉพาะ เช่น คอมพิวเตอร์ โน๊ตบุ๊ค โทรศัพท์ หรือแท็บเล็ต ซึ่งผู้ใช้ลงทะเบียนเข้าโดยตรง ใช้งานเฉพาะบนอุปกรณ์สำหรับการให้สิทธิ์โดยใช้วิธีการเช่นไบโอเมตริกซ์หรือรหัสอุปกรณ์ วิธีนี้เป็นวิธีที่รวดเร็วในการยืนยันตัวตน โดยเฉพาะกับไบโอเมตริกซ์ และสามารถแทนที่การพิมพ์รหัสผ่านด้วยตนเอง แต่ถ้าผู้ใช้สูญเสียอุปกรณ์อาจกลายเป็นอุปสรรคในการเข้าถึงได้ ตัวอย่าง:
- MacOS และ iOS: iCloud Keychain ตรวจสอบโดย Touch ID, Face ID หรือรหัสผ่านอุปกรณ์
- Windows: Windows Hello ตรวจสอบโดยการรู้จำใบหน้า, ลายนิ้วมือ หรือ PIN ที่เป็นมิตร
- Android: Google Password Manager ยังรองรับการรู้จำใบหน้าหรือลายนิ้วมือเพื่ิอเติมรหัสผ่านอัตโนมัติให้อนุมัติอุปกรณ์
ตัวตนที่เคล ื่อนที่ (Roaming authenticator, External authenticator, Cross-platform authenticator)
ตัวตนที่เคลื่อนที่คืออุปกรณ์แยกที่พกพาได้หรือแอปพลิเคชันซอฟต์แวร์ เช่น กุญแจความปลอดภัยฮาร์ดแวร์หรือสมาร์ทโฟน ควรเชื่อมโยงอุปกรณ์โดยใช้ USB หรือเปิดใช้งาน NFC หรือ Bluetooth ตัวตนที่เคลื่อนที่ไม่จำกัดเพียงอุปกรณ์หรือเบราว์เซอร์เดียว ให้ความยืดหยุ่นมากยิ่งขึ้น ตัวอย่างเช่น:
- กุญแจความปลอดภัย: เรียกอีกอย่างว่าโทเค็นฮาร์ดแวร์ อย่างเช่น Yubikey
- สมาร์ทโฟร์: เช่น การใช้บัญชี Google บนคลาวด์บน Android หรือลิงก์ iCloud บน iPhone สำคัญคือการยืนยันตัวตนข้ามอุปกรณ์ต้องเชื่อมต่อกับ Bluetooth, NFC, หรือ USB เพื่อให้ตัวตนของผู้ใช้อยู่ใกล้เคียง ตัวตนบนโทรศัพท์มักต้องสแกน QR Code เพื่อลิงก์กับอุปกรณ์เดสก์ท็อป (โทรศัพท์ Android โดยเฉพาะสามารถใช้งานการลิงก์ถาวรเพื่อเชื่อมต่ออย่างไม่สะดุดกับเบราว์เซอร์ Chrome เพื่อการยืนยันตัวตนผ่านการคลิกเพียงครั้งเดียวโดยไม่จำเป็นต้องสแกน QR Code )
ความปลอดภัยรับประกันสูง
ความปลอดภัยรับประกันสูงเป็นสิ่งจำเป็นสำหรับการปกป้องทรัพยากรธุรกิจ นี่คือการบรรลุผ่านมาตรการดังต่อไปนี้:
- ปกป้องกุญแจความเป็นส่วนตัว: กุญแจความเป็นส่วนตัวไม่เคยถูกแชร์กับเว็บไซต์บุคคลที่สาม (ฝ่ายพึ่ง) ซึ่งช่วยป้องกันการละเมิดรหัสผ่านและความพยายามฟิชชิ่ง
- ความต้องการความใกล้ของอุปกรณ์: อุปกรณ์ต้องการ "การยืนยันตัวตนบนแพลตฟอร์มสำหรับอุปกรณ์ เดียว" หรือ "ตัวตนที่เคลื่อนที่จำกัดด้วย USB, Bluetooth, หรือ NFC" ให้อยู่ใกล้เคียงผู้ใช้เพื่อป้องกันการโจมตีทางไกล
- การผูกความปลอดภัยกับโดเมน: 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 แบบอื่นแ ทน
ความเสี่ยงจากการสูญเสียอุปกรณ์
โดยเฉพาะสำหรับผู้ใช้ที่พึ่งพาตัวตนบนแพลตฟอร์ม “อุปกรณ์นี้" การที่สูญเสียอุปกรณ์สามารถนำไปสู่การสูญเสียการเข้าถึงบัญชี การกู้คืนบัญชีสามารถเป็นกระบวนการที่ใช้เวลานาน เพื่อลดความเสี่ยงนี้ แนะนำให้ผู้ใช้งานผูกวิธีการยืนยันตัวตนสำรองอื่น ๆ ในขณะตั้งค่า WebAuthn
การรองรับเว็บไซต์และแอปจำกัด
หลายบริการและแอปพลิเคชันยังไม่รองรับ passkeys ผู้ใช้มักขาดความรู้เกี่ยวกับวิธีการยืนยันตัวตนต่าง ๆ และอาจไม่เข้าใจข้อดีและข้อจำกัดระหว่างตัวตนบนแพลตฟอร์มและตัวตนที่เคลื่อนที่อย่างเต็มที่ อย่างไรก็ตาม ระบบหลัก เบราว์เซอร์ และบริการ SaaS กำลังเริ่มที่จะยอมรับ WebAuthn มากขึ้น ทำให้มันกลายเป็นแนวโน้มที่ทั้งธุรกิจและผู้ใช้เริ่มยอมรับไปด้วยกัน
สรุป
Logto กำลังเตรียมที่จะปล่อย MFA (การยืนยันตัวตนหลายปัจจัย) ในเดือนพฤศจิกายน โดยในเฟสแรกจะรองรับสามวิธีการตรวจสอบ: แอป TOTP ของ Authenticator, WebAuthn (Passkey) และรหัสสำรอง มอบระบบการลงทะเบียนและเข้าสู่ระบบที่ครอบคลุม เราจะพัฒนาคุณสมบัติที่เพิ่มขึ้นเกี่ยวกับ WebAuthn ต่อไป เราหวังว่าจะได้รับประสบการณ์ของคุณและขอเชิญคุณติดตามการประกาศ MFA ครั้งถัดไปบน Product Hunt สำหรับการเปิดตัว MFA.