← กลับไปยังบทความทั้งหมด

Single Sign-On (SSO) คืออะไร? ทำความรู้จักระบบการเข้าสู่ระบบครั้งเดียว

สรุปใจความสำคัญ

  • SSO ช่วยให้ผู้ใช้เข้าถึงหลายระบบด้วยการยืนยันตัวตนเพียงครั้งเดียว
  • ความแตกต่างหลักระหว่าง SSO และ Directory Server Authentication คือการส่ง Token เพื่อลดการป้อนรหัสผ่านซ้ำ
  • ความเสี่ยงสูงสุดของ SSO คือหากรหัสผ่านหลักถูกขโมย ผู้โจมตีจะสามารถเข้าถึงได้ทุกระบบที่เชื่อมต่อไว้ (Single Point of Failure)

Single Sign-On (SSO) หรือการเข้าสู่ระบบครั้งเดียว คือรูปแบบการยืนยันตัวตน (Authentication) ที่ช่วยให้ผู้ใช้สามารถเข้าถึงระบบซอฟต์แวร์หลายระบบที่เกี่ยวข้องกัน แต่เป็นอิสระต่อกัน โดยใช้เพียง ID และรหัสผ่านชุดเดียวเท่านั้น

แผนผังการทำงานของ Single Sign-On
ภาพแสดงกระบวนการทำงานของระบบ Single Sign-On ที่เชื่อมโยงผู้ใช้กับแอปพลิเคชันต่างๆ

การทำงานของ SSO vs Directory Server Authentication

หลายคนมักสับสนระหว่าง SSO กับ Directory Server Authentication (หรือ Same-sign on) ซึ่งมีความแตกต่างกันดังนี้:

  • Directory Server Authentication: ผู้ใช้ต้องป้อนรหัสผ่านทุกครั้งที่เข้าใช้งานแอปพลิเคชัน แต่ใช้รหัสผ่านชุดเดียวกันที่ถูกเก็บไว้ในเซิร์ฟเวอร์กลาง (เช่น LDAP)
  • Single Sign-On (SSO): ผู้ใช้ยืนยันตัวตนเพียงครั้งเดียว และระบบจะส่ง Token การยืนยันตัวตนไปยังแอปพลิเคชันต่างๆ ที่กำหนดไว้ ทำให้ผู้ใช้เข้าถึงบริการได้โดยไม่ต้องป้อนรหัสผ่านซ้ำ

ประโยชน์ของ Single Sign-On

การนำ SSO มาใช้ในองค์กรหรือบริการออนไลน์มีข้อดีหลายประการ ได้แก่:

  • ลดความเหนื่อยล้าจากรหัสผ่าน (Password Fatigue): ผู้ใช้ไม่ต้องจดจำรหัสผ่านจำนวนมากสำหรับหลายบัญชี
  • เพิ่มประสิทธิภาพการทำงาน: ลดเวลาที่ต้องเสียไปกับการป้อนรหัสผ่านซ้ำๆ
  • ลดภาระงานของ IT Help Desk: ลดจำนวนการแจ้งปัญหาเรื่องลืมรหัสผ่าน
  • ลดความเสี่ยงในการจัดการรหัสผ่านภายนอก: ในกรณีของ Federated Authentication รหัสผ่านจะไม่ถูกเก็บไว้ที่เว็บไซต์บุคคลที่สาม

ข้อควรระวังและข้อวิจารณ์

แม้จะมีข้อดีมากมาย แต่ SSO ก็มีจุดอ่อนที่ต้องระวัง:

1. ความเสี่ยงแบบ "กุญแจดอกเดียวเปิดได้ทุกประตู" (Keys to the Castle)

หากบัญชี SSO ของผู้ใช้ถูกขโมย ผู้โจมตีจะสามารถเข้าถึงทุกระบบที่เชื่อมต่อกับ SSO นั้นได้ทันที ดังนั้นจึงควรใช้ร่วมกับ การยืนยันตัวตนแบบหลายปัจจัย (Multi-Factor Authentication - MFA) เช่น Smart Cards หรือ One-Time Password (OTP)

2. การพึ่งพาเซิร์ฟเวอร์กลาง

หากเซิร์ฟเวอร์ยืนยันตัวตนกลางล่ม ผู้ใช้จะไม่สามารถเข้าถึงระบบทั้งหมดที่ใช้ SSO ได้ ซึ่งอาจเป็นปัญหาใหญ่สำหรับระบบที่ต้องการความพร้อมใช้งานสูง (High Availability) เช่น ระบบควบคุมโรงงาน

3. ข้อจำกัดด้านการเข้าถึง

การใช้ SSO ผ่านโซเชียลมีเดีย (เช่น Facebook Connect) อาจทำให้เข้าใช้งานไม่ได้ในสถานที่ที่บล็อกโซเชียลมีเดีย เช่น โรงเรียน หรือในประเทศที่มีการเซ็นเซอร์อินเทอร์เน็ตอย่างเข้มงวด

ความปลอดภัยของ SSO

ระบบ SSO มีความเสี่ยงด้านความปลอดภัยที่ต้องพิจารณา เช่น ช่องโหว่ Covert Redirect ที่เกี่ยวข้องกับ OAuth 2.0 และ OpenID ซึ่งอาจนำไปสู่การโจมตีแบบ Cross-Site Scripting (XSS) และการขโมย Session Token เพื่อทำการ Session Hijacking

คำถามที่พบบ่อย

SSO แตกต่างจาก Same-sign on อย่างไร?

Same-sign on (Directory Server Authentication) คือการใช้รหัสผ่านชุดเดียวกันในทุกแอปพลิเคชัน แต่ยังต้องป้อนรหัสผ่านทุกครั้ง ส่วน SSO คือการยืนยันตัวตนครั้งเดียวแล้วเข้าถึงได้ทุกแอปพลิเคชันโดยไม่ต้องป้อนรหัสผ่านซ้ำ

ถ้าเซิร์ฟเวอร์ SSO ล่มจะเกิดอะไรขึ้น?

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

จะเพิ่มความปลอดภัยให้ระบบ SSO ได้อย่างไร?

ควรใช้การยืนยันตัวตนแบบหลายปัจจัย (MFA) เช่น การใช้ OTP หรือแอปยืนยันตัวตน เพื่อป้องกันกรณีที่รหัสผ่านหลักถูกขโมย