# Passkey และ FIDO2 คืออะไร? คู่มือ Passwordless Authentication ลดเสี่ยง Phishing สำหรับ SME ไทย 2026
ข้อมูลจาก Verizon Data Breach Investigations Report ระบุว่ากว่า 80% ของการรั่วไหลข้อมูลเกิดจากรหัสผ่านที่ถูกขโมยหรือเดา ขณะเดียวกัน Phishing ยังเป็นช่องทางโจมตีอันดับหนึ่งที่ทำให้ SME ไทยสูญเสียเงินปีละหลายพันล้านบาท คำตอบของปัญหานี้ในปี 2026 คือ Passwordless Authentication ที่อาศัยมาตรฐาน FIDO2 และ Passkey
บทความนี้จะอธิบายหลักการทำงานของ Passkey เปรียบเทียบกับรหัสผ่านแบบเดิมและ MFA แบบ SMS/OTP พร้อมขั้นตอนติดตั้ง WebAuthn บนเว็บ Laravel และ Next.js เพื่อให้ SME ไทยสามารถยกระดับความปลอดภัยได้ภายในไม่กี่สัปดาห์
Passkey และ FIDO2 คืออะไร?
FIDO2 คือมาตรฐานเปิดของ FIDO Alliance และ W3C ที่ประกอบด้วย 2 โปรโตคอลหลัก ได้แก่ WebAuthn (API บนเบราว์เซอร์) และ CTAP2 (Client to Authenticator Protocol) หัวใจของ FIDO2 คือการใช้ Public-Key Cryptography แทน Password
Passkey คือชื่อเรียกที่ Apple, Google, และ Microsoft ใช้เรียก FIDO2 Credential ที่สามารถ Sync ข้าม Device ผ่าน iCloud Keychain, Google Password Manager หรือ Microsoft Account ทำให้ผู้ใช้ไม่ต้องจำหรือกรอกรหัสผ่านอีกต่อไป เพียงใช้ Face ID, Touch ID, Windows Hello หรือ PIN บนอุปกรณ์ก็เข้าสู่ระบบได้
เปรียบเทียบ Password, MFA และ Passkey
| ด้าน | Password | Password + SMS OTP | Passkey (FIDO2) |
|------|----------|---------------------|------------------|
| ป้องกัน Phishing | ไม่ได้ | ส่วนใหญ่ไม่ได้ | ได้ (Origin-Bound) |
| ป้องกัน Credential Stuffing | ไม่ได้ | ได้บางส่วน | ได้ |
| ประสบการณ์ผู้ใช้ | ต้องจำรหัส | รอรับ SMS | Face/Touch ID 2 วินาที |
| ต้นทุนต่อการ Login | ต่ำ | มี SMS Cost | ต่ำมาก |
| Recovery ยากไหม | ง่าย (Reset) | กลาง | ต้องวางแผน Fallback |
ทำไม Passkey ถึงปลอดภัยกว่า Password
1. Private Key ไม่เคยออกจาก Device
เมื่อสมัคร Passkey ครั้งแรก อุปกรณ์จะสร้างคู่กุญแจ Public/Private โดย Private Key ถูกเก็บใน Secure Enclave หรือ TPM ของเครื่องและไม่ถูกส่งขึ้นเซิร์ฟเวอร์เลยแม้แต่ครั้งเดียว
2. Origin Binding ป้องกัน Phishing
WebAuthn ผูก Credential เข้ากับ Domain ของเว็บจริง หากผู้ใช้โดนหลอกไปเว็บปลอมที่ Domain ต่างกัน เบราว์เซอร์จะไม่ยอมใช้ Passkey นั้น ทำให้ Phishing Kit ที่ขโมย OTP ไม่ได้ผล
3. Replay Attack ถูกตัดทิ้ง
การ Login แต่ละครั้งจะมี Challenge สุ่มจากเซิร์ฟเวอร์ที่ต้องเซ็นด้วย Private Key ทำให้ข้อมูลที่ถูก Sniff ระหว่างทางใช้ซ้ำไม่ได้
4 องค์ประกอบหลักของระบบ FIDO2
ขั้นตอนติดตั้ง Passkey บน Laravel และ Next.js
Step 1: เลือก Library
ระบบ Laravel แนะนำ spomky-labs/webauthn-framework หรือ laragear/webauthn ส่วน Next.js ใช้ @simplewebauthn/server และ @simplewebauthn/browser
Step 2: สร้าง Database Schema
เก็บอย่างน้อย 3 ฟิลด์ใน passkey_credentials ได้แก่ credential_id (Binary), public_key (Text), counter (Integer) โดย Foreign Key เชื่อมกับ users
Step 3: Endpoint สำหรับ Registration
```
POST /webauthn/register/start -> return challenge + user info
POST /webauthn/register/finish -> verify attestation + save credential
```
Step 4: Endpoint สำหรับ Authentication
```
POST /webauthn/login/start -> return challenge + allowed credentials
POST /webauthn/login/finish -> verify assertion + issue session
```
Step 5: UI ฝั่งเบราว์เซอร์
เรียก navigator.credentials.create() ตอน Register และ navigator.credentials.get() ตอน Login โดยใช้ SimpleWebAuthn เพื่อลดความซับซ้อน
Step 6: Fallback และ Recovery
เพิ่ม Email Magic Link หรือ Backup Code ไว้สำหรับกรณีผู้ใช้เปลี่ยนมือถือและไม่มี Passkey Sync
ตารางความเข้ากันได้กับ Browser/OS ในปี 2026
| Platform | รองรับ Passkey | Sync ข้าม Device |
|----------|-----------------|--------------------|
| iOS 17+ / macOS Sonoma+ | ใช่ | iCloud Keychain |
| Android 14+ / ChromeOS | ใช่ | Google Password Manager |
| Windows 11 | ใช่ | Microsoft Account |
| Firefox 120+ | ใช่ (Security Key) | ขึ้นกับ OS |
Use Case แนะนำสำหรับ SME ไทย
ข้อผิดพลาดที่ SME ไทยมักเจอ
สรุปและ Next Step
Passkey คือก้าวกระโดดด้าน Authentication ที่เปลี่ยนเกมจากรหัสผ่านที่อ่อนแอไปสู่การยืนยันตัวตนที่ผูกกับอุปกรณ์และ Biometric ของผู้ใช้ การปรับระบบไม่ต้องรื้อใหญ่ เพียงเปิด WebAuthn endpoint และเพิ่มฟิลด์ใน Database ก็เริ่มใช้งานได้ทันที
Key Takeaways:
ต้องการที่ปรึกษาช่วยออกแบบและติดตั้ง Passkey บนเว็บ SaaS หรือระบบ Intranet ของคุณ? ติดต่อทีม ADS FIT เพื่อรับ Roadmap ฟรี หรืออ่านบทความเกี่ยวกับ Zero Trust, SASE และ ISO 27001 เพิ่มเติมในบล็อกของเรา
