본문 바로가기
CS/WEB

SSO(Single Sign-On)란?

by eungineer 2022. 10. 24.

개념

  • 한 번의 로그인 인증으로 여러 개의 서비스를 추가적인 인증 없이 사용할 수 있는 기술
  • 인증은 하나의 인증서버에서 수행하고, 그 인증 서버가 서비스를 각각 담당하는 서버에 인증 정보를 알려주는 방식
  • 주로 다양한 서비스를 유사한 도메인 혹은 동일한 탑 레벨 도메인(TLD)을 서비스하는 엔터프라이즈 서비스 제공자들이 사용자에게 간편한 로그인을 제공하기 위해 사용
  • 하나의 시스템에서 인증을 할 경우, 타 시스템에서는 인증 정보가 있는지 확인하고, 있으면 로그인 처리, 없으면 다시 통합 인증을 할 수 있도록 만드는 것
  • 하나의 시스템에서 인증을 할 경우, 타 시스템에서는 인증 정보가 있는지 확인하고, 있으면 로그인 처리를 하도록 하고, 없는 경우 다시 통합 인증을 할 수 있도록 만드는 것

 

장점

  • 로그인 기능 로직을 한 번만 수행함으로써 사용자에게 편리함 제공
  • 인증 기능을 모든 서비스마다 구현하지 않아도 되므로 개발 비용 감소
  • 로그인 로직이 변경되거나 암호화 방식을 변경해야 할 경우 제품마다 적용할 필요없이 인증 서버만 수정하면 되기 때문에 효율적
  • 하나의 서비스에서 로그아웃할 경우 다른 서비스들 역시 로그아웃(세션만료) 시킬 수 있어 보안적인 이점
  • 관리자는 하나의 보안 토큰(사용자 이름, 암호 쌍)으로 여러 시스템과 플랫폼, 앱 및 기타 리소스에 대한 사용자 접근을 활성화하거나 비활성화 가능

 

단점

  • 한 번의 인증으로 많은 정보를 제공하기 때문에 해킹의 피해가 늘어날 수 있음
  • 아이디의 접속 권한을 잃어버리면 모든 서비스 이용 불가
  • 각각 서비스마다 보안 수준이 다르면 보안에 문제 발생 가능성

 

구성 요소

  • 사용자 통합 로그인
  • 인증 서버
  • 통합 에이전트 : 각 정보 시스템에 대한 정보 관리
  • LDAP(Lightweight Directory Access Protocol) : 네트워크 상의 자원을 식별하고 인가된 사용자만 접근하도록 하는 네트워크 디렉토리 서비스

 

기술 요소

  • 인증 : PKI(Public Key Infra structure), 생체 인식, OTP(One Time Password)
  • 관리 : LDAP(Lightweight Directory Access Protocol), 쿠키(Cookie)
  • 암호화 통신 : SSL(Secure Socket Layer), IPSec(IP Security Protocol)

 

구현 방식

  • 여러 표준, 프레임워트에 의해 구현 가능
  • 대표적 3가지 : SAML, OAuth, OIDC

 

구축 유형

  • 인증 위임 모델(Delegation)
    - 인증 방식을 변경하기 어려울 경우
    - 시스템 접근 시 통합 Agent가 인증 작업을 대행
    - SSO 에이전트가 인증을 대행하는 방식
    - 대상 애플리케이션의 민증 방식을 변경하기 어려울 때 많이 사용
  • 인증 정보 전달 모델(Propagation)
    - SSO에서 인증을 수행, 토큰을 발급하고 전달하여 인증 수행-
    - SSO에서 인증을 받아 대상 애플리케이션으로 전달할 코드 생ㅅ
  • 웹 기반의 시스템에 주로 사용
  • 미리 인증된 토큰을 받아서 시스템 접근 시, 자동으로 전달

 

AD(Active Directory)

  • Directory Service(= SSO) : 중앙 서버에 공통된 데이터베이스를 생성하여 각 서버와 클라이언트는 해당 데이터베이스를 공유하여 Object를 검색하고, 중앙에서 사용자가 인증 및 권한 부여 처리가 가능하도록 처리해주는 서비스
    -> Active Directory는 이것을 가능하게 해주는 중앙 서버에 설치된 데이터베이스
  • AD를 배포한다는 것은 SSO 환경을 만든다는 뜻

[참고자료]

https://devbksheen.tistory.com/entry/SSOSingle-Sign-On

 

