Passkey คือวิธีเข้าสู่ระบบแบบ FIDO ที่ใช้คู่กุญแจเข้ารหัสแทนรหัสผ่าน ผู้ใช้อนุมัติด้วยวิธีเดียวกับที่ปลดล็อกอุปกรณ์ เช่น สแกนลายนิ้วมือหรือใบหน้า หรือกรอก PIN FIDO2 คือชุดมาตรฐานเบื้องหลัง ประกอบด้วย WebAuthn และ CTAP จุดสำคัญคือกุญแจแต่ละดอกผูกกับบริการที่สร้างมันขึ้นมา เว็บไซต์ปลอมจึงนำไปใช้ไม่ได้ บทความนี้ต่อยอดจาก MFA แบบไหนปลอดภัยกว่า และมีบทความคู่ว่าด้วย วิธีนำ Passkeys ไปใช้ในองค์กรทีละขั้น

ทำไมรหัสผ่านและรหัส OTP ยังไม่พอ

รหัสผ่านเป็นความลับที่ผู้ใช้กับเซิร์ฟเวอร์รู้ร่วมกัน ใครได้ไปก็นำไปใช้ได้ทันที ตัวอย่างที่ CISA ยกไว้คือการหลอกทางอีเมล ผู้โจมตีส่งลิงก์ไปยังเว็บปลอมที่หน้าตาเหมือนหน้า login จริง ผู้ใช้กรอกชื่อผู้ใช้ รหัสผ่าน และรหัส 6 หลักจากแอป authenticator (แอปที่สร้างรหัสให้กรอก) ลงไป ผู้โจมตีก็เอาข้อมูลชุดนั้นไป login ต่อได้ทันที CISA ระบุว่า MFA (การยืนยันตัวตนหลายปัจจัย) บางรูปแบบยังเสี่ยงต่อฟิชชิง (phishing) push bombing (การส่งคำขออนุมัติรัวๆ จนผู้ใช้กดผ่าน) ช่องโหว่ของโปรโตคอล SS7 และ SIM swapping (การย้ายเบอร์โทรไปยังซิมของผู้โจมตี) และจัด MFA ที่ต้านฟิชชิง (phishing-resistant MFA) เป็นรูปแบบที่แข็งแรงที่สุด NIST SP 800-63B-4 ก็ระบุไว้ทำนองเดียวกัน วิธียืนยันตัวตนที่ผู้ใช้ต้องพิมพ์ค่าเอง เช่น OTP (รหัสผ่านใช้ครั้งเดียว) ไม่นับว่าต้านฟิชชิง เพราะค่านั้นไม่ได้ผูกกับ session (ช่วงการใช้งานที่ login แล้ว) ที่กำลังยืนยันตัวตนอยู่

Passkey ทำงานอย่างไร

Passkey ใช้การเข้ารหัสแบบกุญแจสาธารณะ (public-key cryptography) ซึ่งทำงานเป็นสองช่วง ตอนลงทะเบียน อุปกรณ์สร้างคู่กุญแจสำหรับบริการนั้นโดยเฉพาะ เซิร์ฟเวอร์เก็บเฉพาะกุญแจสาธารณะ ส่วนกุญแจส่วนตัวอยู่ในอุปกรณ์หรือ security key (อุปกรณ์ฮาร์ดแวร์เล็กๆ ที่ใช้ยืนยันตัวตน) ตอนเข้าสู่ระบบ เซิร์ฟเวอร์ส่งโจทย์ (challenge) มาให้ ผู้ใช้ปลดล็อกอุปกรณ์เพื่ออนุมัติ อุปกรณ์ใช้กุญแจส่วนตัวลงนามบนโจทย์นั้น แล้วเซิร์ฟเวอร์ตรวจลายเซ็นด้วยกุญแจสาธารณะ เซิร์ฟเวอร์ไม่มีความลับร่วมที่ผู้โจมตีจะขโมยได้ ดังนั้นถ้าฐานข้อมูลผู้ใช้รั่ว passkey ก็ไม่รั่วตามไปด้วย

