Dark mode
วิธีการพิสูจน์ตัวตน (Authentication Methods)
สรุปเปรียบเทียบวิธีการพิสูจน์ตัวตน
วิธีการ | ความปลอดภัย | ความสะดวกใช้งาน | ข้อดี | ข้อเสีย |
---|---|---|---|---|
Basic Auth | ต่ำ | สูง | ง่าย, รองรับทุกเบราว์เซอร์ | ไม่ปลอดภัยหากไม่ใช้ HTTPS, ส่งรหัสผ่านทุกครั้ง |
Token-based | ปานกลาง-สูง | สูง | ไม่ต้องเก็บสถานะ, ขยายระบบง่าย | ยากในการยกเลิกโทเคน |
Session-based | ปานกลาง | สูง | ควบคุมง่าย, ยกเลิกได้ทันที | ใช้ทรัพยากรเซิร์ฟเวอร์, ขยายระบบยาก |
Biometric | สูง | สูง | สะดวก, ยากต่อการปลอมแปลง | ต้องใช้ฮาร์ดแวร์เฉพาะ |
MFA | สูงมาก | ปานกลาง | ปลอดภัยสูง | ขั้นตอนเพิ่มขึ้น |
Certificate | สูงมาก | ต่ำ | ปลอดภัยสูงมาก | ยุ่งยากในการจัดการ |
Social | ปานกลาง | สูงมาก | สะดวก, ไม่ต้องจัดการรหัสผ่าน | พึ่งพาบริการภายนอก |
Passwordless | สูง | สูง | ปลอดภัยจากการโจมตีด้วยรหัสผ่าน | ต้องเข้าถึงอีเมล/โทรศัพท์ |
Basic Authentication
การส่งชื่อผู้ใช้และรหัสผ่านในรูปแบบ Base64 encoded string กับทุกคำขอ HTTP
หลักการทำงาน
เมื่อผู้ใช้ป้อนชื่อผู้ใช้และรหัสผ่าน ข้อมูลจะถูกเข้ารหัสแบบ Base64 และส่งไปในส่วนหัวของ HTTP request
ตัวอย่าง
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
(คำว่า "username:password" เข้ารหัสแบบ Base64)
ข้อดี
ง่ายต่อการใช้งาน, รองรับทุกเบราว์เซอร์
ข้อเสีย
ไม่ปลอดภัยหากไม่ใช้ HTTPS, ต้องส่งรหัสผ่านทุกครั้งที่เรียกใช้ API
Token-based Authentication
ระบบสร้างโทเคนที่มีลายเซ็นดิจิทัล (เช่น JWT) หลังจากผู้ใช้ล็อกอินสำเร็จ แล้วใช้โทเคนนั้นแทนการส่งรหัสผ่านทุกครั้ง
หลักการทำงาน
- ผู้ใช้ล็อกอินด้วยชื่อผู้ใช้และรหัสผ่าน
- เซิร์ฟเวอร์ตรวจสอบและสร้างโทเคนที่มีข้อมูลผู้ใช้และลายเซ็นดิจิทัล
- ไคลเอนต์เก็บโทเคนและส่งมาพร้อมทุกคำขอ
ตัวอย่าง
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
ข้อดี
ปลอดภัยกว่า Basic Auth, ไม่ต้องเก็บสถานะที่เซิร์ฟเวอร์, ขยายระบบง่าย
ข้อเสีย
ต้องจัดการโทเคนอย่างปลอดภัย, ยากในการยกเลิกโทเคนก่อนหมดอายุ
Session-based Authentication
เซิร์ฟเวอร์สร้าง session ID หลังจากผู้ใช้ล็อกอิน และเก็บข้อมูลผู้ใช้ไว้ที่ฝั่งเซิร์ฟเวอร์
หลักการทำงาน
- ผู้ใช้ล็อกอินด้วยชื่อผู้ใช้และรหัสผ่าน
- เซิร์ฟเวอร์สร้าง session ID และเก็บข้อมูลผู้ใช้ในฐานข้อมูลหรือหน่วยความจำ
- เซิร์ฟเวอร์ส่ง session ID กลับไปให้ไคลเอนต์เก็บไว้ในคุกกี้
- ไคลเอนต์ส่งคุกกี้กลับมาในทุกคำขอเพื่อระบุตัวตน
ตัวอย่าง
Cookie: PHPSESSID=298zf09hf012fh2
ข้อดี
ควบคุมได้ง่าย, ยกเลิก session ได้ทันที, เหมาะกับเว็บแอปพลิเคชันทั่วไป
ข้อเสีย
ใช้ทรัพยากรเซิร์ฟเวอร์, ขยายระบบยาก, เสี่ยงต่อการโจมตีแบบ CSRF
Biometric Authentication
การใช้ลักษณะทางชีวภาพเฉพาะตัวของผู้ใช้เพื่อยืนยันตัวตน
หลักการทำงาน
- ผู้ใช้ลงทะเบียนลักษณะทางชีวภาพ (เช่น ลายนิ้วมือ ใบหน้า)
- ระบบเก็บข้อมูลอ้างอิง (template) ไว้เปรียบเทียบ
- เมื่อต้องการยืนยันตัวตน ระบบจะเปรียบเทียบข้อมูลชีวภาพปัจจุบันกับข้อมูลอ้างอิง
ตัวอย่าง
Face ID บน iPhone, Touch ID, Windows Hello, ระบบสแกนม่านตา
ข้อดี
สะดวกสำหรับผู้ใช้, ยากต่อการปลอมแปลง, ไม่ต้องจำรหัสผ่าน
ข้อเสีย
ต้องใช้ฮาร์ดแวร์เฉพาะ, อาจมีปัญหากับบางคน (เช่น นิ้วแห้ง หรือแสงน้อยเกินไป)
Multi-factor Authentication (MFA)
การใช้หลายวิธีร่วมกันเพื่อเพิ่มความปลอดภัย โดยปกติแบ่งเป็น 3 ประเภท: สิ่งที่คุณรู้ (รหัสผ่าน), สิ่งที่คุณมี (โทรศัพท์), และตัวตนของคุณ (ชีวมิติ)
หลักการทำงาน
- ผู้ใช้ยืนยันตัวตนด้วยวิธีแรก (เช่น รหัสผ่าน)
- ระบบขอการยืนยันเพิ่ม