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 usuarios de Linux para identificar y aislar los recursos de la aplicación. Para hacer esto, Android asigna una identificación de usuario (UID) única a cada aplicación de Android y la ejecuta en su propio proceso. Android usa este UID para configurar un Sandbox 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 actualizar su aplicación sin crear interfaces y 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 activadas por autenticación de usuario que requiere almacenamiento de claves criptográficas y proveedores de servicios y autenticadores de usuarios.
En dispositivos con sensor de huellas dactilares, los usuarios pueden registrar una o más huellas dactilares y usar esas huellas dactilares 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 de confianza (TEE).
Android 9 y versiones posteriores incluyen Confirmación protegida, que brinda a los usuarios una forma de confirmar formalmente transacciones críticas, como pagos.
Biometría
Android 9 y versiones posteriores incluyen una API BiometricPrompt que los desarrolladores de aplicaciones pueden usar para integrar la autenticación biométrica en sus aplicaciones de manera independiente del dispositivo y la modalidad. Solo la biometría sólida puede 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 automáticamente los datos 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 Keystore 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, cifrado y descifrado asimétrico con modos de relleno apropiados, y más.
Linux con seguridad mejorada
Como parte del modelo de seguridad de Android, Android utiliza Linux con seguridad mejorada (SELinux) para hacer cumplir el control de acceso obligatorio (MAC) en todos los procesos, incluso los procesos que se ejecutan con privilegios de raíz/superusuario (capacidades de Linux).
Entorno de ejecución fiable (TEE)
Trusty es un sistema operativo (SO) seguro que proporciona un entorno de ejecución de confianza (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, desde una raíz de confianza protegida por hardware hasta el gestor de arranque, la partición de arranque y otras particiones verificadas.