본문 바로가기
개념/Study

SSO (Single Sign-On) TYPE

by Hwanii_ 2023. 11. 17.
728x90

SSO (Single Sign-On) 을 구현 하기 위해서는 다양한 방법들이 존재 한다.

 

아래에 대표적인 4가지 타입을 정리 하려고 한다.

 

1. PC Agent Type 

 

특징 : 개별 장치에 소프트웨어 설치

 

예시 :  TSSO

 

각 사용자의 개별 PC 에 설치 한다.

설치되는 Agent (에이전트) 에 의해 사용자의 자격 증명 정보를 등록 하고,

이렇게 등록된 자격 증명 정보를 가지고, 여러 응용 프로그램 및 서비스에 로그인을 하는 방식 이다.

 

쉽게 말해서, 바탕화면 GUI 에서 우측 하단을 확인 하면, 

 

 

위와 같이 이런식으로 현재 동작 중인 것들을 확인 할 수 있다.

 

이런 방식으로 사용자의 PC 에 소프트웨어를 설치 해서 이 소프트웨어가 실행 되고 있다면,

등록된 자격 증명 정보를 가지고 여러 서비스에 로그인을 할 수 있게 된다.

 

 

 

2. Web Server Plugin Type

 

특징 : 웹 서버에 소프트웨어 설치

 

예시 : OAM (Oracle), SiteMinder (CA)

 

Apache, IIS, WebSphere 과 같은 웹 서버에,  SSO 에이전트가 설치 되어 있는 타입 이다.

즉, 웹 서버에 SSO Agent 가 설치 되어 있기 때문에, SSO 서버와 통신을 주고 받으면서 인증을 처리 한다.

 

1번의 PC Agent Type 과는 확연 하게 다른 방식인 것을 볼 수 있다.

 

 

 

3. Reverse Proxy

 

특징 : 모든 사용자의 Request 가 SSO 서버 통과

 

예시 : ISAM

 

SSO 연동 대상 시스템의 IP는 DNS (Domain Name System) 상에서 Reverse Proxy Server의 IP 로 등록 된다.

그러면, 모든 사용자의 요청 (Request) 이 Reverse Proxy Server (SSO 서버) 를 통과 하게 된다.

 

 

 

4. OAuth / OIDC / SAML 표준 프로토콜

 

특징 : 국제 표준 프로토콜 이다. 표준 규칙으로 사용 하기 때문에, 다양한 시스템과 연동 호환성이 좋다.

 

예시 : Onrrow

 

국제 표준 인증 프로토콜을 사용 하여 인증 처리를 하는 방식. 다양한 시스템 (Legacy, SaaS, .. 등등) 과 연동 하기 좋다.

 

 

 

국제 표준 인증 프로토콜은 다음과 같다.

 

1) OAuth-based SSO

 

특징 : OAuth 프로토콜을 기반으로 하는 SSO 이다.

사용자가 한 번 인증 하면, 다른 어플리케이션 간에 인증 정보를 공유 할 수 있다.

주로, 웹 및 모바일 어플리케이션 에서 사용 되고, 서비스 간의 사용자 인증 및 자원 공유에 활용 된다.

예를들어, 새로운 어플에 가입 할 때,

페이스북 또는 스마트폰 연락처를 통해서 새로운 연락처를 자동으로 제공 하는 것에 동의 했다고 해보자.

이럴때 OAuth 2.0 이 사용 됬을 가능성이 높다.

왜냐하면, 이 OAuth 기반의 인증 프로토콜은 안전하게 액세스를 위임 하기 때문 이다.

 

2) OIDC (OpenID Connect) SSO

 

특징 : OAuth 2.0 위에 구축된 SSO 프로토콜 이다.

사용자가 여러 서비스에 대해 한 번의 로그인으로 액세스 할 수 있도록 지원 한다.

주로, 웹 및 모바일 어플리케이션 에서 사용 되고, 인증 및 사용자 정보 교환에 사용 된다.

예를들어, 구글을 사용 해서 유튜브 등의 어플에 로그인을 하거나,

페이스북으로 쇼핑몰에 로그인을 하면, 이럴때 OIDC 가 사용 됬을 가능성이 높다.

OIDC 는 사용자 인증에 사용되는 개방형 프로토콜 이다.

 

3) SAML-based (Security Assertion Markup Language) SSO

 

특징 : SAML을 사용해서 신뢰 할 수 있는 신원 제공자로부터 사용자 인증 정보를 수신 해서 타 서비스에 인증을 제공 한다.

주로 기업과 기업간 또는 기업 내부 에서 서로 다른 도메인 간의 인증 및 권한 부여를 위해 사용 된다.

예를들어, 기업 인트라넷 등에 로그인을 하고, 이후에 자격증명을 추가로 입력 하지 않아도,

Salesforce, Workday, .. 등과 같은 별도의 서비스에 액세스가 가능 하다.

 

 

 

OAuth / OIDC / SAML 에 대한 자세한 개념은 다음 게시글에서 계속.

 

OAuth :

https://hwanii96.tistory.com/508

 

OAuth (Open Authorization)

OAuth 란 ? Open Authorization의 약어 이다. Open Authorization == OAuth 인가 (Authorization) 를 위한 개방형 표준 프로토콜 이다. 인가를 위한 표준 프로토콜 이지만, OAuth 는 인증 (Authentication) 을 위해서 사용 되

hwanii96.tistory.com

 

 

 

OIDC :

https://hwanii96.tistory.com/510

 

OIDC (OpenID Connect)

OIDC (OpenID Connect) 이란 ? OIDC == OpenID Connect 는 OpenID Foundation 에서 정의한 개방형 Authentication (인증) 프로토콜 이다. SSO를 목적으로 JSON 데이터 형식으로 개발 되었다. 그리고 OIDC 는 OAuth 2.0 프로토콜

hwanii96.tistory.com

 

 

 

SAML :

https://hwanii96.tistory.com/511

 

SAML (Security Assertion Markup Language)

1. SAML (Security Assertion Markup Language) * Assertion : 주장 / 표명 SAML은 웹 기반 인증 및 권한 부여를 위한 XML 기반의 개방형 표준 규약 (프로토콜) 이다. 주로 SSO (Single Sign-on) 시스템 에서 사용 된다. 여러

hwanii96.tistory.com

반응형