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 sugli utenti Linux per identificare e isolare le risorse dell'app. Per fare ciò, Android assegna un ID utente univoco (UID) a ciascuna app Android e lo esegue nel proprio processo. Android utilizza questo UID per configurare una sandbox per app 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 eseguita sulla piattaforma Android deve essere firmata dallo sviluppatore.
Autenticazione
Android utilizza il concetto di chiavi crittografiche controllate dall'autenticazione dell'utente che richiedono l'archiviazione delle chiavi crittografiche, un fornitore di servizi e autenticatori degli utenti.
Sui dispositivi dotati di 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 pattern/password del dispositivo in un Trusted Execution Environment (TEE).
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 dati biometrici avanzati possono integrarsi con BiometricPrompt
.
Crittografia
Una volta crittografato un dispositivo, tutti i dati creati dall'utente vengono automaticamente crittografati prima di salvarli su disco e tutte le letture decrittografano automaticamente i dati prima di restituirli al processo chiamante. La crittografia garantisce che anche se una parte non autorizzata tenta di accedere ai dati, non sarà in grado di leggerli.
Archivio chiavi
Android offre un archivio chiavi supportato da hardware che fornisce generazione di chiavi, importazione ed esportazione di chiavi asimmetriche, importazione di chiavi simmetriche non elaborate, crittografia e decrittografia asimmetrica 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 applicare il controllo di accesso obbligatorio (MAC) su tutti i processi, anche sui processi in esecuzione con privilegi root/superutente (funzionalità Linux).
Affidabile Ambiente di esecuzione affidabile (TEE)
Trusty è un sistema operativo (OS) sicuro che fornisce un Trusted Execution Environment (TEE) per Android. Il sistema operativo Trusty funziona sullo stesso processore del sistema operativo Android, ma Trusty è isolato dal resto del sistema sia dall'hardware che dal software.
Avvio verificato
Verified Boot si impegna a garantire che tutto il codice eseguito provenga da una fonte attendibile (solitamente OEM di dispositivi), anziché da un utente malintenzionato o da un danneggiamento. Stabilisce una catena di fiducia completa, a partire da una radice di fiducia protetta dall'hardware fino al bootloader, alla partizione di avvio e ad altre partizioni verificate.