GORAM: Graph-oriented ORAM for Efficient Ego-centric Queries on Federated Graphs
Xiaoyu Fan, Kun Chen, Jiping Yu, Xiaowei Zhu, Yunyi Chen, Huanchen Zhang, Wei Xu
TL;DR
GORAM addresses the challenge of privacy-preserving ego-centric queries over federated graphs by combining secure multi-party computation with a graph-oriented, 2D-partitioned ORAM indexing scheme. It partitions the graph into a matrix of edge lists and builds two partitioned ORAMs (VORAM and EORAM) to enable sublinear, secure access, while employing a constant-round ShuffleMem optimization to accelerate index setup. The paper contributes a concrete GORAM design, optimization techniques, and a prototype querying engine, demonstrating practical performance on real-world graphs up to 41.6 million vertices and 1.4 billion edges with favorable speedups over baseline approaches. This work enables scalable, privacy-preserving graph analytics across multiple providers, with potential impact on security-conscious federated data collaborations and large-scale graph analysis.
Abstract
Ego-centric queries, focusing on a target vertex and its direct neighbors, are essential for various applications. Enabling such queries on graphs owned by mutually distrustful data providers, without breaching privacy, holds promise for more comprehensive results. In this paper, we propose GORAM, a graph-oriented data structure that enables efficient ego-centric queries on federated graphs with strong privacy guarantees. GORAM is built upon secure multi-party computation (MPC) and ensures that no single party can learn any sensitive information about the graph data or the querying keys during the process. However, achieving practical performance with privacy guaranteed presents a challenge. To overcome this, GORAM is designed to partition the federated graph and construct an Oblivious RAM(ORAM)-inspired index atop these partitions. This design enables each ego-centric query to process only a single partition, which can be accessed fast and securely. To evaluate the performance of GORAM, we developed a prototype querying engine on a real-world MPC framework. We conduct a comprehensive evaluation with five commonly used queries on both synthetic and real-world graphs. Our evaluation shows that all benchmark queries can be completed in just 58.1 milliseconds to 35.7 seconds, even on graphs with up to 41.6 million vertices and 1.4 billion edges. To the best of our knowledge, this represents the first instance of processing billion-scale graphs with practical performance on MPC.
