Credenciales de sesión vinculadas al dispositivo (DBSC)

Las credenciales de sesión vinculadas al dispositivo (DBSC) fortalecen la autenticación, ya que agregan seguridad de sesión respaldada por hardware.

Introducción

Muchos sitios web dependen de cookies de larga duración para la autenticación de usuarios, pero estas son susceptibles al secuestro de sesiones. Las credenciales de sesión vinculadas al dispositivo (DBSC) agregan una capa de seguridad respaldada por hardware para mitigar este riesgo, lo que garantiza que las sesiones estén vinculadas a dispositivos específicos.

Esta guía está dirigida a los desarrolladores que mantienen flujos de autenticación en aplicaciones web. En él, se explica cómo funciona el DBSC y cómo integrarlo en tu sitio.

Cómo funciona DBSC

En términos generales, el DBSC introduce un par de claves criptográficas asociadas con el dispositivo del usuario. Chrome genera este par de claves durante el acceso y almacena la clave privada en hardware seguro, como un Módulo de plataforma segura (TPM), cuando está disponible. Las sesiones usan cookies de corta duración. Cuando vence una de estas cookies, Chrome demuestra la posesión de la clave privada antes de actualizarla. Este proceso vincula la continuidad de la sesión al dispositivo original.

Si el dispositivo de un usuario no admite el almacenamiento seguro de claves, la DBSC recurre de forma correcta al comportamiento estándar sin interrumpir el flujo de autenticación.

Descripción general de la implementación

Para integrar DBSC en tu aplicación, debes realizar los siguientes cambios:

  • Modifica tu flujo de acceso para incluir un encabezado Secure-Session-Registration.
  • Agrega un extremo de registro de sesión que haga lo siguiente:
    • Asocia una clave pública con la sesión del usuario.
    • Publica la configuración de la sesión.
    • Se realizan transiciones a cookies de corta duración.
  • Agrega un extremo de actualización para controlar la renovación de cookies y la validación de posesión de claves.

La mayoría de tus endpoints existentes no requieren ningún cambio. El DBSC está diseñado para ser aditivo y no disruptivo.

Cuando falta una cookie de corta duración obligatoria o esta venció, Chrome pausa la solicitud y trata de actualizar la cookie. Esto permite que tu app siga usando sus verificaciones habituales de cookies de sesión para confirmar que el usuario accedió. Dado que coincide con los flujos de autenticación típicos, DBSC funciona con cambios mínimos en tu lógica de acceso.

Pasos de implementación

En esta sección, se explican los cambios necesarios en tu sistema de autenticación, incluido cómo modificar tu flujo de acceso, controlar el registro de sesiones y administrar las actualizaciones de cookies de corta duración. Cada paso está diseñado para integrarse sin problemas en tu infraestructura existente.

Los pasos de implementación siguen el flujo común que experimentaría un usuario que accedió a su cuenta cuando DBSC está activo: registro al acceder, seguido de actualizaciones periódicas de cookies de corta duración. Puedes probar e implementar cada paso de forma independiente, según el nivel de sensibilidad de la sesión de tu app.