독학/[etc] 보안 이슈 공부

[🔐2025-07] 보안 이슈 찾아보기 : SSO(Single Sign-On)

최연재 2025. 7. 26. 22:29

🔗 참고자료

https://aws.amazon.com/ko/what-is/sso/

 

SSO란 무엇인가요? - Single Sign-On 설명 - AWS

예. SSO는 고급 ID 액세스 관리 솔루션입니다. 단일 로그온 솔루션을 구축하면 엔터프라이즈 애플리케이션 및 리소스에 대한 사용자 액세스 관리를 수행할 수 있습니다. SSO 솔루션을 사용하면 애

aws.amazon.com

 

1. SSO(Single Sign-On)란?

1.1 정의

- 1회 사용자 인증으로 다수의 애플리케이션 및 웹사이트에 대한 사용자 로그인을 허용하는 인증 솔루션

- 한 번 자격 증명이 검증된 사용자에게 반복되는 로그인 없이 모든 암호 보호 리소스에 액세스하도록 하여 보안과 사용자 경험을 모두 충족할 수 있음.

 

1.2 이점

- 암호 보안 강화

암호로 인한 번거로움을 방지하고 상요자가 여러 웹 사이트에 사용할 수 있는 강력한 비밀번호를 만들도록 권장

- 생산성 향상

엔터프라이즈 애플리케이션의 사용자 검증 프로세스를 간소화하고 보호된 리소스에 더 쉽게 액세스할 수 있도록 권장

- 비용 절감

암호를 잊어버리는 일이 줄어들어 암호 재설정 요청을 처리하는 지원 리소스를 최소화 가능

- 보안 태세 개선

암호를 대상으로 하는 보안 이벤트의 위험을 줄이는동시에 조직이 데이터 보안 규정을 준수 가능

 

1.3 작동 방법

- SSO는 애플리케이션 또는 서비스와 ID 제공업체(IdP)라고도 하는 외부 서비스 공급자 간의 신뢰를 설정

- SSO 서비스

  • 사용자가 로그인할 때 애플리케이션이 사용하는 중앙 서비스
  • 인증되지 않은 사용자가 애플리케이션에 대한 액세스를 요청하는 경우 애플리케이션은 해당 사용자를 SSO 서비스로 리디렉션 ➡️ 서비스가 사용자 인증 후 원래 애플리케이션으로 리디렉션

- SSO 토큰

  • 사용자 식별 정보를 포함하는 디지털 파일
  • 사용자가 애플리케이션에 대한 액세스 요청 시 애플리케이션은 SSO 토큰을 SSO 서비스와 교환해 사용자 인증

 

1.4 SSO 프로세스

1️⃣ 사용자가 애플리케이션에 로그인하면 앱은 SSO 토큰을 생성하고 인증 요청을 SSO 서비스로 전송

2️⃣ 이 서비스는 사용자가 이전에 시스템에서 인증되었는지 확인. 인증된 경우 애플리케이션에 인증 확인 응답을 전송하여 사용자에게 액세스 권한을 부여

3️⃣ 사용자에게 유효한 보안 인증 정보가 없는 경우 SSO 서비스는 사용자를 중앙 로그인 시스템으로 리디렉션하고 사용자에게 사용자 이름과 암호를 제출하라는 메시지 표시

4️⃣ 사용자가 정보를 제출하면 이 서비스는 사용자 보안 인증 정보를 확인하고 긍정적인 응답을 애플리케이션으로 전송

5️⃣ 4️⃣에서 인증 정보가 틀렸을 경우 다시 로그인을 시도하도록 함. 

 

1.5 SSO 유형

- SAML(Security Assertion Markup Language

  • 애플리케이션이 SSO 서비스와 인증 정보를 교환하는 데 사용하는 프로토콜 또는 규칙 집합
  • XML을 사용

- OAuth(Open Authorization)

  • 애플리케이션이 암호를 제공하지 않고도 다른 웹 사이트의 사용자 정보에 안전하게 액세스할 수 있도록 하는 개방형 표준
  • OAuth를 사용하여 암호로 보호된 데이터에 액세스할 수 있는 사용자 권한을 얻음

- OIDC

  • 단일 사용자 보안 인증 정보 세트를 사용하여 여러 사이트에서 액세스하는 방법
  • 웹 애플리케션은 인증 토큰을 서드 파트 ID 공급자에게 전달하는 대신, OIDC를 사용하여 추가 정보를 요청하고 사용자의 신뢰성을 검증

- Kerberos

  • 둘 이상의 당사자가 네트워크에서 신원을 서로 검증할 수 있는 티켓 기반 인증 시스템