Cryptology Academy · Lektion

ORAM i cloud storage og sikre processorer

Udforsk ORAM-anvendelser i trusted execution environments (SGX, TrustZone) og krypterede cloud-databaser.

Lektion 4 af 413 trin

ORAM i cloud storage og sikre processorer er en gratis Cryptology Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Cryptology Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Cryptology Academy-kurset indeholder 4 lektioner i alt.

Intel SGX og lækage af adgangsmønstre

Intel SGX (Software Guard Extensions) leverer hardwareisolerede enklaver, hvor kode og data er krypteret og godkendt. Operativsystemet kan dog stadig observere, hvilke hukommelsessider enklaven tilgår, ved at overvåge poster i sidetabellen. Dette adgangsmønster på sideniveau kan udnyttes i sidekanalangreb. Et klassisk angreb er angrebet via en kontrolleret kanal af Xu, Cui og Peinado (2015), som genskabte RSA-nøgler ud fra SGX's hukommelsesadgangsmønstre.

Cache-timing-sidekanaler i SGX

Ud over adgangsmønstre på sideniveau er SGX sårbar over for sidekanaler baseret på cache-timing. En angriber, der deler processoren, kan observere cache-hits og cache-misses forårsaget af enklaven og udlede adgangsmønstre med fin opløsning (på cachelinjeniveau). Disse angreb er mulige, fordi CPU-cachen deles mellem enklaven og ikke-betroet kode. Modforanstaltninger omfatter programmering med konstant tid og ORAM til at randomisere hukommelsesadgangsmønstre.

ZeroTrace: ORAM i SGX

ZeroTrace (Sasy, Jha, Kerschbaum, 2018) implementerer Path ORAM i en Intel SGX-enklave for at levere adgang til hukommelsen uden afsløring af adgangsmønstre. Det ikke-betroede værts-OS leverer ORAM-serveren (det binære træ af buckets), mens SGX-enklaven fungerer som ORAM-klient. ZeroTrace tilføjer en SGX-specifik optimering: Positionskortet opbevares i enklaven (betroet hukommelse), så rekursiv ORAM til positionskortet kan undgås.

Integration af Graphene-SGX og SCONE med ORAM

Graphene-SGX (nu Gramine) og SCONE er SGX-containerframeworks, der gør det muligt at køre uændrede Linux-applikationer i enklaver. Begge frameworks er blevet udvidet med ORAM-understøttelse for at skjule adgangsmønstre for OS'et. SCONE med ORAM-integration gør det muligt at udføre Python-, Go- og Java-programmer med skjulte adgangsmønstre i SGX uden ændringer af koden, så applikationer kan bruge ORAM uden manuel integration.

Shroud: Adgangsmønster-skjulende datastrukturer til SGX

Shroud (Volos, Jaleel, Emer, Burtscher, Forlin, 2018) implementerer adgangsmønster-skjulende versioner af grundlæggende datastrukturer (tabeller, stakke, køer og afbildninger) til brug i SGX-enklaver. Shroud kombinerer ORAM med datauafhængige algoritmer for at sikre, at enklavens hukommelsesadgangsmønstre ikke afhænger af dataværdierne. Dette er mere effektivt end at anvende ORAM på hele applikationens hukommelse, fordi metoden kun retter sig mod følsomme datastrukturer.

AWS Nitro Enclaves og fortrolighed af hukommelse

AWS Nitro Enclaves leverer isolerede beregningsmiljøer til behandling af meget følsomme data (betalingskortnumre, sundhedsoplysninger). I modsætning til SGX isolerer Nitro Enclaves på virtuelt maskinniveau i stedet for procesniveau. AWS leverer ikke ORAM som standard i Nitro Enclaves, men fortrolighedsgarantierne omfatter hukommelsesindholdet. For at beskytte adgangsmønstre skal applikationer, der kører i Nitro Enclaves, selv implementere ORAM, hvis det er nødvendigt.

ORAM-anvendelser med ARM TrustZone

ARM TrustZone leverer et betroet eksekveringsmiljø (Secure World), der er isoleret fra det almindelige OS. Ligesom SGX skjuler TrustZone ikke i sig selv hukommelsesadgangsmønstre. Forskningssystemer som TrustORAM (Brasser, Dmitrienko, Sadeghi, Crane, Larsen, Franz) implementerer ORAM i TrustZone for at beskytte adgang til følsomme data på mobile enheder og IoT-enheder. TrustZone findes i alle moderne ARM-processorer, hvilket gør TrustZone med ORAM bredt implementerbar.

