SSO

From IT Wiki
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]