통합 로그인 SSO(Single Sign-On) 개념 및 장단점

SSO(Single Sign-On) 란?

SSO(Single Sign-On)는 한 번의 인증과정(로그인)으로 여러 컴퓨터 상의 자원을 이용가능하게 끔 하는 통합 로그인 기능이다.

SSO란
출처:https://m.post.naver.com/viewer/postView.naver?volumeNo=30925125&memberNo=15488377

과거에는 위 그림처럼 각 어플리케이션 별로의 로그인 및 인증 과정을 거쳤습니다.

But, 최근에는 SSO를 도입함으로 하나의 ID, PW로 한번의 인증만 거치게 되면 여러 어플리케이션을 사용할 수 있게 되었습니다.

SSO(Single Sign-On) 장점

  • ID 및 PW의 개별 관리의 위험성 해소
  • 중앙집중 관리를 통한 효율적으로 관리 가능
  • ID 및 PW를 달리 하여 각 서버별로 관리하게 되면 각각의 서버에 보안 솔루션이 적용되야만 하므로 운용비용 감소
  • User(사용자) 편의성 증가

SSO(Single Sign-On) 단점

  • ID 및 PW가 노출 시에 전체 시스템이 위험해지므로 모든 서버 보안침해가 가능해 진다.

SSO(Single Sign-On) 구현 모델

인증 대행(Delegation) 모델

SSO 개념 및 장단점
출처:https://helloworld-88.tistory.com/98

SSO 대상 어플리케이션에서사용되는 사용자 인증방법을 별도의 SSO Agent가 대행하는 방식이며 이에 대상 어플리케이션의 인증 방식을 변경하기 어려울때 많이 사용된다.

User 1Target Server 1에 로그온 시 ID, PW가 필요하다면

Agent는 이 정보를 가지고 있으며 Target Server 1User 1이 접근할 때 AgentUser 1을 대신하여 ID, PW정보를 전달하여 로그온대행한다.

인증정보 전달(Propagation) 모델

SSO 개념 및 장단점02
출처:https://helloworld-88.tistory.com/98

통합 인증을 수행하는 곳에서 인증을 받아 대상 어플리케이션으로 전달한 토큰을 발급받고 대상 어플리케이션에 사용자가 접근할 때

토큰을 자동으로 전달하여 대상 어플리케이션이 사용자를 확인할 수 있도록 하는 방식이다.

👉 웹 환경에는 쿠키(Cookie) 기술을 이용하여 토큰을 자동으로 대상 어플리케이션에 전달이 가능하고 웹 환경에서의 SSO는 대부분 해당 모델을 채택하고 있습니다.

Delegation & Propagation 모델

대상 어플리케이션들이 많고 어플리케이션 특성들이 다양한 경우 Delegation 방식Propagagation 방식을 혼용하여 전체 시스템의 SSO를 구성하는 방식이다.

웹 환경이라도 Propagation 방식이 모두 적용될 수는 없으며 웹 어플리케이션의 변경이 불가능하고 사용자 통합이 어려운 경우에는 Delegation 방식을 사용해야만 한다.

Web 기반 One Cookie Domain SSO

SSO 대상 서비스와 응용 어플리케이션들이 하나의 Cookie Domain 안에 존재할 때 사용되는 일반적인 기업 내부의 컴퓨팅 환경에서 사용되며

서비스에서 동작되는 SSO Agent토큰으로부터 사용자 신원을 확인하고 요청된 자원에 대한 접근을 허가한다.

Web 기반 Muiti Cookie Domain SSO

SSO 대상 서비스응용 어플리케이션들이 여러 도메인으로 분산되어 있는 경우 주로 사용되며

사용자 인증토큰 발행을 위한 마스터 에이전트가 존재한다.

여기서 마스터 에이전트는 각 서비스 에이전트사용자 인증을 위임 받아 수행하며 인증된 사용자에게는 토큰을 발급하고 각 서비스 에이전트에게 안전하게 전달한다.

SSO(Single Sign-On) 보안 기술의 특징

Client-Based

수많은 ID 및 PW를 기억 시키고 PC에서 자동으로 입력하게 할 수 있기때문에 사용자가 비교적 편리하게 사용할 수 있지만,

새로운 어플리케이션이나 사이트가 추가될 때마다 정보가 갱신되어야하는 문제점이 있다.

Server-Based

중앙 서버에서 각기 다른 모든 비밀번호를 관리할 수 있으며 사용자가 다른곳에 있어도 다른 PC를 사용할 때에도 편하게 이용할 수 있지만,

클라이언트 시스템에 대한 보안관리문제와 사용자가 온라인에서 하는 모든 활동서버를 통하기 때문에

서버가 항상 사용될 수 있도록 가용성이 보장되어야만한다.

Service-Based

비밀번호를 하나의 서비스로 제공할 수 있는 형태이며 비밀번호의 번거로움을 처리하기 위해 중앙집중 서버, 쿠키, 표준화된 구조를 이용하여

서버에 접속하면 여러 웹사이트가 유지되는 형태이다.

But, 개인정보 보호와 관련된 문제 발생 소지가 존재하여 현재 사회적 문제로 거론되고 있다.

Leave a Comment