Utilizza le funzionalità descritte in questa sezione per rendere i dispositivi Android che sviluppi il più sicuri possibile.
Sandbox dell'applicazione
La piattaforma Android sfrutta la protezione basata sugli utenti di Linux per identificare e isolare le risorse delle app. Per farlo, Android assegna un ID utente univoco (UID) a ogni app per Android e lo esegue nel proprio processo. Android utilizza questo UID per configurare una sandbox delle applicazioni a livello di kernel.
Firma dell'app
La firma dell'app consente agli sviluppatori di identificare l'autore dell'app e di aggiornarla senza creare interfacce e autorizzazioni complicate. Ogni app che viene eseguita sulla piattaforma Android deve essere firmata dallo sviluppatore.
Autenticazione
Android utilizza il concetto di chiavi di crittografia con autenticazione utente che richiede l'archiviazione delle chiavi di crittografia e gli autenticatori di utenti e fornitori di servizi.
Sui dispositivi con un sensore di impronte digitali, gli utenti possono registrare una o più impronte e utilizzarle per sbloccare il dispositivo ed eseguire altre attività. Il sottosistema Gatekeeper esegue l'autenticazione tramite sequenza o password del dispositivo in un ambiente di esecuzione sicuro (TEE).
Android 9 e versioni successive include Protected Confirmation, che offre agli utenti un modo per confermare formalmente le transazioni critiche, come i pagamenti.
Biometria
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 le soluzioni biometriche efficaci possono essere integrate con
BiometricPrompt
.
Crittografia
Una volta criptato un dispositivo, tutti i dati creati dall'utente vengono criptati automaticamente prima di essere confermati su disco e tutte le letture decriptano automaticamente i dati prima di restituirli al processo di chiamata. La crittografia garantisce che anche se una terza parte non autorizzata tenta di accedere ai dati, non possa leggerli.
Archivio chiavi
Android offre un archivio chiavi basato su hardware che fornisce generazione di chiavi, importazione e esportazione di chiavi asimmetriche, importazione di chiavi simmetriche non elaborate, crittografia asimmetrica e decrittografia con modalità di padding appropriate e altro ancora.
Security-Enhanced Linux
Nell'ambito del modello di sicurezza di Android, Android utilizza Security-Enhanced Linux (SELinux) per applicare il controllo dell'accesso obbligatorio (MAC) a tutti i processi, anche a quelli in esecuzione con privilegi di root o superutente (funzionalità Linux).
Trusty Trusted Execution Environment (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 è isolato dal resto del sistema sia hardware sia software.
Avvio verificato
L'Avvio verificato si impegna a garantire che tutto il codice eseguito provenga da una fonte attendibile (di solito gli OEM del dispositivo), anziché da un malintenzionato o da dati corrotti. Stabilisce una catena di attendibilità completa, a partire da una radice di attendibilità protetta dall'hardware al bootloader, alla partizione di avvio e ad altre partizioni verificate.