Me he pillado un Nexus 6P con un lector de huellas de lujo. Hasta ahora estoy un poco reacio a usarlo porque no puedo encontrar ninguna información sobre cómo Android Marshmallow almacena las huellas dactilares. ¿Son hash (como SHA2 o lo que sea), o se almacenan en claro? ¿Los datos de las huellas dactilares se guardan en el dispositivo o se envían a la nube?
Respuestas
¿Demasiados anuncios?Parece que la respuesta está en Requisitos de compatibilidad de Android 6.0 de Google sección 7.3.10:
- DEBE tener una implementación de almacén de claves respaldada por hardware y realizar la comparación de huellas dactilares en un Entorno de Ejecución de Confianza (TEE) o en un chip con un canal seguro al TEE.
- DEBEN tener todos los datos de huellas dactilares identificables cifrados y autenticados criptográficamente de forma que no puedan ser adquiridos, leídos o alterados fuera del Entorno de Ejecución de Confianza (TEE), tal y como se documenta en las directrices de implementación del sitio del Proyecto de Código Abierto Android [Resources, 96].
- DEBE impedir que se añada una huella dactilar sin establecer primero una cadena de confianza haciendo que el usuario confirme la credencial existente o añada una nueva credencial de dispositivo (PIN/patrón/contraseña) utilizando el TEE tal y como se implementa en el proyecto Android Open Source.
- NO DEBE permitir que las aplicaciones de terceros distingan entre huellas dactilares individuales.
Por lo que tengo entendido, las huellas dactilares no se guardan en la nube. Si así fuera, estoy seguro de que alguien se habría dado cuenta y habría escrito un artículo sobre ello, calificándolo de enorme riesgo para la seguridad, ya que si los piratas informáticos consiguen tus datos personales, también tendrán tu huella dactilar. No estoy seguro del método de seguridad, pero dudo que se dejara sin encriptar, lo que supondría un riesgo para la seguridad. Sin embargo, aunque se dejara sin encriptar, sería muy difícil acceder a ella (aunque probablemente no imposible).