Центральная служба аутентификации

Протокол единого входа

Central Authentication Service ( CAS ) — это протокол единого входа в сеть . [1] Его цель — разрешить пользователю получать доступ к нескольким приложениям, предоставляя свои учетные данные (например, идентификатор пользователя и пароль) только один раз. Он также позволяет веб-приложениям аутентифицировать пользователей, не получая доступа к учетным данным безопасности пользователя, таким как пароль. Название CAS также относится к программному пакету , который реализует этот протокол.

Описание

Протокол CAS включает в себя как минимум три стороны: клиентский веб-браузер, веб- приложение, запрашивающее аутентификацию, и сервер CAS . Он также может включать в себя внутреннюю службу , такую ​​как сервер базы данных, которая не имеет собственного интерфейса HTTP, но взаимодействует с веб-приложением.

Когда клиент посещает приложение, требующее аутентификации, приложение перенаправляет его в CAS. CAS проверяет подлинность клиента, обычно путем проверки имени пользователя и пароля по базе данных (например, Kerberos , LDAP или Active Directory ).

Если аутентификация прошла успешно, CAS возвращает клиента приложению, передавая билет на услугу . Затем приложение проверяет билет, связываясь с CAS по защищенному соединению и предоставляя свой собственный идентификатор услуги и билет. Затем CAS предоставляет приложению доверенную информацию о том, успешно ли аутентифицировался конкретный пользователь.

CAS допускает многоуровневую аутентификацию через прокси-адрес . Взаимодействующая внутренняя служба, например, база данных или почтовый сервер, может участвовать в CAS, проверяя подлинность пользователей с помощью информации, которую она получает от веб-приложений. Таким образом, клиент веб-почты и сервер веб-почты могут реализовать CAS.

История

CAS был задуман и разработан Шоном Байерном из Йельского университета технологий и планирования. Позднее он поддерживался Дрю Мазуреком в Йельском университете. CAS 1.0 реализовал единый вход. CAS 2.0 представил многоуровневую прокси-аутентификацию. Было разработано несколько других дистрибутивов CAS с новыми функциями.

В декабре 2004 года CAS стал проектом Java in Administration Special Interest Group (JASIG) , которая с 2008 года отвечает за его поддержание и развитие. Ранее называвшийся «Yale CAS», CAS теперь также известен как «Jasig CAS». В 2010 году Jasig вступил в переговоры с Sakai Foundation об объединении двух организаций. Две организации были объединены в Apereo Foundation в декабре 2012 года.

В декабре 2006 года Фонд Эндрю У. Меллона наградил Йельский университет первой ежегодной премией Меллона за технологическое сотрудничество в размере 50 000 долларов США за разработку Йельским университетом системы CAS. [2] На момент присуждения этой премии система CAS использовалась в «сотнях университетских кампусов (среди прочих бенефициаров)».

В апреле 2013 года была выпущена спецификация протокола CAS версии 3.0. [3]

Реализации

Реализация CAS Apereo

Сервер Apereo CAS, являющийся на сегодняшний день эталонной реализацией протокола CAS, поддерживает следующие функции:

  • Протокол CAS v1, v2 и v3
  • Протокол SAML v1 и v2
  • Протокол OAuth
  • OpenID и протокол OpenID Connect
  • Протокол пассивного запроса 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, Internet2 Grouper и др.
  • Кластерные развертывания высокой доступности с помощью Hazelcast , Ehcache , JPA, Memcached , Apache Ignite , MongoDB, Redis , Couchbase и других.
  • Регистрация приложений поддерживается JSON , LDAP, YAML , JPA, Couchbase, MongoDB и другими.
  • Многофакторная аутентификация с помощью Duo Security, SAASPASS, YubiKey , RSA, Google Authenticator ( TOTP ) и других.
  • Административные пользовательские интерфейсы для управления журналированием, мониторингом, статистикой, конфигурацией, регистрацией клиентов и многим другим.
  • Глобальная и индивидуальная тематика пользовательского интерфейса и брендинг.
  • Управление паролями и применение политики паролей.

Реализация Джанго

Сервер CAS Джанго

  • django-mama-cas: [4] Сервер единого входа Django Central Authentication Service (CAS)

Клиент Django CAS

  • django-cas-ng: [5] Библиотека аутентификации клиента Django CAS 1.0/2.0/3.0, поддерживает Django 2.0, 2.1, 2.2, 3.0 и Python 3.5+

Смотрите также

Ссылки

  1. ^ "Страница протокола JASIG CAS" . Аперео/ДЖАСИГ . Проверено 24 июня 2016 г.
  2. ^ Пресс-релиз премии Меллона за технологическое сотрудничество (PDF) .
  3. ^ "CAS Protocol Specification 3.0" . Получено 6 ноября 2020 г. .
  4. ^ "django-mama-cas". GitHub . 16 февраля 2022 г.
  5. ^ "django-cas-ng".
  • Stanford WebAuth Архивировано 11 июля 2010 г. на Wayback Machine
  • Университет Миннесоты CookieAuth
  • Проект Apereo CAS
  • джанго-мама-кас
  • django-cas-ng
Retrieved from "https://en.wikipedia.org/w/index.php?title=Central_Authentication_Service&oldid=1267043208"