Recent Posts
Recent Comments
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
관리 메뉴

ㅇ.ㅇ

[DEV] SSO 본문

Today I Learned

[DEV] SSO

yun_ 2025. 3. 2. 23:46
반응형

 

 

sso 관련 기능들을 커스텀하면서 좀 더 제대로 개념 정리를 해야할 것 같아 이렇게 정리를 하게 되었다. 

 

SSO(Single Sign-On)란?

SSO는 한 번의 로그인으로 여러 시스템이나 서비스에 접근할 수 있도록 해주는 인증 방식이다. 사용자 경험을 개선하고 보안을 강화하는 데 중요한 역할을 한다.

 

SSO가 필요한 이유

1. 편의성 증가

  • 사용자는 한 번만 로그인하면 여러 서비스에 접근 가능.
  • 로그인할 때마다 비밀번호를 입력할 필요 없음.

2. 보안 강화

  • 여러 개의 비밀번호를 사용하지 않아 보안 위험 감소.
  • 보안 정책을 중앙에서 일괄 적용 가능 → 관리 효율성 증가.

3. 관리 비용 절감

  • 기업에서 계정 관리 및 비밀번호 재설정 요청 감소.
  • IT 부서의 업무 부담 경감.
 

SSO의 동작 방식

SSO는 일반적으로 토큰 기반 인증(Token-based Authentication)을 사용한다.  대표적인 프로토콜에는 아래와 같다.

1. SAML (Security Assertion Markup Language)

  • XML 기반의 인증 프로토콜
  • 기업 환경에서 많이 사용됨 - 예시 : Google Workspace, Microsoft 365 등
  • 인증 과정
    1. 사용자가 서비스에 접근 시 SAML 요청 전송.
    2. IDP(Identity Provider)가 사용자 인증 후 SAML 응답을 생성.
    3. 응답을 서비스 제공자(SP)로 전달하여 인증 완료.

 

2. OAuth 2.0

  • 웹 및 모바일 환경에서 널리 사용되는 인증 및 권한 부여 프레임워크.
  • 예시 : Google, Facebook, GitHub 로그인.
  • 인증 과정
    1. 사용자가 로그인 요청 → 인증 서버로 리디렉션.
    2. 사용자 인증 후 Access Token 발급.
    3. 토큰을 이용하여 서비스 접근 허용.

 

3. OpenID Connect (OIDC)

  • OAuth 2.0을 기반으로 한 인증 프로토콜.
  • ID 토큰을 사용하여 사용자 정보를 포함한 인증 지원.
  • 구글, 애플 등의 SSO 서비스에서 사용.
 

SSO의 장점과 단점

장점

  • 사용자 경험 향상: 한 번 로그인으로 여러 서비스 사용 가능.
  • 보안 강화: 다중 비밀번호 관리 부담 감소.
  • 효율적 관리: 중앙에서 사용자 계정 및 접근 권한 관리 가능.

단점

  • SSO 서버 장애 시 모든 서비스 접근 불가 → 고가용성(HA) 구성 필요.
  • 보안 위협: 하나의 계정이 유출되면 모든 서비스에 접근 가능.
  • 구현 복잡성: 기존 서비스에 맞춰 도입하려면 추가 개발 필요.

 

SSO는 사용자 경험을 개선하면서 보안을 강화하는 중요한 인증 방식이다. OAuth 2.0, SAML, OpenID Connect 같은 프로토콜을 활용하여 구현할 수 있으며, 기업 환경뿐만 아니라 웹 및 모바일 애플리케이션에서도 광범위하게 사용된다. SSO 도입 시 고가용성, 보안 강화 전략을 함께 고려하는 것이 필수! 

반응형