Nezapomenutelná datová struktura - Oblivious data structure

v počítačová věda, an zapomenutá datová struktura je datová struktura, která neposkytuje žádné informace o pořadí nebo vzoru operací, které byly použity, s výjimkou konečného výsledku operací.[1]

Ve většině podmínek, i když jsou data šifrována, lze dosáhnout přístupového vzoru a z tohoto vzoru mohou unikat některé důležité informace, jako jsou šifrovací klíče. A při outsourcingu mrak data, tento únik modelu přístupu je stále velmi vážný. Přístupový vzor je specifikace režimu přístupu pro každý atribut schématu relace. Například sekvence uživatelského čtení nebo zápisu dat v cloudu jsou přístupovými vzory.

Říkáme, že pokud stroj zapomíná, je-li sekvence, ve které přistupuje, ekvivalentní pro dva vstupy se stejnou dobou chodu. Vzor přístupu k datům je tedy nezávislý na vstupu.

Aplikace:

  • Cloudová data outsourcing: Při zápisu nebo čtení dat z cloudu serveru, zapomenutelné datové struktury jsou užitečné. A moderní databáze spolehnout se na datovou strukturu, takže zapomenutá datová struktura přijde vhod.
  • Zabezpečený procesor: Zabezpečené procesory odolné proti neoprávněné manipulaci se používají k obraně proti fyzickým útokům nebo proti škodlivým útočníkům přístup k počítačovým platformám uživatelů. Stávající zabezpečené procesory navržené v akademické sféře a průmyslu zahrnují šifrování AEGIS a Intel SGX. Ale adresy paměti jsou stále přenášeny na volném prostoru na paměťové sběrnici. Výzkum tedy zjistil, že tyto paměťové sběrnice mohou poskytovat informace o šifrování klíče. S praktickou datovou strukturou Oblivious může zabezpečený procesor prokazatelně bezpečným způsobem zamaskovat vzor přístupu do paměti.
  • Zabezpečený výpočet: Lidé tradičně k provádění bezpečného výpočtu používali obvodový model, ale model nestačí na zabezpečení, když se objem dat zvětšuje. Jako alternativa k tradičnímu modelu obvodu byl navržen zabezpečený výpočet modelu RAM a k zabránění odcizení chování při přístupu k informacím se používá zapomenutá datová struktura.

Nezapomenutelné datové struktury

Nezapomenutelná RAM

Goldreich a Ostrovsky navrhli tento termín pro ochranu softwaru.

Přístup do paměti zapomínající RAM je pravděpodobnostní a pravděpodobnostní rozdělení je nezávislé na vstupu. V příspěvku, který napsali Goldreich a Ostrovsky, mají větu zapomínající RAM: Let RAM(m) označují RAM s pamětí m a přístupem k náhodnému stroji Oracle. Pak t kroky libovolné RAM(m) program lze simulovat za méně než kroky zapomenutelné . Každá zapomenutá simulace RAM(m) musí přinejmenším přístupy za účelem simulace t kroků.

Nyní máme algoritmus druhé odmocniny, který simuluje práci lhostejného berana.

  1. Pro každého přístupy, nejdříve náhodně permutovat Paměť.
  2. Nejprve zkontrolujte slova úkrytu, pokud chceme získat přístup ke slovu.
  3. Pokud slovo existuje, přejděte na jedno z fiktivních slov. A pokud tam slovo není, najděte permutované umístění.

Pro přístup k původní RAM v t krocích ji musíme simulovat kroky pro zapomenutou RAM. Za každý přístup by cena činila O ().

Dalším způsobem simulace je hierarchický algoritmus. Základní myšlenkou je považovat přístřeší paměť za vyrovnávací paměť a rozšířit ji na více úrovní vyrovnávacích pamětí. Pro úroveň , existují kbelíky a pro každý kbelík má log t položky. Pro každou úroveň existuje náhodně vybraná hashovací funkce.

