Funciones de seguridad de Android

Utilice las funciones descritas en esta sección para que los dispositivos Android que desarrolle sean lo más seguros posible.

Zona de pruebas de la aplicación

La plataforma Android aprovecha la protección basada en el usuario de Linux para identificar y aislar los recursos de las aplicaciones. Para hacer esto, Android asigna una ID de usuario única (UID) a cada aplicación de Android y la ejecuta en su propio proceso. Android usa este UID para configurar una zona de pruebas de aplicaciones a nivel de kernel.

firma de aplicaciones

La firma de aplicaciones permite a los desarrolladores identificar al autor de la aplicación y actualizarla sin crear interfaces ni permisos complicados. Cada aplicación que se ejecuta en la plataforma Android debe estar firmada por el desarrollador.

Autenticación

Android utiliza el concepto de claves criptográficas controladas por autenticación de usuario que requiere almacenamiento de claves criptográficas y autenticadores de usuarios y proveedores de servicios.

En dispositivos con sensor de huellas digitales, los usuarios pueden registrar una o más huellas digitales y usarlas para desbloquear el dispositivo y realizar otras tareas. El subsistema Gatekeeper realiza la autenticación de patrón/contraseña del dispositivo en un entorno de ejecución confiable (TEE).

Android 9 y versiones posteriores incluyen Confirmación protegida, que brinda a los usuarios una forma de confirmar formalmente transacciones críticas, como los pagos.

Biometría

Android 9 y versiones posteriores incluyen una API BiometricPrompt que los desarrolladores de aplicaciones pueden utilizar para integrar la autenticación biométrica en sus aplicaciones de forma independiente del dispositivo y la modalidad. Sólo los datos biométricos sólidos pueden integrarse con BiometricPrompt .

Cifrado

Una vez que se cifra un dispositivo, todos los datos creados por el usuario se cifran automáticamente antes de enviarlos al disco y todas las lecturas descifran los datos automáticamente antes de devolverlos al proceso de llamada. El cifrado garantiza que incluso si una parte no autorizada intenta acceder a los datos, no podrá leerlos.

Almacén de claves

Android ofrece un almacén de claves respaldado por hardware que proporciona generación de claves, importación y exportación de claves asimétricas, importación de claves simétricas sin formato, cifrado y descifrado asimétrico con modos de relleno adecuados y más.

Linux con seguridad mejorada

Como parte del modelo de seguridad de Android, Android utiliza Linux con seguridad mejorada (SELinux) para aplicar el control de acceso obligatorio (MAC) a todos los procesos, incluso los procesos que se ejecutan con privilegios de root/superusuario (capacidades de Linux).

Entorno de ejecución confiable (TEE)

Trusty es un sistema operativo (SO) seguro que proporciona un entorno de ejecución confiable (TEE) para Android. El sistema operativo Trusty se ejecuta en el mismo procesador que el sistema operativo Android, pero Trusty está aislado del resto del sistema tanto por hardware como por software.

Arranque verificado

Verified Boot se esfuerza por garantizar que todo el código ejecutado provenga de una fuente confiable (generalmente OEM de dispositivos), en lugar de un atacante o corrupción. Establece una cadena de confianza completa, comenzando desde una raíz de confianza protegida por hardware hasta el gestor de arranque, la partición de arranque y otras particiones verificadas.