FIDO: Future of Online Authentication

FIDO: Future of Online Authentication

การยืนยันตัวตน (Authentication) บนโลกออนไลน์

 

ถือเป็นปัจจัยทางความมั่นคงที่มีความสำคัญสูงสุด เพราะเป็นวิธีการที่องค์กรใช้ในการระบุตัวตนของผู้ใช้งานระบบ ไม่ว่าจะเป็นพนักงานหรือลูกค้างานวิจัยจำนวนมากบ่งชี้ว่ากว่า 80% ของการโจมตีมีต้นเหตุหรือต่อยอดมาจากการขโมย Password ไม่ว่าจะด้วยวิธี Phishing หรือการใช้ Weak Password ที่เดาได้ง่าย (ง่ายต่อการ Brute Force) หรือผู้ใช้งานระบบมีการใช้ Username และ Password ที่ซ้ำกันในหลายระบบ

ทำให้หากระบบ A ถูกโจมตีแล้วคนร้ายได้ Username/Password ของนาย ก. ไป พยายามใช้ในระบบ B ถ้านาย ก. ใช้ Username/Password เดียวกัน ยึดครอง Account บนระบบ B ได้ด้วย เป็นต้นปัจจุบันมีโซลูชันมากมายช่วยให้การใช้ Username/Password ในการยืนยันตัวตนออนไลน์ปลอดภัยขึ้น เช่น การใช้ One-Time-Password (OTP) ผ่าน SMS (ธนาคารหลายๆ แห่งในประเทศไทยใช้ระบบ OTP) หรือการใช้ Time -Based OTP แอปพลิเคชัน เช่น ระบบของ Microsoft, Google, Facebook มีให้เลือกใช้เพื่อเป็น 2nd Factor Authentication (Password = Something You Know, OTP = Something You Have) หรือการยืนยันตัวตนทางที่สองเพื่อลดความเสี่ยง

 

แต่การใช้ระบบดังกล่าวมีข้อเสีย เช่น นำไปใช้ยาก (App TOTP ต้องมีการ Setup ที่ซับซ้อนและการเปลี่ยนหรือย้ายสิทธิของแอปพลิเคชันบนเครื่องต้องมีการเตรียมการล่วงหน้า) หรือมีต้นทุนสูงขึ้น (เช่น SMS-OTP เพิ่มต้นทุนให้ระบบ) และทั้งหมดนี้ยังประสบปัญหายุ่งยากในการใช้งาน (ต้องพิมพ์หลายหนทั้ง Username/Password และ OTP ด้วย) และยังอาจจะถูกทำ Phishing หรือ Man-in-the-Middle เพื่อขโมย Username/Password/OTP ได้อยู่ดี (ยากขึ้นแต่ปัญหาไม่หมดไป)

