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.
- Pro každého přístupy, nejdříve náhodně permutovat Paměť.
- Nejprve zkontrolujte slova úkrytu, pokud chceme získat přístup ke slovu.
- 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ň Já, 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í:
- Vyberte náhodně rovnoměrně d {2, 3}.
- Pokud na úrovni i + 1 zbývá méně než d uzlů, nastavte d rovný počtu zbývajících uzlů.
- 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 VYMAZAT
my 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
- ^ 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