Home>>บทความ How-to>>2-factor หรือ Multi-factor authentication คืออะไร แล้วมันช่วยป้องกันตัวเราได้อย่างไร?
กราฟิกเกี่ยวกับเรื่องของความมั่นคงปลอดภัยออนไลน์ เป็นภาพที่สื่อให้ระวังพวกแฮกเกอร์
บทความ How-toบ่นเรื่อยเปื่อยHow-to อื่นๆ

2-factor หรือ Multi-factor authentication คืออะไร แล้วมันช่วยป้องกันตัวเราได้อย่างไร?

เมื่อเร็วๆ นี้มีข่าวดีว่า Google จะเปิดใช้ 2-factor authentication เป็นค่า Default แล้ว ถือว่าเป็นข่าวดีครับ เพราะนั่นจะช่วยให้ผู้ใช้งานมีความปลอดภัยจากการโดนแฮกผ่านการเดารหัสผ่าน หรือ โดนหลอกเอารหัสผ่านได้มากขึ้นอีกระดับ และผมก็ค่อนข้างสนับสนุนให้ทุกคนหันมาใช้กันนะครับ แต่ผมก็ยังรู้สึกว่าหลายคนยังไม่เข้าใจว่า 2-factor authentication (2FA) หรือบางทีเจอแบบ Multi-factor authentication (MFA) มันคืออะไรกันแน่ แล้วจะมาช่วยให้เราปลอดภัยได้ยังไง บล็อกตอนนี้เลยจะมาอธิบายให้ฟังกัน

2-factor หรือ Multi-factor authentication คืออะไร?

ในยุคที่การปกป้องตัวคุณเองจากการโดนแอบเข้ามาใช้งานด้วย Username กับ Password มันไม่เพียงพอแล้ว เขาได้เพิ่มเทคนิคในการยืนยันตัวตนเพิ่มเข้าไปอีกอย่าง นั่นก็คือ การเพิ่มขึ้นตอนการยืนยันตัวตนจากข้อมูลอีกแหล่งที่จะช่วยให้แน่ใจได้ว่า คุณคือเจ้าของบัญชีนั้นจริงๆ ซึ่งเทคนิค 2-factor authentication ที่นิยมใช้กันนั้นก็มี

การรับรหัสผ่านแบบใช้ได้ครั้งเดียว (OTP) จาก SMS หรือ อีเมล มาที่โทรศัพท์ หรือ ที่อยู่อีเมลที่เราได้กำหนดเอาไว้ตอนตั้งค่า ซึ่งมีหลายๆ บริการออนไลน์ที่ใช้แนวทางนี้ รวมถึงธนาคารเองก็ใช้แบบนี้เช่นกันเวลาที่จะมีการทำธุรกรรม แต่วิธีการใช้
การกดยืนยันตัวตน จากแอปของผู้ให้บริการ ที่ได้ล็อกอินเอาไว้อยู่ก่อนหน้าแล้ว เทคนิคนี้เท่าที่เห็นก็มี Google และ Facebook ที่ใช้อยู่ครับ
การกดยืนยันตัวตน หรือ รับรหัสผ่านแบบใช้ได้ครั้งเดียว ผ่านแอป Authenticator ซึ่งเป็นเทคนิคที่ใช้กันอยู่ทั่วไป คือ ใช้แอปจำพวก Authenticator ซึ่งเมื่อทำการตั้งค่าเชื่อมโยงกับบัญชีแล้ว จะทำการรัน TOTP (Time-based OTP) ให้เราไว้ใช้กรอกเพื่อยืนยันตัวเอง อันนี้เป็นเทคนิคที่ใช้บ่อย Google, Microsoft, Facebook, WordPress และผู้ให้บริการอีกหลายต่อหลายรายเขาก็ใช้กัน หรือ ผู้ให้บริการเองมีแอปจำพวก Authenticator เอาไว้ให้ใช้กดยืนยันตัวตนก็ได้ เช่น Microsoft, Salesforce อะไรแบบนี้

หน้าจอแจ้งให้ทำการยืนยันตัวตนผ่านแอป Authenticator ของ Salesforce

การยืนยันตัวตนด้วยฮาร์ดแวร์ ซึ่งอาจจะเป็น USB key ที่รองรับมาตรฐาน U2F เช่น YubiKey ที่ผมเคยรีวิวไป หรือการจับคู่กับอุปกรณ์บลูทูธเช่น สมาร์ทวอทช์ สมาร์ทโฟน แท็บเล็ต อะไรพวกนี้ ซึ่งมีหลายๆ ค่าย ที่รองรับวิธีการยืนยันตัวตนแบบนี้เช่นกัน ไม่ว่าจะเป็น Google, Facebook, Salesforce ฯลฯ

