Tabla de Contenidos

Privacidad Diferencial

Tenemos un dataset D que contiene datos de usuarios, siendo cada fila los datos de un usuario. El curador, una entidad de confianza para los usuarios, publica algunos datos usando un mecanismo M que da como resultado $R = M(D)$. El adversario trata de realizar inferencias sobre los datos D contenidos en R. pan:curadove.png

Contra que protege la privacidad diferencial

pan:cura2.png

La privacidad diferencial protege contra el riesgo de conocimiento de información de un sujeto mediante el uso de inferencia con información externa sobre dicho sujeto. De esta forma, observando la respuesta $R$ no se puede cambiar lo que el adversario puede saber.

No protege contra inferencias que se puedan hacer fuera de la Base de Datos Suponemos que existen 2 Bases de Datos con la única diferencia de que una tiene a Alice y la otra no.

En resumidas cuentas, la clave para dificultar que un adversario pueda identificar datos sobre un sujeto es crear dos salidas $R = M(D)$ y $R' = M(D')$, siendo D y D' Bases de datos vecinas, de forma que ambas respuestas no puedan ser distinguidas. Para hacer esto se diseña un mecanismo $M$ el cual no puede ser determinístico, tiene que ser probabilístico.

pan:bdvesinas.png

Como definir distribuciones similares

Definición tentativa de privacidad con parámetro P

