Funzionalità di sicurezza Android

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 di 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 utilizza 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 controllate dall'autenticazione dell'utente che richiedono l'archiviazione delle chiavi crittografiche e 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/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 biometria forti possono integrarsi con BiometricPrompt .

Crittografia

Una volta che un dispositivo è crittografato, tutti i dati creati dall'utente vengono crittografati automaticamente prima del commit su disco e tutti i dati vengono decrittografati automaticamente 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.

Archivio chiavi

Android offre un Keystore 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 imporre il controllo di accesso obbligatorio (MAC) su tutti i processi, anche sui processi in esecuzione con privilegi di root/superutente (capacità di 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 Trusty è isolato dal resto del sistema sia dall'hardware che dal software.

Avvio verificato

L'avvio verificato si impegna a garantire che tutto il codice eseguito provenga da una fonte attendibile (di solito OEM di dispositivi), piuttosto che da un utente malintenzionato o danneggiato. Stabilisce una catena di fiducia completa, a partire da una radice di fiducia protetta dall'hardware al bootloader, alla partizione di avvio e ad altre partizioni verificate.