SSO: Difference between revisions

From CS Wiki
No edit summary
No edit summary
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[분류:보안]][[분류:정보보안기사]]
[[분류:보안]][[분류:정보보안기사]]
;Single Sign-On
;Single Sign-On
;(주로 기업에서) 한번의 로그인으로 여러 허용된 자원에 접근할 수 있도록 하는 기술
; 한번의 로그인으로 여러 허용된 자원에 접근할 수 있도록 하는 기술


* 주로 기업에서 그룹웨어, ERP, CRM 등 여러 업무시스템에 대해 한번에 로그인할 수 있도록 하기 위해 사용된다.
* PC에서도 윈도우와 같은 OS에서 사용자 로그인 후 여러 서비스 자원에 접근하는데 SSO와 유사한 메커니즘이 사용된다.
== 예시 ==
* 주로 대형 회사에서 회사 컴퓨터에서 한번 로그인 하면, 그 이후엔 로그인 없이 여러 업무 도구를 이용할 수 있다.
* 원래는 각 도구마다 로그인이 필요하지만 SSO 시스템에서 인증 토큰을 생성하여 자동 로그인 시켜주는 것
== 장단점 ==
* 장점
* 장점
** ID/Password 개별 관리의 위험성 해소
** ID/Password 개별 관리의 위험성 해소
Line 9: Line 17:
** 구축비용이 비싸고 시스템 복잡도 증가
** 구축비용이 비싸고 시스템 복잡도 증가
** [[SPF|Single Point of Failure]]
** [[SPF|Single Point of Failure]]
== 구현 방식 ==
=== 위임(Delegation) 방식 ===
;SSO 에이전트가 인증을 대행하는 방식
[[파일:SSO 위임 방식 구조도.jpg|500px]]
* 대상 애플리케이션의 인증 방식을 변경하기 어려울 때 많이 사용
* 사용자의 인증 정보를 SSO 에이전트가 관리하며 로그인 대신 수행
=== 전파(Propagation) 방식 ===
;SSO에서 인증을 수행하고, 토큰 발급하고 전달하여 인증 수행
[[파일:SSO 전파 방식 구조도.jpg|500px]]
* SSO에서 인증을 받아 대상 애플리케이션으로 전달할 토큰 생성
* 애플리케이션에선 SSO의 토큰을 검증하고 인증된 것으로 처리
=== 혼합 방식 ===
* 대상 애플리케이션에 따라 위임 방식 및 전파 방식을 혼용해서 사용


== 기반 기술 ==
== 기반 기술 ==
* [[커버로스]]
* [[커버로스]]: 전파방식의 SSO를 구현하기 위한 기반 프로토콜
 
== 구현 ==
=== 웹 기반 SSO ===
* 전파 방식의 경우 [[쿠키]]를 통해 토큰을 저장한다.
** 토큰 쿠키가 있을 경우 토큰값을 검증해 로그인을 수행한다.
** 쿠키에 저장된 토큰은 필히 암호화하여야 한다.
* 위임 방식의 경우 저장해둔 ID/비밀번호를 POST로 전달하여 로그인 한다.
** 또는 ID/비밀번호를 대신할 수 있는 토큰을 URL(GET) 방식으로 전달하여 로그인 한다.
 
=== 단말 프로그램 ===
* 기업용 소프트웨어의 경우 대부분 SSO를 위한 인증 API를 제공한다.
* 소프트웨어에서 인증 기능 커스트마이징이 전혀 되지 않을 경우 SSO 연동이 불가능하다.
** 단말용 소프트웨어 도입시 RFP에 해당 SSO 연동 지원 내용 포함 필요


== 예시 ==
== 같이 보기 ==
* 주로 대형 회사에서 회사 컴퓨터에서 한번 로그인 하면, 그 이후엔 로그인 없이 여러 업무 도구를 이용할 수 있다.
* [[EAM]]
* 원래는 각 도구마다 로그인이 필요하지만 SSO 시스템에서 인증 토큰을 생성하여 자동 로그인 시켜주는 것
* [[IAM]]

Latest revision as of 10:54, 24 March 2020

Single Sign-On
한번의 로그인으로 여러 허용된 자원에 접근할 수 있도록 하는 기술
  • 주로 기업에서 그룹웨어, ERP, CRM 등 여러 업무시스템에 대해 한번에 로그인할 수 있도록 하기 위해 사용된다.
  • PC에서도 윈도우와 같은 OS에서 사용자 로그인 후 여러 서비스 자원에 접근하는데 SSO와 유사한 메커니즘이 사용된다.

예시[edit | edit source]

  • 주로 대형 회사에서 회사 컴퓨터에서 한번 로그인 하면, 그 이후엔 로그인 없이 여러 업무 도구를 이용할 수 있다.
  • 원래는 각 도구마다 로그인이 필요하지만 SSO 시스템에서 인증 토큰을 생성하여 자동 로그인 시켜주는 것

장단점[edit | edit source]

  • 장점
    • ID/Password 개별 관리의 위험성 해소
    • 사용자 편의성 증가
  • 단점

구현 방식[edit | edit source]

위임(Delegation) 방식[edit | edit source]

SSO 에이전트가 인증을 대행하는 방식

SSO 위임 방식 구조도.jpg

  • 대상 애플리케이션의 인증 방식을 변경하기 어려울 때 많이 사용
  • 사용자의 인증 정보를 SSO 에이전트가 관리하며 로그인 대신 수행

전파(Propagation) 방식[edit | edit source]

SSO에서 인증을 수행하고, 토큰 발급하고 전달하여 인증 수행

SSO 전파 방식 구조도.jpg

  • SSO에서 인증을 받아 대상 애플리케이션으로 전달할 토큰 생성
  • 애플리케이션에선 SSO의 토큰을 검증하고 인증된 것으로 처리

혼합 방식[edit | edit source]

  • 대상 애플리케이션에 따라 위임 방식 및 전파 방식을 혼용해서 사용

기반 기술[edit | edit source]

  • 커버로스: 전파방식의 SSO를 구현하기 위한 기반 프로토콜

구현[edit | edit source]

웹 기반 SSO[edit | edit source]

  • 전파 방식의 경우 쿠키를 통해 토큰을 저장한다.
    • 토큰 쿠키가 있을 경우 토큰값을 검증해 로그인을 수행한다.
    • 쿠키에 저장된 토큰은 필히 암호화하여야 한다.
  • 위임 방식의 경우 저장해둔 ID/비밀번호를 POST로 전달하여 로그인 한다.
    • 또는 ID/비밀번호를 대신할 수 있는 토큰을 URL(GET) 방식으로 전달하여 로그인 한다.

단말 프로그램[edit | edit source]

  • 기업용 소프트웨어의 경우 대부분 SSO를 위한 인증 API를 제공한다.
  • 소프트웨어에서 인증 기능 커스트마이징이 전혀 되지 않을 경우 SSO 연동이 불가능하다.
    • 단말용 소프트웨어 도입시 RFP에 해당 SSO 연동 지원 내용 포함 필요

같이 보기[edit | edit source]