Identity Provider, un must para las organizaciones actuales

*Imagen tomada de AGESIC.

La evolución tecnológica en la gestión empresarial hizo un upgrade con los sistemas IDP. Te invitamos a leer este artículo y profundizar en el tema.

IMA000183000035678

Por Rodrigo de la Fuente

EL PROBLEMA

Hasta hace un tiempo, en las organizaciones teníamos una aplicación monstruosa: “el sistema”, encargada de gestionar todos los aspectos vinculados a facturación, personal, compras y stock.

Generalmente eran desarrolladas en el lenguaje de programación de turno, conocido por los desarrolladores de la organización, y con altos niveles de acoplamiento. Incluso en aquellos casos donde su arquitectura había sido cuidadosamente pensada y planificada, a medida que se convertían en aplicaciones legadas era imposible evitar su degradación.

Afortunadamente, en los últimos años se desarrollan cada vez menos este tipo de sistemas. Las organizaciones optan por tener varias soluciones interconectadas para realizar tareas específicas  dentro de la misma.

Este cambio tiene como ventaja contar con aplicaciones mucho menos acopladas (aumentando así su mantenibilidad); además permite independizarse de un determinado lenguaje de programación, al poder desarrollar cada aplicación en distintos lenguajes según sus necesidades. Sin embargo, como contrapartida la identificación y autenticación de los usuarios se complejiza.

Que cada aplicación tenga su propio mecanismo de Login, trae aparejado una serie de inconvenientes que se deben tener en cuenta. Por un lado hay que asegurarse que todas las aplicaciones cumplan con los mismos estándares de seguridad a la hora de autenticar los usuarios. Luego se debe contemplar la gestión de los usuarios. Puede ocurrir que un mismo usuario tenga distintos nombres de usuario o contraseñas entre las aplicaciones, o que en algún momento deban actualizar ciertas contraseñas. Todo esto afecta la experiencia para el usuario final y hace difícil llevar una buena política de contraseñas propiciando la utilización de contraseñas muy débiles.

Para mitigar este problema algunas organizaciones optan por utilizar mecanismos centralizados de autenticación de usuarios, como LDAP o Active Directory. Sin embargo, aunque esto resuelve la duplicación de nombres de usuario y contraseñas, un usuario que debe ingresar en varias aplicaciones deberá iniciar sesión en cada una de ellas, llevando nuevamente al desgaste del usuario y la utilización de contraseñas de menor calidad. A fin de cuentas, ¿A quién le molestaría escribir su contraseña de 32 caracteres, con 6 caracteres especiales, 4 mayúsculas y 3 dígitos, unas 8 veces por día?


LA SOLUCIÓN

Como solución a esto surgen los Proveedores de Identidades (o IDP por sus siglas en inglés). Estos sistemas que permiten crear, mantener y administrar de forma centralizada la información de los usuarios, con la autoridad para emitir información acerca de su identidad.

A su vez el IDP posee la facultad de realizar el proceso de autenticación de los usuarios, lo cual permite que los restantes sistemas no sólo obtengan la información actualizada, sino que pueda realizarse un inicio de sesión unificado (Single Sign-On o SSO). La ventaja es que el usuario inicia sesión por única vez en el IDP y automáticamente podrá ingresar a todas las demás aplicaciones que estén conectadas al IDP sin necesidad de reingresar sus credenciales.

Los IDPs Implementan estándares y protocolos como ser, Oauth, SAML y OpenID, para realizar el proceso de SSO. De esta manera las distintas aplicaciones, sin importar el lenguaje en el que son desarrolladas, pueden integrarse con el IDP y unirse al proceso de SSO. En la mayoría de los casos los IDPs implementan uno o más de estos protocolos.


CASOS PRÁCTICOS

Es posible comprobar todo el potencial del IDP cuando miramos hacia afuera. Cuando le permitimos a nuestros clientes autenticarse con un SSO, los habilitamos a navegar entre distintas aplicaciones sin siquiera notarlo. Muchas de las grandes compañías de tecnología, como Google, Apple y Microsoft, ya adoptaron esta modalidad. Si evaluamos el caso de Google, podemos observar que iniciando sesión unicamente en el correo, tenemos acceso a decenas de otras aplicaciones: Youtube, Maps, Calendar, etc.

Otro ejemplo a destacar es el propio Estado uruguayo, que ya tiene desarrollado un IDP al cual pueden conectarse los distintos Entes, permitiéndole a los ciudadanos autenticarse utilizando solamente su CI electrónica y el pin de la misma.

La buena noticia para la comunidad GeneXus es que; gracias al GeneXus Access Manager (GAM) es posible la construcción de IDPs de forma muy sencilla, utilizando funcionalidades incluidas en su API y aprovechando que se integra de forma nativa mediante el protocolo Oauth V2.

 

Por Rodrigo de la Fuente, consultor y pentester del área de seguridad de GeneXus Consulting.