소개

개념

1. CAS

CAS(Central Authentication Service, 중앙 인증 서비스)
예일대학교에서 시작한 오픈소스 웹 SSO(싱글 사인온) 구현 프레임워크입니다.

2. SSO(싱글 사인온)

여러 웹 서비스의 신원 확인을 단일 주소에서 통합 처리하는 방식입니다.

  • 특징: 애플리케이션끼리 HTTPS 웹 프로토콜로 통신하며 전역 유일 로그인 진입점을 사용합니다
  • 쉬운 설명: 같은 브라우저에서 인증 센터에 한 번만 로그인하면 신뢰된 모든 사이트에 반복 로그인 없이 접속할 수 있습니다

3. SSO 체계의 세 가지 역할

  1. User: 최종 사용자(브라우저)
  2. 웹 애플리케이션(여러 업무 시스템)
  3. SSO 인증 센터(유일)

4. SSO 핵심 원칙 세 가지

  1. 모든 계정 로그인 동작은 SSO 인증 센터에서 일괄 실행합니다;
  2. 인증 센터는 각 웹 애플리케이션에 현재 사용자 인증 여부를 알리는 메커니즘을 제공합니다;
  3. 인증 센터는 모든 업무 웹 애플리케이션과 사전에 신뢰 관계를 맺어야 합니다.
두 가지 핵심 구성요소

CAS Server(인증 서버 측)

  • 독립 배포되는 웹 프로그램이며 유일한 인증 허브
  • 역할: 아이디와 비밀번호를 받아 사용자 신원 검증;티켓(Ticket) 발급, 전역 세션 Cookie(TGC) 관리

CAS Client(각 업무 시스템에 내장되는 클라이언트)

  • 각 업무 웹 애플리케이션 안에 배포하며 보통 Filter 필터 형태로 구현
  • 역할: 보호된 자원 요청을 가로챔;로그인하지 않은 경우 브라우저를 CAS Server 로그인 페이지로 자동 리다이렉트

처리 흐름

  1. 사용자가 업무 시스템 자원에 접근 → CAS Client가 요청을 가로채고 Service Ticket이 없음을 감지
  2. Client가 브라우저를 리다이렉트시켜 CAS Server 로그인 주소로 보내고 현재 업무 시스템 주소(Service)를 함께 전달
  3. 사용자는 CAS 서버에서 아이디 비밀번호를 입력해 로그인 인증 완료
    • 로그인 성공: CAS Server가 브라우저에 TGC(Ticket Granting Cookie)전역 세션 쿠키를 저장
    • 일회용 티켓 Service Ticket(ST) 생성
  4. CAS Server가 브라우저를 다시 업무 시스템 주소로 리다이렉트하고 URL 파라미터에 Ticket=xxx를 붙임
  5. 업무 시스템의 CAS Client가 백엔드에서 서버 간 요청을 수행,Service 주소와 Ticket을 보내 CAS Server에 티켓 유효성 검증 요청
  6. CAS Server가 티켓이 유효함을 확인하고 사용자 이름 등 신원 정보를 반환
  7. 검증 통과, 업무 시스템이 로컬 세션을 생성하고 사용자가 페이지를 정상 이용

TGC의 역할:브라우저에 TGC 쿠키가 유지되는 한 CAS 연동된 다른 시스템에 접속할 때 로그인 페이지가 뜨지 않고 자동으로 싱글 사인온이 진행됩니다.

소개

Next:

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다