Cryptology Academy · Lezione

ORAM nello storage cloud e nei processori sicuri

Scopra le applicazioni di ORAM negli ambienti di esecuzione affidabili (SGX, TrustZone) e nei database cloud cifrati.

Lezione 4 di 413 passaggi

ORAM nello storage cloud e nei processori sicuri è una lezione Cryptology Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cryptology Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cryptology Academy include 4 lezioni in totale.

Intel SGX e fuga dei pattern di accesso

Intel SGX (Software Guard Extensions) fornisce enclave isolate a livello hardware, in cui codice e dati sono cifrati e autenticati. Tuttavia, il sistema operativo può comunque osservare quali pagine di memoria vengono consultate dall'enclave monitorando le voci della tabella delle pagine. Questo pattern di accesso a livello di pagina può essere sfruttato negli attacchi side-channel. Un attacco classico è il "controlled channel attack" di Xu, Cui e Peinado (2015), che ha ricostruito chiavi RSA dai pattern di accesso alla memoria di SGX.

Side-channel basati sui tempi della cache in SGX

Oltre ai pattern di accesso a livello di pagina, SGX è vulnerabile ai side-channel basati sui tempi della cache. Un attaccante che condivide il processore può osservare gli hit e i miss della cache causati dall'enclave, deducendo pattern di accesso a grana fine (a livello di linea di cache). Questi attacchi sono possibili perché la cache della CPU è condivisa tra l'enclave e il codice non attendibile. Le contromisure includono la programmazione a tempo costante e ORAM per randomizzare i pattern di accesso alla memoria.

ZeroTrace: ORAM all'interno di SGX