INFOGRAPHIC
จากลงทะเบียนถึงเข้าสู่ระบบ 4 ขั้น
1
ลงทะเบียน
สร้างคู่กุญแจเฉพาะบริการ ส่งกุญแจสาธารณะให้เซิร์ฟเวอร์
2
รับโจทย์
เซิร์ฟเวอร์ส่งโจทย์ (challenge) ที่ใช้ได้ครั้งเดียว
3
ปลดล็อกและลงนาม
ปลดล็อกด้วย PIN หรือลายนิ้วมือ/ใบหน้า แล้วลงนามโจทย์
4
ตรวจลายเซ็น
เซิร์ฟเวอร์ตรวจด้วยกุญแจสาธารณะ แล้วเริ่ม session

WebAuthn กำหนดว่า credential (ข้อมูลรับรองการเข้าใช้) ของบริการหนึ่งต้องถูกเรียกใช้ได้เฉพาะจากเว็บ (origin) ที่เป็นของ relying party นั้น relying party คือเว็บไซต์หรือบริการที่ผู้ใช้ลงทะเบียนไว้ โดย browser และ authenticator ช่วยกันบังคับกฎนี้ ผู้ใช้จึงไม่ต้องคอยสังเกตว่าหน้าเว็บเป็นของปลอมหรือไม่ เพราะ passkey ของบริการจริงจะใช้กับเว็บอื่นไม่ได้

INFOGRAPHIC
รหัสผ่านเดิมกับ passkey: ต่างกันที่ไหน

รหัสผ่านแบบเดิม

  • ความลับร่วมผู้ใช้และเซิร์ฟเวอร์รู้ค่าเดียวกัน
  • ถูกฟิชชิงได้กรอกบนเว็บปลอมแล้วถูกนำไปใช้ต่อ
  • ใช้ซ้ำได้รหัสเดียวหลายระบบ รั่วที่เดียวเสี่ยงหมด

Passkey

  • กุญแจคนละคู่ต่อบริการไม่มีค่าเดียวที่ใช้ข้ามบริการได้
  • ผูกกับโดเมนจริงเว็บปลอมใช้ passkey ไม่ได้
  • เซิร์ฟเวอร์เก็บแค่กุญแจสาธารณะไม่มีความลับให้ขโมยจากเซิร์ฟเวอร์

ถ้าเครื่องที่ใช้อยู่ไม่มี passkey ผู้ใช้ยังเข้าสู่ระบบด้วย passkey ที่อยู่บนอุปกรณ์อื่นได้ เช่น สแกน QR code ด้วยโทรศัพท์เพื่อ login บนแล็ปท็อป วิธีนี้ใช้ hybrid transport (โหมดเชื่อมต่อข้ามอุปกรณ์) ของ CTAP ซึ่งใช้ Bluetooth Low Energy (BLE) ตรวจว่าอุปกรณ์ทั้งสองอยู่ใกล้กันจริง

INFOGRAPHIC
เข้าสู่ระบบข้ามอุปกรณ์ด้วย QR code
01
แล็ปท็อป
แสดง QR code
02
โทรศัพท์
สแกน QR code
03
เช็กระยะใกล้
Bluetooth LE ยืนยันระยะ
04
อนุมัติ
ปลดล็อกแล้วลงนาม

FIDO2, WebAuthn, CTAP และ passkey ต่างกันอย่างไร

คำเหล่านี้มักถูกใช้ปนกัน ความสัมพันธ์ของแต่ละคำเป็นดังนี้

  • FIDO2: ชุดมาตรฐานที่รวม WebAuthn กับ CTAP เข้าด้วยกัน
  • WebAuthn: API ของ browser ที่เว็บไซต์เรียกใช้ จัดทำโดย W3C (องค์กรกำหนดมาตรฐานเว็บ) โดย WebAuthn Level 3 ได้เป็น W3C Recommendation (สถานะมาตรฐานที่เผยแพร่อย่างเป็นทางการ) เมื่อวันที่ 25 สิงหาคม 2026
  • CTAP (Client to Authenticator Protocol): โปรโตคอลที่ให้ authenticator ภายนอก เช่น security key หรือโทรศัพท์ คุยกับอุปกรณ์ผ่าน USB, NFC หรือ BLE
  • Passkey: คำที่ FIDO Alliance ใช้เรียกข้อมูลรับรอง FIDO แบบไม่ใช้รหัสผ่าน ครอบคลุมทั้งชนิด synced และ device-bound (อธิบายในหัวข้อถัดไป)
  • Authenticator: ตัวที่เก็บกุญแจส่วนตัวและลงนาม อาจฝังอยู่ในแล็ปท็อปหรือโทรศัพท์ (platform authenticator) หรือเป็นอุปกรณ์แยก เช่น security key แบบ USB (roaming authenticator)