SSO(Single Sign-On)란 무엇인가?

SSO(Single Sign-On)란? 한 번의(Single) 로그인 인증(Sign-On)으로 여러 개의 서비스를 추가적인 인증 없이 사용할 수 있는 기술 인증은 하나의 인증서버에서 수행하고, 그 인증 서버가 서비스를 각각 담

devbksheen.tistory.com

https://velog.io/@krafftdj/SSO%EB%9E%80

 

SSO란?

SSO란 여러가지 애플리케이션 서비스를 하나의 인증서버를 통해서 인증 할 수 있는 기술을 뜻함.\-> 즉, "한번의 로그인으로 여러 시스템에 접근할 수 있는 통합 로그인 솔루션"이다.한 회사에서

velog.io

https://seaforest76.tistory.com/16

 

SSO(Single Sign-On,싱글사인온)

1. SSO란? - Single Sign-On 의 약자, 싱글사인온 - "One set of login credentials" for multiple applications - 이름 그대로 단일 로그인, 즉 하나의 아이디 및 패스워드를 통해 여러가지 다른 사이트들에 자동..

seaforest76.tistory.com

https://zakelstorm.tistory.com/85

 

SSO(Single Sign On) / AD(Active Directory)

SSO 란? 한번의 로그인으로 여러 사이트들을 자동적으로 접속하여 사용할 수 있는 방법이다. 즉, 한번의 로그인을 통해 여러 시스템에 접근할 수 있는 통합 로그인(인증) 솔루션이다. 하나의 시스

zakelstorm.tistory.com

https://itkjspo56.tistory.com/298

 

[Web] SSO란 무엇인가?

1. SSO란 무엇인가? Single Sign-On의 약자로 여러 개의 사이트에서 한번의 로그인으로 여러가지 다른 사이트들을 자동적으로 접속하여 이용하는 방법을 말합니다. 일반적으로 서로 다른 시스템 및

itkjspo56.tistory.com

https://dkswnkk.tistory.com/581

 

SSO(Single Sign-On) 통합인증 이란?

서론 현재 일하고 있는 곳에서는 내부망에서 다양한 시스템들을 운영하고 있습니다. 여기서 주목한 점은 한 번의 로그인으로 내부의 모든 시스템을 재 로그인 없이 이용할 수 있는 방식인 SSO(Sin

dkswnkk.tistory.com

https://sangbeomkim.tistory.com/159

 

SSO(Single Sign On), SLO(Sign LogOn) 란 무엇인가

한 회사에서 여러시스템을 운영중이고, 각 시스템 계정을 별도로 관리하여 서비스하는 경우가 있습니다. 시스템 계정을 모두 기억해야하고, 각 시스템에 별도로 로그인해야 하는 불편함이 있습

sangbeomkim.tistory.com

https://wildeveloperetrain.tistory.com/167

 

SSO(Single Sign-On) jwt 동작 이론 살펴보기

SSO란, SSO(Single Sign-On)은 하나의 시스템(인증 서버)에서 클라이언트에 대한 인증을 수행하고, 그 인증 정보를 가지고 추가적인 인증 없이 다른 서비스들도 사용할 수 있도록 하는 기능입니다. (통

wildeveloperetrain.tistory.com

https://toma0912.tistory.com/75

 

SSO(Single Sign-On)이란?

안녕하세요. 오늘은 SSO(Single Sign-On)에 대해서 알아보면서 개념 및 원리를 간략하게 정리해보려는 포스팅을 하려고 합니다. 1. SSO란 무엇인가? Single Sign-On의 약자로 여러 개의 사이트에서 한번의

toma0912.tistory.com

https://icutor.tistory.com/entry/SSO-%EC%9D%B8%EC%A6%9D

 

SSO 인증

목차 1. SSO 란? SSO는 가장 기본적인 인증 시스템으로, '모든 인증은 하나의 시스템에서'라는 목적하에 개발된 것이다. 즉 시스템이 몇 대가 되어도 하나의 시스템에서 인증에 성공하면 다른 시스

icutor.tistory.com

 

'CS > WEB' 카테고리의 다른 글

HTTP와 HTTPS 개념, 차이점  (0) 2022.10.25
URL vs URI vs URN  (0) 2022.10.24
OpenID, OIDC(OpenID Connect)란?  (0) 2022.10.24
Authentication(인증) vs Authorization (인가)  (0) 2022.10.24
OAuth란? (OAuth2.0)  (0) 2022.10.24