La atestación hardware de Android permite a una aplicación demostrar a su servidor backend que una clave criptográfica reside en hardware seguro dentro de un dispositivo bloqueado y verificado. Para un analista de seguridad que trabaja con un teléfono rooteado, ese mismo mecanismo se convierte en un muro: la raíz de confianza está rota, el hardware firma una declaración honesta sobre ello y el servidor rechaza la conexión. Nada falla; el sistema funciona exactamente como fue diseñado, y por eso bloquea el análisis.
Este artículo desglosa la atestación hardware de Android de extremo a extremo y propone una forma de esquivarla sin tocar el hardware seguro. Explica la cadena de certificados, la extensión de atestación, los campos ASN.1 que inspecciona un backend y los niveles SecurityLevel (Software, TrustedEnvironment y StrongBox). Repasa también la evolución desde Keymaster 2 en Android 7.0 hasta KeyMint en Android 12, y la llegada de Remote Key Provisioning (RKP), que pasó de claves inyectadas en fábrica a claves de corta duración emitidas por un backend de Google; RKP se consolida como única vía en Android 16.
La técnica de bypass descrita se apoya en instrumentación con Frida: el analista, ya dentro del proceso gracias al root, redirige la solicitud de atestación hacia otro teléfono limpio y sin modificar. Este responde con su hardware sano y la declaración firmada se reenvía al backend, de modo que el dispositivo rooteado queda desbloqueado para el análisis. No se ataca el hardware, no se extraen claves ni se necesita ningún keybox filtrado.
El artículo es reproducible: un repositorio asociado en GitHub (quarkslab/android-hardware-attestation-demo) incluye el backend de validación, las apps de demostración y los scripts de instrumentación empleados en el relevo, de modo que cualquier lector puede ejecutar y revisar el montaje. Está centrado en dispositivos modernos con Android 13 o posterior, y menciona StrongBox solo cuando altera el escenario.
