Co to jest nieświadoma pamięć RAM i jak działa?

9

Czy ktoś mógłby mi wyjaśnić, czym dokładnie jest pamięć RAM?

Znalazłem następujące wyjaśnienie, które wydaje mi się dość jasne, ale chciałbym poznać aspekty techniczne:

Szyfrowanie nie zawsze wystarcza do zapewnienia prywatności. Jeśli przeciwnik może obserwować twoje wzorce dostępu do zaszyfrowanej pamięci, nadal może dowiedzieć się poufnych informacji o tym, co robią twoje aplikacje. Niepomna pamięć RAM rozwiązuje ten problem poprzez ciągłe tasowanie pamięci podczas jej uzyskiwania dostępu; w ten sposób całkowicie ukrywając, do których danych dostęp jest uzyskiwany, a nawet kiedy był wcześniej uzyskiwany.

Merlijn
źródło
Jakie aspekty techniczne? Jak to się robi na chipie?
Raphael
Czytałem, że klient potrzebuje określonego rozmiaru pamięci, powiedzmy O (n ^ 1 / r) przy r> 1, gdzie serwer ma pamięć o rozmiarze n. Moje pytanie brzmi: co dzieje się po stronie klienta, że ​​klient potrzebuje własnej pamięci.
Merlijn
Niekoniecznie, w protokole ORAM, który używa drzewa i przesuwa punkty danych w dół, możesz użyć takiego pomysłu jak buforowanie L1 / L2 / L3, aby odciążyć więcej pamięci na serwerze, tak aby klient musiał tylko przechowywać pamięć O (1). Ale bez tego rozszerzenia klient przechowuje listę indeksów.
quantumtremor

Odpowiedzi:

10

Oblivious RAM to interfejs między programem a fizyczną pamięcią RAM, który podczas odczytu lub zapisu wykonuje jednocześnie operacje na fizycznej pamięci RAM w celu odczytu lub zapisu. Co więcej, od czasu do czasu tasuje pamięć, aby przeciwnik widzący tylko dostęp do fizycznej pamięci RAM nie mógł wiedzieć, czy uzyskałeś dostęp do tych samych danych dwa razy czy dwa różne dane. W ten sposób ukrywa się wzorce dostępu do fizycznej pamięci RAM.

Znane instancje polegają na nieświadomym sortowaniu, które jest sposobem sortowania elementów na liście poprzez porównywanie i ewentualnie zamianę elementów w ustalonej kolejności, która nie zależy od wyników porównania.

Florian Bourse
źródło