Desde PRiSE queremos anunciar la salida a la luz de la página oficial de adAS (advanced Authentication Server).
Para los que aún no hayáis escuchado nada de él, adAS es un Servidor de Autenticación Avanzado que realiza funciones de proveedor de identidad y que integran los distintos protocolos que se engloban la identidad digital de una organización, como pueden ser PAPI v1, SAML 1.1/Shibboleth 1.3 o SAML 2.0.
adAS ofrece muchas ventajas con respecto a aplicaciones similares, pero una de las principales es la facilidad de gestión y mantenimiento de los sistemas integrados en este Single Sign-On, gracias a su interfaz web de administración. Mediante éste es posible configurar todos los aspectos que integran una aplicación de este tipo: gestión de proveedores de servicio, metadatos, políticas de atributos, soporte de diferentes fuentes de datos, etc.
Además, no solo se centra en facilitar la configuración y en tener un buen funcionamiento, si no que su objetivo es, además, facilitar el trabajo a los encargados de la identidad digital de las distintas organizaciones, integrando herramientas de visualización y búsquedas rápidas en los archivos de log, generando estadísticas de acceso y autenticación del sistema e incluso posibilitando el funcionamiento de esta herramienta con DNI electrónico.
¿Quiéres saber más sobre adAS?: Visita su nueva página web.
En uno de nuestros proyectos nos hemos encontrado con la situación de tener que unir dos federaciones PAPI, permitiendo que personas que pertenezcan a una federación puedan acceder a los recursos federados de otra federación.
La solución que hemos ideado ha llevado al desarrollo de un nuevo elemento en php que implementa el protocolo PAPI, al cual le hemos denominado ASProxy.
Este elemento permite conectar dos GPoAs, cada uno de una federación diferente. Para la federación que protege los recursos, el ASProxy actúa como un AS normal, pero para el GPoA de la federación a la que pertenece el usuario, el ASProxy se comporta como un PoA.
Cuando un ASProxy recibe un mensaje ATTREQ de un GPoA, traduce esa petición en un mensaje CHECK, almacenando en la sesión información necesaria para cuando esa petición sea contestada. En esa petición ATTREQ se envíará el parámetro PAPIHLI con el valor del AS de la federación 2 al que pertenece, pudiendo así evitar el paso de que el usuario tenga que seleccionar de nuevo en un WAYF a qué institución pertenece.
Cuando a un ASProxy le llega un mensaje CHECKED de respuesta proveniente del GPoA de la federación 2, éste deberá transformar este mensaje, descifrándolo con la clave pública del GPoA de la federación 2, modificando la información necesaria y cifrándolo con su clave privada para que el GPoA de la federación 1 pueda comprender la respuesta.
Esta será un mensaje CHECKED de tipo AS->GPoA, distinto del recibido anteriormente, de tipo GPoA->PoA.
Como una extensión futura a este componente, estamos pensando la forma más adecuada de enviar, dentro de la aserción obtenida, el AS de la federación 2 donde el usuario se ha autenticado para que así, en la federación 1, puedan realizar filtros con esta información.
Desde PRiSE seguiremos informando de cómo evoluciona este componente.
Recientemente hemos finalizado un proyecto que hemos llevado a cabo con la Universidad de Sevilla para actualizar y migrar a nuevas versiones su actual despliegue de PAPI en sus instalaciones.
Gracias a este proyecto y su apoyo hemos podido desarrollar dos nuevos componentes PAPI con licencia GPL. Estos son los siguientes:
Todavía no hay mucha documentación de ambos proyectos, y es que estamos trabajando en la nueva web de PAPI donde estamos escribiendo ya cómo instalarlos y cómo configurarlos, además de mucha más información del resto de los componentes.
Si quieres ir probándolos, puedes descargarlos utilizando los siguientes repositorios Mercurial:
El 20 de Abril del 2009 fue un mal día para las organizaciones (y el software libre en general, aunque es mi opinión personal y ya hablaré de esto en otro momento) que utilizaban OpenSSO: Oracle decidió comprar Sun Microsystems.
Uno de los problemas que han surgido a raíz de dicha compra es el estado «incierto» que están sufriendo aquellos usuarios de OpenSSO. ¿Ha dejado de ser un proyecto libre? O mejor dicho, ¿ha dejado de ser un proyecto en activo?
Ahora hay que registrarse en Oracle y solicitar una cuenta de cliente con ellos para descargarlo, mientras que los agentes de política (los módulos de openSSO que se instalaban en un servidor web para proteger una zona) han desaparecido misteriosamente sin comunicar nada en su página web.
Como muchos de sus usuarios están evaluando alternativas para migrar a otro producto, nosotros queremos proponerles que migren a PAPI. Gracias a OpenSSO2PAPI podrán migrar a una infraestructura basada en PAPI sin necesidad de cambiar la tecnología que usaban para proteger las aplicaciones.
OpenSSO2PAPI es un software a través del cual PAPI puede ofrecer la API que OpenSSO provee para gestionar la cesión de datos de identidad y atributos a las aplicaciones que estén protegidas con dicha tecnología, implementando el comportamiento y las APIs que dichas aplicaciones esperan.
Podemos dividir la arquitectura de OpenSSO en dos grandes bloques:
Hemos implementado en Opensso2PAPI un conjunto de pantallas y APIs tipo REST y hemos comprobado que funciona perfectamente con aplicaciones protegidas con OpenSSO.
La idea es que OpenSSO2PAPI utiliza un PoA (utilizando phpPoA) para obtener de una infraestructura PAPI, o de un Servidor de autenticación en concreto a través del parámetro PAPIHLI, la identidad del usuario y sus atributos. De esta forma, es como si el OpenSSO delegara en PAPI la gestión de la identidad del usuario.
Cambiando tan sólo las URLs que tenemos definidas en nuestras aplicaciones, la cual hemos protegido con OpenSSO, por la nueva dirección donde está desplegado OpenSSO2PAPI, habremos migrado a PAPI sin necesidad de realizar cambios en dichas aplicaciones con un coste elevado.