Google si impegna a promuovere l'equità razziale per le comunità nere. Vedi come.
This page was translated by the Cloud Translation API.
Switch to English

TEE fidato

Trusty è un sistema operativo sicuro (OS) 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. Trusty e Android corrono paralleli tra loro. Trusty ha accesso a tutta la potenza del processore e della memoria principale di un dispositivo, ma è completamente isolato. L'isolamento di Trusty lo protegge dalle app dannose installate dall'utente e dalle potenziali vulnerabilità che possono essere scoperte su Android.

Trusty è compatibile con i processori ARM e Intel. Sui sistemi ARM, Trusty utilizza Trustzone ™ di ARM per virtualizzare il processore principale e creare un ambiente di esecuzione sicuro e affidabile. Un supporto simile è disponibile anche su piattaforme Intel x86 utilizzando la tecnologia di virtualizzazione di Intel.

Figura 1 Diagramma generale affidabile.

Trusty è costituito da:

  • Un piccolo kernel del sistema operativo derivato da Little Kernel
  • Un driver del kernel Linux per trasferire dati tra l'ambiente sicuro e Android
  • Una libreria di spazio utenti Android per comunicare con applicazioni attendibili (ovvero attività / servizi sicuri) tramite il driver del kernel

Nota: Trusty e l'API Trusty sono soggetti a modifiche. Per informazioni sull'API Trusty, consultare il riferimento API .

Perché fidarsi?

Altri sistemi operativi TEE sono tradizionalmente forniti come BLOB binari da fornitori di terze parti o sviluppati internamente. Lo sviluppo di sistemi TEE interni o la concessione in licenza di un TEE da una terza parte può essere costoso per i produttori e OEM di System-on-Chip (SoC). Il costo monetario combinato con sistemi di terze parti inaffidabili crea un ecosistema instabile per Android. Trusty viene fornito ai suoi partner come alternativa open source affidabile e gratuita per il loro ambiente di esecuzione affidabile. Trusty offre un livello di trasparenza impossibile con i sistemi a sorgente chiuso.

Android supporta varie implementazioni TEE, quindi non sei limitato all'utilizzo di Trusty. Ogni sistema operativo TEE ha il suo modo unico di distribuire applicazioni affidabili. Questa frammentazione può essere un problema per gli sviluppatori di applicazioni affidabili che cercano di assicurarsi che le loro app funzionino su tutti i dispositivi Android. L'uso di Trusty come standard aiuta gli sviluppatori di applicazioni a creare e distribuire facilmente applicazioni senza tenere conto della frammentazione di più sistemi TEE. Trusty TEE offre a sviluppatori e partner trasparenza, collaborazione, ispezione del codice e facilità di debug. Gli sviluppatori di applicazioni affidabili possono convergere attorno a strumenti e API comuni per ridurre il rischio di introdurre vulnerabilità della sicurezza. Questi sviluppatori avranno la certezza di poter sviluppare un'applicazione e di riutilizzarla su più dispositivi senza ulteriore sviluppo.

Applicazioni e servizi

Un'applicazione Trusty è definita come una raccolta di file binari (eseguibili e file di risorse), un manifest binario e una firma crittografica. In fase di esecuzione, le applicazioni Trusty vengono eseguite come processi isolati in modalità senza privilegi con il kernel Trusty. Ogni processo viene eseguito nella propria sandbox di memoria virtuale utilizzando le funzionalità dell'unità di gestione della memoria del processore TEE. La generazione dell'hardware modifica l'esatto processo seguito da Trusty, ma ad esempio il kernel pianifica questi processi utilizzando uno scheduler round-robin basato sulla priorità guidato da un tick di timer sicuro. Tutte le applicazioni Trusty condividono la stessa priorità.

Figura 2 Panoramica attendibile dell'applicazione.

Applicazioni fidate di terze parti

Attualmente tutte le applicazioni Trusty sono sviluppate da una sola parte e impacchettate con l'immagine del kernel Trusty. L'intera immagine è firmata e verificata dal bootloader durante l'avvio. Lo sviluppo di applicazioni di terze parti non è attualmente supportato in Trusty. Sebbene Trusty consenta lo sviluppo di nuove applicazioni, farlo deve essere esercitato con estrema cura; ogni nuova applicazione aumenta l'area della Trusted Computing Base (TCB) del sistema. Le applicazioni affidabili possono accedere ai segreti dei dispositivi e possono eseguire calcoli o trasformazioni di dati utilizzandoli. La capacità di sviluppare nuove applicazioni in esecuzione nel TEE offre molte possibilità di innovazione. Tuttavia, a causa della definizione stessa di un TEE, queste applicazioni non possono essere distribuite senza una qualche forma di fiducia allegata. In genere, ciò si presenta sotto forma di firma digitale da parte di un'entità ritenuta attendibile dall'utente del prodotto su cui viene eseguita l'applicazione.

Usi ed esempi

Gli ambienti di esecuzione affidabili stanno rapidamente diventando uno standard nei dispositivi mobili. Gli utenti fanno sempre più affidamento sui loro dispositivi mobili per la vita di tutti i giorni e la necessità di sicurezza è in costante aumento. I dispositivi mobili con un TEE sono più sicuri dei dispositivi senza un TEE.

Sui dispositivi con un'implementazione TEE, il processore principale viene spesso definito "non attendibile", il che significa che non è in grado di accedere ad alcune aree di RAM, registri hardware e fusibili write-once in cui i dati segreti (come chiavi crittografiche specifiche del dispositivo) sono memorizzato dal produttore. Il software in esecuzione sul processore principale delega tutte le operazioni che richiedono l'uso di dati segreti al processore TEE.

L'esempio più noto di questo nell'ecosistema Android è il framework DRM per contenuti protetti. Il software in esecuzione sul processore TEE può accedere a chiavi specifiche del dispositivo richieste per decrittografare il contenuto protetto. Il processore principale vede solo il contenuto crittografato, offrendo un elevato livello di sicurezza e protezione contro gli attacchi basati su software.

Ci sono molti altri usi per un TEE come pagamenti mobili, operazioni bancarie sicure, autenticazione a più fattori, protezione del ripristino dei dispositivi, archiviazione persistente protetta da replay, elaborazione sicura di PIN e impronte digitali e persino rilevamento di malware.