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
'Dev > network' 카테고리의 다른 글
sudo , su, su - (0) | 2021.02.02 |
---|---|
Web Server와 WAS(Web Application Server)의 차이( feat. 미들웨어) (0) | 2019.11.15 |
오라클 ORA-12170: TNS: 접속 시간 초과가 발생함 에러 => telnet으로 방화벽 오픈여부 확인 ! (0) | 2019.11.11 |