Los teléfonos móviles y las tablets se han convertido en nuestros compañeros de vida y han pasado a tener un papel más que relevante en nuestro día a día. Nos recuerdan reuniones o cumpleaños, realizan compras automáticas que tengamos programadas, almacenan nuestros recuerdos y nos sirven como medio de comunicación con el mundo que nos rodea. Confiamos plenamente en nuestros dispositivos y dejamos en sus entrañas nuestra información más valiosa.
El equipo de desarrollo de Android sabe a ciencia cierta que mantener esa confianza con los usuarios es primordial y por ello se centran en mejorar los sistemas de seguridad de los que dispone este sistema operativo.
Autenticación por niveles
Antes de nada vamos a establecer un contexto que nos ayude a comprender cómo están relacionadas las mejoras entre sí. Android basa su seguridad tres modalidades distintas que cuentan con diferentes restricciones.
El nivel primario se compone de factores basados en el conocimiento de la persona, por ejemplo un PIN, un patrón o una contraseña. Este tipo de protección es especialmente útil ya que para los siguientes niveles se solicitará la reintroducción de estos valores y otros adicionales. Además cuenta con una capa de seguridad extra respaldada por hardware con retroceso exponencial, para evitar la fuerza bruta, que aumenta el tiempo de espera cada 5 intentos incorrectos.
El nivel secundario se nutre de la biometría del usuario. Este tipo de autenticaciones se basan en huellas dactilares o rostro. La biometría ofrece una forma más conveniente pero potencialmente menos segura de confirmar su identidad con un dispositivo.
El nivel terciario se sustenta mediante tokens y el dispositivo se desbloquea por ejemplo cuando se empareja con un dispositivo bluetooth con certificación segura o podría ser algo inherente al entorno físico alrededor del dispositivo, como los lugares de confianza de Smart Lock, donde se puede desbloquear un teléfono cuando se lo lleva a una ubicación segura.
Mejoras en el nivel terciario
Para evitar que los atacantes puedan desbloquear un dispositivo utilizando la función de Trusted Place se ha modificado la seguridad en el nivel terciario y este nivel ahora ya no puede desbloquear el dispositivo. En cambio, si el dispositivo se desbloquea primero mediante una modalidad primaria o secundaria, puede continuar manteniéndolo en el estado desbloqueado durante un máximo de cuatro horas.
La biometría de android
Las implementaciones biométricas suelen venir acompañadas de una amplia variedad de características de seguridad. Los siguientes dos factores son clave para determinar la implementación de seguridad en particular:
Seguridad en la arquitectura del sistema: Está definida como la resistencia de las comunicaciones biométricas con el kernel o la plataforma. Una comunicación se considera segura si el kernel y la plataforma no otorgan la capacidad de leer datos biométricos sin procesar ni permiten inyectar datos externos en el flujo de comunicación que puedan influir en una decisión de autenticación.
Spoof ability: se mide utilizando la Tasa de aceptación de spoof (SAR). SAR es una métrica que se introdujo por primera vez en Android P y está destinada a medir como de resistente es un entorno biométrico frente a un atacante.
Usando los dos factores anteriores podemos clasificar la seguridad de un entorno biométrtico (en orden decreciente):
- Clase 3 (fuerte)
- Clase 2 (débil)
- Clase 1 (conveniente)
Cada clase viene con un conjunto asociado de restricciones que tienen como objetivo equilibrar su facilidad de uso con el nivel de seguridad que ofrecen. Por ejemplo, un entorno biométrico de Clase 3 disfruta de los tiempos de espera más largos y ofrece todas las opciones de integración para las aplicaciones, mientras que un entorno biométrico de Clase 1 tiene los tiempos de espera más cortos y no tiene opciones para la integración de aplicaciones.
BiometricPrompt – Nuevas API
Para que los desarrolladores se beneficien de la garantía de seguridad proporcionada por la biometría de Android e integren fácilmente la autenticación biométrica en sus aplicaciones para proteger mejor los datos confidenciales de los usuarios, Google presentó las BiometricPromptAPI en Android P.
Estas API permiten a los desarrolladores de aplicaciones utilizar la biometría de una manera independiente en diferentes dispositivos Android (es decir, se puede usar como un único punto de integración para varias modalidades biométricas compatibles con los dispositivos), mientras se controlan las garantías de seguridad, por ejemplo, los requisitos biométricos de Clase 3 o Clase 2.
Como se muestra en el siguiente diagrama, las aplicaciones pueden integrarse con datos biométricos en dispositivos Android a través de androidx.biometric. Una cosa a tener en cuenta es que FingerprintManager ha caído en desuso para obligar a los desarrolladores a migrar a BiometricPrompt.
Mejoras en BiometricPrompt
Android 10 introdujo la clase BiometricManager para que los desarrolladores pudiesen incorporar soluciones biométricas a sus proyectos e incluyó la autenticación facial y mediante huellas para BiometricPrompt.
Android 11 presenta la clase BiometricManager.Authenticators, una interfaz que permite a los desarrolladores especificar los tipos de autenticación aceptados por sus aplicaciones, así como soporte adicional para claves de autenticación por uso dentro de la BiometricPromptclase.
Fuentes:
https://android-developers.googleblog.com/2020/09/lockscreen-and-authentication.html
Comentarios recientes