We study the problem of composing and optimizing relational query plans under secure multi-party computation (MPC). MPC enables mutually distrusting parties to jointly compute arbitrary functions over private data, while preserving data privacy from each other and from external entities. In this paper, we propose a relational MPC framework based on replicated secret sharing. We define a set of oblivious operators, explain the secure primitives they rely on, and provide an analysis of their costs in terms of operations and inter-party communication. We show how these operators can be composed to form end-to-end oblivious queries, and we introduce logical and physical optimizations that dramatically reduce the space and communication requirements during query execution, in some cases from quadratic to linear with respect to the cardinality of the input. We provide an efficient implementation of our framework, called Secrecy, and evaluate it using real queries from several MPC application areas. Our results demonstrate that the optimizations we propose can result in up to 1000x lower execution times compared to baseline approaches, enabling Secrecy to outperform state-of-the-art frameworks and compute MPC queries on millions of input rows with a single thread per party.
翻译:我们研究了在安全的多方计算(MPC)下制定和优化关系查询计划的问题。MPC使互不信任的各方能够共同计算对私人数据的任意功能,同时保护相互之间和外部实体的数据隐私。在本文件中,我们提议了一个基于复制秘密共享的关联MPC框架。我们定义了一组隐蔽的操作员,解释了他们赖以生存的安全原始物,并分析了他们的业务和党派间通信成本。我们展示了这些操作员如何组成成终端到终端的模糊查询,我们引入了逻辑和物理优化,在查询执行期间大大降低了空间和通信要求,在某些情况下,从四面形到线,从输入的基点。我们提供了高效执行我们的框架,称为安全性,并利用来自MPC几个应用领域的真实查询对框架进行评估。我们的结果表明,我们提议的优化可以导致与基线方法相比,执行时间降至1,000x次,使Secrecy 能够在查询过程中大大降低空间和通信要求,在查询过程中大大降低了空间和通信要求,在某些情况下,从四面到线,从输入的基点到线上。我们提供了高效执行框架,并使用数百万个输入行的单列。