Table of Contents
Fetching ...

A Framework for Differential Privacy Against Timing Attacks

Zachary Ratliff, Salil Vadhan

TL;DR

A new notion of timing privacy is defined, which captures programs that remain differentially private to an adversary that observes the program's runtime in addition to the output to ensure differential privacy in the presence of timing side channels.

Abstract

The standard definition of differential privacy (DP) ensures that a mechanism's output distribution on adjacent datasets is indistinguishable. However, real-world implementations of DP can, and often do, reveal information through their runtime distributions, making them susceptible to timing attacks. In this work, we establish a general framework for ensuring differential privacy in the presence of timing side channels. We define a new notion of timing privacy, which captures programs that remain differentially private to an adversary that observes the program's runtime in addition to the output. Our framework enables chaining together component programs that are timing-stable followed by a random delay to obtain DP programs that achieve timing privacy. Importantly, our definitions allow for measuring timing privacy and output privacy using different privacy measures. We illustrate how to instantiate our framework by giving programs for standard DP computations in the RAM and Word RAM models of computation. Furthermore, we show how our framework can be realized in code through a natural extension of the OpenDP Programming Framework.

A Framework for Differential Privacy Against Timing Attacks

TL;DR

A new notion of timing privacy is defined, which captures programs that remain differentially private to an adversary that observes the program's runtime in addition to the output to ensure differential privacy in the presence of timing side channels.

Abstract

The standard definition of differential privacy (DP) ensures that a mechanism's output distribution on adjacent datasets is indistinguishable. However, real-world implementations of DP can, and often do, reveal information through their runtime distributions, making them susceptible to timing attacks. In this work, we establish a general framework for ensuring differential privacy in the presence of timing side channels. We define a new notion of timing privacy, which captures programs that remain differentially private to an adversary that observes the program's runtime in addition to the output. Our framework enables chaining together component programs that are timing-stable followed by a random delay to obtain DP programs that achieve timing privacy. Importantly, our definitions allow for measuring timing privacy and output privacy using different privacy measures. We illustrate how to instantiate our framework by giving programs for standard DP computations in the RAM and Word RAM models of computation. Furthermore, we show how our framework can be realized in code through a natural extension of the OpenDP Programming Framework.
Paper Structure (23 sections, 42 theorems, 72 equations, 1 figure, 5 algorithms)

This paper contains 23 sections, 42 theorems, 72 equations, 1 figure, 5 algorithms.

Key Result

Lemma 18

A program $P: \mathcal{X}\times\mathcal{E}\to\mathcal{Y}\times\mathcal{E}$ is $\varepsilon$-differentially private if and only if for every pair of adjacent datasets $x$ and $x'$, and every pair of input-compatible execution environments $\mathtt{env}, \mathtt{env}'\in\mathcal{E}$, $D_{\infty}(\math

Figures (1)

  • Figure 1: A RAM program for randomized response.

Theorems & Definitions (113)

  • Definition 1: Differential Privacy dwork2006calibratingdwork2006our
  • Definition 2: $(\varepsilon, \delta)$-Differentially Private Programs
  • Definition 3: $\varepsilon$-OC-Timing Privacy, special case of Def. \ref{['def:rtprivacy']}
  • Definition 4: $(\varepsilon, \delta)$-Joint Output/Timing Privacy ben2023resistance, special case of Def. \ref{['def:joint-privacy']}
  • Definition 5: Input/Environment Compatibility
  • Definition 6: Program Execution
  • Definition 7: Program Runtime
  • Definition 8: Output-Pure Programs
  • Definition 9: Timing-Pure Programs
  • Definition 10: RAM Environment
  • ...and 103 more