Pid 00274689
Pid 00274689
Pid 00274689
la privacidad en
la publicación de
datos
PID_00274689
Guillermo Navarro-Arribas
Guillermo Navarro-Arribas
Los textos e imágenes publicados en esta obra están sujetos –excepto que se indique lo contrario– a una licencia Creative Commons
de tipo Reconocimiento-NoComercial-SinObraDerivada (BY-NC-ND) v.3.0. Se puede copiar, distribuir y transmitir la obra
públicamente siempre que se cite el autor y la fuente (Fundació per a la Universitat Oberta de Catalunya), no se haga un uso
comercial y ni obra derivada de la misma. La licencia completa se puede consultar en: http://creativecommons.org/licenses/by-nc-
nd/3.0/es/legalcode.es
CC-BY-NC-ND • PID_00274689 Introducción a la privacidad en la publicación de datos
Índice general
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Ejercicios de autoevaluación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Solucionario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
CC-BY-NC-ND • PID_00274689 5 Introducción a la privacidad en la publicación de datos
Introducción
Objetivos
Los objetivos que el estudiante debe alcanzar una vez trabajados los conteni-
dos de este material didáctico son los siguientes:
En este módulo vamos a dar una visión general del problema de la privacidad
en la publicación de datos simples. Introduciremos el problema, el tipo de
datos con el que vamos a trabajar y plantearemos cuestiones introductorias.
Como veremos, un aspecto importante es precisamente cómo medir y evaluar
la privacidad asociada a unos datos. En este sentido veremos técnicas y méto-
dos utilizados en la evaluación de métodos de protección para luego revisar
algunos de los métodos más populares en este campo.
Los datos, una vez protegidos, pueden tener diferentes usos o aplicaciones.
Por poner algún ejemplo, se pueden usar en estudios estadísticos, aplicar téc-
nicas de minería de datos o aprendizaje automático, o se pueden simplemente
distribuir o almacenar para su uso futuro.
Ejemplo
Como ejemplo sencillo de microdatos podemos ver la tabla 2 donde se recogen diversos
atributos o variables (columnas, Vj ) respecto a individuos concretos (filas, Xi ). Por ejem-
plo el valor x42 denota el valor Professor. Es decir, la variable V2 (en este caso, occupation),
para el individuo X4 (en este caso, Sebastião Rodrigues).
Algunas de las ideas y principios de las técnicas y métodos que vemos en este
módulo son aplicables también a datos más complejos que los microdatos. Por
ejemplo, en el módulo siguiente veremos la protección de otro tipo de datos
como los grafos.
Por ejemplo, podemos tener unos datos médicos X sobre alguna enfermedad
que se van a utilizar para hacer estudios estadísticos sobre la incidencia de fac-
tores de riesgo en dicha enfermedad. Estos datos son distorsionados utilizando
un método de protección ρ para mantener la privacidad de las personas que
aparecen, pero esta distorsión puede hacer que el estudio estadístico se vea
afectado. Podría ser que los resultados obtenidos a partir de X′ (recordamos
que X′ = ρ (X)) sean diferentes que los que obtendríamos al realizar el mismo
estudio directamente sobre X como ilustra la figura 3. Esta diferencia podría
ser despreciable o muy pequeña y acotada, o por el contrario nos podríamos
encontrar con una gran diferencia en los resultados haciendo que no se pueda
utilizar X′ para hacer dicho estudio debido a que incurriríamos en un error
demasiado grande.
• Utilidad (utility): medida de lo útiles que resultan los datos para realizar
estudios sobre los mismos. Generalmente la utilidad de unos datos prote-
gidos se considera respecto a la utilidad de los originales. Esta medida se
puede ver como inversamente proporcional a la pérdida de información
hasta el punto de que muchas veces se usan las dos medidas de forma in-
distinta. Se suelen utilizar las mismas medidas simplemente cambiando su
interpretación. En el caso de la utilidad querremos maximizarla.
Los métodos de protección pueden utilizar diversas técnicas. Entre ellas nos
interesa destacar el uso de mecanismos criptográficos en métodos de protec-
ción. En este sentido podemos distinguir entre métodos:
• De masking: con este término nos referimos a los métodos que utilizan
algún tipo de alteración de los datos como es el añadir ruido. Los datos
no se cifran y se puede operar con ellos sin necesidad de protocolos o
herramientas criptográficas. Estas técnicas son las utilizadas en los métodos
de propósito general u orientados a datos. En este caso se puede operar
directamente con los datos y aplicar cualquier tipo de análisis.
Ejemplo
No tiene mucho sentido distorsionar con ruido, por ejemplo, el nombre o el DNI de un
individuo en unos datos protegidos. Al distorsionarlo pierden su única utilidad, que es
precisamente identificar el registro, y carecen de interés.
Ejemplo
En la tabla 2 podemos ver diversos atributos. De ellos, consideramos Name como identi-
ficador; Occupation, ZIP, Age y Sex como cuasi-identificadores no confidenciales; e Income
como atributo confidencial. Dependiendo del contexto, el atributo Income podría ser
considerado también como cuasi-identificador. Más adelante veremos que esto puede te-
ner implicaciones de cara a como se protege toda la tabla, ya que dicha protección se
aplica a los atributos cuasi-identificadores.
Ejemplo
En la tabla 3 se muestran los microdatos del ejemplo anterior (tabla 2) sin el nombre, que
hemos considerado como identificador. Como ejemplo podemos considerar un atacante
que quiere reidentificar a Ellen Ripley para saber cuánto cobra y lo único que sabe de ella
es que es militar. Simplemente con este conocimiento previo, el atacante puede identifi-
car de forma inequívoca qué registro corresponde a Ellen Ripley, y saber que tiene unos
ingresos de 15700. El atacante no ha necesitado atributos identificadores ya que ha podi-
do reidentificar un registro simplemente con el conocimiento de un cuasi-identificador.
El problema del ejemplo anterior es debido a que hay atributos que pueden
identificar de forma única a algún registro. Es decir, hay atributos que tienen
valores únicos, que junto al conocimiento previo del atacante pueden ayudar
a reidentificar registros concretos. Esto mismo puede ocurrir con combinacio-
nes de atributos.
CC-BY-NC-ND • PID_00274689 19 Introducción a la privacidad en la publicación de datos
Ejemplo
Siguiendo con el ejemplo anterior supongamos que queremos saber lo que cobra Jill
McBain. El atacante sabe que vive en el código postal 40831 y que es mujer. Con este
conocimiento previo, el atacante no puede reidentificar el registro que corresponde a
Jill McBain, pero sí sabrá que gana o bien 18098 o 790. En este caso podemos decir
que el atacante tiene una probabilidad de reidentificación de 0,5 (identifica dos posibles
registros que pueden corresponder a Jill MacBain). Fijaros que si el atacante solo conoce
el código postal esta probabilidad será del 0,33, y si únicamente conoce que es mujer,
sería del 0,2.
la población de Estados Unidos mediante tres sencillos cuasi-identificadores: Para ver el detalle del
sexo, fecha de nacimiento y código postal. estudio comentado en el
texto podéis consultar:
L. Sweeney (2000). «Simple
De forma más concreta distinguimos entre dos tipos de revelación: Demographics Often
Identify People Uniquely?».
Data Privacy Working
Paper 3. Pittsburgh:
• Revelación de atributo: se produce cuando un atacante puede adquirir Carnegie Mellon University.
información nueva respecto al valor de un atributo de un individuo o re- https://bit.ly/3fGYq1J
Aquí veremos varias posibilidades. Por una parte, podemos ver la revelación
como una medida booleana donde, dada una propiedad o condición concreta,
podemos establecer si los datos o el método de protección la cumplen o no.
Es el caso de las propiedades de k-anonimidad y privacidad diferencial. Por
otro lado también podemos determinar la revelación basándonos en alguna
medida cuantificable. Veremos el caso de establecer medidas de revelación de
identidad cuantificables basadas en riesgo de reidentificación y unicidad.
1.2.2. k-anonimidad
Una definición más genérica y aplicable más allá de los microdatos es que un
conjunto de datos cumple k-anonimidad si siempre existen como mínimo k
elementos indistinguibles entre ellos. Esto permite extender este concepto a
todo tipo de datos o sucesos observables o medibles.
CC-BY-NC-ND • PID_00274689 21 Introducción a la privacidad en la publicación de datos
Ejemplo
l-Diversidad
X
H(Q) = – p(Q,s) log(p(Q,s))
s∈SQ
CC-BY-NC-ND • PID_00274689 23 Introducción a la privacidad en la publicación de datos
Consideramos la primera clase Q1 con los valores del atributo confidencial: 10000, 20000,
y 10000. En este caso tenemos 2 valores s: s1 = 10000 y s2 = 20000. La fracción de estos
valores en Q1 es de 2/3 y 1/3 respectivamente. Es decir, p(Q1 ,s1 ) = p(Q1 ,10000) = 2/3, y
p(Q1 ,s2 ) = p(Q1 ,20000) = 1/3.
2
X
H(Q1 ) = – p(Q1 ,si ) log(p(Q1 ,si ))
i=1
= – (p(Q1 ,s1 ) log p(Q1 ,s1 ) + p(Q1 ,s2 ) log p(Q1 ,s2 ))
De forma análoga, podemos hacer lo mismo para Q2 , con la diferencia de que aquí tene-
mos 3 valores diferentes para s:
3
X
H(Q2 ) = – p(Q2 ,si ) log(p(Q2 ,si ))
i=1
Como vemos, Q2 tiene mayor entropía que Q1 , lo que era de esperar ya que tiene mayor
diversidad en su atributo confidencial.
CC-BY-NC-ND • PID_00274689 24 Introducción a la privacidad en la publicación de datos
Seguimos con el ejemplo de la tabla 6a con unos datos que cumplen 3-anonimidad y
donde el atributo confidencial es income. En la tabla 6b podemos ver qué nivel de l-
diversidad cumplen en función de la interpretación concreta de valores bien representa-
dos: valores distintos, entropía, o diversidad recursiva. Los datos presentan dos clases de
equivalencia de 3 registros cada una. La primera Q1 (Teacher, 80100, M) y la segunda Q2
(Writer, 97222, F).
• Valores distintos: podemos ver que el mínimo número de valores distintos corres-
ponde a Q1 con 2 valores. Por tanto la tabla cumple 2-diversidad respecto a valores
distintos.
• Entropía: como hemos visto en el ejemplo anterior, H(Q1 ) = 0,9183, H(Q2 ) = 1,585.
Necesitamos determinar un valor l tal que H(Qi ) ≥ log(l) para todo Qi . En este caso
nos fijamos en la clase de equivalencia con menor entropía, H(Q1 ), y vemos que para
l = 1,8 se cumple la desigualdad. El lector puede ver que 2H(Q1 ) = 1,88988. En este
caso diremos que la tabla cumple 1,8-diversidad respecto a la entropía.
• Diversidad recursiva: para cada Qi , ordenamos los valores del atributo confidencial
por su frecuencia (número de veces que aparece en la clase):
Buscamos ahora los valores c y l que cumplan la desigualdad r1 < c(rl + rl+1 + . . . + rm )
tanto para Q1 como Q2 . En este caso podemos ver que se cumple (3,2)-diversidad ya
que:
Q1 :2 < 3 ∗ (1)
Q2 :1 < 3 ∗ (1 + 1)
t-Proximidad
En los últimos años, empresas como Google o Apple han anunciado el uso de privacidad
diferencial para proteger datos de usuarios:
https://www.apple.com/privacy/docs/Differential_Privacy_Overview.pdf
https://research.google/pubs/pub42852/
https://www.census.gov/about/policies/privacy/statistical_safeguards/disclosure-avoidance-
2020-census.html
Ejemplo
Suponemos que tenemos una base de datos con un solo atributo V1 , age, como el que
muestra la tabla 7. En este caso tenemos tres versiones de la base de datos D1 , D2 , y D3 .
Si nos fijamos podemos ver que D1 es la base de datos completa y que D2 es igual a D1
menos el registro con el valor 42, y D3 igual a D1 sin el registro 12.
1 PN
Consideramos una posible consulta f que puede ser la media aritmética: f (D1 ) = N i=1 xi1 .
CC-BY-NC-ND • PID_00274689 27 Introducción a la privacidad en la publicación de datos
V1 (Age)
V1 (Age) V1 (Age)
42
12 12 42
28 28 28
51 51 51
23 23 23
68 68 68
30 30 30
46 46 46
55 55 55
62 62 62
42 + 12 + 28 + 51 + . . .
f (D1 ) = = 41,7
10
12 + 28 + 51 + . . .
f (D2 ) = = 41,67
9
42 + 28 + 51 + . . .
f (D3 ) = = 45,0
9
Ejemplo
Para mirar de aclarar más la idea en la que se basa la privacidad diferencial planteamos
aquí otro ejemplo que se utiliza comúnmente y está basado en un método conocido
como respuesta aleatorizada (randomized response).
Supongamos que queremos realizar, a un grupo de personas, una consulta sensible que
admita como respuesta sí o no. Por ejemplo: «¿Cobra usted más de 30000 EUR anuales?»
o «¿Padece usted la enfermedad E?». Además queremos preservar la privacidad del indivi-
duo que responde. Para ello cada individuo utiliza la siguiente estrategia para contestar:
lanza una moneda y en función de si sale cara o cruz hace lo descrito a continuación:
cara→ responde con honestidad
Lanza una moneda cara → responde sí
cruz → lanza la moneda
cruz → responde no
Para simplificar consideramos que la pregunta es: «¿Ha leído usted el Quijote?». Las res-
puestas obtenidas dependen de lo obtenido en los lanzamientos de la moneda. Una
persona que sí ha leído el Quijote, responderá que sí con una probabilidad del 75 % y que
no con un 25 %. Las mismas probabilidades las tenemos para la persona que no ha leído
el Quijote de forma análoga.
Podemos ver en la tabla 8 de forma más detallada estas probabilidades desglosadas para
cada caso. Sumando las probabilidades correspondientes tenemos que P[A(sí ) = sí] =
0,75, es decir, la probabilidad de que la respuesta obtenida con la estrategia A sea sí
cuando la persona encuestada realmente ha leído el Quijote (la respuesta verdadera es sí)
es del 75 %. Por otra parte, tenemos que P[A(sí) = no] = 0,25, la probabilidad de que para
los que sí han leído el Quijote (respuesta verdadera sí), la estrategia A retorne no. Y de
forma análoga P[A(no) = no] = 0,75, y P[A(no) = sí] = 0,25.
Si nos fijamos en las posibles respuestas, la diferencia entre cada posible caso siempre
sigue una proporcionalidad máxima de 3. Es decir, de los que han respondido sí, hay 3/4
que sí han leído el Quijote y 1/4 que no:
Por esto se dice que el proceso descrito cumple 1,1-privacidad diferencial o (ln 3)-privacidad
diferencial (recordamos que ln e ≃ 1,1).
Podemos pensar en el proceso anteriormente descrito como una base de datos que con-
tiene las respuestas para cada individuo y la función Kf como el procedimiento que
hemos denotado como A.
Por una parte, se consigue cierto grado de privacidad o anonimidad. Al obtener una
respuesta sí, no podemos saber si esa persona realmente ha leído el Quijote. Por otra
parte, si el volumen de población encuestada es suficientemente elevado, los resultados
globales serán significativos, y podemos estimar el número de personas que realmente
han leído el Quijote. Supongamos que Y es el número de respuestas positivas que hemos
recibido, y asumimos que p es la proporción real (verdadera) de personas que han leído
el Quijote. Tenemos entonces que:
3 1 1
Y= p + (1 – p) = + p2
4 4 4
Es decir, de todas las personas encuestadas, responderán que sí 3/4 de las que sí han leído
el Quijote (p) y 1/4 de las que no han leído el Quijote (1 – p). Podemos entonces estimar
que p = 2Y – 21 .
Sin entrar en excesivos detalles, este teorema nos dice que cada vez que se
hace una consulta a la base de datos se produce una pérdida de privacidad
acumulativa. Al hacer la consulta K1 y luego la K2 pasamos a tener privacidad
diferencial con ε = ε1 + ε2 . De hecho, aunque solo tengamos una función
K1 , si realizamos la consulta t veces, asumiendo que la aleatoriedad de cada
respuesta es independiente, pasamos a tener privacidad diferencial con ε = t ε1 .
das que aportan una cuantificación sobre algún aspecto relativo al riesgo de
revelación. Concretamente veremos medidas de reidentificación basadas en
enlace de registros. Comentamos también el concepto de unicidad, aunque
no entraremos en detalle sobre su cálculo y referimos al lector a la bibliografía
del módulo para profundizar más en este tipo de medidas.
Unicidad
Medidas de reidentificación
Podemos denotar como B ⊆ X los datos que conoce el atacante. Estos da-
tos pueden incluir registros completos aunque lo más habitual es que tengan
registros con un subconjunto de atributos. El objetivo del atacante es deter-
minar, para cada registro b ∈ B, el registro de X′ que hace referencia al mismo
individuo o entidad, utilizando por ejemplo los atributos comunes. Es decir,
establecer un mapeo entre los registros de B y los de X′ . Para establecer este
mapeo se puede utilizar una técnica conocida como enlace de registros (en
inglés record linkage).
Una vez realizado el enlace de registros se verifica qué registros se han enla-
zado correctamente. Hay que tener en cuenta que en todo momento conoce-
mos B, X, X′ y qué registros de B corresponden a qué registros de X′ , lo que
nos permite determinar qué registros se han enlazado de forma correcta. Es-
te porcentaje de registros enlazados de forma correcta se puede utilizar como
medida de riesgo de revelación.
Ejemplo
Como ejemplo consideramos los datos originales de la tabla 9a, y dos versiones diferentes
de estos datos protegidos (distorsionados utilizando algún tipo de protección), X′ y X′′ .
V1 V2 V3 V1 V2 V3 V1 V2 V3
d(X1 ,X′1 ) = d (x11 ,x12 ,x13 ),(x′11 ,x′12 ,x′13 ) = d ((10,33,4,1000),(0,30,2,1000))
v
3
u
uX q
=t (x1j – x′1j )2 = (10 – 0)2 + (33,4 – 30,2)2 + (1000 – 1000)2 ≃ 10,5
u
j=1
En la tabla 10 vemos cómo queda el enlace de registros entre X y X′ (tabla 10a), y entre
X y X′′ (tabla 10b). En cada caso se identifican los registros por su índice. Por ejemplo,
CC-BY-NC-ND • PID_00274689 34 Introducción a la privacidad en la publicación de datos
X X′ ¿Correcto? X X′ ¿Correcto?
1 → 2 NO 1 → 1 SÍ
2 → 1 NO 2 → 1 NO
3 → 3 SÍ 3 → 1 NO
4 → 4 SÍ 4 → 4 SÍ
5 → 5 SÍ 5 → 4 NO
Estos porcentajes de reidentificación son una medida que nos da una estimación de una
posible cota máxima de reidentificación por enlace de registros basado en distancia. Se
pueden utilizar como estimación de riesgo de revelación. Como se aprecia, los resultados
son coherentes. En el segundo caso, para X′′ , tenemos un riesgo menor, ya que la pro-
tección aplicada es mayor. A simple vista se aprecia que la distorsión introducida para
generar X′′ es mayor que la introducida para generar X′ .
?
En general parece sensato asumir que si denotamos la divergencia entre datos
originales y protegidos como div(X,X′ ), tenemos que div(X,X) = 0 (la diver-
gencia, si los dos conjuntos de datos son iguales, es 0) y div(X,X′ ) ≥ 0 (si los
conjuntos son diferentes será mayor que 0). En algunos casos se requiere que
la divergencia cumpla con más propiedades como estar normalizada en un
intervalo (por ejemplo, [0,1]), o que sea una métrica, pero aquí consideramos
el caso más general. Podemos utilizar diversas medidas diferentes como diver-
gencia y, dependiendo de la medida utilizada estaremos midiendo qué tipo de
información se pierde y en qué grado.
Por ejemplo, podríamos definir una medida de divergencia sencilla para mi-
crodatos numéricos, como la media aritmética valor a valor entre los datos
originales y los protegidos. Es decir, dados X′ = ρ (X):
M
N X
1 X xij + x′ij
divavg (X,X′ ) =
M ∗N 2
i j
Ejemplo
V1 V2 V3 V1 V2 V3 V1 V2 V3
5 3 ′
1 X X xij + xij
1 1 + 0 33,4 + 30,2 1000 + 1000
divavg (X,X′ ) = = + + + ...
15 i=1 j=1 2 15 2 2 2
= 2563,01
5 3 ′′
1 X X xij + xij
1 1 + 0 33,4 + 40,0 1000 + 900
divavg (X,X′′ ) = = + + + ...
15 i=1 j=1 2 15 2 2 2
= 2722,62
Como vemos, la diferencia entre la media de los datos originales respecto a X′′ es mayor
que respecto a X′ . Si miramos las tablas vemos que la distorsión o alteración de los datos
es mayor en X′′ y por tanto parece razonable el resultado obtenido donde observamos
mayor pérdida de información en X′′ .
1 X
MSE(A,B) = (aij – bij )2
NM
ij
1 X
MAE(A,B) = |aij – bij |
NM
ij
Ejemplo
Este tipo de medidas que utilizan la matriz de covarianza o correlación pueden ser útiles
si se van a aplicar métodos de análisis donde esta correlación entre variables es importan-
te. Un ejemplo sencillo puede ser el de estudios donde se busca confirmar la ausencia de
causalidad en epidemiología. En estos casos, se quiere confirmar que no hay correlación
entre dos indicadores (variables), como vivir en cierta zona y padecer cierta dolencia. Para
que el estudio sea válido tenemos que asegurar que la correlación (o falta de correlación)
entre las variables se mantiene en los datos protegidos.
Podemos definir medidas similares a las vistas aquí basadas en otros indicado-
res estadísticos que puedan capturar otras características de los datos.
Este tipo de medidas suelen ser una buena estimación genérica sobre la pér-
dida de información. Pero pueden no ser precisas para usos específicos de los
datos que vayan un poco más allá del análisis estadístico.
A partir de los datos se genera un modelo, que se utiliza para obtener unos
resultados. En el subapartado anterior cuantificábamos la pérdida de infor-
mación comparando los datos originales con los datos protegidos. Ahora, la
pérdida de información la mediremos comparando los modelos directamente
o comparando los resultados obtenidos a partir de los modelos de los datos
originales y datos protegidos (figura 8).
CC-BY-NC-ND • PID_00274689 39 Introducción a la privacidad en la publicación de datos
? ?
Algunos ejemplos donde se aplican este tipo de medidas son en los siguientes Modelos
tipos de modelos:
Clasificación: problema que
consiste en determinar a qué
categoría (o grupo)
• Clasificación: se compara generalmente el resultado que pueden dar mo- pertenece un elemento.
delos obtenidos a partir de los datos originales y protegidos, utilizando Regresión: se trata de un
problema típico en estadística
medidas típicas de estos modelos como la precisión (en inglés, precision). y aprendizaje automático que
Aunque menos común, también se puede comparar directamente el mo- busca estimar la relación
entre valores dependientes.
delo. Por ejemplo, la regresión
lineal busca determinar la
línea (o combinación lineal)
• Regresión: se comparan de la misma manera los resultados a modelos de que se aproxima mejor a un
regresión. conjunto de valores.
Clustering: tipo de
clasificación donde se
• Clustering: como caso particular de los clasificadores, existen medidas es- agrupan los datos en clusters.
Los elementos de un grupo
pecíficas para clustering. Estas buscan comparar el modelo: el clustering o son más parecidos entre ellos
que respecto a elementos de
particiones obtenidas.
otros grupos.
Ejemplo
Precisión en sistemas de
Tomamos un conjunto de datos conocido como Iris. Se trata de un conjunto de datos clasificación
muy popular y utilizado para demostrar modelos de clasificación. En él se recogen datos
morfológicos del iris de la flor de tres especies diferentes: setosa, versicolour y virginca. La precisión en sistemas de
Los datos recogidos son cuatro atributos numéricos (en centímetros): Sepal Length, Sepal clasificación mide la fracción
Width, Petal Length, Petal Width; y la clase (especie) a la que pertenece cada muestra. El de instancias relevantes entre
objetivo es generar un modelo con estos datos que sea capaz de clasificar el iris de una todas las clasificadas. Es decir
flor según estos atributos morfológicos. la fracción que suponen los
positivos verdaderos entre el
Para este ejemplo, vamos a comparar los modelos obtenidos de datos originales y prote- total de positivos verdaderos
gidos, es decir, el modelo M y el modelo M ′ de la figura 8. Como modelo usaremos un y falsos. Existen otras
árbol de decisión. medidas que se utilizan en la
evaluación de este tipo de
Aunque pueda parecer que no tiene sentido aplicar protección en este tipo de datos, los sistemas como la
hemos elegido debido a su popularidad en la comunidad de aprendizaje automático y exhaustividad (recall), que
estadístico. Se trata simplemente de un ejemplo donde podemos ver el efecto de aplicar mide los positivos verdaderos
un método de protección a unos atributos numéricos (el significado de dichos atributos entre la suma de positivos
no es relevante para nuestro objetivo didáctico). verdaderos y falsos negativos.
CC-BY-NC-ND • PID_00274689 40 Introducción a la privacidad en la publicación de datos
Si al lector no le satisface esta justificación puede ver el conjunto de datos como un con-
junto que hace referencia a alguna enfermedad, donde la clase (la especie de la flor) es
una enfermedad o dolencia, y los atributos numéricos características físicas del paciente.
O mejor, puede pensar que se trata de información sobre datos de ensayos para el culti-
vo de flores genéticamente modificadas por parte de una empresa que quiere mantener
los detalles de los ensayos (medidas específicas de cada iris) privados de cara a futuras
patentes o como secreto industrial.
9a. Modelo M obtenido a partir de los datos 9b. Modelo M ′ a partir de los datos protegi-
originales X dos X′
setosa
Petal.Width
versicolor
<1 virginica
>= 1
Sepal.Width Petal.Width
>= 2.9 < 2.7
< 2.9 >= 2.7
Petal.Width
>= 1.3
< 1.3
Petal.Width
< 1.7
>= 1.7
Sepal.Width
>= 2.5
< 2.5
Sepal.Width
< 2.7
>= 2.7
plejidad.
Petal.Width Sepal.Width M M′ M ′′
Es muy importante remarcar que aquí entendemos como error la diferencia de clasifica-
ción en la que se incurre utilizando M ′ o M ′′ respecto a M, no el hecho de que el modelo
funcione mejor o peor. Es decir, no nos interesa ver si el modelo clasifica bien o mal, nos
interesa ver la diferencia que hay entre utilizar un modelo u otro.
Los métodos de protección que veremos se pueden clasificar según cómo pro-
porcionan dicha protección o alteración. En general existen dos tipos de mé-
todos de masking: perturbativos y no perturbativos. Además, consideraremos
también los métodos conocidos como generación sintética de datos. Aunque
no entraremos en detalles sobre estos últimos, sí los describiremos brevemente
CC-BY-NC-ND • PID_00274689 42 Introducción a la privacidad en la publicación de datos
• Métodos perturbativos: son los métodos que modifican los datos origi-
nales con el objetivo de prevenir la presencia de información sensible. En
cierta medida se pueden ver como métodos que distorsionan los datos ori-
ginales. Este tipo de métodos introduce errores en los datos protegidos. Es
decir, en los datos protegidos hay información incorrecta.
Ejemplo
Un individuo que en los datos originales tiene el atributo edad con el valor 23, en
los datos protegidos podría tener otro valor como 25.
Ejemplo
En el ejemplo anterior del individuo con edad 23, un método no perturbativo puede
generalizar el valor en los datos protegidos indicando un intervalo como [20,39].
Otro ejemplo sería sustituir el atributo que indica el lugar de residencia con el nombre
del barrio como Los Royales, San Pedro o Los Pajaritos por el nombre de la ciudad, en
este caso Soria. Este nuevo valor no está aportando información errónea sobre el
atributo, pero sí puede aportar protección al dificultar la reidentificación.
Ejemplo
Vamos a ver cómo se han generalizado los datos de la tabla 16. Con ellos podemos
mostrar las diferentes estrategias que se pueden utilizar para generalizar diferentes tipos
de datos.
• ZIP: atributo categórico que por su propia naturaleza presenta un esquema jerárqui-
co. En la mayoría de casos el código postal de un país se define por zonas geográficas
o de población, de manera que las primeras cifras son más generales.
• age: al ser un atributo numérico, una práctica común es cuantizar el atributo en clases
más genéricas. En este caso, la edad se generaliza en intervalos de 10 años.
En algunos casos también se aplica lo que se conoce como top and bottom
coding, que consiste en aplicar la generalización únicamente a los valores más
bajos y/o altos. Esto tiene sentido en atributos que se puedan ordenar, como
numéricos u ordinales, y suele afectar a valores atípicos (outliers).
1.4.2. Ruido
El uso de ruido para perturbar datos es una práctica muy extendida. Existen
diferentes estrategias a la hora de utilizar ruido en privacidad de datos que
se pueden utilizar en diversos escenarios. Generalmente se intenta modelar el
ruido de manera que el resultado final preserve algunas propiedades respecto
a los datos originales. Veremos aquí dos casos sencillos y bastante comunes
como son el ruido aditivo y el ruido multiplicativo.
CC-BY-NC-ND • PID_00274689 46 Introducción a la privacidad en la publicación de datos
Ruido aditivo
Sin mucha sorpresa, se trata de sumar ruido (ǫ) a los datos originales X para
obtener unos datos protegidos (X′ ):
X′ = X + ǫ
Un caso sencillo es utilizar una distribución normal N(µ,σ2 ) para modelar el Distribución normal
ruido ǫ. Para proteger la variable Vj utilizamos N(µj ,σj2 ) de manera que µj = 0 Recordamos que una
y σj2 = pVar(Vj ), siendo p una constante que determina el nivel de perturba- distribución normal o de
Gauss se define como
ción. Es decir, el ruido presenta valores alrededor de 0 (ya que la media de la N(µ,σ2 ), siendo µ la media, y
distribución µj es 0) y con una varianza proporcional a los valores originales. σ2 la varianza, con la función
de densidad de probabilidad:
Aplicamos el mismo procedimiento a cada variable de forma independiente.
1 (x – µ)2
√ exp –
σ 2π 2σ2
Esta técnica se conoce como ruido no correlacionado. Es decir, para dos va-
riables Vi y Vj , a las que sumamos ruido ǫi y ǫj respectivamente, Cov(ǫi ,ǫj ) = 0.
Se preservan las medias y covarianzas en los datos protegidos.
Ejemplo
42 20000,00 56 6995,740
28 21000,00 41 25430,243
51 19003,20 35 3755,508
23 40000,55 13 39011,350
12 10000,00 5 1161,667
68 9500,33 57 23244,377
30 40400,00 24 43739,953
46 30300,00 40 9228,542
55 10100,00 49 10513,215
62 80700,20 75 77855,080
Para generar el ruido partimos de la distribución normal N(0,σj2 ), donde σj2 = pVar(Vj ),
para p = 0,5. Vamos a ver, como ejemplo, cómo se genera el ruido para el atributo age
que denotamos como V1 . Para ello necesitamos calcular la distribución normal N(0,σj2 ).
PN
Primero calculamos la varianza de V1 , como var(V1 ) = N1 2
i=1 (xi1 – µ1 ) , donde µ1 es
1 P N
la media aritmética del atributo, µ1 = N i=1 xi1 (recordamos que N es el número de
registros):
10
1 X 1
µ1 = xi1 = (42 + 28 + 51 + . . .) = 41,7
10 10
i=1
10
1 X 1
var(V1 ) = (xi1 –41,7)2 = (42 – 41,7)2 + (28 – 41,7)2 + (51 – 41,7)2 + . . . = 294,21
10 i=1 10
El ruido, que sumaremos a los datos originales, se obtiene como muestras aleatorias de
esta distribución.
La particularidad del ruido correlacionado es que se preservan los coeficientes Distribución normal
de correlación y las medias. multivariable
La distribución normal
Ejemplo multivariable es una
generalización de la
En la tabla 18 se muestra el mismo ejemplo anterior (tabla 17) pero esta vez utilizando distribución normal a
ruido aditivo correlacionado. vectores de más de una
dimensión. Se denota como
N(µ,Σ), siendo µ la media, y
Tabla 18. Ejemplo de ruido aditivo correlacionado
Σ la matriz de covarianza.
Referimos al lector a algún
Age Income Age Income
material introductorio a la
probabilidad y estadística
42 20000,00 40 21713,166 para más detalles sobre su
definición y cálculo.
28 21000,00 27 20104,999
51 19003,20 52 23539,095
23 40000,55 21 37902,947
12 10000,00 10 9986,307
68 9500,33 68 8741,154
30 40400,00 31 41709,833
46 30300,00 45 31064,646
55 10100,00 55 11442,116
62 80700,20 60 78903,840
Ejemplo
Ruido multiplicativo
En este caso se calcula X′ como el producto del ruido por los datos originales:
X′ = X ∗ ǫ
El objetivo es definir una función Kf como Kf (X) = f (X) + Noise que satisfaga
privacidad diferencial. Partimos de dos versiones de X, que denotamos como
X1 y X2 , que se diferencian en un único registro. Recordamos que entre X1
y X2 la diferencia es que una tiene un registro más que la otra, esto lo ex-
presamos denotando que la distancia entre una y otra es 1 (un único registro
diferente), d(X1 ,X2 ) = 1.
PM
En esta definición, k·k1 es la norma L1 . Dado un vector x ∈ RM , kxk1 = i=1 |xi |
(es decir, la suma del valor absoluto de todos los elementos del vector). En
cierta manera, GSf determina la diferencia máxima que puede haber entre el
resultado de aplicar f a dos versiones cualesquiera de la base de datos que di-
fieren en un solo registro. En el caso general es necesario que los datos tengan
una cota máxima y mínima para que esta definición tenga sentido.
Ejemplo
Consideramos el ejemplo de una base de datos con información sobre qué pacientes
padecen esquizofrenia. En la tabla 20 podemos ver varias versiones de la base de datos,
donde un 1 indica que el individuo padece esquizofrenia y un 0 que no la padece.
Name Schizophrenia
Name Schizophrenia
Tiberius 1
Caracalla 1 Caracalla 1
Nerva 0 Nerva 0
Commodus 1 Commodus 1
Trajan 0 Trajan 0
Hadrian 0 Hadrian 0
a. D1 b. D2
Name Schizophrenia
Vespasian 0
Name Schizophrenia
Caracalla 1
Nerva 0 Nerva 0
Commodus 1 Commodus 1
Trajan 0 Trajan 0
Hadrian 0 Hadrian 0
c. D3 d. D4
D1 , d(D1 ,D3 ) = d(D1 ,D4 ) = 1. Sin embargo, podemos ver que d(D3 ,D4 ) = 2, y d(D2 ,D4 ) = 2
(ya que difieren en dos registros o individuos).
Para ilustrar la idea de sensibilidad, consideramos la función fcount que realiza una con-
sulta que consiste en sumar el atributo schizophrenia (retorna el número de pacientes
que padecen esquizofrenia). En este caso, fcount (D1 ) = 2, fcount (D2 ) = 3, fcount (D3 ) = 1,
fcount (D4 ) = 2.
En este sencillo ejemplo podemos ver que la sensibilidad global de fcount es 1. Si aplicamos
la función a cualquier par de versiones de la base de datos Di , Dj que difieren en un solo
registro, esto es d(Di ,Dj ) = 1, la diferencia máxima que podemos tener entre fcount (Di )
y fcount (Dj ) es 1. Para ser más concretos, dicha diferencia solamente puede ser 0 o 1. Es
decir, GSfcount = 1 ya que k0k1 = 0, y k1k1 = 1.
1 |x – µ|
Lap(µ,b) = exp –
2b b
Ejemplo
Siguiendo el ejemplo anterior, donde teníamos la función fcount con una sensibilidad
global GSfcount = 1, aplicamos el mecanismo de Laplace. La función:
donde N1 (en este caso solo tenemos una variable) se obtiene de forma aleatoria a partir
de la distribución Lap(0,1/ε).
CC-BY-NC-ND • PID_00274689 52 Introducción a la privacidad en la publicación de datos
En la figura 13 podemos ver esta distribución para varios valores de ε. Como se puede
ver, mayores valores de ε generarán una distribución más precisa, lo que hace que se Privacidad diferencial
introduzca menos ruido (la probabilidad de obtener un valor cercano a 0 a partir de la para la publicación de
distribución es mayor), y se consigue por tanto menor nivel de privacidad. Los valores datos offline
de ε pequeños producen más ruido respecto a fcount introduciendo mayor incertidumbre
(y por tanto privacidad) y, presumiblemente, mayor pérdida de información. Existen diversas estrategias
para la aplicación de
privacidad diferencial en
Figura 13. Función de densidad de probabilidad de Lap(0,1/ε) para ε = 0,1,0,5,1,3 escenarios offline de
publicación de datos. En su
mayoría se basan en
consultas al histograma,
donde se particiona el
dominio de los datos y se
cuenta el número de registros
en cada partición. Para un
resumen más detallado y
referencias el lector puede
consultar, entre otras fuentes,
el capítulo 8 de:
Domingo-Ferrer, J.; Sánchez,
D.; Soria-Comas, J. (2016).
Database Anonymization
Privacy Models, Data Utility,
and Microaggregation-based
Inter-model Connections.
California: Morgan &
Claypool.
Ejemplo
En la primera tabla (tabla 21a) vemos los datos originales con su ordenación original.
El primer paso, en la tabla 21b, es ordenar los valores. Una vez ordenados, se realiza el
swapping tal como se describe en el Algoritmo 1 con el parámetro p = 30 resultante en la
tabla 21c. Finalmente, en la tabla 21d se muestra cómo quedan los datos tras deshacer la
ordenación inicial.
CC-BY-NC-ND • PID_00274689 54 Introducción a la privacidad en la publicación de datos
1.4.4. Microagregación
Ejemplo
A partir de los datos originales de la tabla 22a se crean microclusters con un mínimo de
tres elementos siguiendo estos pasos:
42 42 42
28 28 21
50 50 42
23 23 21
12 12 21
68 68 61
30 30 42
46 46 42
55 55 61
61 61 61
a. Datos originales b. Partición c. Sustitución
p
X X SSE es una medida de
SSE = χi (x)(d(x,ci ))2 pérdida de información
i=1 x∈X
El SSE en microagregación es
un caso de medida de
La microagregación se suele formalizar como un problema de optimización pérdida de información
específica a un método de
que consiste en minimizar el SSE sujeto a la restricción de que cada microcluster
protección concreto (véase el
debe tener un número de elementos entre k y 2k. subapartado 1.3.2).
CC-BY-NC-ND • PID_00274689 56 Introducción a la privacidad en la publicación de datos
1 while |X| ≥ 3k do
2 x̄ = average of all records in X;
3 xr = most distant record to x̄ from X;
4 Cr = cluster around xr : xr and the k – 1 closest records to xr ;
5 Remove records in Cr from X;
6 xs = most distant record to xr from X;
7 Cs = cluster around xs : xs and the k – 1 closest records to xs ;
8 Remove records in Cs from X;
9 if |X| ≥ 2k then
10 x̄ = average of all records in X;
11 xr = most distant record to x̄ from X;
12 Cr = cluster around xr : xr and the k – 1 closest records to xr ;
13 Remove records in Cr from X;
Una técnica que difiere bastante de las vistas hasta ahora es la generación de
datos sintéticos. Como su nombre indica, la idea es generar un conjunto de
datos artificiales que reemplazan los datos originales. En cierta manera se pue-
den ver como datos simulados. Solemos distinguir entre dos alternativas:
Resumen
Ejercicios de autoevaluación
V1 V2 V1 V2 V1 V2
Recomendamos revisar la documentación que cuenta con numerosos ejemplos. Para más in-
formación podéis consultar el siguiente web: http://sdctools.github.io/sdcMicro/index.html.
CC-BY-NC-ND • PID_00274689 62 Introducción a la privacidad en la publicación de datos
Solucionario
2. a) El cálculo de las medidas es inmediato siguiendo las indicaciones y fórmulas del subapar-
tado 1.3.1. Recomendamos realizar algún cálculo de forma manual para familiarizarse con
las medidas. De todas maneras estos cálculos se pueden realizar de forma rápida con algún * https://pandas.pydata.org/
lenguaje de programación como R o el paquete pandas* de Python.
Mostramos los resultados en la tabla 26. Puede haber algún pequeño error debido al redon-
deo de algunos números.
a. Resultados para X′
Podemos confirmar nuestras sospechas si miramos las medidas ILId_MSE , ILId_MAE y ILId_MRE .
En los tres casos, el error es mayor para X′′ que para X′ . Esto quiere decir que la diferencia
entre los valores de las tablas es mayor en X′′ que en X′ .
Sin embargo, vemos la sospecha inicial cuestionada si miramos las medidas relativas a la
matriz de correlación, ILCorr_MSE , ILCorr_MAE , y ILCorr_MRE , nos encontramos que el error es
mucho menor en X′′ que en X′ . Es decir la correlación entre variables se mantiene mucho
más en X′′ que en X′ .
No podemos decir simplemente qué conjunto presenta mayor pérdida de información que
otro porque, como hemos visto, esta pérdida depende de qué observemos. Si utilizamos
los datos en un análisis para el que la correlación entre variables sea muy importante el
conjunto X′′ presenta menor pérdida. Para otros casos, por ejemplo si queremos calcular
medias parciales, el conjunto X′ será más adecuado.
A la vista de los resultados parece claro que, aunque en ambos casos se ha utilizado ruido
aditivo como método de protección, en el caso de X′ este ruido es no correlacionado y en
X′′ es ruido correlacionado.
3. MDAV se puede aplicar, a priori, a cualquier tipo de datos. De hecho, podemos ver un
registro como un vector donde cada elemento puede ser de un tipo de datos diferente. Para
poder extender el algoritmo tenemos que ver qué operaciones se están haciendo sobre los
vectores numéricos y reemplazarlas por operaciones que puedan aceptar otros tipos de datos
como parámetro.
Si nos fijamos bien, el tipo de operaciones necesarias sobre vectores son dos:
• Distancia: necesitamos calcular la distancia entre vectores para poder determinar qué re-
gistros son los más distantes (líneas 3, 6 y 11 del Algoritmo 2). En el algoritmo se utiliza
la distancia euclidiana. Es necesario entonces cambiar esa distancia con la distancia apro-
piada para otros tipos de datos. Algún ejemplo puede ser el uso de la distancia coseno
para vectores binarios, la distancia de Jaccard para conjuntos de valores, la edit distance
para cadenas de caracteres o símbolos, . . .
Glosario
clase de equivalencia f Cada uno de los conjuntos de registros indistinguibles entre ellos
en k-anonimidad. También se denomina conjunto de anonimato.
enlace de registros basado en distancia m Técnica que se utiliza para determinar qué
registros entre dos conjuntos de datos hacen referencia a la misma entidad haciendo uso de
alguna medida de distancia entre registros.
k-anonimidad f Modelo de privacidad que determina que tiene que haber como mínimo
k registros indistinguibles en los datos protegidos.
l-diversidad f Propiedad que requiere un cierto nivel de diversidad en los atributos confi-
denciales de una clase de equivalencia.
microdatos m Conjunto de datos que se puede ver como una matriz donde cada fila corres-
ponde a un individuo o entidad y cada columna a un atributo o variable sobre el individuo
o entidad.
perturbativo m Método de protección que altera los datos generando información errónea.
privacidad diferencial f Modelo de privacidad que requiere que la misma consulta a dos
bases de datos que difieren en un solo elemento retorne el mismo resultado o dos resultados
muy parecidos.
revelación f Información privada que se puede obtener sin autorización. En nuestro caso,
es la información privada que se obtiene a partir de datos protegidos. Idealmente no debería
haber revelación en datos protegidos.
riesgo de revelación m Asociado a unos datos, determina el riesgo de que esos datos
proporcionen información sensible o considerada como privada y que no se quiere revelar.
t-proximidad f Propiedad aplicable a datos que cumplen k-anonimidad que requiere que la
distribución de los atributos confidenciales en cada clase de equivalencia siga la distribución
del total de datos.
utilidad f Medida de lo útiles que resultan los datos para un análisis. Esta utilidad en datos
protegidos se mide respecto a los datos originales y constituye una estimación de la pérdida
de información.
CC-BY-NC-ND • PID_00274689 65 Introducción a la privacidad en la publicación de datos
Bibliografía
Aggarwal, C. C.; Yu, P.S. (eds.) (2008). Privacy-Preserving Data Mining: Models and Algo-
rithms. Berlín: Springer.
Brand, R. (2002). «Microdata Protection through Noise Addition. Inference Control in Sta-
tistical Databases». Lecture Notes in Computer Science (vol. 2316). Berlín: Springer.
Casa Roma, J.; Romero Tris, C. (2017). Privacidad y anonimización de datos. Barcelona:
Editorial UOC.
Dwork, C.; Roth, A. (2014). «The Algorithmic Foundations of Differential Privacy». Foun-
dations and Trends in Theoretical Computer Science (vol. 9, núm. 3–4, págs. 211-407).
<https://www.cis.upenn.edu/ aaroth/Papers/privacybook.pdf>
Torra, V. (2017). «Data Privacy: Foundations, New Developtments and the Big Data Cha-
llenge». Studies in Big Data (vol. 28). Berlín: Springer.