싱글 사인온(SSO)은 사용자가 한 번 로그인하면 여러 애플리케이션에 자격 증명을 다시 입력하지 않고도 액세스할 수 있도록 해줍니다. 사용자는 ID 공급자에게 인증을 요청하고, 공급자는 토큰 또는 어설션을 발급합니다. 각 애플리케이션은 공급자를 신뢰하고 토큰을 수락합니다. 따라서 사용자는 시스템 간에 끊김 없이 이동할 수 있습니다. IT 부서는 수십 개의 자격 증명 대신 하나의 자격 증명 세트만 관리하면 됩니다.
SSO는 보안과 사용성을 향상시킵니다. 암호 수가 줄어들면 암호 재사용이 줄어들고 헬프데스크 문의도 감소합니다. 인증을 중앙 집중화하여 다단계 인증(MFA)을 쉽게 적용하고 퇴사 시 액세스 권한을 취소할 수 있습니다. 하지만 위험도 집중됩니다. ID 공급자가 손상되면 연결된 모든 애플리케이션이 노출됩니다. 2020년 SolarWinds 공격자들은 SAML 토큰 위조를 사용하여 SSO를 우회하고 Microsoft 365 계정에 액세스했습니다. 이 기법은 토큰 유효성 검사 방식의 취약점을 악용한 것입니다. SSO는 만능 해결책이 아닙니다. 공급자 측의 강력한 인증, 비정상적인 토큰 사용 모니터링, 그리고 세심한 구성이 필요합니다. 제대로 구현되면 공격 표면을 줄이고 사용자 경험을 개선할 수 있습니다. 하지만 제대로 구현되지 않으면 공격자가 찾아낼 수 있는 단일 장애 지점이 됩니다.
SSO 프로토콜
- SAML — XML 기반 프로토콜로 기업용 애플리케이션에서 흔히 사용됩니다.
- OAuth 2.0 — 널리 사용되는 권한 부여 프레임워크
- OpenID Connect — OAuth 위에 구축된 인증 계층
- 케르베로스(Kerberos) - 티켓 기반 인증 방식으로 윈도우 환경에서 흔히 사용됩니다.
SSO는 편리함과 위험성을 동시에 지니고 있습니다. 편리함 때문에 널리 퍼졌고, 위험성 때문에 신중한 보안 강화가 필요합니다.
Comments
No comments yet. Be the first to share a thought.
Leave a comment