SeaForest

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

Computer Science

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

seaforest 2022. 7. 23. 12:47

1. SSO란?

- Single Sign-On 의 약자, 싱글사인온

- "One set of login credentials" for multiple applications

- 이름 그대로 단일 로그인, 즉 하나의 아이디 및 패스워드를 통해 여러가지 다른 사이트들에 자동적으로 접근할 수 있는 통합 로그인(인증) 솔루션

- 일반적으로는 서로 다른 시스템 및 사이트에서 각각의 사용자 정보를 관리하게 되는데, 필요에 따라 사용자 정보를 연동하여 사용해야 하는 경우도 생기게됨. 이때 하나의 사용자 정보를 기반으로 여러 시스템을 하나의 통합 인증으로 사용하게 함.

- 하나의 시스템에서 인증을 할 경우, 타 시스템에서는 인증 정보가 있는지 확인하고, 있으면 로그인 처리를 하도록 하고, 없는 경우 다시 통합 인증을 할 수 있도록 만드는 것

 

SSO가 있다면, 하나의 ID/PW로 여러가지 서비스 사용 가능 (출처 : https://gruuuuu.github.io/security/ssofriends/)

 

2. SSO의 장점과 단점

(1) 장점

- 로그인 기능 로직을 한번만 수행함으로써 사용자에게 편리함을 제공

- 인증 기능을 모든 서비스마다 구현하지 않아도 되므로 개발 비용 감소

- 하나의 서비스에서 로그아웃을 하면 다른 서비스 또한 로그아웃 시킬 수 있으므로 보안적인 이점 있음
(보안 통제 측면에서 유익)

- 로그인 로직이 변경되거나, 암호화 방식을 변경해야 할 경우 제품마다 적용할 필요 없이 인증 서버만 수정하면 되기 때문에 효율적

- 관리자는 하나의 보안 토큰(사용자 이름, 암호 쌍)으로 여러 시스템과 플랫폼, 앱 및 기타 리소스에 대한 사용자 접근을 활성화하거나 비활성화 가능

(2) 단점

- 한번의 인증으로 많은 정보를 제공하기 때문에 해킹의 피해가 커질 수 있음

- 하나의 아이디 접속 권한을 잃어버리면 모든 서비스 사용 불가

- 각각의 서비스마다 보안 수준이 다르면 보안에 문제가 생길 수 있음

 

3. SSO 구현 방식

- 여러 표준, 프레임워크에 의해 구현될 수 있고 대표적으로 3가지가 있음. (SAML, OAuth, OIDC)

(방법1)  SAML

- 3가지 역할이 존재함
(User - 인증을 원하는 사용자, Identity Provider - IDP/인증 정보 제공자, Service Provider - SP/서비스 제공자)

- IDP(인증 정보 제공자)와 SP(서비스 제공자) 간의 인증 및 데이터를 교환하기 위한 XML 기반의 표준 데이터 포맷

- 예를 들어 SAML을 사용하고, IDP로 'google'을 선택한다면 해당 사이트에 google 로그인을 통해 접근 가능. 이러한 경우 Google이 IDP에 해당함

* (참고) IDP로 google을 사용하여 SSO를 적용하는 경우 

https://support.google.com/a/table/9217027?visit_id=637941440183906616-675138272&rd=2 

 

사전 통합된 SAML 앱 카탈로그 - Google Workspace 관리자 고객센터

Google에서는 200개 이상의 클라우드 애플리케이션에 사전 통합된 싱글 사인온(SSO)을 제공합니다. SSO 기능에는 OpenID Connect(OIDC) ID 공급업체 지원과 보안 보장 마크업 언어(SAML) 2.0에 대한 지원이 포

support.google.com

 

 

4. SSO 사용 예시

- 예를 들어 A라는 회사에 다니고 있는데, 이 직원이 A에서 제공하는 3가지 서비스 어플리케이션을 이용할 때, 각각의 ID와 PW를 입력하여 로그인을 해야 한다면 불편함. SSO 인증 방식으로 한번의 로그인으로 모든 어플리케이션 이용 가능.

SSO인증이 없는 경우 (출처 : https://blog.naver.com/dktmrorl/222154655539)
SSO를 사용하는 경우 (출처 : https://blog.naver.com/dktmrorl/222154655539)

 

 

5. 레퍼런스

https://gruuuuu.github.io/security/ssofriends/

 

호다닥 공부해보는 SSO와 친구들 (SAML, OAuth, OIDC)

Overview 우리는 여러 사이트를 돌아다니면서 내가 “나”임을 증명하기 위해 계정을 만들고 로그인을 하게 됩니다. 예전에는 여러 사이트마다 각자 계정을 만드는 일이 잦았는데 최근엔 대형 회

gruuuuu.github.io

https://blog.naver.com/dktmrorl/222154655539

 

[IT정보] 통합 인증(Single Sign-On, SSO) 시스템 개념

통합 인증(Single Sign-On, SSO)이란? 통합 인증(Single Sign-On, SSO)은 한 번의 인증 과정으...

blog.naver.com

 

'Computer Science' 카테고리의 다른 글

URL 구조 정리  (0) 2022.10.05
방화벽이란?  (0) 2022.07.23
[Network] DNS란?  (0) 2022.04.14
[AWS] AWS란? 클라우드, 클라우드 컴퓨팅이란?  (0) 2022.03.28
[Network] IP란? 포트(Port)란?  (0) 2022.03.23