싱글 사인 온(SSO)은 중대형 기업 및 조직에서 널리 사용되는 인증 방법을 의미하며, 사용자가 단일 로그인으로 여러 시스템 및 애플리케이션에 접근할 수 있도록 합니다.
이 시스템은 다양한 플랫폼에서 사용자 인증을 원활하게 관리하는 데 있어 편리함이 특히 선호됩니다. 이 기사에서는 싱글 사인 온(SSO)의 기본 개념, 메커니즘, 유형, 장단점에 대해 소개하겠습니다.
싱글 사인 온(SSO)란?
싱글 사인 온(SSO)은 중대형 기업 및 조직에서 광범위하게 활용되는 인증 시스템입니다. 이를 통해 사용자는 단일 로그인 자격 증명으로 여러 시스템 및 애플리케이션에 접근할 수 있게 됩니다.
예를 들어, Microsoft Enterprise 싱글 사인 온(SSO)을 사용하면 직원들이 Microsoft 서비스뿐만 아니라 Salesforce, Google Workspace, Slack과 같은 다른 서드파티 서비스에도 접근할 수 있으며, 모두 SSO와 통합되도록 구성된 회사에서 할당된 이메일 주소(예: username@companyname.com)와 비밀번호를 사용하여 로그인합니다. SSO를 통해 로그인하면 사용자의 조직 설정 및 접근 권한이 자동으로 적용됩니다.
SSO는 어떻게 작동하나요?
SSO의 메커니즘 SSO가 어떻게 구현되는지 살펴보겠습니다. SSO의 기본 프로세스는 특정 구현 방법에 관계없이 여러 단계로 나눌 수 있습니다. 일반적인 워크플로우는 다음과 같습니다:
초기 설정:
- 시스템 관리자는 인증 자격 증명을 관리하기 위해 중앙 서버(Identity Provider - IdP)를 구성합니다. 이 서버는 사용자 인증 정보를 저장하고 인증 프로세스를 감독합니다.
- 사용자가 접근할 각 서비스 또는 애플리케이션이 이 중앙 서버에 등록됩니다.
사용자 접근 및 리디렉션:
- 사용자가 특정 서비스 또는 애플리케이션에 접근하려고 시도할 때, 서비스 제공자(SP)는 사용자가 인증되었는지 확인합니다.
- 인증되지 않았다면, SP는 사용자를 Identity Provider(IdP)의 로그인 페이지로 리디렉션하며, 사용자가 접근하고자 했던 서비스에 대한 정보를 포함합니다.
인증 프로세스:
- IdP 로그인 페이지에서 사용자는 자신의 인증 자격 증명을 입력합니다(일반적으로 사용자 이름과 비밀번호).
- IdP는 이 자격 증명을 확인하고 사용자를 인증합니다.
- 구성된 경우, 스마트폰으로 푸시 알림이나 지문 스캔과 같은 다단계 인증(MFA) 추가 인증 절차가 필요할 수 있습니다.
토큰 생성 및 전송:
- 인증에 성공하면, IdP는 인증 토큰을 생성합니다. 이 토큰은 사용자 식별, 인증 상태 및 만료와 같은 정보를 포함합니다.
- IdP는 이 토큰을 사용자의 브라우저를 통해 SP로 전송합니다.
토큰 검증 및 권한 부여:
- SP는 수신한 토큰을 검증합니다. 이는 토큰이 유효하고 신뢰할 수 있는 IdP에서 발급되었는지 확인합니다.
- 검증에 성공하면, SP는 추가 인증 없이 사용자가 리소스에 접근할 수 있도록 허용합니다.
세션 관리:
- IdP는 사용자의 인증 세션을 유지합니다. 사용자가 다른 SP에 접근하려고 시도하면, IdP는 새로운 인증 프로세스를 요구하지 않고 새로운 토큰을 발급하여 서비스 간 원활한 접근을 돕습니다.
싱글 로그아웃(SLO):
- 사용자가 로그아웃을 선택하면, IdP는 모든 SP에 로그아웃 알림을 보냅니다. 이를 통해 사용자는 단일 로그아웃 작업으로 모든 서비스에서 로그아웃할 수 있어 보안을 강화하고 세션을 의도치 않게 열어 두는 위험을 줄입니다.
보안 및 모니터링:
- 보안은 SSO 시스템에서 가장 중요하며, 모든 통신은 암호화됩니다(HTTPS).
- 토큰은 만료 주기가 있으며 정기적으로 갱신해야 합니다.
- 시스템 관리자는 정기적으로 접근 로그를 모니터링하여 의심스러운 활동을 감시합니다.
- 다단계 인증(MFA)을 구현하면 보안이 더욱 강화됩니다.
싱글 사인 온(SSO)의 유형
싱글 사인 온(SSO)의 유형 SSO는 다양한 프로토콜을 사용하는데, 각 프로토콜은 다양한 환경과 요구 사항에 적합합니다. 다음은 일반적인 SSO 프로토콜입니다:
SAML(보안 주장 마크업 언어)
- SAML은 주로 기업 환경에서 사용되는 프로토콜입니다. 이는 인증 정보를 Identity Provider와 Service Provider 간에 교환할 수 있게 하여 브라우저 기반의 싱글 사인 온 구현에 특히 적합합니다.

