Two-Factor Authentication คืออะไร? คู่มือภาษาเข้าใจง่าย
Two-factor authentication (2FA) คือการเข้าสู่ระบบที่ขอหลักฐานสองประเภทที่ต่างกันเพื่อยืนยันว่าคุณคือคนที่บอกว่าเป็น โดยทั่วไปคือสิ่งที่คุณรู้ เช่น รหัสผ่าน บวกกับสิ่งที่คุณมี เช่น โทรศัพท์หรือกุญแจความปลอดภัย หากอาชญากรขโมยหรือเดารหัสผ่านได้ เขาก็ยังเข้าไม่ได้โดยไม่มีปัจจัยที่สอง นี่เป็นหนึ่งในวิธีที่ง่ายที่สุดในการปกป้องบัญชีที่สำคัญ
ทำไมเรื่องนี้สำคัญเมื่อสร้างด้วย AI
เมื่อคุณขอ AI builder ให้สร้าง "ระบบล็อกอิน" คุณมักได้อีเมลกับรหัสผ่าน ซึ่งเป็นจุดเริ่มต้นที่ดี แต่รหัสผ่านถูกนำมาใช้ซ้ำ ถูกหลอกเอา และรั่วไหลได้ หากแอปของคุณเก็บข้อมูลที่มีค่า เช่น ข้อมูลลูกค้า ใบแจ้งหนี้ สิทธิ์ผู้ดูแล หรือการตั้งค่าการชำระเงิน รหัสผ่านที่ถูกขโมยเพียงรหัสเดียวอาจเปิดเผยทุกอย่าง
2FA ยังส่งผลต่อการตัดสินใจที่คุณอาจยังคิดไม่ถึง:
- ใครต้องใช้ เป็นตัวเลือกสำหรับทุกคน บังคับเฉพาะผู้ดูแล หรือบังคับทุกคน
- รองรับวิธีใดบ้าง รหัสจากแอป ข้อความ พาสคีย์ กุญแจความปลอดภัย
- ถ้ามีคนถูกล็อกเอาต์จะเกิดอะไรขึ้น โทรศัพท์หายคือคำขอความช่วยเหลือที่พบบ่อยที่สุดสำหรับแอปใดๆ ที่มี 2FA
- บังคับใช้ที่ไหน การตรวจต้องเกิดที่เซิร์ฟเวอร์ หน้าจอ 2FA ที่แค่ซ่อนหน้าในเบราว์เซอร์สามารถถูกข้ามได้
คุณไม่จำเป็นต้องสร้างระบบเข้ารหัสเองเลย ไลบรารีที่ผ่านการทดสอบมาดีและผู้ให้บริการ auth ช่วยจัดการให้ได้ แต่คุณต้องรู้ว่าควรขออะไร
ตัวอย่างเปรียบเทียบในชีวิตประจำวัน
ลองนึกถึงกล่องฝากของในธนาคาร การจะเปิดกล่องต้องใช้บัตรประชาชน (สิ่งที่ธนาคารตรวจว่าคุณ เป็น หรือ รู้) และ กุญแจจริง (สิ่งที่คุณ มี) ขโมยที่ลอกลายเซ็นของคุณได้ก็ยังไม่มีกุญแจ ขโมยที่ล้วงกุญแจไปได้ก็ยังผ่านการตรวจบัตรไม่ได้
2FA ทำงานแบบเดียวกัน รหัสผ่านคือลายเซ็น โทรศัพท์หรือกุญแจความปลอดภัยคือกุญแจจริง แต่ละอย่างเพียงลำพังไม่พอ
สามประเภทของปัจจัย
มาตรฐานความปลอดภัย เช่น แนวทางด้านอัตลักษณ์ดิจิทัลของ National Institute of Standards and Technology (NIST) ของสหรัฐฯ จัดปัจจัยออกเป็นสามประเภท:
| ปัจจัย | ตัวอย่าง |
|---|---|
| สิ่งที่คุณรู้ | รหัสผ่าน PIN |
| สิ่งที่คุณมี | โทรศัพท์ที่มีแอปยืนยันตัวตน กุญแจความปลอดภัย อุปกรณ์ที่เก็บพาสคีย์ |
| สิ่งที่คุณเป็น | ลายนิ้วมือ ใบหน้า มักใช้ปลดล็อกอุปกรณ์ที่จะทำการตรวจจริงต่อ |
คำสำคัญคือ ต่างกัน รหัสผ่านบวกคำถามความปลอดภัยเป็นสองสิ่งที่คุณรู้ จึงไม่ถือเป็น two-factor authentication จริง และถ้าข้อมูลรั่วไหลครั้งเดียวเปิดเผยทั้งสองอย่างได้ ก็นับเป็นหนึ่งปัจจัย
วิธี 2FA ที่พบบ่อยเปรียบเทียบกัน
| วิธี | ทำงานอย่างไร | ความแข็งแรง | หมายเหตุ |
|---|---|---|---|
| รหัส SMS | ส่งรหัสไปที่หมายเลขโทรศัพท์ของคุณทางข้อความ | อ่อนที่สุด | เสี่ยงต่อการสลับซิมและฟิชชิง แต่ดีกว่าไม่มี 2FA มาก |
| รหัสทางอีเมล | ส่งรหัสไปที่อีเมลของคุณ | อ่อน | ปลอดภัยได้เท่ากับบัญชีอีเมล |
| แอปยืนยันตัวตน (TOTP) | แอป เช่น Google Authenticator สร้างรหัส 6 หลักใหม่ทุก 30 วินาที | ดี | ทำงานแบบออฟไลน์ได้ แต่ยังถูกฟิชชิงได้ถ้าเว็บปลอมขอรหัส |
| การอนุมัติแบบ push | แอปถามว่า "ใช่คุณหรือไม่" แล้วคุณแตะอนุมัติ | ดี | ระวัง "ความเหนื่อยจากการอนุมัติ" เมื่อผู้ใช้แตะยอมรับเพียงเพื่อให้การแจ้งเตือนซ้ำๆ หยุด |
| พาสคีย์หรือกุญแจความปลอดภัย | กุญแจเข้ารหัสบนอุปกรณ์ที่พิสูจน์ว่าคุณอยู่ที่เว็บจริง | แข็งแรงที่สุด | ต้านการฟิชชิง เพราะไม่ตอบสนองต่อโดเมนที่หน้าตาคล้ายกัน |
แนวทางของ NIST ถือว่าวิธีที่คุณต้องพิมพ์รหัส (SMS อีเมล แอปยืนยันตัวตน) ไม่ต้านการฟิชชิง และจัดการส่งรหัสผ่านเครือข่ายโทรศัพท์เป็น "จำกัด" มีเพียงพาสคีย์และกุญแจความปลอดภัยฮาร์ดแวร์ ซึ่งอิงมาตรฐาน WebAuthn/FIDO2 ที่ NIST นับว่าต้านการฟิชชิงได้
ข้อสรุปเชิงปฏิบัติ: แอปยืนยันตัวตนเป็นค่าเริ่มต้นที่แข็งแรงและใช้ง่ายสำหรับแอปส่วนใหญ่ และพาสคีย์ควรค่าแก่การเสนอหากผู้ใช้คุณคุ้นกับมัน
ตัวอย่างจริง: 2FA สำหรับพอร์ทัลลูกค้า
สมมติคุณสร้างพอร์ทัลที่สำนักงานบัญชีเล็กๆ แห่งหนึ่งใช้แชร์เอกสารภาษีกับลูกค้า นี่คือการตั้งค่า 2FA ที่สมเหตุสมผลทีละขั้น
การเปิดใช้งาน (ลงทะเบียน) ปรียา ลูกค้าคนหนึ่งเปิดหน้าตั้งค่าและคลิก "เปิดใช้ two-factor authentication" แอปสร้างความลับและแสดงเป็น QR code เธอสแกนด้วยแอปยืนยันตัวตน ซึ่งเริ่มแสดงรหัสหกหลัก เธอพิมพ์รหัสปัจจุบันกลับเข้าไปในพอร์ทัลเพื่อพิสูจน์ว่าการตั้งค่าใช้ได้ แอปแสดงรหัสกู้คืนสิบรหัสและขอให้เธอบันทึกไว้ในที่ปลอดภัย
การล็อกอินหลังจากนั้น
- ปรียากรอกอีเมลและรหัสผ่าน เซิร์ฟเวอร์ตรวจสอบ
- แทนที่จะให้เข้าระบบทันที เซิร์ฟเวอร์ทำเครื่องหมายเซสชันว่า "รหัสผ่านถูกต้อง รอปัจจัยที่สอง" และแสดงหน้าจอกรอกรหัส
- เธอพิมพ์รหัสจากแอป เซิร์ฟเวอร์เทียบกับความลับที่เก็บไว้ โดยยอมรับความคลาดเคลื่อนของนาฬิกาเล็กน้อย
- หลังจากนั้นเท่านั้นเซิร์ฟเวอร์จึงสร้างเซสชันเต็มและให้เธอเห็นเอกสาร
สิ่งที่ผู้โจมตีเห็น ถ้ารหัสผ่านของปรียารั่วจากเว็บอื่น ผู้โจมตีจะติดอยู่ที่ขั้นตอนที่ 3 ทุกครั้งที่กรอกรหัสผิดจะถูกนับ และหลังจากผิดหลายครั้ง บัญชีจะถูกล็อกชั่วคราวและปรียาจะได้รับอีเมลแจ้ง
เมื่อทำโทรศัพท์หาย ปรียาใช้รหัสกู้คืนหนึ่งรหัสเพื่อเข้าสู่ระบบ ปิดแล้วเปิด 2FA ใหม่ด้วยโทรศัพท์เครื่องใหม่ และได้รับรหัสกู้คืนชุดใหม่ รหัสที่ถูกใช้แล้วจะใช้ซ้ำไม่ได้อีก
สำหรับเจ้าหน้าที่ นักบัญชีของสำนักงานเห็นไฟล์ของลูกค้าทุกคน พอร์ทัลจึง บังคับ ให้บัญชีเจ้าหน้าที่ใช้ 2FA พวกเขาเข้าแดชบอร์ดไม่ได้จนกว่าจะลงทะเบียนเสร็จ
คำศัพท์ที่ควรรู้
| คำศัพท์ | ความหมาย |
|---|---|
| 2FA / MFA | Two-factor / multi-factor authentication การเข้าสู่ระบบด้วยหลักฐานมากกว่าหนึ่งประเภท |
| Factor (ปัจจัย) | หลักฐานหนึ่งประเภท คือสิ่งที่คุณรู้ มี หรือเป็น |
| TOTP | Time-based one-time password รหัสที่หมุนเวียนในแอปยืนยันตัวตน |
| Shared secret (ความลับที่ใช้ร่วมกัน) | ค่าที่ซ่อนอยู่ ตั้งค่าผ่าน QR code ซึ่งทั้งแอปและโทรศัพท์ของคุณใช้สร้างรหัสที่ตรงกัน |
| Recovery (backup) codes (รหัสกู้คืน / สำรอง) | รหัสใช้ครั้งเดียวสำหรับเข้าระบบเมื่อคุณทำปัจจัยที่สองหาย |
| Passkey (พาสคีย์) | ข้อมูลล็อกอินที่เก็บบนอุปกรณ์ ใช้การเข้ารหัสแบบคีย์สาธารณะแทนรหัสผ่าน |
| Security key (กุญแจความปลอดภัย) | อุปกรณ์ทางกายภาพขนาดเล็ก (USB หรือ NFC) ที่ทำหน้าที่เหมือนพาสคีย์ |
| SIM swapping (การสลับซิม) | การหลอกผู้ให้บริการมือถือให้ย้ายหมายเลขไปยังซิมใหม่ เพื่อให้ข้อความไปถึงผู้โจมตี |
| Phishing (ฟิชชิง) | เว็บหรือข้อความปลอมที่หลอกให้คนมอบรหัสผ่านหรือรหัสให้ |
| Step-up authentication (ยืนยันเพิ่มขั้น) | ขอปัจจัยที่สองอีกครั้งก่อนการกระทำที่ละเอียดอ่อน เช่น เปลี่ยนข้อมูลการรับเงิน |
ข้อผิดพลาดที่พบบ่อยและความเข้าใจผิด
- "2FA ทำให้บัญชีแฮ็กไม่ได้" มันทำให้ยากขึ้นมาก แต่เว็บฟิชชิงยังจับรหัสที่พิมพ์ได้แบบเรียลไทม์ได้ นี่คือเหตุผลที่มีพาสคีย์
- ตรวจรหัสเฉพาะในเบราว์เซอร์ ถ้าเซิร์ฟเวอร์ออกเซสชันเต็มหลังรหัสผ่าน หน้ากรอกรหัสก็เป็นแค่ของตกแต่ง เซิร์ฟเวอร์ต้องปฏิเสธการเข้าถึงจนกว่าปัจจัยที่สองจะผ่าน
- ไม่จำกัดจำนวนครั้งที่เดารหัส รหัสหกหลักมีหนึ่งล้านความเป็นไปได้ หากไม่มี การจำกัดอัตรา และการล็อก ผู้โจมตีก็แค่เดาไปเรื่อยๆ
- ลืมเรื่องการกู้คืน หากไม่มีรหัสกู้คืน ทุกครั้งที่โทรศัพท์หายจะกลายเป็นคำขอความช่วยเหลือ หรือลูกค้าที่ถูกล็อกเอาต์
- เก็บความลับของ TOTP อย่างไม่ระมัดระวัง ความลับที่ใช้ร่วมกันควรถูกเข้ารหัสในฐานข้อมูล และไม่แสดงซ้ำหลังตั้งค่าเสร็จ
- ให้ผู้ใช้ปิด 2FA ได้โดยไม่ตรวจซ้ำ การปิด 2FA หรือเปลี่ยนอีเมลของบัญชีควรต้องใช้รหัสผ่านและรหัสปัจจุบัน
- รหัสผ่านบวกคำถามความปลอดภัยถือเป็น 2FA ไม่ใช่ เพราะทั้งสองอย่างเป็นสิ่งที่คุณรู้
สิ่งที่ควรขอจาก AI builder
- "เพิ่ม two-factor authentication แบบเลือกได้ โดยใช้แอปยืนยันตัวตน (TOTP) มี QR code สำหรับตั้งค่า และต้องยืนยันด้วยรหัสปัจจุบันก่อนเปิดใช้งาน"
- "แสดงรหัสกู้คืนแบบใช้ครั้งเดียวสิบรหัสเมื่อเปิด 2FA และเก็บแบบแฮชเหมือนรหัสผ่าน"
- "บังคับใช้ 2FA ที่เซิร์ฟเวอร์: ไม่ให้เซสชันเต็มจนกว่าปัจจัยที่สองจะผ่าน"
- "จำกัดจำนวนครั้งที่กรอกรหัส และล็อกการเข้าระบบเป็นเวลา 15 นาทีเมื่อผิดซ้ำหลายครั้ง และส่งอีเมลแจ้งผู้ใช้เมื่อเกิดขึ้น"
- "บังคับให้บัญชีผู้ดูแลใช้ 2FA"
- "ขอรหัสผ่านและรหัสปัจจุบันก่อนปิด 2FA หรือเปลี่ยนอีเมลของบัญชี"
- "ใช้ไลบรารีที่รู้จักกันดี หรือ 2FA ที่มีในตัวของผู้ให้บริการ auth ของเรา อย่าเขียนระบบเข้ารหัสเอง"
- "อธิบายว่าใช้วิธีใด และเก็บความลับไว้ที่ไหน"
หากคุณใช้ผู้ให้บริการ auth แบบโฮสต์ ให้ตรวจว่ามี 2FA หรือพาสคีย์ในตัวหรือไม่ การเปิดฟีเจอร์ในตัวมักปลอดภัยกว่าโค้ดที่เขียนเอง ขั้นตอนแบบละเอียดอยู่ใน วิธีเพิ่ม two-factor authentication และ การยืนยันตัวตนคืออะไร อธิบายพื้นฐานการล็อกอินที่อยู่เบื้องล่าง
Two-factor authentication ใน Mythex
Mythex ไม่มีระบบล็อกอินในตัวสำหรับผู้ใช้แอปของคุณ ดังนั้น 2FA เป็นส่วนหนึ่งของวิธี auth ที่คุณเลือก ไม่ว่าจะเป็นการล็อกอินด้วยอีเมลและรหัสผ่านของคุณเอง ซึ่งเก็บใน ฐานข้อมูล ของโปรเจกต์ หรือผู้ให้บริการแบบโฮสต์ที่มี 2FA คุณขอให้ agent เพิ่มในแชท และคีย์ของผู้ให้บริการจะเก็บในความลับของโปรเจกต์ ไม่ใช่ในแชท เอกสาร การเพิ่มการล็อกอินให้แอป มีพรอมต์เริ่มต้นให้ปรับใช้ และ ความปลอดภัยสำหรับแอปที่คุณสร้าง ครอบคลุมนิสัยที่ควรมีกับคีย์ ก่อนเปิดตัว ให้ผ่าน เช็กลิสต์ความปลอดภัยสำหรับแอปที่สร้างด้วย AI
คำถาม
Two-factor authentication คืออะไรแบบเข้าใจง่าย?
Two-factor authentication (2FA) หมายถึงการเข้าสู่ระบบที่ต้องใช้หลักฐานสองประเภทที่ต่างกัน โดยปกติคือรหัสผ่านบวกกับรหัสจากโทรศัพท์หรือกุญแจความปลอดภัย คนที่ขโมยได้แค่รหัสผ่านจะยังเข้าไม่ได้
2FA เหมือนกับ MFA หรือไม่?
เกือบเหมือนกัน Multi-factor authentication (MFA) หมายถึงหลักฐานสองอย่างขึ้นไป ส่วน two-factor คือกรณีที่พบบ่อยที่สุดซึ่งมีสองอย่างพอดี ในการใช้งานทั่วไปคำทั้งสองใช้แทนกันได้
SMS สำหรับ 2FA ปลอดภัยหรือไม่?
ดีกว่ารหัสผ่านอย่างเดียวมาก แต่เป็นตัวเลือกที่อ่อนแอที่สุดที่พบบ่อย ข้อความอาจถูกดักหรือถูกเปลี่ยนเส้นทางด้วยการสลับซิม (SIM swapping) และหน้าล็อกอินปลอมอาจหลอกให้พิมพ์รหัสได้ แอปยืนยันตัวตนแข็งแรงกว่า และพาสคีย์หรือกุญแจความปลอดภัยแข็งแรงกว่านั้นอีก
แอปของฉันต้องมี 2FA หรือไม่?
หากบัญชีถือข้อมูลการเงิน ข้อมูลส่วนตัว หรือสิทธิ์ผู้ดูแลเหนือผู้ใช้คนอื่น การเสนอ 2FA เป็นความคิดที่ดี และการบังคับให้ผู้ดูแลใช้เป็นเรื่องที่พบบ่อย สำหรับแอปงานอดิเรกง่ายๆ อาจทำเป็นตัวเลือกหรือเลื่อนไปทำทีหลังได้
ถ้าผู้ใช้ทำโทรศัพท์หายจะเกิดอะไรขึ้น?
นี่คือหน้าที่ของ recovery codes ซึ่งเป็นรายการรหัสสำรองแบบใช้ครั้งเดียวสั้นๆ ที่แสดงตอนเปิด 2FA หากไม่มีรหัสเหล่านี้ การกู้คืนมักต้องให้เจ้าของแอปตรวจสอบตัวตนด้วยตนเอง จึงควรวางแผนไว้ก่อนเปิดใช้งาน