Usa las funciones que se describen en esta sección para que los dispositivos Android que desarrolles sean lo más seguros posible.
Zona de pruebas para aplicaciones
La plataforma de Android aprovecha la protección basada en el usuario de Linux para identificar y aislar los recursos de la app. Para ello, Android asigna un ID de usuario único (UID) a cada app para Android y la ejecuta en su propio proceso. Android usa este UID para configurar una zona de pruebas de aplicaciones a nivel del kernel.
Firma de apps
La firma de apps permite a los desarrolladores identificar al autor de la app y actualizarla sin crear interfaces ni permisos complicados. El desarrollador debe firmar cada app que se ejecuta en la plataforma de Android.
Autenticación
Android usa el concepto de claves criptográficas controladas por la autenticación del usuario que requiere almacenamiento de claves criptográficas, proveedores de servicios y autenticadores de usuarios.
En los dispositivos con un sensor de huellas dactilares, los usuarios pueden inscribir una o más huellas dactilares y usarlas para desbloquear el dispositivo y realizar otras tareas. El subsistema de Gatekeeper realiza la autenticación de patrón de dispositivo o contraseña en un entorno de ejecución confiable (TEE).
Android 9 y las versiones posteriores incluyen la Confirmación de protección, que les brinda a los usuarios una forma de confirmar formalmente transacciones importantes, como los pagos.
Datos biométricos
Android 9 y las versiones posteriores incluyen una API de BiometricPrompt que los desarrolladores de apps pueden usar para integrar la autenticación biométrica en sus apps de manera agnóstica en cuanto al dispositivo y la modalidad. Solo los datos biométricos seguros se pueden integrar en BiometricPrompt
.
Encriptación
Una vez que se encripta un dispositivo, todos los datos creados por el usuario se encriptan automáticamente antes de confirmarlos en el disco, y todas las operaciones de lectura desencriptan automáticamente los datos antes de devolverlos al proceso de llamada. La encriptación garantiza que, incluso si una parte no autorizada intenta acceder a los datos, no pueda 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 procesar, encriptación y desencriptación asimétrica con los modos de padding adecuados, y mucho más.
Security-Enhanced Linux
Como parte del modelo de seguridad de Android, Android usa Security-Enhanced Linux (SELinux) para aplicar el control de acceso obligatorio (MAC) en todos los procesos, incluso en los que se ejecutan con privilegios de raíz o superusuario (funciones de Linux).
Entorno de ejecución confiable (TEE) de confianza
Trusty es un sistema operativo (SO) seguro que proporciona un entorno de ejecución confiable (TEE) para Android. Trusty OS se ejecuta en el mismo procesador que el SO Android, pero está aislado del resto del sistema con el hardware y el software.
Inicio verificado
El objetivo del inicio verificado es garantizar que todo el código ejecutado provenga de una fuente de confianza (por lo general, OEM de dispositivos), en lugar de un atacante o una corrupción. Establece una cadena de confianza completa, que comienza con una raíz de confianza protegida por hardware hasta el bootloader, la partición de inicio y otras particiones verificadas.