SSO 개념, 주요기술 및 오픈소스 솔루션 비교

SSO 기술은 단일 계정으로 한번의 시스템 인증을 통해 여러 IT 시스템에 재인증 절차없이 접근 가능한 로그인 인증기술입니다. 이를 구현하기 위해 인증기술, LDAP, 암호화통신 기술을 활용하며 표준 프로토콜을 충실히 지원하는 오픈소스를 활용할 수도 있습니다.

기업 내 다양한 IT 서비스가 도입되면서 각 시스템마다 사용자 계정과 암호 및 권한을 설정하고 관리하는 것이 점점 복잡해지고 있습니다. SSO는 생체인증이나 개인키와 같은 안전한 인증을 통해 중앙집중식으로 사용자 계정을 관리하고 여러 IT 서비스에 한번에 접근제어가 가능한 솔루션의 필요성으로 개발되었습니다.

SSO 개념

SSO(Single Sign On)는 다음과 같이 사용자, 인증서버, SSO Agent로 구성됩니다. 그리고 네트워크 자원을 식별하고 사용자가 업무서버에 접근하기 위한 LDAP 디렉터리 서비스를 이용합니다. 

SSO 구성요소를 설명한 이미지
SSO 구성도

관리자에 의해 그룹별로 접근권한이 설정된 DB를 통해 사용자 권한을 확인합니다. 인증서를 이용해 안전하게 로그인하면 이후 모든 사내업무 서비스에 접근이 가능합니다.

SSO 요구사항

통합로그인을 안전하게 이용하기 위해 다음의 요구사항을 충족해야 합니다.

  • 운영체제, 네트워크, DB의 종류 및 접속환경에 상관없이 이용할 수 있어야 함. 가령 웹, 모바일 앱에서도 접속이 가능.
  • 다양한 IT 서비스의 추가 및 확장이 용이해야 함
  • 사용자 로그인 정보 등이 별도의 캐시나 물리적 장소에 저장되지 않아야 함

SSO 요구사항에 따른 기능구현을 위해 필요한 기술들에 대해서 알아보겠습니다.

SSO 주요기술

1. 인증기술

사용자 인증을 위해 공개키 기반 암호화 기술인 PKI, 생체정보를 이용한 2-Factor, MultiFactor 인증을 지원 및 One Time Password (OTP) 기능을 활용하여 인증을 수행할 수 있습니다.

  • PKI: 개인키 기반의 인증기술
  • 2-Factor, 멀티팩터 인증: 지식, 소유물, 생체정보 인증 요소를 2개 이상 결합하거나, 병렬로 인증하는 방식. (예, 로그인 + 지문인식을 함께 이용)
  • OTP: 금융거래시 많이 활용하는 일회용 Password를 이용하는 방식

인증기술이 복합될수록 안전성은 높아지지만 편의성은 떨어지는 단점이 있습니다. 일반적으로 기업해서도 로그인 암호 정도로 관리하는 경우가 많습니다. 인증기술과 관련된 정보는 아래를 참고 바랍니다.

> 멀티팩터인증 MFA 종류 및 장단점과 주요 솔루션 5가지

2. 통신기술

외부에서 웹이나 네트워크를 통해 사내에 접속하기 위해 LDAP 디렉토리 서비스나 SSL, IPSec과 같은 보안기반의 프로토콜을 사용할 수 있습니다.

  • LDAP: X.500 기반의 Directory 데이터베이스에 접근하기 위한 기술
  • SSL, IPSec: 사용자 로그인 시 엔드포인트간 암호화를 이용한 보안연결을 구성하여 외부에서 패킷의 접근이 불가능하도록 하는 기술

3. 구축모델

SSO 구축모델은 크게 인증대행모델과 인정정보 전달모델로 구분합니다. 2가지 기술의 구현방법 및 특징을 간단히 표로 정리해보겠습니다.

구분인증대행모델인증정보 전달모델
구현방법시스템 접근시마다 Agent에 의해 인증 작업을 대행하는 방식미리인증된 토콘을 받아서 각 시스템 접근시 자동으로 전달하는 방식
특징인증방식의 변경이 어려운 환경에서 사용대부분의 웹 기반 구축에서 활용되며, 쿠키를 이용해 인증 토큰을 전달

SSO 오픈소스 솔루션

SSO 구현을 위해서는 Open Source나 상용 솔루션을 모두 이용할 수 있습니다. 오픈소스라 하더라도 보안솔루션의 경우 빠른 패치와 다양한 기능으로 SSO의 경우 상용솔루션 못지 않은 기능을 가지고 있는 경우가 많습니다.

1. Aerobase

Keycloak 기반의 SSO 솔루션으로 기능도 많고 가장 많이 사용하는 오픈소스 SSO Solution 중에 하나입니다. 여러 운영체제 지원을 위한 SDK, OAuth2, OIDC, SAML 표준 인증 프레임워크를 지원합니다. 설치가 매우 쉬운 것이 장점입니다.

2. Keycloak

멀티팩터인증을 지원하며 설치하기도 쉬운 편이어서 많이 사용하는 솔루션 입니다. JAVA로 구현되었으며 SAML, OIDC, OAuth2 표준 프로토콜을 지원합니다. 소셜로그인의 인증위임이나 OTP 인증을 지원합니다.


이상으로 SSO 구현을 위한 주요 기술의 특징들을 알아보았습니다. SSO의 통합로그인 기능에 추가하여 보다 효율적인 통합계정관리 솔루션 IAM 에 대한 정보는 이전의 글을 참고 바랍니다. 

Leave a Comment