ในการยืนยันตัวตนด้วย YubiKey ก็แค่แตะไปที่ปุ่มเบาๆ ตอนที่หน้าจอเด้งมาให้เราแตะปุ่ม
USB Key ที่รองรับมาตรฐาน U2F ก็เป็นอีกทางเลือกหนึ่งในการยืนยันตัวตน

ซึ่งในหลายกรณี หากผู้ให้บริการเขาใหญ่จริง และมีผู้ใช้งานจำนวนมากจริง เขาจะมีให้เลือกใช้วิธีการยืนยันตัวตนได้หลากหลายแบบไปเลย ซึ่งผู้ใช้งานจะเลือกใช้แค่แบบใดแบบหนึ่ง หรือหลายๆ แบบก็ได้ ตามสะดวก เช่น อาจจะเลือกให้สามารถยืนยันตัวตนได้ทั้งจาก Authenticator, U2F USB Key หรือ รับ SMS อย่างใดอย่างหนึ่งก็ได้ เป็นต้น และในบางบริการ อาจจะมีการยืนยันตัวตนจากพิกัดที่อยู่ของเราด้วยซ้ำ (Localtion-based authentication) หรือที่บางทีเรียกว่า Geofencing แต่เป็นอะไรที่ไม่ค่อยได้เห็นนะครับ เพราะส่วนใหญ่มักจะใช้กันในหมู่ผู้ใช้งานระดับองค์กร ที่เอาไว้ป้องกันไม่ให้ระบบถูกล็อกอินได้นอกสถานที่ที่กำหนด ซึ่งเหมาะกับอะไรก็ตามที่ต้องการความมั่นคงปลอดภัยระดับสูงมากๆ

แล้ว 2-factor หรือ Multi-factor authentication มันช่วยเรื่องความมั่นคงปลอดภัยได้ยังไง?

ช่วยได้สิครับ เพราะอย่างน้อยที่สุด ก็ช่วยให้หมดห่วงเรื่องการโดนลักลอบเข้ามาใช้งานจากการโดนเดารหัสผ่าน หรือโดนหลอกเอารหัสผ่านไป เพราะ ณ ปัจจุบันนี้ รหัสผ่าน เป็นการป้องกันที่ค่อนข้างอ่อนแอมากแล้ว เพราะว่า

ตัวผู้ใช้งานเองมีการตั้งรหัสผ่านที่คาดเดาง่ายเกินไป และปัจจุบันคอมพิวเตอร์ก็มีประสิทธิภาพในการประมวลผลสูงขึ้น อินเทอร์เน็ตก็มีความเร็วสูงขึ้น การโจมตีแบบ Brute force หรือ เดารหัสผ่านไปเรื่อยๆ หรือการเดารหัสผ่านด้วยดิกชันนารี (Dictionary attack) ก็เลยทำได้ง่ายมากขึ้น และมีโอกาสประสบความสำเร็จมากขึ้น
ตัวผู้ใช้งานตกเป็นเหยื่อของการทำ Phishing คือ โดนหลอกเอารหัสผ่านไปจากการหลอกให้ผู้ใช้งานเป็นผู้กรอกให้เอง โดยเทคนิคที่สุดคลาสสิกคือ ส่งอีเมลไปหาเหยื่อ โดยปลอมตัวว่ามาจากผู้ให้บริการ แล้วหลอกให้เหยื่อกดลิงก์เพื่อไปล็อกอินเข้าระบบ โดยจะมีการทำเว็บไซต์ปลอมที่มีหน้าตาละม้ายคล้ายของจริง เพื่อให้หลงเชื่อ ซึ่งวิธีนี้ได้ผลดีกว่าการที่ต้องไปนั่งเดาหรือสุ่มรหัสผ่านอีกครับ แถมไม่ต้องลงทุนลงแรงเยอะมากด้วย และโจมตีคนเป็นจำนวนมากได้พร้อมๆ กันอีกด้วย

ตัวอย่างอีเมล Phishing ที่ปลอมเป็นธนาคารไทยพาณิชย์เพื่อหลอกให้คนล็อกอิน เพื่อหลอกเอารหัสผ่าน
ภาพจาก: Pantip.com

