Oblivious RAM with Logarithmic Memory Levels for Access Pattern Concealment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current distributed storage systems face challenges in ensuring data privacy and concealing access patterns, as encryption alone may not suffice, and providing plaintext access is often required for cloud storage services, which can deter sensitive sectors due to concerns about data access patterns revealing sensitive information.
Innovation Solution
The implementation of an oblivious random access memory (ORAM) system that uses a logarithmic number of memory levels and an oblivious hash table to conceal access patterns by executing queries, retrieving values, and performing a multi-array shuffle routine to generate an output array containing un-queried key-value pairs, thereby hiding data access patterns from the distributed system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If encryption is used to protect data in distributed storage systems, then data privacy is improved, but access patterns can still reveal sensitive information about the data
Solution Approach 1:
The patent introduces an intermediary mechanism (the oblivious RAM system with multiple memory levels and shuffle operations) between the client and the distributed storage system. This intermediary conceals access patterns by performing oblivious queries that retrieve data without revealing which data blocks are accessed, thus protecting access pattern information while maintaining data privacy through encryption
2Adaptability or versatility
If plaintext access is provided to cloud storage services for search functionalities, then search capabilities are improved, but data privacy and security are worsened
Solution Approach 1:
The patent replaces the conventional mechanical approach of plaintext access with a cryptographic mechanism (oblivious RAM with encryption). The system enables search functionalities by performing encrypted queries through multiple memory levels using oblivious hash tables and shuffle operations, allowing data retrieval without exposing plaintext or access patterns to the cloud storage system
3Reliability
If access patterns are concealed using oblivious RAM with multiple memory levels, then data privacy is improved, but system complexity increases
Solution Approach 1:
The patent segments the memory structure into multiple levels (first memory level, second memory level, etc.) with different capacities and access characteristics. Each memory level stores data blocks with specific properties, and the system transitions between levels during oblivious queries. This segmentation enables access pattern concealment by distributing data across levels while maintaining manageable complexity through hierarchical organization
Data Source
AI summary
A method includes executing an instruction to execute a query for a data block, the data block associated with a corresponding memory level of a logarithmic number of memory levels (li) of memory, each memory level (li) including physical memory (RAMi) residing on memory hardware of a distributed system. The method also includes retrieving a value associated with the data block from an oblivious hash table using a corresponding key, and extracting un-queried key value pairs from the oblivious hash table associated with un-queried data blocks after executing a threshold number of queries for data blocks. The method also includes a multi-array shuffle routine on the extracted key value pairs from the oblivious hash table to generate an output array containing the un-queried key value pairs.