INFOGRAPHIC
ใครทำหน้าที่อะไรในระบบ FIDO2
FIDO2
WebAuthn รวมกับ CTAP
WebAuthn
เว็บไซต์คุยกับ browser
CTAP
อุปกรณ์คุยกับ authenticator ภายนอก
Authenticator
เก็บกุญแจส่วนตัวและลงนาม
Passkey
ข้อมูลรับรองที่ผู้ใช้เห็นและใช้งาน

Passkey แบบ synced และ device-bound

FIDO Alliance แบ่ง passkey เป็นสองชนิดตามที่เก็บกุญแจ ทั้งสองชนิดต้านฟิชชิงได้ แต่ต่างกันที่การกู้คืนและการควบคุมตลอดอายุการใช้งานของกุญแจ

  • Synced passkey: สำรองไว้ผ่านบริการ cloud และใช้ได้ข้ามอุปกรณ์ที่ลงทะเบียนกับผู้ให้บริการ passkey รายเดียวกัน ข้อดีคือกู้คืนง่ายเมื่ออุปกรณ์หาย ข้อเสียคือความปลอดภัยส่วนหนึ่งขึ้นกับผู้ให้บริการและบัญชีที่ใช้ซิงก์ ซึ่งอาจไม่ตรงกับข้อกำหนดขององค์กรบางแห่ง
  • Device-bound passkey: อยู่บนอุปกรณ์ที่สร้างขึ้นและส่งออกไปที่อื่นไม่ได้ เช่น passkey บน hardware security key ข้อดีคือควบคุมได้ดีกว่า ข้อเสียคือถ้าอุปกรณ์หาย ต้องมี key สำรองหรือขั้นตอนกู้คืนที่องค์กรกำหนดไว้

ในคำแนะนำสำหรับองค์กร FIDO Alliance จับคู่ชนิดของ passkey กับระดับ assurance (ระดับความมั่นใจว่าเป็นผู้ใช้ตัวจริง) ไว้ดังนี้ ระดับต่ำ ใช้ได้ทั้งสองชนิด ระดับปานกลาง device-bound เพียงพอ ส่วน synced อาจเพียงพอ ระดับสูง device-bound อาจเพียงพอ ขึ้นกับอุปกรณ์และข้อกำหนด เช่น FIPS 140 (มาตรฐานรับรองโมดูลเข้ารหัสของสหรัฐ) แต่ synced ไม่เพียงพอ

Passkey กับ NIST SP 800-63B

NIST SP 800-63B-4 เผยแพร่ฉบับสมบูรณ์เมื่อเดือนกรกฎาคม 2025 และแทนที่ฉบับปี 2020 เอกสารนี้เขียนขึ้นสำหรับระบบของหน่วยงานรัฐบาลกลางสหรัฐ แต่หลายองค์กรนำไปใช้เป็นเกณฑ์อ้างอิง เอกสารกำหนด authenticator assurance level (AAL ระดับความมั่นใจของการยืนยันตัวตน) ไว้สามระดับ ประเด็นที่เกี่ยวกับ passkey มีดังนี้

  • AAL2: verifier (ระบบฝั่งเซิร์ฟเวอร์ที่ตรวจการยืนยันตัวตน) ต้องมีตัวเลือกที่ต้านฟิชชิงอย่างน้อยหนึ่งทาง และควรสนับสนุนให้ใช้ทุกครั้งที่ทำได้
  • AAL3: ต้องใช้ authenticator ที่ต้านฟิชชิงและมีกุญแจที่ส่งออกไม่ได้ (non-exportable) ดังนั้น syncable authenticator (authenticator ที่ซิงก์กุญแจข้ามอุปกรณ์ได้) ใช้ที่ AAL3 ไม่ได้
  • Syncable authenticator: ภาคผนวก B ระบุว่าเสนอเป็นทางเลือกได้สำหรับแอปที่ต้องการระดับไม่เกิน AAL2 โดยต้องเป็นไปตามข้อกำหนด เช่น กุญแจที่ซิงก์ต้องเก็บในรูปแบบเข้ารหัสเท่านั้น และการเข้าถึงต้องป้องกันด้วย MFA ที่เทียบเท่า AAL2
  • OTP และรหัสทาง SMS: ไม่นับว่าต้านฟิชชิง เพราะผู้ใช้ต้องพิมพ์ค่าเอง