การมาของ 2-factor authentication หรือ Multi-factor authentication ก็จะช่วยในกรณีที่เราโดนขโมยรหัสผ่านไปได้แบบนี้แหละ คือ ถ้าผู้ไม่หวังดี มันไม่มีแอป Authenticator หรือ อะไรก็ตามที่เราใช้ในการยืนยันตัวตนของเราอีกชั้น ต่อให้มันรู้ Username หรือ Password ของเราไป มันก็ล็อกอินเข้าไปไม่ได้ครับ อย่างเคสล่าสุดนี่เลย พี่ทนายวิรัช ที่ผมเคยแนะนำเรื่องการใช้ 2FA ไปก่อนหน้า เพราะว่าพี่เขาได้ Verified badge มาจากทาง Twitter แล้วช่วงนั้นมันมีพวกแฮกเกอร์เน้นโจมตีผู้ใช้งานในกลุ่มที่ได้ Verified badge เพราะจะสามารถเอาบัญชีไปใช้ปล่อยข้อมูลเท็จต่อได้ แต่จะมีความน่าเชื่อถือเพราะคนจะมองว่า Twitter ได้ตรวจสอบยืนยันมาแล้วว่าเป็นบุคคลจริง พอเขาทำคลิกว่าหากโดนแฮกช่อง YouTube หรือ Facebook ขึ้นมา ในเชิงกฎหมายควรทำอย่างไร เขาก็โดนพยายามแฮกในทันทีครับ แต่รอด เพราะมี 2FA

และโดยส่วนตัวของผมเอง บล็อกของผมก็เคยมีมือดีพยายามล็อกอินมาหลายหนเช่นกันครับ แต่ก็เข้ามาไม่ได้ เพราะดันติด 2-factor authentication ที่ผมได้ทำเอาไว้

แต่ใช้ 2-factor หรือ Multi-factor authentication ต้องระวังเช่นกัน

แต่การใช้ 2-factor หรือ Multi-factor authentication ก็มีข้อควรต้องระวังที่สำคัญอย่างนึงนะครับ นั่นคือ ถ้าคุณเกิดทำไอ้สิ่งที่ใช้ยืนยันตัวตนของคุณหายไป ไม่ว่าจะเผลอลบแอป ทำสมาร์ทโฟนหาย ทำ U2F USB Key หาย ล็อกอินเข้าเช็กเมลที่ใช้รับ OTP ไม่ได้ นี่คือบรรลัยเลยนะครับ ถ้าเป็นบริการสาธารณะ เราไปใช้ของเขาฟรีๆ เนี่ย ผู้ให้บริการแทบไม่อยากจะเข้ามาช่วยเหลือใดๆ เราเลยนะครับ ฉะนั้นต้องระวังในเรื่องนี้ครับ

หน้าจอแสดงตัวเลือกสำหรับการยืนยันตัวตนของ Facebook

แต่ปกติแล้ว เวลาที่บริการใดก็ตามที่เปิดให้ใช้ 2-factor หรือ Multi-factor authentication เขาก็จะมี “วิธีการสำรอง” สำหรับใช้ล็อกอินเวลาที่เราเกิดมีปัญหาในการยืนยันตัวตน ซึ่งโดยมากก็จะเป็น Recovery codes ที่ให้เราไปเซฟมาเก็บเอาไว้ มักจะมี 5-10 โค้ดให้เก็บไว้ โค้ดพวกนี้จะใช้ได้ครั้งเดียว

แต่ขั้นต่ำที่สุด ปกติถ้าเขาให้ทำการยืนยันตัวตนผ่าน Authenticator ได้ เขาก็จะให้เราเพิ่มการยืนยันตัวตนผ่าน SMS หรือผ่านอีเมลได้ด้วย แต่ไม่เขาจะให้ทำอะไรได้บ้าง ที่ผมแนะนำก็คือการตั้งค่าสำหรับการยืนยันตัวตนอย่างน้อยสองวิธีครับ (เช่น ผ่าน Authenticator กับ SMS อะไรแบบนี้)

น่าเสียดายที่ 2-factor หรือ Multi-factor authentication ยังไม่มีให้ใช้ในหลายบริการ

ใช่ครับ เป็นเรื่องที่น่าเสียดายที่ไม่ใช่ทุกบริการออนไลน์เขาจะมีให้ใช้ 2-factor authentication (ไม่ต้องคิดถึง Multi-factor authentication เลยด้วยนะ) แต่ผมก็ยังอยากย้ำว่า สำหรับใครก็ตามที่ใช้บริการใดๆ ที่เขามีเปิดให้ใช้ 2-factor หรือ Multi-factor authentication ได้ โดยเฉพาะบริการที่บ่งชี้ถึงตัวตนของเราได้ (เช่น บริการอีเมล หรือ โซเชียลมีเดียต่างๆ) ก็ควรจะต้องเปิดเอาไว้นะครับ เพื่อป้องกันตนเอง

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.