Credenciales federadas

Equilibrio entre seguridad e interacción sin fricción del usuario en su ingreso y registro en apps.

Por Daniel Cruz
2021-12-14

Tradicionalmente, cuando te registrabas en un sitio web, tenías que llenar un formulario que en ocasiones resultaba extenso por la cantidad de datos que te solicitaban: nombre, apellidos, edad, domicilio, dirección de correo electrónico, cuentas de redes sociales, apodo, contraseña, preguntas para restablecer la contraseña, etc. Si se traslada esta petición a la interacción en dispositivos móviles se vuelve bastante engorrosa y los usuarios muchas veces terminan sin registrarse y obviamente, sin utilizar la app.

Una de las razones de la recopilación de datos, además de almacenarlos para un uso de la lógica de negocio, estrechar el contacto, o para uso futuro, es la seguridad, garantizar que los usuarios cuando ingresen a alguna plataforma sean auténticos.

La integración de credenciales federadas es una práctica actual en donde se aprovecha el supuesto de que una gran proporción del público está dada de alta con alguno de los grandes jugadores de tecnología: Google, Microsoft, Apple, Facebook, Twitter, entre otros. De ser así, se usan las credenciales de dicho proveedor para autenticar al usuario y no tener que rellenar un formulario complejo desde el móvil donde se dificulta su ingreso. Con sólo unos taps, el usuario podrá ingresar a la plataforma.

A continuación se muestra un diagrama básico con una app instalada en el dispositivo móvil azul, una plataforma de servidor a donde se conectará la app que contiene un servicio de autorización y otro servicio que resolverá una parte de la lógica de negocio, y finalmente el proveedor de credenciales:

credenciales_federadas.drawio.png

En el flujo verde del diagrama se muestra este proceso de autenticación. Previamente se han integrado los mecanismos de seguridad respectivos del proveedor, como archivos de configuraciones, llaves y APIs tanto en la app como en el servidor de la plataforma. Cabe resaltar que este acuerdo de seguridad se da en los extremos, sólo los proveedores de credenciales pueden validar y autenticar al usuario, los componentes intermedios no pueden descifrar y obtener las contraseñas y otros datos que se ingresan desde la página de ingreso. Estos mecanismos también están diseñados para evitar la suplantación, lo que en el contexto de la seguridad informática se conoce como un ataque man-in-the-middle.

En la ventana de ingreso de la app se selecciona un proveedor. El usuario se autenticará de acuerdo a las reglas del proveedor, es posible que le solicite su contraseña y un segundo factor, como el ingreso de un código en un esquema de reto por SMS.

Si las credenciales son correctas, el servicio de autorización podría incluso acceder a datos que el proveedor considera públicos como el nombre y la dirección de correo (depende del proveedor y sus políticas de privacidad) que pueden ser útiles para completar algunos datos en automático y que serán almacenados en la plataforma sin tener que solicitarlos de nueva cuenta al proveedor. A su vez, el servicio de autorización genera un token de acceso para que la app lo resguarde y lo utilice en peticiones de lógica de negocio posteriores hacia la plataforma.

Cuando la app requiere de la interacción de la lógica de negocio hacia la plataforma, estará enviando el token de acceso, el servicio de autorización lo valida y accede rutea hacia el servicio de la lógica de negocio.

Los tokens tienen caducidad, aquí depende del diseño de la app si lo refrescará automáticamente para conservar el ingreso o si solicitará uno nuevo para generar un nuevo token.

También depende del diseño del nivel de seguridad de la app si además de las credenciales federadas se considera integrar más factores de autenticación del usuario como pueden ser verificación biométrica o retos independientes a los del proveedor de credenciales.

Adicionalmente, las credenciales federadas pueden también integrarse en sitios web para tener una interacción homogénea de los usuarios como con la parte móvil.

En Lychee Creatividad e Innovación te podemos orientar sobre cuál es el mejor esquema de ingreso, registro y validación de usuarios para tu proyecto con credenciales federadas.