ObliDB og Opaque: Adgangsmønster-skjulende databaser

ObliDB (Eskandarian og Boneh, 2017) er en adgangsmønster-skjulende database, der skjuler adgangsmønstre ved standardforespørgsler i SQL. Den bruger ORAM til punktforespørgsler og adgangsmønster-skjulende sortering til intervalforespørgsler. Opaque (Zheng, Dave, Beekman, Popa, Hellerstein, Stoica, 2017) kører SQL-forespørgsler med skjulte adgangsmønstre oven på Apache Spark ved hjælp af Intel SGX og ORAM. Opaque viser, at dataanalyse i produktionsskala (millioner af poster) er mulig med ORAM-ekstraforbrug.

Privat informationssøgning

Privat informationssøgning (PIR) er en beslægtet primitiv til at skjule adgangsmønstre ved skrivebeskyttet adgang. PIR gør det muligt for en klient at hente et databaseelement, uden at serveren får kendskab til, hvilket element der blev hentet. Beregningsmæssig PIR (cPIR) opnår dette med O(1) ekstraforbrug for serverlageret og O(sqrt(n)) eller O(polylog n) kommunikation. PIR er mere effektiv end ORAM til arbejdsbelastninger med skrivebeskyttet adgang, men kan ikke understøtte skrivninger med skjulte adgangsmønstre.

Afvejninger mellem ORAM og PIR

Ved skrivebeskyttet adgang er PIR mere kommunikationseffektiv end ORAM: cPIR med én server kræver O(n^epsilon) kommunikation, mens ORAM kræver O(log n) blokke pr. adgang. PIR kræver dog beregning på serversiden (lineær i databasens størrelse for PIR med én server), mens ORAM placerer al beregning hos klienten. PIR med flere servere (informations-teoretisk sikker med 2 servere, der ikke samarbejder) er meget effektiv og egnet til implementeringer i CDN'er.

Fremtidige retninger for ORAM

Forskningsretninger inden for ORAM omfatter reduktion af kommunikationsomkostningerne mod den teoretiske nedre grænse på O(log n) (OptORAMa opnår dette asymptotisk), ORAM til kvante-RAM (QRAM), differentielt privat ORAM (skjule, om den samme blok tilgås to gange) og ORAM i homomorf kryptering (FHE-ORAM til outsourcet beregning). Integrationen af ORAM med hardwarebaserede betroede eksekveringsmiljøer er fortsat den forskningsretning, der har størst praktisk betydning.

Quiz om SGX-adgangsmønstre

Hvorfor beskytter Intel SGX alene ikke fuldstændigt mod lækage af adgangsmønstre?

Opsamling på ORAM i cloudlagring og sikre processorer

Intel SGX lækker adgangsmønstre på side- og cacheniveau, hvilket muliggør angreb via kontrollerede kanaler og cache-timing-angreb. ZeroTrace implementerer Path ORAM i SGX for at eliminere disse lækager. Graphene-SGX og SCONE leverer ORAM-integration på containerniveau. ObliDB og Opaque viser SQL med skjulte adgangsmønstre over ORAM i produktionsskala. PIR er et effektivt alternativ til skrivebeskyttet adgang. ORAM-forskningen fortsætter mod den log n-kommunikationsmæssige nedre grænse og integration med homomorf kryptering.

Gratis at komme i gang

Lær Cryptology Academy med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
67
Lektioner
261

Ofte stillede spørgsmål

Er lektionen “ORAM i cloud storage og sikre processorer” gratis?

Ja — hele teksten til “ORAM i cloud storage og sikre processorer” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Cryptology Academy-kurset, skal du opgradere til CoddyKit PRO. Cryptology Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “ORAM i cloud storage og sikre processorer”?

Udforsk ORAM-anvendelser i trusted execution environments (SGX, TrustZone) og krypterede cloud-databaser. Du øver dig i Cryptology Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Cryptology Academy?

Der kræves ingen tidligere erfaring. Cryptology Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “ORAM i cloud storage og sikre processorer”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Cryptology Academy-lektion?

Ja. Alle Cryptology Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Truslen fra lækage af adgangsmønstre
  2. Path ORAM: Skjulning af hukommelsesadgang
  3. Circuit ORAM og praktisk ydeevne
  4. ORAM i cloud storage og sikre processorer
← Tilbage til Cryptology Academy