| Proyecto Integral de Ingeniería del Software | |
|---|---|
| Metodologías Ágiles |
| Trabajo Fin De Grado | |
|---|---|
| Guía Memoria TFG |
| Servidores | |
|---|---|
| Minercraft | |
| Knoppia | |
| Omegacraft |
| Base de datos de juegos | |
|---|---|
| GameBoy Advance (GBA) |
| Proyecto Integral de Ingeniería del Software | |
|---|---|
| Metodologías Ágiles |
| Trabajo Fin De Grado | |
|---|---|
| Guía Memoria TFG |
| Servidores | |
|---|---|
| Minercraft | |
| Knoppia | |
| Omegacraft |
| Base de datos de juegos | |
|---|---|
| GameBoy Advance (GBA) |
¡Esta es una revisión vieja del documento!
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.
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.
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:
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.
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:
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))| ≤ ε$
Uno de los problemas de la privacidad diferencial es que es difícil de interpretar, por ejemplo, considerando el siguiente caso:
$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^{-ε}}$
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.
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.
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$
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^ε$