보안

"SSO란 무엇인가" SSO가 보안과 사용자 경험을 개선하는 방법

Josh Fruhlinger | CSO 2021.05.13
싱글사인온(Single Sign-On, SSO)은 하나의 로그인 인증 정보를 사용해 여러 애플리케이션에 접근할 수 있는 중앙화된 세션 및 사용자 인증 서비스다. SSO의 장점은 간편함이다. 지정된 플랫폼 하나에서 인증되면 이후 매번 로그인과 로그아웃을 반복할 필요없이 다양한 서비스를 사용할 수 있다.
 
ⓒ Getty Images Bank

잘 구현된 SSO는 생산성, IT 모니터링 및 관리, 보안 통제 측면에서 매우 유익하다. 관리자는 하나의 보안 토큰(사용자 이름/암호 쌍)으로 여러 시스템과 플랫폼, 앱 및 기타 리소스에 대한 사용자 접근을 활성화하거나 비활성화할 수 있다. SSO는 비밀번호 분실이나 취약한 비밀번호의 위험도 낮춰준다.


싱글사인온의 작동 원리

SSO를 구현하는 데 사용할 수 있는 표준은 여러 가지지만 기본 패턴은 동일하다. 핵심은 애플리케이션이 사용자 인증 책임을 다른 애플리케이션이나 서비스로 넘길 수 있게 해준다는 데 있다.

사용자가 로그인하는 애플리케이션 또는 웹사이트에는 이메일 클라이언트부터 은행 웹사이트, 네트워크 공유에 이르기까지 다양한 서비스 공급업체가 존재한다. 이와 같은 플랫폼에는 대부분 사용자 인증을 위한 자체적인 기능이 포함된다. 그러나 SSO를 사용하면 그 책임이 하나의 ID 공급업체(일반적으로 SSO 플랫폼 자체)에 주어진다. 

사용자가 하나의 서비스에 접근하기 위해 로그인을 시도하면 서비스 공급업체는 ID 공급업체와 교신해 사용자가 주장하는 본인임이 입증됐는지를 확인한다. 서비스 공급업체는 인증과 관련된 매개변수를 둘 수 있다. 예를 들어 ID 공급업체가 이중 인증(Two-Factor Authentication, 2FA) 또는 생체 인증을 사용하도록 요구할 수 있다. ID 공급업체는 사용자에게 로그인을 요청할 수도 있고, 사용자가 최근에 로그인한 적이 있다면 다시 요청하지 않고 서비스 공급업체에게 최근에 로그인했음을 알릴 수도 있다.

서비스 및 ID 공급업체는 당사자 간 상호 신뢰를 위해 디지털 서명되는 작은 크기의 구조화된 정보 모음인 토큰을 통해 통신한다. ID 공급업체는 토큰을 통해 서비스 공급업체에게 사용자가 인증되었음을 알린다. 여기서 중요한 점은 토큰에는 사용자의 비밀번호나 생체 데이터와 같은 인증 데이터가 포함되지 않는다는 것이다. 따라서 공격자가 토큰을 가로채거나 서비스 공급업체의 시스템이 침해된다 해도 사용자의 비밀번호와 ID는 안전하다. 또한 사용자는 해당 ID 공급업체를 사용하는 다른 모든 서비스 공급업체에 대해서도 동일한 로그인 인증 정보를 사용할 수 있다.

시스템 관리자 관점에서 SSO 플랫폼은 사용자 ID를 한 곳에서 관리할 수 있음을 의미한다. 예를 들어 직원이 퇴사하는 경우 그 직원이 다양한 내부 애플리케이션에 로그인할 수 있는 기능을 한꺼번에 해제할 수 있다.


SSO 아키텍처

앞선 설명으로 싱글사인온 시스템의 아키텍처에 대한 전체적인 내용은 파악했을 것이다. 가장 일반적인 SSO의 형태를 보면, ID 공급업체와 서비스 공급업체는 디지털 인증서와 메타데이터를 교환해 신뢰 관계를 설정하고, SAML(Security Assertion Markup Language), 오스(OAuth) 또는 오픈ID(OpenID)와 같은 공개 표준을 통해 상호 통신한다.

또한 SSO 플랫폼이 더 큰 조직 IT 아키텍처에 통합되어야 한다는 점을 유념하고, 전체적인 보안 태세를 유지하면서 이를 수행할 방법에 대해서도 신중하게 생각해야 한다. 예를 들어 SSO 시스템으로 인해 하향 보안 도구가 시스템 로그인을 시도하는 사용자의 IP 주소를 탐지하지 못하는 경우가 발생할 수 있다.


SSO의 예시 

