El Servicio de Autenticación Central ( CAS ) es un protocolo de inicio de sesión único para la web . [ 1 ] Su propósito es permitir que un usuario acceda a múltiples aplicaciones proporcionando sus credenciales (como nombre de usuario y contraseña) una sola vez. También permite que las aplicaciones web autentiquen a los usuarios sin obtener acceso a sus credenciales de seguridad, como la contraseña. El nombre CAS también se refiere a un paquete de software que implementa este protocolo.
Descripción
El protocolo CAS involucra al menos a tres partes: un navegador web cliente , la aplicación web que solicita la autenticación y el servidor CAS . También puede involucrar un servicio de back-end , como un servidor de base de datos, que no tiene su propia interfaz HTTP pero se comunica con una aplicación web.
Cuando el cliente visita una aplicación que requiere autenticación, la aplicación lo redirige a CAS. CAS valida la autenticidad del cliente, generalmente comprobando el nombre de usuario y la contraseña con una base de datos (como Kerberos , LDAP o Active Directory ).
Si la autenticación es exitosa, CAS devuelve el cliente a la aplicación, entregándole un ticket de servicio . La aplicación valida el ticket contactando a CAS a través de una conexión segura y proporcionando su propio identificador de servicio y el ticket. Posteriormente, CAS proporciona a la aplicación información confiable sobre si un usuario en particular se ha autenticado correctamente.
CAS permite la autenticación multinivel mediante una dirección proxy . Un servicio de back-end colaborador , como una base de datos o un servidor de correo, puede participar en CAS, validando la autenticidad de los usuarios a través de la información que recibe de las aplicaciones web. Por lo tanto, tanto un cliente de correo web como un servidor de correo web pueden implementar CAS.
Historia
CAS fue concebido y desarrollado por Shawn Bayern del Departamento de Tecnología y Planificación de la Universidad de Yale . Posteriormente, Drew Mazurek, también de Yale, se encargó de su mantenimiento. CAS 1.0 implementó el inicio de sesión único. CAS 2.0 introdujo la autenticación por proxy de múltiples niveles. Se han desarrollado varias distribuciones de CAS con nuevas funcionalidades.
En diciembre de 2004, CAS se convirtió en un proyecto del Grupo de Interés Especial en Java para la Administración (JASIG) , responsable desde 2008 de su mantenimiento y desarrollo. Anteriormente conocido como "Yale CAS", ahora también se le conoce como "Jasig CAS". En 2010, Jasig inició conversaciones con la Fundación Sakai para fusionar ambas organizaciones. En diciembre de 2012, las dos organizaciones se consolidaron bajo el nombre de Fundación Apereo.
En diciembre de 2006, la Fundación Andrew W. Mellon otorgó a Yale su Primer Premio Anual Mellon a la Colaboración Tecnológica, por un monto de $50,000, por el desarrollo de CAS por parte de Yale. [ 2 ] En el momento de ese premio, CAS se utilizaba en "cientos de campus universitarios (entre otros beneficiarios)".
En abril de 2013, se publicó la especificación 3.0 del protocolo CAS. [ 3 ]
Implementaciones
Implementación de Apereo CAS
El servidor Apereo CAS, que es la implementación de referencia del protocolo CAS en la actualidad, admite las siguientes características:
- Protocolo CAS v1, v2 y v3
- Protocolo SAML v1 y v2
- Protocolo OAuth
- Protocolo OpenID y OpenID Connect
- Protocolo de solicitante pasivo de WS-Federation
- Autenticación mediante JAAS , LDAP , RDBMS, X.509 , Radius, SPNEGO , JWT , Remote, Trusted, BASIC, Apache Shiro , MongoDB , Pac4J y más.
- Autenticación delegada a WS-FED, Facebook, Twitter, SAML IdP, OpenID , OpenID Connect , CAS y más.
- Autorización mediante ABAC, fecha y hora, REST, Grouper de Internet2 y más.
- Implementaciones en clúster de alta disponibilidad mediante Hazelcast , Ehcache , JPA, Memcached , Apache Ignite , MongoDB, Redis , Couchbase y más.
- Registro de aplicaciones con soporte para JSON , LDAP, YAML , JPA, Couchbase, MongoDB y más.
- Autenticación multifactor mediante Duo Security, SAASPASS, YubiKey , RSA, Google Authenticator ( TOTP ) y más.
- Interfaces de administración para gestionar el registro de eventos, la monitorización, las estadísticas, la configuración, el registro de clientes y mucho más.
- Tema y marca de la interfaz de usuario global y específica para cada aplicación.
- Gestión de contraseñas y aplicación de la política de contraseñas.
Implementación de Django
Servidor CAS de Django
- django-mama-cas: [ 4 ] Un servidor de inicio de sesión único del Servicio de Autenticación Central (CAS) de Django
Cliente CAS de Django
- django-cas-ng: [ 5 ] Biblioteca de autenticación de cliente Django CAS 1.0/2.0/3.0, compatible con Django 2.0, 2.1, 2.2, 3.0 y Python 3.5+
Véase también
- CoSign inicio de sesión único
- JOSSO
- Lista de implementaciones de inicio de sesión único
- OpenAM
- OpenID
- SAML
- Productos y servicios basados en SAML
- Shibboleth (software)
Referencias
- ^ "Página del protocolo JASIG CAS" . Apereo/JASIG. Archivado desde el original el 3 de septiembre de 2017 . Consultado el 24 de junio de 2016 .
- ^ Comunicado de prensa del Premio Mellon a la Colaboración Tecnológica (PDF) .
- ^ "Especificación del protocolo CAS 3.0" . Archivado del original el 6 de noviembre de 2020. Recuperado el 6 de noviembre de 2020 .
- ^ "django-mama-cas" . GitHub . 16 de febrero de 2022.
- ^ "django-cas-ng" .
Enlaces externos
- Stanford WebAuth archivado el 11/07/2010 en Wayback Machine .
- Autenticación de cookies de la Universidad de Minnesota
- Proyecto Apereo CAS
- django-mama-cas
- django-cas-ng
- Free security software
- Computer access control protocols
- Access control software