Joven hacker sonriendo
Muchos cuadros de diálogo revueltos, esperando la contraseña

¡Qué pereza tantas contraseñas!

Simplificando la autenticación con OpenID Connect
La autenticación es un proceso necesario para verificar la identidad del usuario, sin embargo, ante la variada cantidad de servicios en Internet y la autenticación ante cada uno de ellos utilizar muchas contraseñas resulta engorroso. Aquí te presentamos una forma segura de reducir tus contraseñas.

En la actualidad, el aumento exponencial en el uso de Internet ha impactado drásticamente en la seguridad de la información manejada día a día. Las operaciones bancarias, el uso de servicios de comercio electrónico e incluso las redes sociales, hacen que el acceso a múltiples aplicaciones y el uso constante de los datos personales generen un gran desafío en torno a la seguridad y protección de dicha información.

Acuñado a esto, tenemos que, para que un usuario pueda hacer uso de tales servicios, éste debe realizar una autenticación que demuestre su identidad, y esta validación debe hacerla por cada uno de los servicios a los cuales desea acceder. Si bien ésto no representa un problema para los desarrolladores ni proveedores de los servicios, sí es un problema para los usuarios finales.

Ahora, se considera un problema porque en cuestión de practicidad a las personas, de por sí, se les dificultad memorizar información y, por tanto, recordar los diferentes datos de autenticación de múltiples servicios y plataformas Web es bastante engorroso. Debido a lo anterior, ésto se convierte en un problema de seguridad porque las personas optan por usar los mismos datos de validación en múltiples plataformas, permitiendo que, obtenidos los datos de una, se pueda acceder a la información contenida en los demás.

Basándonos en lo anterior, para solucionar tales inconvenientes, fue necesario crear el uso de tecnologías y protocolos que permitieran a un usuario el uso de una única autenticación para diferentes sitios, manteniendo la información segura y disponible, mediante la comprobación de permisos, para los diferentes servicios que la requieran.

Si bien es cierto que hoy día ya hay varios protocolos y estándares que permiten realizar lo mencionado anteriormente, en el presente artículo se definirá y se explicará el protocolo OpenID Connect.

OpenID Connect (OIDC) es un protocolo de autenticación que, básicamente, permite a un usuario seleccionar un servidor externo que valide su identidad ante un sistema determinado. Este protocolo es una evolución directa del protocolo OpenID definido en el año 2005 para ser usado en el sitio Web LiveJournal, pero a causa de los múltiples problemas relacionados a la complejidad, seguridad, privacidad, confianza, usabilidad, aceptación y disponibilidad, cayó en desuso rápidamente.

Con el fin de solucionar los problemas presentados, OpenID Connect fue desarrollado sobre el protocolo Oauth 2.0 (Open Autorización Protocol) de tal manera que corrige los inconvenientes permitiendo una funcionalidad estándar de autenticación, simplificando en gran medida su implementación(OpenID Foundation, 2017).

Al ser basado en Oauth, el funcionamiento de OIDC es bastante similar, ya que hace uso de tres actores: el usuario final, el cliente confiable (hace referencia a la aplicación, servicio o plataforma Web), y un proveedor de identidad (en Oauth servidor de autenticación).

openid
Figura 1. OpenID Connect: Funcionamiento

Para comenzar, el usuario final solicita un servicio o acceso a los recursos de una aplicación o página Web (cliente confiable). El cliente responde a la petición mostrándole al usuario una lista de todos los proveedores de identidad a los cuales está el cliente vinculado.

Cuando el usuario selecciona el servidor deseado, el cliente crea una comunicación directa entre el proveedor y el usuario, de tal manera que el primero solicite los datos de autenticación al segundo, además de la respectiva autorización de acceso y uso por parte del cliente.

Una vez el usuario se ha autenticado ante el servidor y autorizado al cliente, el proveedor de identidad envía la respuesta del usuario al cliente. Después de que se establece esa comunicación, el cliente solicita al proveedor los datos que requiere del usuario. Para terminar, la sesión entre el usuario y el cliente se establece permitiendo al primero hacer uso de la información y recursos del segundo.

Explicado lo anterior y para tener una mejor comprensión del tema, veremos un ejemplo de cómo funciona en un sitio web real:

El sitio wattpad.com es un lugar que permite a sus usuarios publicar historias, cuentos, relatos y poesía de su autoría, y, de igual manera, los usuarios pueden leer las publicaciones creadas por los demás. En fin, para poder participar de dicha comunidad literaria, es necesario crear y validar los datos de acceso mediante Facebook o Google.

En este ejemplo, wattpad asume el papel de cliente confiable, y tanto Facebook como Google, toman el rol de proveedores de identidad.

ingreso
Figura 2. Página de ingreso del sitio

Como se puede apreciar en la imagen, el cliente solicita al usuario que seleccione uno de los proveedores de identidad.

google
Figura 3. Página de logeo de google

Una vez es seleccionado el proveedor (en este caso Google), el cliente lo comunica con el usuario abriendo una nueva ventana en el navegador con el fin de que el último se identifique.

autorizacion
Figura 4. Página de autorización de acceso

Cuando el usuario se autentica, el proveedor de identidad solicita la autorización de acceso a los datos por parte del cliente. En este caso se informa que el cliente desea conocer mi edad y mi idioma.

acceso
Figura 5. El sitio web como tal

Autorizada la aplicación cliente, el usuario ya puede interactuar con la información contenida en el sitio Web, en este caso, las publicaciones de otros usuarios.

En conclusión, OpenID Connect representa un gran esfuerzo en la creación de protocolos que permiten a los usuarios finales el uso de herramientas que, para decirlo en palabras simples, facilitan a una persona acceder a múltiples recursos en Internet sin la necesidad de usar diferentes datos de identificación en cada uno de ellos. Además, gracias al interés de las grandes empresas posicionadas globalmente en Internet, como Google y los monstruos de las redes sociales como Facebook y Twitter, de convertirse en los servidores de identidad preferidos por las personas, permiten a estas poder elegir entre diferentes proveedores teniendo incluso la posibilidad de designar uno diferente para cada tipo de información y servicio manejado, ganando así mayor flexibilidad y seguridad en la administración de sus datos.

Por último, me atrevo a afirmar que el futuro de OpenID Connect es enorme debido a que la implementación de este protocolo es masiva y por tanto se logrará brindar a los usuarios finales una mayor y mejor experiencia en el uso de Internet en cuanto al acceso a la información y protección de la misma.


Foto del autor

Jhony Arbey Villa Peña

Ingeniero en Sistemas.

Apasionado por las redes la música y la seguridad.


Relacionado





Haz un comentario

Estado de los servicios - Términos de Uso