본문 바로가기
Dev/network

SSO란?

by RoundRyun 2019. 11. 24.

SSO란 무엇인가?

Single Sign -On의 약자로 여러 개의 사이트에서 한번의 로그인으로 여러가지 다른 사이트들을 자동적으로 접속하여 이용하는 방법을 말한다. 일반적으로 서로 다른 시스템 및 사이트에서 각각의 사용자 정보를 관리하게 되는데, 필요에 따라서 사용자 정보를 연동하여 사용해야 하는 경우도 생기게 됩니다. 이 때, 하나의 사용자 정보를 기반으로 여러 시스템을 하나의 통합 인증을 사용하게 하는 것을 말합니다. 즉 하나의 시스템에서 인증을 할 경우 타 시스템에서는 인증 정보가 있는지 확인하고 있으면, 로그인 처리를 하도록 하고, 없는 경우, 다시 통합 인증을 할 수 있도록 만드는 것을 의미합니다. 즉 하나의 아이디 및 패스워드를 통해 여러 시스템에 접근할 수 있는 통합 로그인 솔루션이라고 생각하시면 됩니다.

 

 

SSO의 구성요소

- 사용자 통합 로그인

- 인증 서버

- 통합 에이전트: 각 정보시스템에 대한 인증 정보 관리

- LDAP: 네트워크 상의 자원을 식별하고, 인가된 사용자만 접근할 수 있도록 하는 네트워크 디렉토리 서비스

 

SSO 구축 유형

① 인증 대행 모델(Delegation)

 

 

 

- 인증 방식을 변경하기 어려울 경우, 많이 사용

- 시스템 접근 시, 통합 Agent가 인증 작업을 대행

 

② 인증 정보 전달 모델(Propagation)

 

- 웹 기반의 시스템에서 주로 사용

- 미리 인증된 토큰(Cookie 기능 이용)을 받아서 각 시스템 접근 시, 자동으로 전달

 

Cookie를 이용한 SSO구현 시, Cookie 보안 방법

- Data Confidentiality : 토큰은 주요 암호 알고리즘(AES, SEED)과 128bit 이상의 키로 암호화 되어야 함

- Data Integrity : 토큰은 MAC 등을 포함해 데이터의 무결성을 보장해야 함

- Replay Attack Protection : 사용자 주소 제한이나 유효시간 제한 같은 보안 기술을 사용하여, 토큰을

  네트워크에 노출시키지 않아야 함

 

 

 

Reference

 http://blog.naver.com/PostView.nhn?blogId=xcripts&logNo=70121445000