Un mecanismo $M$ es privado si para todas las posibles salidas de $R$ y todos los pares de Bases de datos Vecinas $(D, 'D)$:

$Pr(M(D') = R) - p < Pr(M(D) = R) < Pr(M(D') = R) + p$

El valor de $P$ debe ser uno que no facilite que se pueda identificar cuando Alice no está en la Base de datos. Con esta primera definición nos encontramos con el problema de existen ciertas salidas de R que solo pueden ocurrir cuando la entrada es $D'$, permitiendo diferenciar los dos datasets. Para corregir esto, se realiza la siguiente definición:

Definición tentativa de privacidad 2 con parámetro P

Un mecanismo $M$ es privado si para todas las posibles salidas de $R$ y para todos los pares de las bases de datos vecinas $(D, D')$:

$\frac{Pr(M(D')=R)}{p}≤Pr(M(D)=R)≤Pr(M(D)=R)*p$

Cuanto más alto sea el valor de $P$ menor es la privacidad, por lo tanto, si $P=∞$ no hay privacidad.

Definición de Privacidad Diferencial (PD)

Es similar a las dos definiciones antes realizadas, con la diferencia de que se sustituye $p$ con $e^ε$:

Un mecanismo $M: D$ → R es ε-privadamente diferencial ($ε-DP$) si para todas las posibles salidas $R ∈ $ R y todos los pares de las Bases de Datos Vecinas $D,D'∈ D$:

$Pr(M(D) = R) ≤ Pr(M(D') = R) * e^ε$

Si tomamos logaritmos naturales, aparece la siguiente definición alternativa:

Privacidad diferencial: Definición alternativa

A un mecanismo $M : D$ → R es ε-privadamente diferencial (ε-PD) si para todas las posibles salidas $R ∈$ R y todos los pares de las bases de datos vecinas $D,D' ∈$ D:

$|log(Pr(M(D) = R)) - log(Pr(M(D') = R))| ≤ ε$

Privacidad diferencial como un juego de decisión estadística

Uno de los problemas de la privacidad diferencial es que es difícil de interpretar, por ejemplo, considerando el siguiente caso:

pan:diffgame.png

$Pr(D|R) = \frac{Pr(R|D) * Pr(D)}{Pr(R)} = \frac{Pr(R|D)}{Pr(R|D) + Pr(R|D')}$

$Pr(D|R) = \frac{1}{1+\frac{Pr(R|D)}{Pr(R|D)}}$

$\frac{1}{1+e^ε} ≤ Pr(D|R) ≤ \frac{1}{1+e^{-ε}}$

Sobre la Privacidad Diferencial y el rendimiento de un ataque empírico

La privacidad diferencial asegura la protección incluso contra adversarios poderosos que saben que la entrada es D o D'. En la práctica un algoritmo que provee $ε = 10$ puede proveer alta protección empírica contra ataques existentes. En este punto el problema es que el peor caso teórico no importa ya que uno puede usar algo que no de privacidad diferencial pero se obtiene un mejor rendimiento empírico.

El problema con ε-DP

Considerando el mecanismo laplaciano siendo $X_i$ valores del dataset:

$r = M(D) = \frac{1}{n}Σ_{i=1}^n X_i + y$

Donde y es una muestra de una distribución laplaciana con media 0 y escalka b:

$f(y) = \frac{1}{2b}e^{-\frac{|y|}{b}} = Lap(b)$

Este mecanismo provee 1/b-privacidad diferencial. La salida de este mecanismo debe tener la siguiente distribución:

$ f(r|D) = \frac{1}{2b} \exp \left( - \frac{|r - \frac{1}{n} \sum_{i=1}^{n} x_i|}{b} \right) $$f(r|D') = \frac{1}{2b} \exp \left( - \frac{|r - \frac{1}{n} \sum_{i=1}^{n} x'_i|}{b} \right) $

Estas dos distribuciones difieren en la media. Tomando $b=1$ obtenemos una $ε-DP$ con $ε=1$. Supongamos que trucamos el laplaciano en $y > 1000$. El mecanismo es prácticamente el mismo ya que:

$Pr[Lap(1) > 1000] = \frac{e^{-1000}}{2} ≈ 10^{-43}$

De todas formas, truncando vamos de $ε = 1$ a $ε = ∞$, por lo que pasamos de tener una privacidad muy buena a no tener nada de privacidad.

Privacidad diferencial aproximada

Un mecanismo $M : D$ → R es (ε,δ)-privadamente diferencial ($(ε,δ)-DP$) si para todas las posibles salidas $R ⊂$ R y los pares de bases de datos vecinas $D,D' ∈ D$:

$Pr(M(D) ∈ R) ≤ Pr(M(D') ∈ R) * e^ε + δ$

Esta definición es una relajación de la de Privacidad diferencial que permite cierta tolerancia. Si $δ = 0$, entonces tenemos el mismo caso que $ε-DP$

Escenarios de Privacidad Diferencial

Dependiendo de donde se ejecuta el mecanismo $M(D)$ hay 2 modelos generales para la privacidad diferencial:

$Pr(M(D) ∈ R) ≤ Pr(M(D') ∈ R) * e^ε$

pan:pdcentral.png

$Pr(M(x) ∈ R) ≤ Pr(M(x') ∈ R) * e^ε$

pan:pdlocal.png

La definición de la privacidad diferencial se asegura de que correr el mecanismo $M(D)$ en una base de datos vecina producen resultados similares. Normalmente hay 2 definiciones principales para como se definen las bases de datos vecinas en el modelo central:

Mecanismos de Privacidad Diferencial

Existen varios mecanismos que proveen privacidad diferenciual que pueden ser aplicados en varios sistemas.

Mecanimos Laplaciano (Salida Contínua)

Dada una función $g: D$ → $R^k$ y dos bases de datos vecinas $D,D' ∈ D$. la $l_1-sensibilidad$ de $g$ es el máximo cambio de salida resultante tras reemplazar $D$ con $D'$:

$Δ = max_{D,D'}|| g(D) - g(D')||_1$

Dada cualquier función g y Δ, podemos convertirla en un Mecanismo de privadidad diferencial si añadimos ruido laplaciano a su salida. El Mecanimso laplaciano se define como:

$M(D) = g(D) + [Y_1, Y_2 ..... Y_k]$

Donde cada $Y_i$ tiene una distribución independiente siguiendo $Y_i ~Lap(Δ/ε)$

Mecanismo laplaciano local

En el caso de la privacidad diferencial local, si la función $g : X$ → $R^k$, entontes dos entradas dadas $X,X' ∈ X$ la $l_1-sensibilidad$ de $g$ es el mayor cambio de la salida que puede resultar de cambiar $X$ por $X'$:

$Δ = max_{x,x'}||g(X) - g(X')||_1$

Mecanismo de Respuesta Aleatorizada (Entrada/salida Binaira)

En este caso tenemos un mecanismo $M : {0,1} -> {0,1}$ para privacidad diferencial local:

pan:monedilla.png

Se puede realizar una generalización asumiendo una cierta probabilidad de $γ$ de decir la verdad: pan:monedillageneralizada.png

Respuesta Aleatorizada bajo un prisma de Privacidad Diferencial

Un mecanismo $M : X$ → $Y$ es ε-privadamente diferencial (ε-DP) si las posibles salidas $y ∈ Y$ y todos los pares de bases de entradas vecias $x, x' ∈ X$:

$Pr(M(x) = y) ≤ Pr(M(x') = y)* e^ε$

Por lo tanto hay 2 posibles salidas:

$\frac{Pr(M(0) = 0)}{Pr(M(1) = 0)} = \frac{γ}{1-γ}$

$\frac{Pr(M(0) = 1)}{Pr(M(1) = 1)} = \frac{1-γ}{γ}$

$ε = max{log(1-γ)γ, log(γ/(1-γ))}$

Mecanismo Exponencial (Salidas Discretas)

A veces, añadir ruido laplaciano puede destruir la utilidad del mecanismo. En ocasiones no queremos que las respuestas numéricas sean privadas, pero queremos ser capaces de reportar objetos, clases y categorías. La idea del mecanismo exponencial es que podamos reportar una salida privadamente pero con una probabilidad proporcional a su utilidad.

Dada una base de datos $D ∈ D$, un set de salidas $H$ y una función de puntuación $S : D x H$ → R el mecanismo exponecial elige una salida $h ∈ H$ con la siguiente probabilidad:

$Pr(M(D) = h) ∝ exp(\frac{ε * s(D,h)}{2Δ})$

Nota: $∝$ Significa “Proporcional a”

La sensibilidad está dada por:

$Δ = max_{h∈H} max_{D,D'} |s(D,h) - s(D',h)|$

Para calcular la probabilidad $Pr(M(D) = h)$ necesitamos computar los valores de puntuación para cada $h ∈ H$, lo que puede ser muy costoso. El mecanismo proporcional elige elementos de forma proporcional a la función de puntuación. Las salidas con utilidad van a ser elegidas con mucha mayor probabilidad.

Mecanismo Gaussiano (Privacidad Diferencial Aproximada)

Los mecanismos anteriores proveían una privacidad diferencial exacta, el emcanismo gaussiano la da aproximada. Se usa la $l_2-sensibilidad$ de $g$:

$Δ = max_{D,D'}||g(D) - g(D')||_2$

El mecanismo gaussiano simplemente añade ruido gaussiano a la salida de la función. El mecanismo Gaussiano es definido como $M(D) = g(D) + [Y_1, Y_2 ... Y_k]$ donde cada $Y_i$ tiene una distribución independiente siguiendo $Y_i ~ N(0,σ^2)$ con:

$σ^2 = 2log(\frac{1.25}{∂}) * \frac{Δ^2}{ε^2}$

El mecanismo gaussiano provee (ε-∂)-DP

Propiedades de la Privacidad Diferencial

Resistencial al post-procesado

Sea $M : D$ → $γ$ un mecanismo (ε-∂)-DP y $F : Y$ → $Z$ una aplicación posiblemente aleatoria, entonces $F o M$ es (ε-∂)-DP. Esto significa que el procesado nunca decrementa la privacidad, pero puede incrementarla. Esto tiene sentido si consideramos que en caso contrario, el adversario podría diseñar una aplicación $F$ que parcialmente revierta $M$. Es muy importante que $F$ no de depnda de $D$ más allá de $γ$.

Privacidad Grupal

Sea $M : D$ → $R$ un mecanismo que provee ε-DP para $D,D'$ que difieren en una entrada. Entonces provee kε-DP para los datasets D,D' que difieren en k entradas. Esto es fácil de provar construiyendo una secuencia de k datasets que difieran en más de una entrada.

Composición Secuencial

Composición ingénua: Sea $M = {M_1, M_2 ... M_k}$ una secuencia de mecanismos donde $M_i$ es $(ε_i,∂_i)-DP$. Entonces $M$ es $(Σ^k_{i=1}ε_i, Σ^k_{i=1}∂_i)$

Composición Avanzada: Sea $M = {M_1, M_2 ... M_k}$ una secuencia de mecanismos donde $M_i$ es $(ε_i,∂_i)-DP$. Entonces $M$ es $(ε\sqrt{8k*log(1/∂')}, k∂+∂)-DP$

Composición Paralela

Sea $M = {M_1, M_2 ... M_k}$ una secuencia de mencanismos donde $M_i$ es $ε_i-DP$. Sean $D_1, D_2 .... D_k$ una partición determinística de $D$. Publicar las salidas $M_1(D_1), M_2(D_2), ... , M_k(D_k)$ satisface $(max ε_i)-DP$