ZeroTrace (Sasy, Jha, Kerschbaum, 2018) implementa Path ORAM all'interno di un'enclave Intel SGX per fornire accessi oblivious alla memoria. Il sistema operativo host non attendibile fornisce il server ORAM (l'albero binario dei bucket), mentre l'enclave SGX funge da client ORAM. ZeroTrace aggiunge un'ottimizzazione specifica per SGX: la mappa delle posizioni viene mantenuta all'interno dell'enclave (memoria trusted), eliminando la necessità di un ORAM ricorsivo per la mappa delle posizioni.

Integrazione di ORAM in Graphene-SGX e SCONE

Graphene-SGX (ora Gramine) e SCONE sono framework per container SGX che consentono di eseguire applicazioni Linux non modificate all'interno di enclave. Entrambi i framework sono stati estesi con il supporto per ORAM, così da nascondere i pattern di accesso al sistema operativo. L'integrazione di ORAM con SCONE consente l'esecuzione oblivious di programmi Python, Go e Java in SGX senza modifiche al codice, rendendo ORAM accessibile alle applicazioni senza un'integrazione manuale.

Shroud: strutture dati oblivious per SGX

Shroud (Volos, Jaleel, Emer, Burtscher, Forlin, 2018) implementa versioni oblivious delle strutture dati fondamentali (array, stack, code e mappe) da utilizzare all'interno delle enclave SGX. Shroud combina ORAM e algoritmi indipendenti dai dati per garantire che i pattern di accesso alla memoria dell'enclave non dipendano dai valori dei dati. È più efficiente dell'applicazione di ORAM all'intera memoria dell'applicazione, perché prende di mira solo le strutture dati sensibili.

AWS Nitro Enclaves e riservatezza della memoria

AWS Nitro Enclaves fornisce ambienti di calcolo isolati per l'elaborazione di dati altamente sensibili (numeri di carte di pagamento, cartelle cliniche). A differenza di SGX, Nitro Enclaves isola a livello di macchina virtuale anziché a livello di processo. AWS non fornisce ORAM per impostazione predefinita in Nitro Enclaves, ma le garanzie di riservatezza coprono il contenuto della memoria. Per la privacy dei pattern di accesso, le applicazioni eseguite in Nitro Enclaves devono implementare autonomamente ORAM, se necessario.

Applicazioni di ORAM in ARM TrustZone

ARM TrustZone fornisce un ambiente di esecuzione affidabile (Secure World) isolato dal sistema operativo normale. Come SGX, TrustZone non nasconde intrinsecamente i pattern di accesso alla memoria. Sistemi di ricerca come TrustORAM (Brasser, Dmitrienko, Sadeghi, Crane, Larsen, Franz) implementano ORAM all'interno di TrustZone per proteggere l'accesso ai dati sensibili nei dispositivi mobili e nell'IoT. TrustZone è presente in tutti i moderni processori ARM, rendendo ampiamente distribuibile TrustZone con supporto per ORAM.

ObliDB e Opaque: database oblivious

ObliDB (Eskandarian e Boneh, 2017) è un database oblivious che nasconde i pattern di accesso per le query SQL standard. Utilizza ORAM per le query puntuali e l'ordinamento oblivious per le query su intervalli. Opaque (Zheng, Dave, Beekman, Popa, Hellerstein, Stoica, 2017) esegue query SQL in modo oblivious su Apache Spark utilizzando Intel SGX e ORAM. Opaque dimostra che l'analisi dei dati su scala di produzione (milioni di record) è realizzabile con il sovraccarico di ORAM.

Recupero privato delle informazioni

Il Private Information Retrieval (PIR) è una primitiva correlata per nascondere i pattern di accesso in sola lettura. PIR consente a un client di recuperare un elemento di un database senza che il server sappia quale elemento è stato recuperato. Il PIR computazionale (cPIR) raggiunge questo obiettivo con un sovraccarico di archiviazione lato server pari a O(1) e una comunicazione pari a O(sqrt(n)) o O(polylog n). PIR è più efficiente di ORAM per i carichi di lavoro in sola lettura, ma non può supportare scritture oblivious.

Compromessi tra ORAM e PIR

Per gli accessi in sola lettura, PIR è più efficiente di ORAM in termini di comunicazione: il cPIR a server singolo richiede una comunicazione O(n^epsilon), mentre ORAM richiede O(log n) blocchi per accesso. Tuttavia, PIR richiede calcolo lato server (lineare rispetto alle dimensioni del database per il PIR a server singolo), mentre ORAM affida tutto il calcolo al client. Il PIR multi-server (sicuro dal punto di vista informativo con 2 server non colludenti) è molto efficiente e adatto alle implementazioni CDN.

Direzioni future per ORAM

Le direzioni di ricerca in ORAM includono: ridurre il sovraccarico di comunicazione verso il limite inferiore teorico O(log n) (OptORAMa lo raggiunge asintoticamente), ORAM per la RAM quantistica (QRAM), ORAM a privacy differenziale (che nasconde se lo stesso blocco viene consultato due volte) e ORAM nella cifratura omomorfica (FHE-ORAM per il calcolo esternalizzato). L'integrazione di ORAM con ambienti di esecuzione trusted basati su hardware rimane la direzione di ricerca con il maggiore impatto pratico.

Quiz sui pattern di accesso in SGX

Perché Intel SGX da solo non riesce a proteggere completamente dalla fuga dei pattern di accesso?

Riepilogo di ORAM nell'archiviazione cloud e nei processori sicuri

Intel SGX espone i pattern di accesso a livello di pagina e di cache, consentendo attacchi controlled-channel e cache-timing. ZeroTrace implementa Path ORAM all'interno di SGX per eliminare queste fughe. Graphene-SGX e SCONE forniscono l'integrazione di ORAM a livello di container. ObliDB e Opaque dimostrano SQL oblivious su ORAM su scala di produzione. PIR è un'alternativa efficiente per gli accessi in sola lettura. La ricerca su ORAM prosegue verso il limite inferiore di comunicazione log n e l'integrazione con la cifratura omomorfica.

Gratis per iniziare

Impara Cryptology Academy con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
67
Lezioni
261

Domande Frequenti

La lezione «ORAM nello storage cloud e nei processori sicuri» è gratuita?

Sì — il testo completo di «ORAM nello storage cloud e nei processori sicuri» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cryptology Academy, passa a CoddyKit PRO. Il corso Cryptology Academy include 4 lezioni in totale.

Cosa imparerò in «ORAM nello storage cloud e nei processori sicuri»?

Scopra le applicazioni di ORAM negli ambienti di esecuzione affidabili (SGX, TrustZone) e nei database cloud cifrati. Eserciti Cryptology Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Cryptology Academy?

Non è richiesta alcuna esperienza precedente. Cryptology Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «ORAM nello storage cloud e nei processori sicuri»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Cryptology Academy?

Sì. Ogni lezione Cryptology Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. La minaccia della fuga dai pattern di accesso
  2. Path ORAM: nascondere gli accessi alla memoria
  3. Circuit ORAM e prestazioni pratiche
  4. ORAM nello storage cloud e nei processori sicuri
← Torna a Cryptology Academy