ข้อผิดพลาดที่พบบ่อย

  • ถือว่า passkey ทุกชนิดเหมือนกัน: synced กับ device-bound ต่างกันที่การกู้คืนและระดับ assurance ให้เลือกชนิดที่ตรงกับความเสี่ยงของผู้ใช้แต่ละกลุ่ม
  • ลืมออกแบบการกู้คืน (recovery): ขั้นตอนกู้คืนบัญชีเป็นเป้าโจมตีที่พบบ่อย FIDO แนะนำว่าการกู้คืนไม่ควรอาศัยปัจจัยที่อ่อนกว่า credential ที่กำลังกู้คืน
  • เก็บรหัสผ่านไว้เป็นทางสำรองถาวร: FIDO ระบุว่าถ้าการกู้คืนยังพึ่งรหัสผ่านที่ยังเปิดใช้อยู่ ประโยชน์ของ passkey จะลดลง ให้ถือเป็นช่วงเปลี่ยนผ่าน ไม่ใช่สถานะถาวร
  • ใช้ platform passkey บนเครื่องที่หลายคนใช้ร่วมกัน: platform passkey คือ passkey ที่เก็บในตัวเครื่อง คนอื่นที่ใช้เครื่องเดียวกันอาจเข้าถึง credential นั้นได้ FIDO แนะนำให้ใช้ hardware key แทน พร้อม key สำรอง
  • คาดหวังว่า passkey จะแก้ได้ทุกปัญหา: passkey ปกป้องขั้นตอน login จากฟิชชิงและการใช้รหัสผ่านซ้ำ แต่ไม่ได้ทดแทนการป้องกัน endpoint หรือการควบคุมสิทธิ์

เริ่มได้ทันที

  • ตรวจว่าระบบหลักรองรับ passkey หรือไม่: SSO (login ครั้งเดียวใช้ได้หลายระบบ) อีเมล VPN และ SaaS (บริการซอฟต์แวร์บนคลาวด์) ที่สำคัญ CISA ระบุว่าบริการอีเมลและ SSO แบบ hosted ส่วนใหญ่รองรับ FIDO จึงเป็นจุดเริ่มต้นที่ดี
  • ลองกับทีม IT ก่อน เพื่อดูประสบการณ์ใช้งานจริงและช่องว่างของขั้นตอนกู้คืนบัญชี
  • ระบุบัญชีที่เสี่ยงที่สุด เช่น ผู้ดูแลระบบและผู้บริหาร แล้วจัดไว้ในกลุ่มแรก
  • ลงทะเบียน authenticator มากกว่าหนึ่งตัวต่อคน เช่น security key สำรอง เพราะ device-bound passkey กู้คืนเองไม่ได้
  • วางแผนนำไปใช้ทั้งองค์กร ตามขั้นตอนใน วิธีนำ Passkeys ไปใช้ในองค์กรทีละขั้น Passkey เป็นส่วนหนึ่งของเสาหลักด้านตัวตนใน Zero Trust Architecture (แนวคิดที่ไม่เชื่อใจใครโดยอัตโนมัติ ต้องตรวจสอบทุกครั้ง) และเป็นหนึ่งในมาตรการที่ช่วยลดความเสี่ยงจาก แรนซัมแวร์ (มัลแวร์เรียกค่าไถ่)

หากต้องการทราบว่าการยืนยันตัวตนขององค์กรอยู่ในระดับใดเมื่อเทียบกับแนวปฏิบัติที่ดี ลองใช้ แบบประเมินตนเอง

แหล่งอ้างอิงและข้อมูลเพิ่มเติม