SSO(Single Sign-On) 이란?

·2023년 2월 8일
0

SSO(Single Sign-On)에 대하여 정리를 해보려고 한다.

SSO(Single Sign-On)란?
한번의 로그인으로 다른 여러 사이트들을 자동적으로 접속하여 이용하는 방법을 말한다. 하나의 시스템에서 인증을 할 경우 다른 시스템에서는 인증정보가 있는지 확인 후 있으면 로그인 처리, 없으면 다시 통합인증을 진행하도록 하는 것 이다. 즉, 사용자는 하나의 아이디, 패스워드를 통해 여러 시스템에 접근할 수 있는 통합로그인 방법이다.

SSO 구현방법

SSO 시스템을 구현하는 대표적인 세가지 방식에 대해서 알아보았다.

SAML
Security Assertion MarkUp Lagnuage는 SAML은 브라우저 친화적인 언어인 XML을 사용하여 사용자 식별 데이터를 교환한다. SAML기반의 SSO서비스는 애플리케이션이 사용자 보안 인증 정보를 시스템에 저장할 필요가 없어 유연성과 보안에 좋지만, XML 형식이기 때문에 브라우저를 통해서만 동작이 가능하다. 모바일이나 Native Application에서는 사용할 수 없는 문제 발생

OAuth
Open Authorization은 애플리케이션이 암호를 제공하지 않고도 다른 웹사이트의 사용자 정보에 안전하게 엑세스 할 수 있도록 하는 개방형 표준이다.OAuth는 모바일 환경에서 사용할 수 없다는 SAML의 단점을 보완하기 위해 개발 되었다. XML이 아닌 JSON형식을 기반으로 한다. 또한 SAML은 인증, 인가(Authentication, Authorization)두 가지를 다루지만 OAuth는 인가(Authorization)를 목적으로 설계 되었다.

OIDC
OAuth2.0을 이용하여 만들어진 인증레이어 이다. OAuth가 인가를 목적으로 설계 되었기 때문에 인증을 사용하기가 어렵다. OIDC에서는 인증을 위해 JWT형식의 ID Tocken이라고 하는 토큰을 추가하여 인증과 인가(Authentication, Authorization) 모두를 다룰 수 있다.

SSO(Single Sign-On)를 구현해보기 전 개념과 대표적인 구현방법 세가지에 대해서만 간단하게 알아보았다. 더 자세한 내용은 추후에 추가로 작성 해보도록 하겠다...!

0개의 댓글