Android mejora seguridad cookies con credenciales vinculadas

Android refuerza la seguridad de las cookies con credenciales vinculadas al dispositivo

Las sesiones en apps y navegadores ahora pueden atarse al hardware para evitar robos de identidad

El equipo de seguridad de Google implementó un cambio técnico que reduce el riesgo de suplantación de sesiones en Android. Se trata de las Device Bound Session Credentials (DBSC), un sistema que vincula las cookies de autenticación al hardware del dispositivo. Si un atacante roba estas cookies, no podrá usarlas en otro equipo.

El mecanismo ya está activo en Chrome para Windows y macOS. La expansión a Android es inminente, aunque Google no ha confirmado fechas exactas. Lo relevante: las apps nativas también podrán adoptarlo mediante APIs específicas.

Cómo funcionan las credenciales vinculadas al dispositivo

El problema que resuelven las DBSC es antiguo. Cuando inicias sesión en un servicio, el servidor genera una cookie con un token de autenticación. Ese token viaja en cada petición. Si alguien lo intercepta (por malware, phishing o filtraciones), puede suplantar tu identidad desde cualquier dispositivo.

Las DBSC añaden una capa: el token se firma criptográficamente con una clave privada almacenada en el módulo de seguridad del hardware (como el Titanium de los Pixel o el TEE en otros Android). Cada petición incluye:

  • El token de sesión tradicional.
  • Una firma digital generada por el hardware.
  • Un certificado que valida el origen del dispositivo.

El servidor verifica que la firma coincida con el certificado registrado. Si un atacante roba el token pero no tiene acceso al hardware original, la petición será rechazada.

Método tradicional Con DBSC
Token de sesión en texto plano Token + firma hardware + certificado
Vulnerable a replay attacks Rechaza peticiones desde otros dispositivos
Depende solo del servidor Verificación distribuida (servidor + hardware)

Impacto en apps y navegadores de Android

Para los usuarios, el cambio es transparente. No requiere acción manual. Pero los desarrolladores deben adaptar sus sistemas:

  • Apps nativas: Usarán la API DeviceBoundCredentialProvider (parte de Android Keystore). Ejemplo: apps bancarias podrían implementarlo para transacciones sensibles.
  • WebViews y PWA: Heredan la protección si el navegador base (como Chrome) soporta DBSC.
  • Servidores backend: Necesitan validar las firmas y certificados. Google ofrece librerías para simplificar la integración.

Un detalle crítico: las DBSC no reemplazan la autenticación multifactor (MFA). Son complementarias. Mientras el MFA verifica quién eres (biometría, SMS), las DBSC aseguran desde dónde se hace la petición.

Limitaciones y casos donde no aplican

El sistema tiene restricciones:

  1. Dispositivos sin módulo de seguridad: Android Go o equipos muy antiguos podrían quedarse fuera. Google no ha confirmado compatibilidad mínima.
  2. Sincronización entre dispositivos: Si inicias sesión en un móvil y luego abres la misma app en una tablet, la tablet generará sus propias credenciales. No hay «sesión compartida» como con las cookies tradicionales.
  3. Recuperación de cuentas: Si pierdes el dispositivo, deberás autenticarte por otros medios (como códigos de respaldo) para revocar las credenciales vinculadas.

Tampoco protegen contra:

  • Ataques de man-in-the-middle en la red (requieren HTTPS).
  • Malware con permisos de root que extraiga las claves del hardware.
  • Phishing que engañe al usuario para que apruebe transacciones.

¿Cómo probarlo en Android?

Google aún no ha lanzado una versión estable para Android, pero los desarrolladores pueden prepararse:

  1. Habilitar la flag experimental en Chrome:
    • Abre chrome://flags.
    • Busca «Device Bound Session Credentials».
    • Actívala y reinicia.
  2. Usar el emulador de Android con imágenes que incluyan Play Services actualizados.
  3. Probar con servicios de Google (como Accounts) que ya soportan DBSC en otros sistemas.

Para apps propias, el primer paso es revisar la documentación oficial y el repositorio en GitHub con ejemplos de código.

Alternativas existentes y por qué DBSC es diferente

Android ya tenía mecanismos similares, pero con alcances limitados:

Tecnología Ámbito Dependencia
SafetyNet Attestation Verificación de integridad del dispositivo Servidores de Google
Android Keystore Almacenamiento de claves criptográficas Hardware del dispositivo
DBSC Protección de sesiones en tiempo real Hardware + servidor del servicio

La diferencia clave es el enfoque en sesiones activas. SafetyNet valida el dispositivo una vez; Keystore protege datos en reposo. Las DBSC actúan en cada petición, como un sello criptográfico dinámico.

Próximos pasos: adopción masiva y desafíos

El éxito depende de tres factores:

  1. Soporte de fabricantes: Samsung, OnePlus y otros deben garantizar que sus capas de seguridad (como Knox) sean compatibles.
  2. Actualización de servidores: Empresas con apps propias (bancos, redes sociales) necesitan modificar sus backends.
  3. Educación a usuarios: Evitar confusiones cuando el sistema pida reautenticación al cambiar de dispositivo.

Google ya trabaja con partners para integrar DBSC en servicios críticos. El primer objetivo son las apps financieras y de salud, donde el riesgo de fraude es mayor.

Para usuarios técnicos, el cambio es una mejora silenciosa pero significativa. Para el resto, la experiencia no cambiará. Hasta que un ataque falle donde antes habría funcionado.