중앙 인증 서비스

Central Authentication Service

CAS(Central Authentication Service)는 을 위한 단일 로그온 프로토콜이다.[1]인증 정보(사용자 ID, 비밀번호 등)를 한 번만 제공하면서 사용자가 여러 애플리케이션에 액세스할 수 있도록 하는 것이 목적이다.또한 웹 애플리케이션이 암호와 같은 사용자의 보안 자격 증명에 대한 액세스 권한을 얻지 않고도 사용자를 인증할 수 있도록 한다.CAS라는 이름도 이 프로토콜을 구현하는 소프트웨어 패키지를 지칭한다.

설명

CAS 프로토콜은 클라이언트 웹 브라우저, 인증을 요청하는 웹 응용 프로그램, CAS 서버 등 최소한 세 개의 당사자를 포함한다.또한 자체적인 HTTP 인터페이스는 없지만 웹 애플리케이션과 통신하는 데이터베이스 서버와 같은 백엔드 서비스를 포함할 수 있다.

클라이언트가 인증이 필요한 애플리케이션을 방문하면 애플리케이션은 이를 CAS로 리디렉션한다.CAS는 일반적으로 데이터베이스(예: Kerberos, LDAP 또는 Active Directory)에 대해 사용자 이름과 암호를 확인하여 클라이언트의 신뢰성을 검증한다.

인증이 성공하면 CAS는 서비스 티켓을 전달하며 클라이언트를 애플리케이션에 반환한다.그런 다음 애플리케이션은 보안 연결을 통해 CAS에 연락하고 자체 서비스 식별자와 티켓을 제공하여 티켓의 유효성을 확인한다.그런 다음 CAS는 응용프로그램에 특정 사용자가 성공적으로 인증되었는지 여부에 대한 신뢰할 수 있는 정보를 제공한다.

CAS는 프록시 주소를 통한 다중 계층 인증을 허용한다.데이터베이스나 메일 서버와 같은 협력적인 백엔드 서비스는 CAS에 참여할 수 있으며, 웹 애플리케이션으로부터 수신되는 정보를 통해 사용자의 진위를 확인할 수 있다.따라서 웹메일 클라이언트와 웹메일 서버는 모두 CAS를 구현할 수 있다.

역사

CAS는 예일대 테크놀로지 플래닝의 숀 바이에른에 의해 구상되고 개발되었다.그것은 나중에 예일대학의 드류 마즈렉에 의해 유지되었다.CAS 1.0은 싱글 사인온을 구현했다.CAS 2.0은 다계층 프록시 인증을 도입했다.몇 가지 다른 CAS 배포는 새로운 특징으로 개발되었다.

CAS는 2004년 12월, 2008년 현재 유지·개발을 담당하는 행정특별이익집단(JASIG) 자바(Java)이전에는 "예일 CAS"라고 불렸으며, 현재는 "자식 CAS"로도 알려져 있다.재식이는 2010년 사카이 재단과 두 조직을 합병하기 위한 협상에 들어갔다.두 기관은 2012년 12월 아페레오 재단으로 통합됐다.

2006년 12월, 앤드류 W. 멜론 재단은 예일대학교의 CAS 개발로 5만 달러의 금액으로 예일대학교 최초의 연례 기술협력상(Mellon Award for Technology Collaboration)을 수여했다.[2]그 상이 수여될 당시 CAS는 '수백 개의 대학 캠퍼스(다른 수혜자들 중)에서 사용 중이었다.

2013년 4월 CAS 프로토콜 사양 3.0이 출시되었다.[3]

실행

Apereo CAS 구현

오늘날 CAS 프로토콜의 참조 구현인 Apeero CAS 서버는 다음과 같은 기능을 지원한다.

  • CAS v1, v2 및 v3 프로토콜
  • SAML v1 및 v2 프로토콜
  • OAuth 프로토콜
  • 오픈ID & 오픈ID 연결 프로토콜
  • WS-Federation 패시브 요청자 프로토콜
  • JAAS, LDAP, RDBMS, X.509, Radius, SPNEGO, JWT, Remote, Trusted, BASIC, Apache Shiro, MongoDB, Pac4J 등을 통한 인증.
  • WS-FED, Facebook, Twitter, SAML IdP, OpenID, OpenID Connect, CAS 등에 인증 위임.
  • ABAC, 시간/날짜, REST, 인터넷2의 그루퍼 등을 통한 승인.
  • HA는 헤이즐캐스트, Ehcache, JPA, Memcached, Apache Ignite, MongoDB, Redis, Couchbase 등을 통해 클러스터링된 배포 환경.
  • JSON, LDAP, YAML, JPA, Couchbase, MongoDB 등이 지원하는 애플리케이션 등록.
  • Duo Security, SAASPASS, YuvKey, RSA, Google Authenticator(TOTP) 등을 통한 멀티팩터 인증.
  • 로깅, 모니터링, 통계, 구성, 클라이언트 등록 등을 관리하는 관리 UI.
  • 글로벌 및 애플리케이션별 사용자 인터페이스 테마 및 브랜드.
  • 암호 관리 및 암호 정책 시행.

장고 구현

장고 CAS 서버

  • Django-mama-cas:[4] Django Central Authentication Service(CAS) 단일 로그온 서버

장고 CAS 클라이언트

  • 짱오-cas-ng:[5] 짱오 CAS 1.0/2.0/3.0 클라이언트 인증 라이브러리, 짱오 2.0, 2.1, 2.2, 3.0, 파이썬 3.5+!

참고 항목

참조

  1. ^ "JASIG CAS Protocol Page". Apereo/JASIG. Retrieved 24 June 2016.
  2. ^ Mellon Award for Technology Collaboration press release (PDF).
  3. ^ "CAS Protocol Specification 3.0". Retrieved 6 November 2020.
  4. ^ "django-mama-cas". GitHub. 16 February 2022.
  5. ^ "django-cas-ng".

외부 링크