DSCRDCDec 4, 2017

Distributed Algorithms Made Secure: A Graph Theoretic Approach

arXiv:1712.01139v517 citations
Originality Highly original
AI Analysis

This addresses privacy concerns in distributed computing for applications where individual inputs or outputs must remain confidential, though it is incremental as it builds on existing distributed algorithms.

The paper tackles the problem of information leakage in distributed graph algorithms by introducing a general compiler that transforms any non-secure distributed algorithm into a secure one, achieving information-theoretic security against a semi-honest adversary controlling a single node, with a runtime of $\widetilde{O}(r \cdot D \cdot poly(\Delta))$ rounds.

In the area of distributed graph algorithms a number of network's entities with local views solve some computational task by exchanging messages with their neighbors. Quite unfortunately, an inherent property of most existing distributed algorithms is that throughout the course of their execution, the nodes get to learn not only their own output but rather learn quite a lot on the inputs or outputs of many other entities. This leakage of information might be a major obstacle in settings where the output (or input) of network's individual is a private information. In this paper, we introduce a new framework for \emph{secure distributed graph algorithms} and provide the first \emph{general compiler} that takes any "natural" non-secure distributed algorithm that runs in $r$ rounds, and turns it into a secure algorithm that runs in $\widetilde{O}(r \cdot D \cdot poly(Δ))$ rounds where $Δ$ is the maximum degree in the graph and $D$ is its diameter. The security of the compiled algorithm is information-theoretic but holds only against a semi-honest adversary that controls a single node in the network. This compiler is made possible due to a new combinatorial structure called \emph{private neighborhood trees}: a collection of $n$ trees $T(u_1),\ldots,T(u_n)$, one for each vertex $u_i \in V(G)$, such that each tree $T(u_i)$ spans the neighbors of $u_i$ {\em without going through $u_i$}. Intuitively, each tree $T(u_i)$ allows all neighbors of $u_i$ to exchange a \emph{secret} that is hidden from $u_i$, which is the basic graph infrastructure of the compiler. In a $(d,c)$-private neighborhood trees each tree $T(u_i)$ has depth at most $d$ and each edge $e \in G$ appears in at most $c$ different trees. We show a construction of private neighborhood trees with $d=\widetilde{O}(Δ\cdot D)$ and $c=\widetilde{O}(D)$.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes