명백하지 않은 RAM이란 무엇이며 어떻게 작동합니까?


9

아무도 모르는 RAM이 무엇인지 설명해 줄 수 있습니까?

나는 다음과 같은 설명 을 통해 분명히 알 수 있지만 기술적 측면을 이해하고 싶습니다.

개인 정보 보호를 보장하기 위해 암호화만으로는 충분하지 않습니다. 공격자가 암호화 된 저장소에 대한 액세스 패턴을 관찰 할 수 있으면 응용 프로그램이 수행하는 작업에 대한 중요한 정보를 여전히 배울 수 있습니다. Oblivious RAM은 메모리가 액세스 될 때 메모리를 지속적으로 섞음으로써이 문제를 해결합니다. 따라서 어떤 데이터가 액세스되고 있는지 또는 이전에 액세스했을 때도 완전히 숨 깁니다.


어떤 종류의 기술적 측면이 있습니까? 칩에서 어떻게 이루어 집니까?
라파엘

클라이언트가 특정 크기의 메모리가 필요하다는 것을 읽었습니다 .r> 1 인 O (n ^ 1 / r)라고 말하면 서버의 메모리 크기는 n입니다. 내 질문은 클라이언트 측에 클라이언트 가이 메모리를 필요로 할 때 발생하는 일입니다.
Merlijn

반드시 트리를 사용하고 데이터 포인트를 아래로 이동하는 ORAM 프로토콜에서는 L1 / L2 / L3 캐싱과 같은 아이디어를 사용하여 더 많은 메모리를 서버로 오프로드하여 클라이언트가 O (1) 메모리 만 보유하면됩니다. 그러나이 확장이 없으면 클라이언트는 인덱스 목록을 저장합니다.
quantumtremor 2012

답변:


10

Oblivious RAM은 프로그램과 실제 RAM 사이의 인터페이스로, 읽기 또는 쓰기를 수행 할 때 실제 RAM에서 동시에 두 가지 모두 수행하여 읽거나 쓰는 경우 숨길 수 있습니다. 또한 실제 RAM에 대한 액세스 만 보는 공격자가 동일한 데이터를 두 번 액세스하거나 두 개의 다른 데이터에 액세스 한 경우 알 수 없도록 메모리를 수시로 섞습니다. 따라서 물리적 RAM에 대한 액세스 패턴을 숨 깁니다.

내가 알고있는 인스턴스화는 사전 정의 된 순서로 요소를 비교하고 결국 스와핑하여 목록의 요소를 정렬하는 방법 인, 명백한 정렬에 의존합니다. 이는 비교 결과에 의존하지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.