SSO란 ?
Single Sign-On의 약자로 여러 사이트에서 한 번의 로그인으로 여러 가지 다른 사이트들을 접속하여 이용하는 방법을 말합니다.
일반적으로 서로 다른 서버 및 웹 사이트에서 각각의 사용자 정보를 관리하게 되는데, 필요에 따라서 사용자 정보를 연동하여 사용해야 하는 경우도 생기게 됩니다. 이 때, 하나의 사용자 정보를 기반으로 여러 시스템에서 하나의 통합 인증을 사용하게 하는 것을 의미합니다.
정리하면 하나의 아이디 인증 정보로 여러 시스템에 접근할 수 있는 방식입니다.
SSO의 등장 배경에 대해서는 넘어가고, 주요 기능 및 특징에 대해서 알아봤습니다.
주요 기능
•
사용자 관리
◦
Multi Domain간의 다양한 애플리케이션간 통합인증 제공
◦
조직 및 사용자 별 사용자 정보에 대한 통합 관리 및 사용자별 시스템 접근 권한 관리 기능 제공
•
암호 관리
◦
암호 분실 시 사용자에 의한 일괄 변경 기능 제공
•
데이터 암호화 관리
◦
사용자 인증 정보 노출을 방지하기 위하여 데이터를 암호화한 송수신 기능 제공
•
정책기반 관리
◦
인증 방법, ID 규칙, Password 제약, 접근 위치/시간 제약 등의 정책을 정의하여 일괄 적용할 수 있는 관리 기능 제공
주요 특징
•
사용자 편의성 증대
•
애플리케이션 운영관리의 효율성 증대
•
개발 효율성 증대
SSO의 구축 유형
1. 인증 대행 모델
인증 방식을 변경하기 어려운 경우에 많이 사용됩니다. 대상 애플리케이션의 인증 방식을 전혀 변경하지 않고,
말 그대로 사용자의 대상 애플리케이션 인증 정보를 가지고 Agent가 대신 로그인을 해주는 방식입니다.
2. 인증 정보 전달 모델
통합 인증을 수행하는 곳에서(ex: google) 인증을 받아 대상 애플리케이션으로 전달할 토큰을 발급 받습니다.
대상 애플리케이션에 사용자, 클라이언트가 접근할 때 토큰을 자동으로 전달해(google→target application)
대상 애플리케이션이 사용자를 확인할 수 있도록 하는 방식입니다. 웹에서는 쿠키를 이용해 토큰을 자동으로 대상 애플리케이션에 전달할 수 있기 때문에, 웹 환경에서의 SSO는 대부분 이 모델을 채택한다고 합니다.