작동 흐름
- 사용자가 SP에 접근합니다.
- SP는 IdP로 리디렉션합니다.
- IdP는 사용자를 인증합니다.
- IdP는 SAML 주장을 SP에 전송합니다.
- SP는 사용자에게 접근을 허용합니다.

SAML은 여러 가지 장점을 제공합니다. 이는 기업 애플리케이션에 매우 중요한 높은 수준의 보안을 제공합니다. 또한, 서비스 제공자가 인증된 사용자에 대해 더 많은 컨텍스트를 가질 수 있도록 세부 속성 정보를 교환할 수 있게 해줍니다.
OAuth 2.0:
- 주로 사용자 대신 애플리케이션이 리소스에 접근할 수 있도록 승인하는 프로토콜입니다.

OAuth 2.0는 다양한 시나리오에 적합하기 위해 여러 승인 유형을 지원합니다.
- 승인 코드 흐름
- 암시적 흐름
- 리소스 소유자 비밀번호 자격 증명
- 클라이언트 자격 증명
여기에는 서버 측 애플리케이션에 적합한 승인 코드 흐름이 포함됩니다. 암시적 흐름은 클라이언트 측 애플리케이션을 위해 설계되었습니다. 리소스 소유자 비밀번호 자격 증명 승인 유형은 사용자와 클라이언트 간에 신뢰 수준이 높을 때 사용됩니다.
마지막으로, 클라이언트 자격 증명 승인 유형은 사용자 개입이 필요 없는 기계 간 통신에 사용됩니다.
OpenID Connect (OIDC):
- OpenID Connect는 OAuth 2.0에 강력한 인증 기능을 추가한 것입니다. 이는 안전한 정보 교환을 위해 JSON 웹 토큰(JWT)을 사용하며, RESTful API에 특히 적합합니다. OAuth 2.0을 기반으로 구축되어 클라이언트가 사용자 신원을 확인하고 기본 프로필 정보를 얻을 수 있는 인증 레이어를 추가합니다.

흐름
- 클라이언트가 승인 요청을 보냅니다.
- 사용자가 인증 및 승인을 진행합니다.
- 승인 코드가 반환됩니다.
- 클라이언트가 액세스 토큰과 ID 토큰을 얻습니다.
- 사용자 정보 가져오기(선택 사항)
각 프로토콜은 서로 다른 사용 사례와 요구에 적합하므로, 조직의 필요와 기존 인프라에 따라 적합한 프로토콜을 선택하는 것이 중요합니다.
SSO의 장점과 단점
앞서 언급한 대로 SSO는 사용자 편의성 향상, 보안 강화, 관리 비용 절감, 생산성 증가, 컴플라이언스 개선, 새로운 애플리케이션과의 쉬운 통합, 보안 사고에 대한 위험 완화, 장치 간 일관된 인증 등의 많은 이점을 제공합니다.
그러나 SSO는 단일 실패 지점, 집약된 보안 위험, 복잡성과 초기 구현 비용, 공급업체 종속, 사용자 의존성, 프라이버시 우려, 컴플라이언스 복잡성, 세션 관리 문제, 효과적인 MFA 통합의 복잡성과 같은 도전 과제도 제시합니다.
결론
싱글 사인 온(SSO)은 현대 디지털 환경에서 사용자 편의성과 보안 강화를 위해 중요한 역할을 합니다. 그 메커니즘, 유형, 장단점을 이해하는 것은 조직이 필요에 따라 적절한 솔루션을 선택하는 데 도움이 됩니다.
SSO를 효과적으로 구현하면 조직 내 효율성과 보안을 크게 향상시킬 수 있지만, 그 이점을 극대화하기 위해 지속적인 보안 조치와 사용자 교육이 필요합니다.