SSO(Single Sing-On)
여러 서비스나 애플리케이션에 로그인할 때 한 번의 로그인만으로 여러 시스템에 접근할 수 있게 해주는 인증 시스템. 하나의 사용자 인증 정보를 가지고 여러 서비스에 접근할 수 있게 해주는 방식이다.
-
기본 원리
사용자는 한번만 로그인하고, 다른 어플리케이션이나 시스템에 접근 시 자동으로 인증된다.
SSO 시스템은 사용자가 로그인할 때 인증 토큰을 생성하고, 여러 시스템에 전달하여 사용자 인증을 처리한다.
-
작동 원리
- 사용자가 SSO 로그인 시스템에 로그인
- 로그인 후 인증 토큰이나 세션 쿠키를 생성
- 사용자가 다른 서비스에 접근 시 토큰을 해당 서비스로 전달하여 사용자가 이미 로그인한 상태임을 확인한다.
SP 방식이란?
SP는 Service Provider의 약자로, 서비스 제공자를 의미한다. SP 방식은 SSO 시스템에서
Service Provider(SP)가 Identity Provider(IdP)와 협력하여 사용자를 인증하는 방식을 말한다. SP 방식은 주로 SAML이나 OpenIDC Connect(OIDC)를 사용한다.
- SP 작동 원리
- Service Provider(SP)는 사용자가 접근(로그인) 시 Identity Provider(IdP)에 사용자를 인증하도록 요청한다.
- 사용자는 IdP에서 인증을 마친 후, SP로 돌아오고, 이 과정에서 IdP는 SAML 어설션 또는 ID Token을 발급하여 SP에 전달한다.
- SP는 이 인증 정보를 기반으로 사용자가 올바르게 인증되었음을 확인하고, 서비스를 제공한다.
SAML(Security Assertion Markup Language)
SP방식인 Identity Provider(IdP)에서 Service Provider(SP)로 권한 인증 자격 증명을 전달할 때 사용되는 개방형 표준이다.
-
SAML 구성 요소
구성 요소 |
설명 |
추가 설명 |
Idntity Provider(IdP) |
- 사용자 신원을 확인하고 인증을 수행하는 서비스 |
|
- 인증된 사용자 정보를 SAML Assertions 형태로SP에 전달 | 로그인을 수행하는 시스템 |
| Service Provider(SP) | - 인증이 완료된 사용자가 사용하는 시스템
- 인증된 사용자의 정보를 받아서 처리하는 주체 | - 사용자가 최초 접근하는 시스템
- IdP로 인증을 요청하는 시스템
- Idp에서 로그인 인증 후 접근 권한을 부여 받는 시스템 |
| SAML MetaData | - IdP와 SP간이 신뢰 관계 설정과 통신에 필요한 정보 | - IdP와 SP간 최초 연결 시 필요한 데이터 |
| SAML Assertions | - Idp가 SP에게 전달 하는 XML 형식의 보안 토큰으로 사용자 인증 상태, 속성 정보, 권한 등의 정보를 표시 | - IdP가 SP에게 전달하는 XML 형태의 보안 토큰 |