• auth
  • password
  • oauth
  • oidc
  • identity

รหัสผ่านยังไม่สูญหาย

เมื่อปีที่แล้ว มีบทความข่าวเผยแพร่บนอินเทอร์เน็ตอ้างว่าบริษัทเทคโนโลยีใหญ่กำลังร่วมมือกันเพื่อกำจัดรหัสผ่าน บริษัทสตาร์ทอัพบางแห่งถึงกับประกาศว่ารหัสผ่านล้าสมัยและเลิกใช้แล้ว

Gao
Gao
Founder

บทนำ

เมื่อปีที่แล้ว มีบทความข่าวเผยแพร่บนอินเทอร์เน็ตอ้างว่าบริษัทเทคโนโลยีใหญ่ๆ เช่น Apple, Google และ Microsoft กำลังร่วมมือกันเพื่อกำจัดรหัสผ่าน บริษัทสตาร์ทอัพบางแห่งถึงกับประกาศว่ารหัสผ่านล้าสมัยและเลิกใช้แล้ว หลังจากที่ได้สำรวจด้านการจัดการอัตลักษณ์เป็นเวลาหลายเดือน ฉันเริ่มตั้งคำถามถึงความถูกต้องและความเป็นไปได้ของคำกล่าวเหล่านี้

รหัสผ่านทำอะไร?

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

  • เมื่อผู้ใช้ลงชื่อเข้าเว็บไซต์ด้วยอีเมลและรหัสผ่าน เว็บไซต์ไม่มีทางยืนยันตัวบุคคลที่แท้จริงที่อยู่เบื้องหลังข้อมูลเหล่านั้นได้ มันอาจจะเป็นมนุษย์หรือแม้แต่แมว
  • ใครๆ ก็สามารถปลดล็อก iPhone ด้วย PIN ที่ถูกต้อง

ในความเป็นจริง วัตถุประสงค์ของรหัสผ่านคือการพิสูจน์การเป็นเจ้าของบางสิ่งอย่างไม่เปิดเผยตัว: บัญชีผู้ใช้ อุปกรณ์ หรือการเข้าถึงประตู

“ฆาตกรรหัสผ่าน” ปัจจุบัน

บริษัทที่กล่าวถึงก่อนหน้านี้ได้เสนอ "ฆาตกรรหัสผ่าน" ต่างๆ มากมาย หลายคนอ้างว่าเป็นทางเลือกที่ปลอดภัยกว่าซึ่งกำจัดความจำเป็นที่ผู้ใช้จะต้องจดจำรหัสผ่านที่ซับซ้อนและคงที่ในระหว่างการยืนยันตัวตน อย่างไรก็ตามส่วนใหญ่แล้วทางเลือกเหล่านี้ไม่สามารถใช้งานได้จริงทั้งหมดสำหรับการลบล้างรหัสผ่านโดยสิ้นเชิง

การยืนยันตัวตนด้วย FIDO

FIDO (Fast Identity Online) การยืนยันตัวตน ตามที่อธิบายไว้ใน เอกสารอย่างเป็นทางการ ใช้เทคนิคการเข้ารหัสด้วยคีย์สาธารณะสำหรับการลงทะเบียนและการลงชื่อเข้าใช้ (น่าสนใจที่ WebAuthn เป็นส่วนสำคัญของข้อกำหนด FIDO2) ที่มองผ่านๆ กระบวนการนี้ดูน่าสนใจ:

ง่ายใช่ไหม? น่าเสียดายที่มีอุปสรรคใหญ่ในทาง: ความเข้ากันได้ เมื่อเทียบกับการผสมผสานแบบดั้งเดิมของ "ชื่อและรหัสผ่าน" การยืนยันด้วย FIDO ต้องการ:

  • เว็บไซต์หรือแอพสนับสนุน FIDO
  • เบราว์เซอร์และ/หรือระบบปฏิบัติการต้องสนับสนุน FIDO
  • อุปกรณ์ผู้ใช้ต้องมีเมคานิซึมการตรวจสอบที่ใช้งานง่าย

