เพิ่มความปลอดภัยบัญชี Gmail, Facebook, Apple, etc. ของคุณด้วย 2-factor authentication

Wasith T. (Bai-Phai)
odds.team
Published in
2 min readAug 27, 2017

บทความนี้ไม่ได้พูดถึงวิธีการตั้งค่านะครับ แค่พูดถึงว่า 2-factor authentication คืออะไร และมีแบบไหนบ้าง

โดยปกติแล้วการถอนเงินผ่าน ATM นั้น เราต้องมีบัตร ATM นั่นคือสิ่งที่คุณต้องมี (what your have) และต้องมี รหัส PIN 4 หลัก และ PIN 4 หลักคือสิ่งที่คุณต้องรู้ (what your know) แต่การใช้งานบริการ internet โดยพื้นฐานแล้วมักจะใช้เพียง username, password หรือ ชื่อผู้ใช้งาน และรหัสผ่าน นั่นทำให้คุณจะใช้แค่สิ่งที่ต้องรู้เท่านั้น ส่วนสิ่งที่คุณต้องมี ยังไม่มี

จึงเกิดเป็น 2-factor authentication (2FA) หรือ การรับรองสิทธิ์ 2 ปัจจัย (ผมแปลเอง) บางผู้ให้บริการอาจะเรียกว่า 2-Step Verificationโดยจะต้องมีอีกสิ่งหนึ่งเพิ่มเติมจาก username, password ที่คุณต้องรู้ ตัวอย่างเช่น คุณต้องมีโทรศัพท์เบอร์ที่คุณระบุไว้ ออนไลน์อยู่ เพื่อรับ SMS สำหรับ OTP: One-Time Password สำหรับใครที่ใช้บัตรเครดิตออนไลน์น่าจะคุ้นชินกันดี ที่บางครั้งต้องกรอก OTP ภายใน 3 ถึง 15 นาทีไม่อย่างนั้นจะหมดอายุ จำเป็นต้องขอ OTP ใหม่อีกครั้งนึง

OTP: One-Time Password

สำหรับบริการออนไลน์ส่วนใหญ่แล้วมักจะมี 2-factor authentication เช่นที่ผมใช้อยู่ Google, Apple, Facebook, Omise หรือแม้กระทั้ง NAS: Network Attached Storage ของ QNAP ก็มี

โดยที่เห็นสามารถใช้ 2-facto authentication ได้ในรูปแบบดังต่อไปนี้

  • SMS
  • ผ่านการโทรศัพท์
  • กดยืนยันจากเครื่องที่เคย login อยู่แล้ว
  • ผ่านโปรแกรมตระกูล 2FA เช่น Google Authenticator
  • ผ่านบัตร NFC หรืออุปกรณ์ที่เชื่อมต่อ USB ได้
  • รหัสกู้คืน (Recovery codes) หรือ Backup codes

การรับ-ส่ง SMS นั้นอยู่ในสถานะไม่แนะนำให้ใช้งานเนื่องจาก ผู้ที่มีความรู้ความสามารถ สามารถดักข้อมูลได้หากอยู่ในรัศมีของเครื่องผู้รับ-ส่ง (เนื่องจากการรับ-ส่ง sms นั้นไม่ได้มีการเข้ารหัส และเป็นมาตรฐานเปิด) หรือผู้ให้บริการโทรศัพท์ ก็สามารถเข้าถึงข้อมูลของ SMS ได้เช่นกัน และมีข้อเสียอีกคือถ้าไม่มีคลื่นเช่นอยู่ในจุดอับสัญญาณ อยู่ต่างประเทศแล้วไม่ได้เปิด roaming หรือไม่มีแบตเตอรี่ก็จะใช้งานวิธีนี้ไม่ได้

ผ่านการโทรศัพท์ จะเป็นการที่มีคนหรือระบบอัตโนมัติโทรมา พูดเลข 6 หลักซ้ำ ๆ โดยบางเจ้าอาจมีเสียงซ่า ๆ รบกวนเพื่อสร้าง noise (ผมไม่รู้เหมือนกันนะว่า noise ที่สร้างนี่มีโปรโยชน์แค่ไหน)

การกดยืนยันจากเครื่องที่เคย login อยู่นั้น ถ้าหากไม่ได้ต่ออินเตอร์เน็ตอยู่ก็จะทำให้ใช้งานไม่ได้

Login Google โดยยืนยันผ่าน Accounts ใน อุปกรณ์ Android

ผ่านโปรแกรมตระกูล 2FA วิธีการนี้จะเป็นการ share private key ชุดนึงเพื่อสร้าง รหัส 6 หลัก โดยรหัสจะเปลี่ยนไปทุก 60 วินาที วิธีนี้ต้องลงโปรแกรมและทำการตั้งค่าเสียก่อน หรือพก token ที่ไว้ทำ 2FA โดยเฉพาะพกติดตัวไว้ตลอด บางธนาคารสาขาก็มีไว้ที่หัวหน้าคนเดียว แต่หัวหน้าก็ทิ้งไว้ในที่รู้กันของแต่ละสาขา เพราะมีแค่อันเดียว แต่พนักงานในสาขาต้องใช้ในการทำธุรกรรม

Google Authenticator

ผ่าน NFC, USB ผมไม่เคยใช้ครับ 555 ถ้าใกล้เคียงสุดก็ตัวเข้ารหัส disk ของ microsoft ที่สามารถบรรจุ key ไว้ใน flash drive ได้ละมั้ง

Disconnect token https://en.wikipedia.org/wiki/File:SecureID_token_new.JPG

รหัสกู้คืน (Recovey codes) หรือ backup codes เอาไว้ใช้เวลาที่วิธีการอื่น ๆ ใช้งานไม่ได้แล้วเช่น โทรศัพท์ หาย คอมหาย เป็นต้น รหัสกู้คืนเป็นสิ่งเดียวที่ไม่เปลี่ยนแปลงตามการเวลา เหมือน 3 วิธีการแรก โดยมักจะได้มาตอน setup 2FA ครั้งแรก อาจจะเป็นตัวเลข 6 หลัก หรือ เลขฐาน 16 ยาว ๆ ขึ้นอยู่กับผู้ให้บริการ ซึ่งเราต้องจำไว้ในหัว, ปริ้นเก็บไว้ในตู้เซฟแล้วแต่ชอบ ผู้ให้บริการส่วนใหญ่มักจะให้ รหัสกู้คืนมากกว่า 1 ชุด โดย 1 ชุดอาจใช้ได้หลายครั้ง หรือใช้ได้เพียงครั้งเดียว

ใครบ้างควรใช้ 2FA: ผม, คุณ และทุก ๆ คน

สวัสดีครับ

--

--

Wasith T. (Bai-Phai)
odds.team

ตบมือเป็นกำลังใจให้ผมด้วยนะครับ 😘