SSO: Difference between revisions
From CS Wiki
No edit summary |
No edit summary |
||
Line 6: | Line 6: | ||
* PC에서도 윈도우와 같은 OS에서 사용자 로그인 후 여러 서비스 자원에 접근하는데 SSO와 유사한 메커니즘이 사용된다. | * PC에서도 윈도우와 같은 OS에서 사용자 로그인 후 여러 서비스 자원에 접근하는데 SSO와 유사한 메커니즘이 사용된다. | ||
== 예시 == | |||
* 주로 대형 회사에서 회사 컴퓨터에서 한번 로그인 하면, 그 이후엔 로그인 없이 여러 업무 도구를 이용할 수 있다. | |||
* 원래는 각 도구마다 로그인이 필요하지만 SSO 시스템에서 인증 토큰을 생성하여 자동 로그인 시켜주는 것 | |||
== 장단점 == | |||
* 장점 | * 장점 | ||
** ID/Password 개별 관리의 위험성 해소 | ** ID/Password 개별 관리의 위험성 해소 | ||
Line 12: | Line 17: | ||
** 구축비용이 비싸고 시스템 복잡도 증가 | ** 구축비용이 비싸고 시스템 복잡도 증가 | ||
** [[SPF|Single Point of Failure]] | ** [[SPF|Single Point of Failure]] | ||
== 구현 방식 == | |||
=== 위임(Delegation) 방식 === | |||
SSO 에이전트가 인증을 대행하는 방식 | |||
[[파일:SSO 위임 방식 구조도.jpg]] | |||
* 대상 애플리케이션의 인증 방식을 변경하기 어려울 때 많이 사용 | |||
* 사용자의 인증 정보를 SSO 에이전트가 관리하며 로그인 대신 수행 | |||
=== 전파(Propagation) 방식 === | |||
SSO에서 인증을 수행하고, 토큰 발급하고 전달하여 인증 수행 | |||
[[파일:SSO 전파 방식 구조도.jpg]] | |||
* SSO에서 인증을 받아 대상 애플리케이션으로 전달할 토큰 생성 | |||
* 애플리케이션에선 SSO의 토큰을 검증하고 인증된 것으로 처리 | |||
=== 혼합 방식 === | |||
* 대상 애플리케이션에 따라 위임 방식 및 전파 방식을 혼용해서 사용 | |||
== 기반 기술 == | == 기반 기술 == | ||
* [[커버로스]] | * [[커버로스]]: 전파방식의 SSO를 구현하기 위한 기반 프로토콜 | ||
== | == 구현 == | ||
* | === 웹 기반 SSO === | ||
* | * 전파 방식의 경우 [[쿠키]]를 통해 토큰을 저장한다. | ||
** 토큰 쿠키가 있을 경우 토큰값을 검증해 로그인을 수행한다. | |||
** 쿠키에 저장된 토큰은 필히 암호화하여야 한다. | |||
* 위임 방식의 경우 저장해둔 ID/비밀번호를 POST로 전달하여 로그인 한다. | |||
** 또는 ID/비밀번호를 대신할 수 있는 토큰을 URL(GET) 방식으로 전달하여 로그인 한다. | |||
== 같이 보기 == | == 같이 보기 == | ||
* [[EAM]] | * [[EAM]] | ||
* [[IAM]] | * [[IAM]] |
Revision as of 10:48, 24 March 2020
- Single Sign-On
- 한번의 로그인으로 여러 허용된 자원에 접근할 수 있도록 하는 기술
- 주로 기업에서 그룹웨어, ERP, CRM 등 여러 업무시스템에 대해 한번에 로그인할 수 있도록 하기 위해 사용된다.
- PC에서도 윈도우와 같은 OS에서 사용자 로그인 후 여러 서비스 자원에 접근하는데 SSO와 유사한 메커니즘이 사용된다.
예시
- 주로 대형 회사에서 회사 컴퓨터에서 한번 로그인 하면, 그 이후엔 로그인 없이 여러 업무 도구를 이용할 수 있다.
- 원래는 각 도구마다 로그인이 필요하지만 SSO 시스템에서 인증 토큰을 생성하여 자동 로그인 시켜주는 것
장단점
- 장점
- ID/Password 개별 관리의 위험성 해소
- 사용자 편의성 증가
- 단점
- 구축비용이 비싸고 시스템 복잡도 증가
- Single Point of Failure
구현 방식
위임(Delegation) 방식
- 대상 애플리케이션의 인증 방식을 변경하기 어려울 때 많이 사용
- 사용자의 인증 정보를 SSO 에이전트가 관리하며 로그인 대신 수행
전파(Propagation) 방식
SSO에서 인증을 수행하고, 토큰 발급하고 전달하여 인증 수행
- SSO에서 인증을 받아 대상 애플리케이션으로 전달할 토큰 생성
- 애플리케이션에선 SSO의 토큰을 검증하고 인증된 것으로 처리
혼합 방식
- 대상 애플리케이션에 따라 위임 방식 및 전파 방식을 혼용해서 사용
기반 기술
- 커버로스: 전파방식의 SSO를 구현하기 위한 기반 프로토콜
구현
웹 기반 SSO
- 전파 방식의 경우 쿠키를 통해 토큰을 저장한다.
- 토큰 쿠키가 있을 경우 토큰값을 검증해 로그인을 수행한다.
- 쿠키에 저장된 토큰은 필히 암호화하여야 한다.
- 위임 방식의 경우 저장해둔 ID/비밀번호를 POST로 전달하여 로그인 한다.
- 또는 ID/비밀번호를 대신할 수 있는 토큰을 URL(GET) 방식으로 전달하여 로그인 한다.