지금까지 설명이 다소 추상적일 수 있다. 이제 구체적인 구현 사례를 통해 SSO가 실제 환경에서 어떻게 작동하는지 살펴보자. SSO가 구현된 환경의 사용자가 서버의 어떤 리소스에 접근하려는 경우를 가정한다면 이벤트 순서를 다음과 같다.
  
  1. 사용자가 서비스 공급업체(일반적으로 접근하고자 하는 애플리케이션 또는 웹사이트)에 접근을 시도한다. 
  2. 서비스 공급업체는 사용자를 인증하기 위한 요청으로 이메일 주소와 같은 사용자에 관한 몇 가지 정보가 포함된 토큰을 ID 공급업체(SSO 시스템)에 보낸다. 
  3. ID 공급업체는 먼저 사용자가 이미 인증됐는지 여부를 확인한다. 이미 인증이 되었다면 서비스 공급업체 애플리케이션에 대한 접근 권한을 부여하고 5단계로 건너뛴다.
  4. 아직 로그인을 하지 않은 경우에는 사용자에게 ID 공급업체가 요청하는 인증 정보를 입력해 로그인하라는 메시지가 표시된다.
  5. 입력된 인증 정보의 유효함이 확인되면 ID 공급업체는 서비스 공급업체에 토큰을 돌려보내 사용자를 인증했음을 알린다.
  6. 이 토큰은 브라우저를 거쳐 서비스 공급업체로 전달된다.
  7. 수신된 토큰은 초기 구성 시 서비스 공급업체와 ID 공급업체 간에 설정된 신뢰 관계에 따라 유효성이 검증된다.
  8. 사용자에게 서비스 공급업체에 대한 접근 권한이 부여된다.

이와 같은 종류의 트랜잭션에서 오가는 메시지의 세부적인 부분을 보려면 원로그인(OneLogin)의 예제를 참고하라. 예제는 SAML을 기반으로 한다. 전체 XML 코드를 살펴보면, 앞의 시나리오에서 ID 공급업체에서 서비스 공급업체로 전달되는 어설션(assertion)의 종류를 알아볼 수 있다.


보안에서 SSO의 이점

기업에서 SSO의 가장 큰 보안상 이점은 보안을 타협하거나 끝없는 계정 프로비저닝에 매몰되지 않으면서도 사용자 수 및 이와 연결된 로그인 수를 확장할 수 있다는 점이다. 자동화된 인증 정보 관리 덕분에 관리자가 모든 직원이 원하는 서비스 접근을 수동으로 처리할 필요가 없다. 따라서 사람의 실수가 발생할 여지가 줄어들고 IT 부서는 더 중요한 일에 집중할 수 있는 시간을 벌 수 있다.

이 외에 클라우드 우선 애플리케이션을 위한 빠른 프로비저닝도 장점이다. SSO 구현이 SAML 2.0과 같은 개방형 표준을 지원한다면 애플리케이션은 SSO 관리자에 의해 신속하게 프로비저닝되어 직원에게 제공된다. 또한 SSO는 2FA와 결합돼 보안을 강화하고 생산성 향상을 돕고 IT 헬프 데스크의 비밀번호 재설정 횟수를 줄여준다.

다만 SSO를 만능 해결책으로 생각해서는 안 된다. SSO 구현에는 비용, 통제, 표준화(SAML이냐, 오쓰냐) 관련 과제가 따르며, 보안 문제도 있다. 애플 로그인 취약성이나 마이크로소프트 오쓰 결함과 같은 인증 결함으로 인해 공격자가 자신이 공격하는 피해자를 가장해 사이트나 서비스에 로그인할 수 있다.


SSO 솔루션

SSO 솔루션은 상용 제품부터 직접 구현하는 오픈소스 플랫폼에 이르기까지 여러 형태가 있다. 주요 공급업체의 SSO 도구는 다음과 같다.
   
  • 듀오/시스코 SSO(Duo/Cisco SSO)
  • 아이댑티브 싱글사인온(Idaptive Single Sign-On)
  • 매니지엔진/조호 아이덴티티 매니저 플러스(ManageEngine/Zoho Identity Manager Plus)
  • 마이크로포커스/넷IQ 액세스 매니저(MicroFocus/NetIQ Access Manager)
  • 옥타 싱글사인온(Okta Single Sign-On)
  • 오픈로그인 싱글사인온(OneLogin Single Sign-On)
  • 퍼펙트클라우드 스마트사인인(PerfectCloud SmartSignIn)
  • 핑 아이덴티티 핑원(Ping Identity PingOne)
  • RSA 시큐어ID 액세스 스위트(RSA SecurID Access Suite) editor@itworld.co.kr 
ⓒ IDG
 
 Tags SSO 2FA ID
Sponsored

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.