FIDO (Fast IDentity Online: https://fidoalliance.org)

เป็นการรวมกลุ่มพันธมิตรของบริษัทยักษ์ใหญ่ทางเทคโนโลยีของโลก เพื่อแก้ปัญหาของความไม่ปลอดภัยของการใช้ Username/Password ในการยืนยันตัวตนออนไลน์ โดย FIDO ได้จัดทำมาตรฐาน Online Authentication ที่ใช้ Biometric เช่น ลายนิ้วมือ เสียง ภาพ หรือองค์ประกอบทางกายภาพของร่างกาย มาใช้ในการยืนยันตัวตนอย่างปลอดภัยมากขึ้น โดยมีเป้าหมายเพื่อให้เกิด Passwordless Authentication Experience เพื่อนำไปสู่การลดการใช้ Username/ Password ลง เป้าหมายคือลดโดยสิ้นเชิง

มาตรฐานของ FIDO นั้นเป็น Open Standard Protocol โดยมีการออกใบอนุญาตรับรองสองประเภทคือ UAF (Universal Authentication Framework) และ U2F (Universal Second Factor) หากระบบใดมีการอิมพลีเม้นต์ตามมาตรฐานแล้ว จะสามารถใช้ร่วมกับระบบอื่นๆ ที่ใช้มาตรฐานเดียวกันไม่ว่าจะใช้ยี่ห้อใดก็ตาม ซึ่งเป็นอุปสรรคของการนำระบบ Biometric มาใช้ในอดีต (เพราะหากซื้อระบบของ ยี่ห้อใด ก็ต้องซื้ออุปกรณ์ของยี่ห้อนั้นตลอดไป หรือ Locked-In นั่นเอง)

UAF คือ Passwordless User Experience

ซึ่งมีหลักการง่ายๆ คือ ผู้ใช้จะต้องมีอุปกรณ์ที่มี UAF Compatible อยู่ (เป็นฮาร์ดแวร์หรือเป็นแอปพลิเคชันก็ได้ เช่น iPhone/Android ที่มี UAF Stack ดังเช่นรุ่นที่มี Programmable Secure Enclave) เมื่อผู้ใช้ต้องการล็อกอินเข้าเว็บหรือเข้าระบบที่รองรับ UAF ผู้ใช้ทำการยืนยันตัวตนเข้ากับอุปกรณ์ที่ตนเองถืออยู่ด้วย Biometric หรือ PIN (ในกรณีที่อุปกรณ์ ไม่มี Biometric) อุปกรณ์ดังกล่าวจะทำการยืนยันตัวตนเพื่อเข้าเว็บหรือระบบโดยไม่มีการส่ง Biometric หรือ PIN ไปยังระบบ (กล่าวคือ Biometric หรือ PIN นั้นจะไม่ถูกส่งออกจากอุปกรณ์ของผู้ใช้เลย ทำให้ไม่สามารถถูกขโมยได้) โดยวิธีการยืนยันตัวตนนั้นใช้ Cryptographic Protocol ที่สามารถป้องกันการโจมตีได้ (Public Key Cryptography)

 

การยืนยันตัวตนแบบ UAF นั้นเทียบได้กับการมี 2-Factor Authentication คือ Something You Are (Biometric) และ Something You Have (อุปกรณ์ UAF) ส่วน U2F หรือ Second Factor User Experience นั้น ทำงานคล้ายกัน คือ ผู้ใช้ทำการล็อกอินเข้าเว็บหรือระบบด้วย Username/Password จากนั้นระบบจะถามหา U2F Device ผู้ใช้จึงทำการยืนยันตัวตนกับอุปกรณ์ดังกล่าว ซึ่งระบบจะสื่อสารกับเว็บหรือระบบเองด้วย Protocol ที่ปลอดภัยเช่นเดียวกับ UAF เพื่อใช้ในการยืนยันตัวตน ซึ่งในรูปแบบนี้จะเสมือนกับการทำ 3-Factor Authentication คือ Something You Know (Username/Password), Something You Are (Biometric) และ Something You Have (อุปกรณ์ U2F)

 

การยืนยันตัวตนทั้งหมดนี้จะต้องมีการลงทะเบียนอุปกรณ์ UAF/U2F ไว้กับระบบก่อนโดยเรียกว่า ขั้นตอนการ Registration เป็นขั้นตอนการนำ Public Key ของ UAF/U2F Device ไปผูกกับ Biometric (หรือ PIN) จากนั้นทำการฝากไว้ที่เซิร์ฟเวอร์ ทำการผูก Identity ของผู้ใช้ (Something You Are) เข้ากับอุปกรณ์ดังกล่าว (Something You Have) โดยที่หากคนร้ายได้อุปกรณ์ดังกล่าวไปก็ไม่สามารถใช้ยืนยันตัวตนได้ เนื่องจากไม่มี Biometric หรือ PIN หรือหากคนร้ายขโมย Biometric หรือ PIN ไปได้ (เช่นลอกลายนิ้วมือหรืออัดเสียง) ก็ไม่มีอุปกรณ์ดังกล่าว หากซื้ออุปกรณ์ชิ้นใหม่ก็ไม่สามารถล็อกอินได้เพราะระบบได้ผูก Biometric เข้ากับอุปกรณ์นั้นเพียงชิ้นเดียว

 

ทั้งนี้ อาจจะมีหลายคนสงสัยว่าการใช้ PIN (ที่ไม่ใช่ Biometric) ในการยืนยันตัวตนกับ U2F หรือ UAF Device นั้นต่างจากการใช้ Password อย่างไร ความแตกต่างคือ PIN ใช้ยืนยันตัวตนกับ UAF/U2F Device เท่านั้น โดยไม่ได้เก็บไว้บนเซิร์ฟเวอร์ จึงไม่สามารถขโมยได้ ถึงแม้จะมีความปลอดภัยที่ต่ำกว่า Biometric แต่ปลอดภัยกว่า Password เพราะคนร้ายไม่สามารถขโมย PIN นี้จากเซิรฟ์เวอร์ได้ และเเม้เเต่คนร้ายทำ Phishing ได้ PIN นี้ไปก็ไม่มีประโยชน์หากเขาไม่สามารถขโมย UAF/U2F Device ที่ผูกไว้กับ PIN นี้

 

การยืนยันตัวตนรูปแบบใหม่ของ FIDO นี้ เราเชื่อว่าจะมาแทนที่การใช้ Username/Password โดยทั่วไปอย่างแน่นอน และเป็นการใช้ Biometric ยืนยันตัวตนแบบถูกต้องปลอดภัยต่างจากการใช้ Biometric ที่มีใช้อยู่ทั่วไป เช่น บางระบบมีการนำ Biometric ไปเก็บบนเซิร์ฟเวอร์ (เสี่ยงต่อการถูกโจมตี) หรือบางระบบเพียงเอา Biometric มาเก็บ Username/Password หรือ Session Token บนอุปกรณ์มือถือเท่านั้น การยืนยันตัวตนกับระบบยังคงใช้ Username/Password เพื่อยืนตัวตนเช่นเดิม (แอปพลิเคชันหลายๆ ตัวที่ใช้ TouchID บน iPhone มีลักษณะนี้) ซึ่งไม่ได้เพิ่มความปลอดภัยขึ้นเพราะหากมีการขโมย Username/Password ไปได้ก็สามารถทำการโจมตีได้เช่นกัน

 

ขอบคุณรูปภาพประกอบจาก

  • www.cmtelecom.com/products/messaging/one-time-password
  • http://www.komando.com/happening-now/390476/top-story-got-these-emails-from-paypal-or-amazon-delete-them-theyre-phishy
  • http://www.ballinahockey.org.au/club-news/selection-trials-and-registration/
  • https://www.yubico.com/about/background/fido/
Top