Operace je následující: Nejprve načtěte program na poslední úroveň, což lze říci má kbelíky. Pro čtení zkontrolujte kbelík z každé úrovně, Pokud (V, X) je již nalezen, náhodně vyberte kbelík pro přístup, a pokud není nalezen, zkontrolujte kbelík , existuje pouze jeden skutečný zápas a zbývající jsou fiktivní položky. Pro psaní dejte (V, X) na první úroveň a pokud jsou první úrovně I plné, přesuňte všechny úrovně I na úrovně a vyprázdněte první I úrovně.

Časové náklady pro každou úroveň stojí O (log t); cena za každý přístup je ; Cena hashování je .

Nezapomenutelný strom

Oblivious Tree je zakořeněný strom s následující vlastností:

  • Všechny listy jsou na stejné úrovni.
  • Všechny vnitřní uzly mají stupeň nanejvýš 3.
  • Pouze uzly podél cesty zcela vpravo ve stromu mohou mít stupeň jeden.

Nezapomenutelný strom je podobná datová struktura 2-3 Strom, ale s další vlastností být zapomínán. Cesta zcela vpravo může mít stupeň jedna, což může pomoci popsat aktualizační algoritmy. Nezapomenutelný strom vyžaduje pro dosažení a doba běhu operací aktualizace. A pro dvě sekvence operací M a N působících na strom má výstup stromu stejné distribuce pravděpodobnosti výstupu. U stromu existují tři operace:

VYTVOŘIT (L)
vybudovat nový strom, který bude uchovávat sled hodnot L na jeho listech.
INSERT (b, i, T)
vložte nový listový uzel s hodnotou b jako ith list stromu T.
Smazat to)
odstranit ith list od T.

Krok vytvoření: Seznam uzlů na ithúroveň se získá procházením seznamu uzlů na úrovni i + 1 zleva doprava a opakováním následujících akcí:

  1. Vyberte náhodně rovnoměrně d {2, 3}.
  2. Pokud na úrovni i + 1 zbývá méně než d uzlů, nastavte d rovný počtu zbývajících uzlů.
  3. Vytvořte nový uzel n na úrovni I s dalšími d uzly na úrovni i + 1 jako děti a vypočítejte velikost n jako součet velikostí jeho podřízených.
    zapomínající strom

Například pokud má hod mincí d {2, 3} výsledek: 2, 3, 2, 2, 2, 2, 3 uloží řetězec „OBLIVION“ jako následující zapomínající strom.

Oba INSERT (b, I, T) a SMAZAT TO) mít O (log n) očekávanou dobu provozu. A pro VLOŽIT a VYMAZATmy máme:

INSERT (b, I, CREATE (L)) = CREATE (L [1] + …… .., L [i], b, L [i + 1] ……… ..) DELETE (I, CREATE (L )) = VYTVOŘIT (L [1] + ……… L [I - 1], L [i + 1], ……… ..)

Například pokud VYTVOŘIT (ABCDEFG) nebo INSERT (C, 2, CREATE (ABDEFG)) je spuštěn, poskytuje stejné pravděpodobnosti, že dojde mezi těmito dvěma operacemi.

Reference

  1. ^ Xiao Wang, Kartik Nayak, Chang Liu, Hubert Chan, Elaine Shi, Emil Stefanov a Yan Huang. Nezapomenutelné datové struktury. Sborník konference ACM SIGSAC z roku 2014 o počítačové a komunikační bezpečnosti
  • Daniele Micciancio. Oblivious Data Structure: Application to Cryptography.
  • Oded Goldreich. Ochrana a simulace softwaru na Oblivious RAM. TR-93-072, listopad 1993.
  • John C. Mitchell a Joe Zimmerman. Datové struktury nepostradatelné. Ústav výpočetní techniky, Stanford University, Stanford, USA.
  • Craig Gentry, Kenny A. Goldman, Shai Halevi, Charanjit S. Jutla, Mariana Raykova a Daniel Wichs. Optimalizace ORAM a jeho efektivní využití pro bezpečný výpočet. V publikacích Emiliano De Cristofaro a Matthew Wright, redaktoři, Privacy Enhancing Technologies, svazek 7981 přednášek z informatiky, strany 1–18. Springer, 2013