Utilizza le funzionalità descritte in questa sezione per rendere i dispositivi Android che sviluppi il più sicuri possibile.
Sandbox dell'app
La piattaforma Android sfrutta la protezione basata sull'utente Linux per identificare e isolare le risorse dell'app. Per fare ciò, Android assegna un ID utente univoco (UID) a ciascuna app Android e la esegue nel proprio processo. Android usa questo UID per configurare un'app sandbox a livello di kernel.
Firma dell'app
La firma dell'app consente agli sviluppatori di identificare l'autore dell'app e di aggiornare la propria app senza creare interfacce e autorizzazioni complicate. Ogni app che gira sulla piattaforma Android deve essere firmata dallo sviluppatore.
Autenticazione
Android utilizza il concetto di chiavi crittografiche dipendenti dall'autenticazione dell'utente che richiedono l'archiviazione della chiave crittografica, il provider di servizi e gli autenticatori utente.
Sui dispositivi con un sensore di impronte digitali, gli utenti possono registrare una o più impronte digitali e utilizzarle per sbloccare il dispositivo ed eseguire altre attività. Il sottosistema Gatekeeper esegue l'autenticazione del modello del dispositivo/password in un TEE (Trusted Execution Environment).
Android 9 e versioni successive includono la conferma protetta, che offre agli utenti un modo per confermare formalmente le transazioni critiche, come i pagamenti.
Biometrica
Android 9 e versioni successive includono un'API BiometricPrompt che gli sviluppatori di app possono utilizzare per integrare l'autenticazione biometrica nelle loro app in modo indipendente dal dispositivo e dalla modalità. Solo una forte biometria può integrarsi con BiometricPrompt
.
Crittografia
Una volta crittografato un dispositivo, tutti i dati creati dall'utente vengono crittografati automaticamente prima di eseguirne il commit su disco e tutte le letture decrittografano automaticamente i dati prima di restituirli al processo di chiamata. La crittografia garantisce che, anche se una parte non autorizzata tenta di accedere ai dati, non sarà in grado di leggerli.
Keystore
Android offre un Keystore supportato da hardware che fornisce generazione di chiavi, importazione ed esportazione di chiavi asimmetriche, importazione di chiavi simmetriche grezze, crittografia e decrittografia asimmetriche con modalità di riempimento appropriate e altro ancora.
Linux con sicurezza avanzata
Come parte del modello di sicurezza Android, Android utilizza Security-Enhanced Linux (SELinux) per imporre il controllo dell'accesso obbligatorio (MAC) su tutti i processi, anche i processi in esecuzione con privilegi di root/superutente (funzionalità Linux).
Trusted Trusted Execution Environment (TEE)
Trusty è un sistema operativo (OS) sicuro che fornisce un Trusted Execution Environment (TEE) per Android. Il sistema operativo Trusty funziona con lo stesso processore del sistema operativo Android, ma Trusty è isolato dal resto del sistema sia dall'hardware che dal software.
Stivale verificato
Verified Boot si impegna a garantire che tutto il codice eseguito provenga da una fonte attendibile (in genere OEM di dispositivi), piuttosto che da un utente malintenzionato o da un danneggiamento. Stabilisce una catena completa di fiducia, a partire da una radice di fiducia protetta dall'hardware al bootloader, alla partizione di avvio e ad altre partizioni verificate.