หากไม่เป็นไปตามข้อกำหนดใดข้อหนึ่ง การยืนยันตัวตนด้วย FIDO จะใช้งานไม่ได้ ทำให้ต้องหาวิธีการสำรอง

ยิ่งไปกว่านั้น แม้ว่าครบทุกเงื่อนไขแล้ว อะไรคือ "เมคานิซึมการตรวจสอบที่ใช้งานง่าย" บนอุปกรณ์? ในปัจจุบันอาจจะเกี่ยวข้องกับวิธีชีวภาพเช่น การสแกนลายนิ้วมือหรือการรู้จำใบหน้า พร้อมด้วยทางเลือกสำรองเช่น รหัสผ่านที่คืบหน้ากับ PIN code ในตอนท้าย เราถูกนำกลับมาที่จุดเริ่มต้น

ในทางเทคนิค มันไม่ใช่ "ฆาตกรรหัสผ่าน" แต่เป็นกระบวนการยืนยันหรือตรวจสอบตัวตนที่ปลอดภัยกว่าและใช้งานง่ายกว่าซึ่งได้รับการปกป้องด้วยรหัสผ่าน

รหัสผ่านครั้งเดียว

แม้ว่าชื่อจะประกอบด้วยคำว่า “รหัสผ่าน”, รหัสผ่านครั้งเดียว (OTP) ไม่ใช่รหัสผ่านแบบดั้งเดิมเพราะมันเปลี่ยนแปลงได้ มีประเภท OTP ยอดนิยม 2 ประเภท:

  • รหัสผ่านครั้งเดียวตามเวลา (TOTP): สร้างโดยใช้เวลาปัจจุบันเป็นแหล่งที่มาของความเป็นเอกลักษณ์ มักใช้ใน การยืนยันตัวตนหลายระดับ (MFA) หรือ 2FA
  • รหัสผ่านครั้งเดียวทาง SMS/Email: สร้างบนเซิร์ฟเวอร์โดยใช้อลกอริทึมสุ่ม ในบางประเทศ มันได้รับการยอมรับกว้างขวางว่าเป็นวิธีการลงชื่อเข้าใช้หลัก

TOTP อาจไม่เป็นที่รู้จักอย่างกว้างขวางตามชื่อ ยกตัวอย่าง เมื่อเว็บไซต์ขอให้คุณตั้งค่า MFA และใช้แอพเช่น Google Authenticator หรือ Duo สแกน QR code คุณอาจจะใช้ TOTP นอกจากนี้คุณอาจสังเกตว่าเว็บไซต์มักแสดง "รหัสกู้คืน" ยาวๆ และแนะนำให้คุณบันทึกมันเพราะจะแสดงเพียงครั้งเดียว เว็บไซต์บางแห่งยังสนับสนุนให้ผู้ใช้พิมพ์มันลงกระดาษ ตามหลักการ รหัสกู้คืนนี้ทำหน้าที่เหมือนรหัสผ่านยาว ๆ

สำหรับ OTPs ทาง SMS/Email พวกมันสามารถมีค่าใช้จ่ายสูงและไม่น่าเชื่อถือ:

  • การสร้างผู้ส่ง SMS หรืออีเมลจากศูนย์ต้องการการตั้งค่า
  • ผู้ส่งอีเมลต้องสร้าง "ชื่อเสียง" ที่ดีเพื่อเพิ่มโอกาสในการส่งออก ไม่เช่นนั้น ต้นทางอาจถูกจัดให้เป็นสแปม
  • แต่ละประเทศมีผู้ดำเนินการเครือข่ายมือถือของตนเอง ส่งผลให้เวลาดำเนินการส่งไม่สามารถคาดการณ์ได้และอาจมีค่าใช้จ่ายเฉพาะประเทศสูงโดยเฉพาะกับสตาร์ทอัพ

ชีวมิติ

คำว่า "ชีวมิติ" หมายถึงการใช้วิธีชีวภาพเพียงวิธีเดียวสำหรับการยืนยันตัวตนออนไลน์ จริงๆ แล้ว มีความแตกต่างพื้นฐานเมื่อเปรียบเทียบกับวิธีอื่น: การยืนยันตัวตนด้วยชีวมิติเปลี่ยนแปลงหน้าที่จาก "การพิสูจน์การเป็นเจ้าของบางสิ่ง" ไปเป็น "การพิสูจน์ว่าคุณเป็นใคร" เนื่องจากข้อกังวลเรื่องความเป็นส่วนตัว วิธีชีวภาพถูกใช้งานเป็นหลักสำหรับการยืนยันตัวตนในเครื่อง

รหัสผ่านไม่สมบูรณ์แบบ

อย่างที่เราเห็น "ฆาตกรรหัสผ่าน" โดยหลักๆ แล้วคือการซ่อนรหัสผ่านหรือใช้รหัสผ่านเป็นทางเลือกสำรอง ต่อไปนี้คือสิ่งที่น่าสนใจของรหัสผ่านจากการอภิปรายของเรา:

  • การเข้าถึงและการใช้งานร่วมกันได้: รหัสผ่านสามารถใช้ได้ในระบบต่างๆ และผู้ใช้หลากหลายสามารถเข้าถึงได้
  • ประสิทธิภาพและความหลากหลาย: การยืนยันตัวตนด้วยรหัสผ่านมีประสิทธิภาพด้านค่าลงทุนและปรับตัวได้กับสถานการณ์ต่างๆ
  • การไม่เปิดเผยตัวและความเป็นส่วนตัว: รหัสผ่านช่วยให้ใช้งานโดยไม่เปิดเผยตัวและปกป้องความเป็นส่วนตัวของผู้ใช้

แต่ทุกเหรียญมีสองด้าน ในขณะที่รหัสผ่านมีข้อดี การพึ่งพารหัสผ่านเพียงเพื่อการยืนยันตัวตนมีความเปราะบางอย่างมาก มันเป็นสิ่งที่ทำให้ผู้ใช้ปลายทางลำบากใจ และหากเจ้าของเว็บไซต์ไม่ปฏิบัติตามวิธีการรักษาความปลอดภัยที่เหมาะสม รหัสผ่านจะกลายเป็นสิ่งที่ล้ำลึกได้ง่าย วิธีการรักษาความปลอดภัยที่เลยร้ายรวมถึง แต่ไม่จำกัดถึง:

  • อนุญาตให้มีรุ่นที่อ่อนแอหรือรั่วของรหัสผ่าน
  • ไม่มีการบังคับใช้ HTTPS สำหรับการสื่อสาร
  • การใช้อลกอริทึมแฮชที่ไม่ปลอดภัย
  • การล้มเหลวในการปฏิบัติตามมาตรฐานที่ผ่านการทดสอบอย่างละเอียด เช่น OAuth หรือ OpenID Connect (OIDC)
  • เปิดโปงฐานข้อมูลให้กับสาธารณะ

บทสรุป

ฉันไม่ต้องการที่จะดูแคลนวิธีการยืนยันตัวตนที่กล่าวถึงข้างต้น ถึงแม้ว่าฉันกำลังทำงานกับ Logto ฉันก็พัฒนาความเคารพอย่างลึกซึ้งสำหรับวิธีการยืนยันตัวตนที่น่าทึ่งเหล่านี้และบุคคลที่อยู่เบื้องหลังพวกเขา

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

ประการสุดท้าย แทนที่จะมุ่งเน้นที่คำยอดนิยมอย่าง "ฆาตกรรหัสผ่าน" เมื่อรหัสผ่านไม่ได้ถูกกำจัดจริง ๆ มันจะมีค่ามากกว่าถ้าเรามุ่งเน้นไปที่การหาสมดุลระหว่างความปลอดภัยและประสบการณ์ผู้ใช้ ซึ่งต้องอาศัยความเข้าใจในจุดแข็งและข้อจำกัดของวิธีการยืนยันตัวตนต่างๆ และการนำไปใช้ในรูปแบบที่รับรองความปลอดภัยของข้อมูลผู้ใช้และประสบการณ์ผู้ใช้ที่ราบรื่นไปพร้อมกัน