Está en la página 1de 66

Introducción a

la privacidad en
la publicación de
datos
PID_00274689

Guillermo Navarro-Arribas

Tiempo mínimo de dedicación recomendado: 5 horas


CC-BY-NC-ND • PID_00274689 Introducción a la privacidad en la publicación de datos

Guillermo Navarro-Arribas

Profesor agregado al Departamen-


to de Ingeniería de la Información
y de las Comunicaciones de la Uni-
versidad Autónoma de Barcelona.
Su ámbito de investigación se cen-
tra en la seguridad y la privacidad
informática y, más concretamente,
en la privacidad de datos, la priva-
cidad en sistemas de comunicación
y la tecnología blockchain. Partici-
pa activamente en proyectos de in-
vestigación y es autor de varios ar-
tículos en el campo de la privacidad.
Actualmente imparte docencia so-
bre seguridad, privacidad y cripto-
grafía.

El encargo y la creación de este recurso de aprendizaje UOC han sido coordinados


por la profesora: Cristina Pérez Solà

Primera edición: septiembre 2020


© de esta edición, Fundació Universitat Oberta de Catalunya
Av. Tibidabo, 39-43, 08035 Barcelona
Autoría: Guillermo Navarro-Arribas
Producción: FUOC

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

1. Introducción a la privacidad en la publicación


de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1. El problema de la privacidad de datos . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1.1. Tipo de datos: microdatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.2. Privacidad y pérdida de información . . . . . . . . . . . . . . . . . 12
1.1.3. Clasificaciones de métodos de protección . . . . . . . . . . . . 15
1.2. Medidas de privacidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2.1. Tipos de medidas de privacidad . . . . . . . . . . . . . . . . . . . . . . 20
1.2.2. k-anonimidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.2.3. Privacidad diferencial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.2.4. Riesgo de reidentificación y unicidad . . . . . . . . . . . . . . . . . 30
1.3. Medidas de pérdida de información . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.3.1. Ejemplo: pérdida de información genérica
en datos numéricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1.3.2. Ejemplo: pérdida de información específica . . . . . . . . . . 38
1.4. Métodos de protección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
1.4.1. Generalización y supresión . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
1.4.2. Ruido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
1.4.3. Rank swapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
1.4.4. Microagregación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
1.4.5. Generación de datos sintéticos . . . . . . . . . . . . . . . . . . . . . . . 57

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

En muchas ocasiones nos encontramos ante la necesidad o posibilidad de ha-


cer públicos datos que pueden contener información privada. Algún ejemplo
puede ser la publicación de datos censales, datos sobre la actividad económica
de una población, o datos de pacientes de centros sanitarios o estudios médi-
cos. Estos datos pueden ser muy útiles para realizar estudios e investigación
en muchos campos. Desde estudios de mercado hasta investigación médica, o
social. Sin embargo, los datos pueden contener información privada relativa a
los individuos o entidades que aparecen en los mismos que no queremos o no
podemos revelar. Esto impide o dificulta la publicación o cesión de datos en
general. Esta publicación de datos se puede hacer en diversos grados, los datos
se pueden simplemente hacer públicos, o se pueden ceder a terceras partes de
forma exclusiva. Incluso en este último caso, donde puede haber contratos de
confidencialidad en la cesión de datos, es posible que igualmente se necesite
aplicar algún tipo de anonimización. También son comunes hoy en día inicia-
tivas por parte de administraciones públicas para la publicación de datos en
abierto como parte de programas de transparencia. En este sentido queremos
poder publicar esos datos a investigadores o al público en general sin por ello
poner en riesgo la privacidad de las entidades o individuos que aparecen en
los mismos.

Estos datos que se publican pueden contener información privada de muchos


tipos y formas referente a los individuos o entidades a las que hacen referencia.
La información privada puede estar expuesta de forma muy clara y explícita,
por ejemplo publicando la identidad de los pacientes de un estudio clínico.
En este caso su protección puede ser relativamente sencilla dado que es fácil
identificar qué información y datos hay que proteger. Existe, sin embargo, la
posibilidad de que la información privada se pueda obtener de forma más
tangencial o no tan explícita. Suele ser el caso de datos que aparentemente no
revelan información privada por sí solos pero, ya sea mediante la unión de
otros datos o algún conocimiento previo del posible atacante, pueden filtrar
de forma total o parcial identidades o información privada.

Tradicionalmente este problema se ha tratado desde diversos ámbitos. Investi-


gadores de agencias de estadística o minería de datos y aprendizaje automático
han trabajado este problema dando lugar a disciplinas como statistical disclosu-
re control (SDC) o privacy preserving data mining (PPDM). Más recientemente se
acostumbra a utilizar el término tecnologías de mejora de la privacidad o privacy
enhancing technologies (PET) para denominar a todas las tecnologías encamina-
das a proporcionar privacidad, entre las que se encontrarían las destinadas a
la publicación de datos.
CC-BY-NC-ND • PID_00274689 6 Introducción a la privacidad en la publicación de datos

En este módulo estudiaremos el problema asociado a la privacidad en la publi-


cación de datos. Veremos cómo se aborda el problema, qué técnicas se utilizan
para garantizar ciertos niveles de privacidad y qué consecuencias tiene la apli-
cación de estos métodos de protección. Nos centraremos en tipos de datos
relativamente sencillos como son los microdatos, dejando el estudio de priva-
cidad en datos más complejos para otros módulos.
CC-BY-NC-ND • PID_00274689 7 Introducción a la privacidad en la publicación de datos

Objetivos

Los objetivos que el estudiante debe alcanzar una vez trabajados los conteni-
dos de este material didáctico son los siguientes:

1. Entender los problemas asociados a la publicación de datos privados.

2. Estudiar cómo se mide y evalúa la privacidad y pérdida de información en


la publicación de datos.

3. Entender modelos de privacidad como la k-anonimidad y la privacidad


diferencial.

4. Conocer los métodos principales de anonimización de datos de propósito


general.
CC-BY-NC-ND • PID_00274689 9 Introducción a la privacidad en la publicación de datos

1. Introducción a la privacidad en la publicación


de datos
.

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.

1.1. El problema de la privacidad de datos

El escenario que contemplamos en la publicación de datos puede variar de-


pendiendo del contexto, tipo de datos y uso que se quiera dar a dichos datos.
De forma simplificada consideramos una situación como la mostrada en la
figura 1. En este caso tenemos un conjunto de datos X a los que aplicamos un
método de protección ρ , y obtenemos una versión protegida de X denotada
como X′ , de manera que X′ = ρ (X).

Figura 1. Escenario simple de publicación de datos privados

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.

La protección de los datos originales la suele realizar el propietario de dichos


datos o aquella entidad que tiene su custodia. El objetivo que se plantea es que
esta entidad pueda hacer públicos los datos garantizando que se preserva un
nivel de privacidad o anonimato concreto. Podemos hacer X′ público man-
teniendo los datos originales X privados. Para ello, el método de protección
ρ aplicado deberá garantizar ciertas propiedades o aplicar medidas concretas
destinadas a evitar la publicación de datos sensibles o considerados como pri-
vados.
CC-BY-NC-ND • PID_00274689 10 Introducción a la privacidad en la publicación de datos

Aunque este es el escenario principal que vamos a estudiar existen variaciones


interesantes a tener en cuenta. Una de ellas distingue entre una publicación
offline u online. El caso de la figura 1 correspondería al caso offline donde se
publica una versión protegida de los datos y el analista trabaja directamente
sobre los datos publicados. En un escenario online, el analista realiza peticiones
a la base de datos y se protege la respuesta que se retorna (figura 2).

Figura 2. Escenario online

1.1.1. Tipo de datos: microdatos

En este módulo nos centraremos en la anonimización de un tipo de datos


conocido como microdatos (en inglés microdata).

Un fichero de microdatos se puede ver como una tabla o matriz donde


cada fila corresponde a un individuo o entidad, que también denota-
mos como registro, y cada columna es un atributo o variable sobre los
individuos o entidades.

Denotaremos como X un conjunto de microdatos, cada fila como Xi para


Fichero de microdatos
i = 1, . . . ,N, y cada atributo o variable como Vj donde j = 1, . . . ,M (tabla 1), de
manera que xij denota el valor de la variable Vj para el individuo Xi . En la definición de
microdatos hablamos de
fichero porque
Tabla 1. Notación de microdatos tradicionalmente la forma
más común de publicar
V1 V2 ... ... VM microdatos ha sido en
.. ficheros CSV
X1 . (comma-separated values). Sin
embargo, se pueden publicar
..
X2 . microdatos en cualquier otro
soporte como tablas en una
.. .. base de datos, documentos
. .
con otros formatos (JSON,
Excel, ODS. . . ), flujos de
... ... ... xij ... ... datos. . .
.. ..
. .
..
XN .

Es importante remarcar que en muchos casos, como el de las agencias de es-


tadística, es común la publicación de datos tabulares (tabular data en inglés)
CC-BY-NC-ND • PID_00274689 11 Introducción a la privacidad en la publicación de datos

que contienen datos agregados a partir de microdatos. Por ejemplo, se pueden


publicar las medias de edad por sexo de una población.

Aunque este tipo de datos tabulares resultan útiles, la publicación de microda-


Datos tabulares
tos proporciona mayor flexibilidad al analista a la hora de realizar su estudio
o a la hora de aplicar técnicas de minería de datos o aprendizaje automático. Para información sobre
protección de datos
Los datos tabulares no están exentos de riesgos de privacidad, pero los micro- tabulares podéis consultar:
datos al publicar datos no agregados suelen ser más sensibles a la revelación J. Castro (2012). «Recent
advances in optimization
de información privada. techniques for statistical
tabular data protection».
European Journal of
En este módulo nos centraremos en microdatos dejando un poco de lado la Operational Research, vol.
privacidad en datos tabulares. Estos últimos suelen ser estudiados en el cam- 216, núm. 2, págs. 257-269.
https://bit.ly/2ODVqY4
po de la investigación operativa y optimización y el lector interesado puede
encontrar más información en la bibliografía del módulo.

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).

Tabla 2. Ejemplo de microdatos

Name Occupation ZIP Age Sex Income

Tuco Benedicto Runner 80222 42 M 25050

Jill McBain School teacher 40831 28 F 18098

Ramon Miguel Vargas Police Det. 97206 51 M 28760

Sebastião Rodrigues Professor 40505 23 M 26062

Mathilda Lando Student 40831 12 F 790

Hank Quinlan Police Capt. 97206 68 M 30033

Margaret Fitzgerald Boxer 80237 30 F 55093

Tom Doniphon Horse rider 80911 46 M 17330

Ellen Ripley Military Lt. 97201 55 F 15700

Los datos contenidos en un fichero de microdatos pueden, a su vez, ser de


varios tipos. Podemos tener datos categóricos o numéricos de diferentes for-
matos o tipos. Dentro de los categóricos puede haber datos nominales u ordi-
nales. Podemos tener datos que hagan referencia a fechas, URL, o que puedan
o no tener una interpretación semántica intrínseca o mediante una ontología.
Como veremos, esto condiciona el método de protección que se puede aplicar
o la manera en que se aplica.
CC-BY-NC-ND • PID_00274689 12 Introducción a la privacidad en la publicación de datos

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.

1.1.2. Privacidad y pérdida de información

Aplicar un método de protección a unos datos supone alterar de cierta manera


estos datos. Esta alteración o distorsión de los datos ayuda a reducir el riesgo
de revelación de información privada de los datos pero a su vez comporta una
pérdida de información. Al alterar los datos, estamos perdiendo información
original que puede hacer que esos datos pierdan su utilidad.

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.

Figura 3. Resultados obtenidos de datos originales X y datos protegidos

Uno de los principales problemas que se trata en privacidad de datos es pre-


cisamente conseguir un buen balance entre la privacidad y la utilidad. En
general hablaremos de los siguientes conceptos asociados a un conjunto de
datos:

• Riesgo de revelación (disclosure risk): es el riesgo de que los datos propor-


cionen información sensible o considerada como privada. El objetivo será
siempre intentar minimizar el riesgo de revelación.
CC-BY-NC-ND • PID_00274689 13 Introducción a la privacidad en la publicación de datos

• Pérdida de información (information loss): es la cuantificación de la in-


formación que se está perdiendo al aplicar un método de protección. Esto
nos determina el error que podemos estar cometiendo al utilizar los datos
protegidos en lugar de los datos originales a la hora de hacer un análisis
estadístico o aplicar un modelo de aprendizaje automático. En este caso
siempre buscaremos minimizar la pérdida de información.

• 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.

Como vemos en la figura 4, estas medidas están muy relacionadas. Si se mini-


miza el riesgo de revelación se consigue más privacidad pero también aumenta
la pérdida de información, o lo que es equivalente, se reduce la utilidad. Por
lo general no es posible, por ejemplo, reducir el riesgo de revelación y reducir
al mismo tiempo la pérdida de información.

Figura 4. Riesgo de revelación, pérdida de información y


utilidad respecto a la privacidad

El objetivo que se nos plantea en la privacidad de datos es encontrar un buen


balance entre estas medidas. Queremos reducir el riesgo de revelación hasta
un nivel tolerable para mantener un nivel de privacidad concreto pero al mis-
mo tiempo no queremos perder mucha información, queremos mantener la
utilidad de los datos dentro de un nivel aceptable.

En la figura 5 vemos el riesgo de revelación respecto a la utilidad. Por lo ge-


neral podemos situar los datos originales en el cuadrante superior derecho. Es
decir los datos originales presentan un alto riesgo de revelación y una alta uti-
lidad. Por el contrario, los datos protegidos suelen encontrarse en el cuadrante
inferior izquierdo (bajo riesgo de revelación y baja utilidad).
CC-BY-NC-ND • PID_00274689 14 Introducción a la privacidad en la publicación de datos

Figura 5. Riesgo de revelación frente a utilidad

Un buen método de protección es aquel que consigue un buen equilibrio en-


tre riesgo de revelación y utilidad. En algunos casos se parte de un nivel de
privacidad mínimo tolerable (línea discontinua horizontal), es decir, un ni-
vel máximo de riesgo de revelación, y el objetivo sería conseguir un método
que, respetando esta cota máxima de revelación, proporcione la mayor utili-
dad posible (caso del punto verde en la figura 5). También se puede plantear
el problema de forma inversa, partir de un nivel de utilidad mínimo tolera-
ble (línea discontinua vertical) y buscar el método que consiga minimizar el
riesgo de revelación dentro de esa utilidad mínima (caso del punto rojo en la
figura 5).

Como era de esperar, en la práctica, buscar este equilibrio en la protección de


datos no es fácil. Es más, casos como los descritos anteriormente con los pun-
tos rojo y verde no suelen ser posibles. Por lo general, dada una cota máxima
de riesgo de revelación no podremos aumentar la utilidad todo lo que quera-
mos. En un mundo ideal nos gustaría poder situar nuestros datos protegidos
en el cuadrante inferior derecho de la figura 5, pero en la realidad nos encon-
traremos en el inferior izquierdo. Esto es así porque como hemos comentado
estas medidas suelen ser intrínsecamente inversas. En el caso general, no po-
dremos reducir el riesgo de revelación sin reducir la utilidad de los datos.

El punto azul de la figura 5 presentaría un buen balance entre riesgo de re-


velación y utilidad. Si consideramos las líneas discontinuas como los límites
de riesgo de revelación y utilidad, es decir, el máximo riesgo de revelación y
mínimo de utilidad tolerables, el punto azul consigue el compromiso entre las
dos. En algunos casos estas líneas pueden no situarse de forma tan simétrica,
imponiendo más restricciones en una medida respecto a la otra.

Otra dificultad importante a la que nos enfrentamos a la hora de abordar el


problema es cómo medir el riesgo de revelación, y la utilidad o pérdida de
CC-BY-NC-ND • PID_00274689 15 Introducción a la privacidad en la publicación de datos

información. Como veremos en los siguientes subapartados existen varias al-


ternativas para este tipo de medidas, y cada una de ellas tiene alguna parti-
cularidad, ventaja o inconveniente. Por ejemplo, no hay una única medida
que capture de forma absoluta el riesgo de revelación asociado a unos datos.
Lo que tenemos son diferentes maneras de medir el riesgo de revelación o,
mejor dicho, diferentes características que nos sirven para estimar en la medi-
da de lo posible el riesgo de revelación. Esto quiere decir que podemos tener
unos datos que den un resultado muy bueno con una medida de riesgo de
revelación concreta, pero no por ello podemos asumir que son totalmente se-
guros. Podría darse el caso de que se desarrolle algún ataque que aproveche
alguna característica no contemplada por esa medida de riesgo de revelación
concreta.

Podemos decir que en el caso de la privacidad de datos no existe la solución


perfecta. Siempre tenemos que jugar con el balance entre riesgo de revelación
y utilidad, y puede resultar difícil hacer afirmaciones categóricas sobre la segu-
ridad asociada a unos datos concretos. Como reza una máxima muy aplicada
en seguridad informática, la seguridad absoluta no existe en la práctica. En lo
que respecta a la privacidad de datos, podemos decir que la solución perfec-
ta a la publicación de datos seguros sin riesgo de revelación y sin pérdida de
información no existe en el caso general.

1.1.3. Clasificaciones de métodos de protección

A la hora de considerar los métodos de protección, podemos plantear diver-


sas clasificaciones o perspectivas desde las que abordarlos. Una clasificación
genérica y que resulta interesante como introducción consiste en ver los mé-
todos de privacidad de datos en función del uso que se quiere hacer de los
datos protegidos. Podemos considerar la siguiente clasificación de métodos de
protección:

• De propósito específico u orientados a computación (computation-driven):


en este caso se quieren proteger datos para hacer un análisis (o modelado)
concreto y conocido de antemano. Sabemos la computación que se quiere
realizar con los datos protegidos. Esto hace que se puedan aplicar métodos
de protección específicamente diseñados y parametrizados para ese análi-
sis. Se pueden centrar los esfuerzos en conseguir minimizar la pérdida de
información precisamente en aquellos aspectos más relevantes de cara al
análisis que sabemos que se va a aplicar. Dentro de esta categoría se descri-
ben también los métodos orientados a resultado, en los que consideramos
que los datos se van a utilizar en un modelo concreto de minería de datos
o aprendizaje automático y nos interesa la privacidad asociada a los resul-
tados obtenidos a partir de ese modelo. En este último caso la privacidad
se estudia con relación al conocimiento que se puede inferir a partir de los
datos y no tanto con relación a los datos por sí mismos.
CC-BY-NC-ND • PID_00274689 16 Introducción a la privacidad en la publicación de datos

• De propósito general u orientados a datos (data-driven): es el caso en el que


no existe un uso específico para los datos. Los datos protegidos no serán
usados en un solo análisis concreto o no conocemos el estudio, modelo o
uso que se hará de los datos protegidos. En este sentido se busca obtener
el mejor balance entre pérdida de información y riesgo de revelación de
forma general, sin favorecer una u otra característica de forma especial.

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:

• Criptográficos: hacen uso de criptografía. Un caso interesante es poder pu-


blicar datos cifrados sobre los que se pueda operar y realizar análisis concre-
tos sin necesidad de descifrarlos. Este tipo de métodos suele ser usado en
mecanismos de propósito específico u orientados a computación, donde
sabemos qué análisis (u operación) se va a realizar sobre los datos. En este
caso se puede definir un protocolo criptográfico para calcular una función
concreta sobre un conjunto de datos cifrados. Es común en estos casos el
uso de herramientas criptográficas como computación segura multipartita
(secure multiparty computation) o criptografía homomórfica.

• 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.

En este módulo nos vamos a centrar en los métodos de propósito general y


por tanto en técnicas de masking. En el subapartado 1.4 veremos que hay de
diferentes tipos y repasaremos algunas de las más conocidas.

1.2. Medidas de privacidad

En este subapartado revisamos cómo estimar el nivel de privacidad que se


consigue al aplicar un método de protección o simplemente el riesgo de reve-
lación (disclosure) asociado a un conjunto de datos concreto. De forma general
consideramos lo siguiente.

Se produce revelación (disclosure) de información privada cuando se


puede obtener conocimiento nuevo sobre un individuo o registro del
conjunto de microdatos.
CC-BY-NC-ND • PID_00274689 17 Introducción a la privacidad en la publicación de datos

El atacante puede tener un conocimiento previo que verá aumentado al ana-


lizar los microdatos publicados.

El objetivo de un atacante es obtener la mayor cantidad de información a par-


tir de los datos publicados. Cuando este consigue identificar un individuo o
entidad en los datos protegidos, decimos que se ha producido una reidenti-
ficación. En este caso el atacante puede establecer la correspondencia exacta
entre un registro de los datos protegidos y un individuo o entidad.

No todos los atributos o variables de un mismo conjunto de datos presentan


el mismo riesgo de revelación. Es común clasificar atributos en las siguientes
categorías:

• Identificadores: atributos que identifican por sí solos y de forma única


a un individuo. Ejemplos típicos son: nombre, número de la seguridad
social, DNI, . . .

• Cuasi-identificadores: atributos que no identifican por sí solos a un indivi-


duo, pero en combinación entre ellos y/o con información externa pueden
identificar a algún individuo. Por ejemplo: edad, código postal, ciudad de
residencia, sexo, profesión, fecha de nacimiento, . . .

• Confidenciales: atributos sensibles respecto al individuo. Algún ejemplo


puede ser: enfermedad, salario, afiliación política, . . .

• No confidenciales: atributos que no tienen información sensible sobre el


individuo.

Estas categorías no son disjuntas y en algunos casos la clasificación puede ser


complicada ya que depende del contexto asociado a los datos y su publicación.

A la hora de proteger un fichero de microdatos, parece claro que no podemos


publicar los atributos identificadores. Es más, tampoco son susceptibles de ser
protegidos mediante algún método de protección.

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.

Es por eso que los identificadores se eliminan o cifran, y es a los cuasi-identifi-


cadores a los que se les aplica el método de protección. En algunos casos,
podemos tener algún atributo confidencial al que no se aplica el método de
protección y por tanto no se modifica. Esto es debido a que pueden ser el
objeto del estudio en los microdatos y se quiere minimizar el error asociado a
CC-BY-NC-ND • PID_00274689 18 Introducción a la privacidad en la publicación de datos

dicho atributo. Además, al ser confidencial, se asume que un posible atacante


no tendrá conocimiento sobre el mismo.

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.

Es importante remarcar que no es suficiente proteger datos simplemente eli-


minado los atributos identificadores. Aunque, aparentemente, unos datos sin
atributos identificadores podrían parecer anónimos, no lo son. Un atacan-
te podría obtener información sobre los individuos a partir de 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.

Tabla 3. Microdatos sin atributos identificadores

Occupation ZIP Age Sex Income

Runner 80222 42 M 25050

School teacher 40831 28 F 18098

Police Det. 97206 51 M 28760

Professor 40831 23 M 26062

Student 40831 12 F 790

Police Capt. 97206 68 M 30033

Boxer 80237 30 F 55093

Horse rider 80911 46 M 17330

Military Lt. 97201 55 F 15700

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 unicidad de valores cuasi-identificadores es sin duda un problema de pri-


Identificación única
vacidad y es más común de lo que puede parecer. Como curiosidad, inves- mediante
tigadores determinaron que se podía identificar de forma única el 87,1 % de cuasi-identificadores

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

gistro. Esta información nueva puede ser el valor concreto o simplemente


el aumento en la precisión de la información sobre el mismo (por ejemplo,
un intervalo en el caso de una variable numérica).

• Revelación de identidad: se produce cuando el atacante puede reiden-


tificar de forma inequívoca el registro que corresponde a un individuo o
entidad concretos. Es decir, cuando se produce una reidentificación.

A continuación vemos el ejemplo anterior, y el tipo de revelación que ocurre


en cada caso.

Ejemplo: revelación de atributo e identidad

Suponemos que el atacante intenta obtener información de la tabla 3 basándose en un


conocimiento previo concreto:

• Revelación de atributo: si el atacante sabe que el individuo que busca es mujer y


vive en el código postal 40831, puede saber que su salario es 18.098 o 790. Aunque
no puede saber qué registro corresponde al individuo que busca, sí sabe que puede ser
el segundo o el quinto, lo que le permite mejorar la precisión del conocimiento que
tiene sobre dicho sujeto. El conocimiento no solo se refiere al atributo confidencial, el
atacante también puede obtener información de otros atributos cuasi-identificadores,
en este caso, que puede tener una edad cercana a 28 o 12.

• Revelación de identidad: si el atacante sabe que el individuo que busca es mili-


tar de profesión, sabrá que se trata del último registro, y por tanto su salario es de
15.700. En este caso el atacante ha podido reidentificar sin ambigüedad el registro
que corresponde al individuo que busca.

A continuación veremos cómo se puede medir la privacidad de un conjunto


de datos de forma más precisa.
CC-BY-NC-ND • PID_00274689 20 Introducción a la privacidad en la publicación de datos

1.2.1. Tipos de medidas de privacidad

Medir el nivel de privacidad o anonimato de un conjunto de datos no es


sencillo y muchas veces depende de factores externos como el conocimiento
previo que tenga el atacante sobre los datos. Es importante sin embargo poder
establecer algún indicador sobre la privacidad que se consigue al aplicar un
método de protección o sencillamente alguna medida del riesgo de revelación
asociado a unos datos concretos.

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

La k-anonimidad (o k-anonimato) es un modelo de privacidad muy popular


que podemos definir de la siguiente manera.

Un conjunto de microdatos X cumple k-anonimidad respecto a los


cuasi-identificadores de X, si cualquier combinación de valores de los
cuasi-identificadores aparece como mínimo k veces.

Podemos decir que el conjunto X cumple k-anonimidad si como mínimo


siempre existen k registros indistinguibles entre ellos respecto a sus cuasi-
identificadores. El conjunto de registros indistinguibles recibe también el nom-
bre de clase de equivalencia y se puede ver como un conjunto de anoni-
mato.

Originalmente se define en el contexto de la privacidad en microdatos y por


ello la definición hace referencia los cuasi-identificadores. Hoy en día, sin em-
bargo, se aplica en muchos tipos de datos requiriendo que los valores obser-
vables de los datos cumplan 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

En la tabla 4 se muestra un ejemplo de microdatos 3-anónimos respecto a los cuasi-


identificadores occupation, ZIP y sex. Como se observa, existen siempre 3 registros indis-
tinguibles respecto a estos cuasi-identificadores. En general podemos decir que la pro-
babilidad de reidentificación o revelación de identidad es, como máximo, de 1/3. Un
atacante con algún conocimiento previo nunca podrá distinguir qué registro de entre los
3 corresponde al individuo que busca (asumiendo que no conozca o tenga información
sobre el atributo confidencial income).

Tabla 4. Microdatos k-anónimos respecto a los


cuasi-identificadores: occupation, ZIP, sex

Occupation ZIP Sex Income

Teacher 80122 M 10000

Teacher 80122 M 18098

Writer 97234 F 28000

Teacher 80122 M 20100

Writer 97234 F 30000

Writer 97234 F 9210

Cabe destacar que en la tabla 4 del ejemplo anterior vemos 3 cuasi-identifi-


cadores y un atributo confidencial al que no se ha aplicado el método de
protección. Como se comenta en el subapartado 1.1.1, esto es a veces común
y parte de la asunción de que dicho atributo, al ser confidencial, no puede
ser conocido por el atacante y por tanto no supone un riesgo a la reidenti-
ficación. Esto permite reducir la pérdida de información respecto a este atri-
buto que suele ser el objeto de estudio. Por ese motivo la tabla 4 se considera
k-anónima respecto a los cuasi-identificadores. Podríamos proteger también el
atributo confidencial y considerar la tabla como k-anónima respecto a todos
los atributos.

La k-anonimidad se puede ver como una medida de riesgo de revelación de


identidad, ya que previene la reidentificación de registros; sin embargo, esta
puede no ser suficiente para proteger la revelación de atributo.

Por ejemplo, en la tabla 5 vemos unos datos que cumplen 3-anonimidad.


Se trata de unos microdatos similares al ejemplo anterior de la tabla 4 pero
donde la distribución de los valores del atributo confidencial es un poco más
curiosa. Si suponemos que el atacante sabe que la persona que busca vive en
el código postal 97222, puede saber que sus ingresos están en el intervalo
[23000,28000]. De la misma manera, si sabe que vive en el 80100, sabrá que
sus ingresos son de 10000. En ambos casos se produce revelación de atributo
en mayor o menor medida pese a que los datos cumplen k-anonimidad para
k = 3. Esto es lo que se suele denominar un ataque de homogeneidad, ya que
aprovecha la homogeneidad del atributo confidencial.
CC-BY-NC-ND • PID_00274689 22 Introducción a la privacidad en la publicación de datos

Tabla 5. Microdatos k-anónimos y revelación


de atributo

Occupation ZIP Sex Income

Teacher 80100 M 10000

Teacher 80100 M 10000

Teacher 80100 M 10000

Writer 97222 F 28000

Writer 97222 F 25000

Writer 97222 F 23000

Para tratar estos problemas se han definido diversos modelos adicionales a


la k-anonimidad. En los siguientes subapartados comentamos los más rele-
vantes.

l-Diversidad

Para evitar el problema que vemos en la tabla 5, l-diversidad (o en inglés


l-diversity) busca garantizar un nivel de diversidad mínimo en el atributo con-
fidencial de cada clase de equivalencia.

Un conjunto de microdatos k-anónimo, cumple l-diversidad, si cada


clase de equivalencia o conjunto de anonimato contiene al menos l
valores bien representados para el atributo confidencial.

En esta definición un punto clave es el concepto de bien representado, ya que


se puede interpretar de maneras diferentes. Entre las posibles interpretaciones,
destacamos:

• Valores distintos: requerimos l valores distintos del atributo confidencial


en cada clase de equivalencia.

• Entropía: requerimos que los valores confidenciales en cada clase de equi-


valencia presenten una entropía mayor que log(l). Si denotamos SQ como
el conjunto de valores del atributo confidencial en la clase de equivalencia
Q, la entropía de Q, H(Q) es:

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

Donde p(Q,s) es la fracción de registros con valores confidenciales iguales


a s en Q.

El conjunto de datos cumple l-diversidad de entropía si H(Q) ≥ log(l) para


toda Q en el conjunto de datos X.

Ejemplo (cálculo de la entropía de una clase de equivalencia)

En la tabla 6a vemos unos microdatos que cumplen 3-anonimidad y constan de dos


clases de equivalencia con 3 elementos cada una. El atributo confidencial Income no se
ha protegido. Podemos ver cómo calcular la entropía para las dos clases de equivalencia.

Tabla 6. Ejemplo de l-diversidad en datos 3-anónimos

Occup. ZIP Sex Income

Teacher 80100 M 10000

Teacher 80100 M 20000

Teacher 80100 M 10000

Writer 97222 F 28000 Valores distintos 2-diversidad

Writer 97222 F 25000 Entropía 1,8-diversidad

Writer 97222 F 23000 (c,l)-Diversidad rec. (3,2)-diversidad

a. Ejemplo de microdatos 3-anónimos b. Diferentes tipos de l-diversidad

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.

La entropía de esta primera clase de equivalencia se puede calcular como:

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 ))

= – ((2/3 log 2/3) + (1/3 log 1/3))

= –(–0,39 – 0,53) = 0,9183

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

= –(–0,528 – 0,528 – 0,528) = 1,585

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

• (c,l)-Diversidad recursiva: en una clase de equivalencia Q, denotamos co-


mo ri la frecuencia del valor confidencial si en Q, y ordenamos de forma
decreciente la frecuencia de todos los valores si de Q: r1 ≥ r2 ≥ . . . ≥ rm .

El conjunto de datos cumple (c,l)-diversidad si para toda Q, r1 < c(rl + rl+1 +


. . . + rm ).

Ejemplo (diferentes tipos de l-diversidad)

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).

Los diferentes valores de l-diversidad se pueden determinar de la siguiente manera:

• 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):

Q1 :2 (valor 10000) ≥ 1 (valor 20000) →2≥1

Q2 :1 (valor 28000) ≥ 1 (valor 25000) ≥ 1 (valor 23000) →1≥1≥1

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 algunos casos la aplicación de l-diversidad puede resultar difícil o contra-


producente. En cierta medida, l-diversidad asume una distribución uniforme
de los valores del atributo confidencial. Supongamos que tenemos un atributo
confidencial que determina 3 rangos de salario o valores concretos. El 99 % de
los registros tiene el rango 1, el 0,9 % el rango 2, y el 0,1 % restante el rango
3. En este caso la aplicación de l-diversidad es complicada e incluso podría
inducir a un aumento de la revelación de atributo.
CC-BY-NC-ND • PID_00274689 25 Introducción a la privacidad en la publicación de datos

La idea de la t-proximidad (o t-closeness en inglés) es hacer que la distribución


de los valores confidenciales en una clase de equivalencia sea la misma (o muy
parecida) a la distribución de dichos valores en el todo el conjunto de datos.

Un conjunto de microdatos cumple t-proximidad si para todas las cla-


ses de equivalencia, la distancia entre la distribución de valores de los
atributos confidenciales en la clase y la distribución del atributo en todo
el conjunto de datos es menor o igual que un umbral t.

Como distancia entre distribuciones se suele utilizar la distancia conocida co-


mo EMD (earth mover’s distance) pero se podría utilizar cualquier otra distancia Earth mover’s distance

entre distribuciones de probabilidades. No entraremos en detalles sobre cómo


Más información sobre
calcular la distancia y asegurar por tanto t-proximidad, pero sí es importante EMD y su uso para el
cálculo de t-proximidad se
remarcar el problema que puede tener no respetar la distribución del atributo puede encontrar en:
confidencial en microdatos k-anónimos, cuanto este no está protegido. Más N. Li; T. Li; S.
Venkatasubramanian
información se puede encontrar en los artículos detallados en el cuadro al (2007). T-closeness: privacy
margen o en la bibliografía del módulo. beyond k-anonymity and
l-diversity. Proceedings of
the IEEE ICDE 2007,
https://bit.ly/2OErIC5

1.2.3. Privacidad diferencial

La privacidad diferencial es un modelo de privacidad que ha ganado popula-


ridad en los últimos años. Inicialmente se plantea en el contexto de un esce-
nario online (véase el subapartado 1.1) pero es extensible a la publicación de
datos en general (escenario offline).

Ejemplo (uso actual de privacidad diferencial):

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/

El Census Bureau de Estados Unidos también está utilizando privacidad diferencial en la


elaboración del censo de 2020:

https://www.census.gov/about/policies/privacy/statistical_safeguards/disclosure-avoidance-
2020-census.html

En privacidad diferencial se considera que un conjunto de datos es privado,


si al añadir, eliminar o modificar un solo registro del conjunto, no afecta al
resultado del análisis que se hace sobre esos datos. Para ello se considera que
una consulta a una base de datos debería dar el mismo resultado (o un resulta-
do muy parecido) aunque se borre o añada un registro. Es decir, la ausencia o
presencia de un registro cualquiera no debería condicionar la respuesta, o no
debería ser perceptible a partir de las posibles consultas y respuestas.
CC-BY-NC-ND • PID_00274689 26 Introducción a la privacidad en la publicación de datos

En la definición original consideraremos dos bases de datos D1 y D2 que di-


fieren en un solo elemento o registro. Por ejemplo, una tiene un solo registro
(o fila en el caso de microdatos) más que la otra. Consideramos que se puede
hacer una consulta f a una base de datos D y obtener un resultado f (D). El ob-
jetivo es encontrar una función Kf que, sustituyendo a f , garantice privacidad
diferencial sin alterar mucho el resultado. Es decir, Kf es una versión segura
(que preserva la privacidad) de f . La idea más sencilla es pensar intuitivamente
en Kf como f más un ruido añadido: Kf (D) = f (D) + ruido.

Una función Kf para una consulta f , proporciona ε-privacidad dife-


rencial si para todas las bases de datos D1 y D2 que difieren en un solo
elemento, para todo S ⊆ Rango(Kf ):

P[Kf (D1 ) ∈ S] ≤ eε × P[Kf (D2 ) ∈ S]

Muchas veces la desigualdad de la definición anterior se expresa también co-


Rango de una función
mo:
Recordamos que el rango o
imagen de una función f ,
P[Kf (D1 ) ∈ S] que denotamos como
≤ eε
P[Kf (D2 ) ∈ S] Rango(f ), es el conjunto de
todos los valores que puede
tomar dicha función f .
Aunque la definición puede parecer un poco confusa, su interpretación es
muy sencilla. La diferencia entre la consulta Kf (D1 ) y Kf (D2 ) debe ser lo me-
nos perceptible posible y queda limitada por el umbral ε. En este sentido ε se
utiliza como indicador del nivel de privacidad proporcionado. Cuanto menor
sea ε mayor será la privacidad, ya que más parecidas serán las dos respuestas.
Podemos decir que si tenemos ε = 0 la privacidad es máxima, las dos res-
puestas Kf (D1 ) y Kf (D2 ) retornan el mismo resultado para cualquier consulta
f haciendo indistinguible la presencia o ausencia de cualquier registro. De la
misma manera con ε = 0,01 ambas respuestas difieren como mucho en el 1 %.

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

Tabla 7. Ejemplo de datos para privacidad diferencial

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

a. Base de datos D1 b. Base de datos D2 c. Base de datos D3

Podemos realizar la misma consulta a D1 y D2 :

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

Comparando el resultado de las consultas podemos obtener información sobre el registro


que se ha eliminado en cada caso. Si comparamos f (D1 ) y f (D2 ) la diferencia es menor
que si comparamos f (D1 ) y f (D3 ), pero en ambos casos podemos inferir información
sobre el valor eliminado. En el primer caso (D2 ) dicho valor es cercano a la media y en el
segundo (D3 ) es considerablemente menor a la media.

El objetivo de la privacidad diferencial es hacer que las diferencias entre las


consultas del ejemplo anterior sean lo menor posible de forma uniforme, o
mejor dicho, que a partir de esas diferencias no se pueda inferir información
sobre el registro eliminado. Para ello se suele aplicar algún tipo de aleatoriedad
a la respuesta. En este caso podríamos añadir ruido a la respuesta. De esta
manera al observar las diferencias entre las consultas no podremos discernir
si dichas diferencias son debidas al ruido o a la propia consulta. A mayor
ruido, mayor privacidad. Se busca que resulte más difícil obtener información
sobre el valor eliminado haciendo que la incertidumbre sobre el resultado sea
mayor. Por otra parte y como era presumible, un ruido muy elevado producirá
mayor pérdida de información.

En el subapartado 1.4.2 veremos cómo se aplica ruido para conseguir privaci-


dad diferencial.
CC-BY-NC-ND • PID_00274689 28 Introducción a la privacidad en la publicación de datos

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

Como vemos, el individuo contesta la pregunta con sinceridad con un 50 % de probabili-


dad y da una respuesta aleatoria con la misma probabilidad. Podemos ver la probabilidad
de que la respuesta obtenida sea cierta o no. Denotamos como A la estrategia definida
anteriormente, de manera que A(sí) es el resultado de aplicar dicha estrategia cuando la
respuesta original (verdadera) es sí.

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.

Tabla 8. Probabilidades de respuestas para la estrategia A

Respuesta 1a moneda 2a moneda Respuesta Probabilidad


original protegida

sí Cara - A(sí) = sí 0,5

sí Cruz Cara A(sí) = sí 0,25

sí Cruz Cruz A(sí) = no 0,25

no Cara - A(no) = no 0,5

no Cruz Cara A(no) = sí 0,25

no Cruz Cruz A(no) = no 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:

P[A(sí ) = sí] P[A(no) = no]


= =3
P[A(no) = sí] P[A(sí ) = no]
CC-BY-NC-ND • PID_00274689 29 Introducción a la privacidad en la publicación de datos

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 .

Una propiedad interesante de la privacidad diferencial es el teorema de com-


posición secuencial.

La composición secuencial en privacidad diferencial determina que


dada una función aleatoria K1 que proporciona ε1 -privacidad diferen-
cial, y otra función K2 que proporciona ε2 -privacidad diferencial. La
aplicación de las dos funciones al mismo conjunto de datos (K1 ,K2 )
proporciona (ε1 + ε2 )-privacidad diferencial.

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 .

Este teorema tiene implicaciones importantes, ya que en cierta manera limi-


ta de forma clara y precisa el número de consultas que podremos hacer a un
conjunto de datos, o conjuntos de datos parecidos (no disjuntos), al valor de
ε que hayamos fijado. Es lo que se suele denominar como presupuesto de
privacidad. Tenemos un presupuesto de privacidad acotado por ε que iremos
gastando cada vez que se realiza una consulta. Una vez hayamos consumido
ese presupuesto no vamos a poder realizar más consultas si queremos mante-
ner el nivel de privacidad acotado por ε.

En el caso de que las consultas K1 y K2 se realicen a dos subconjuntos dis-


juntos de la base de datos, se obtiene max(ε1 ,ε2 )-privacidad diferencial. Esta
propiedad se conoce como teorema de composición paralela.
CC-BY-NC-ND • PID_00274689 30 Introducción a la privacidad en la publicación de datos

En la práctica, la privacidad diferencial puede presentar unos requerimientos


de privacidad muy estrictos que hacen que su aplicación comporte general-
mente mucha pérdida de información.

Actualmente se suele utilizar una definición de privacidad diferencial un poco


más laxa, dando lugar a lo que se conoce como (ε,δ )-privacidad diferencial.

Una función Kf para una consulta f , proporciona (ε,δ )-privacidad di-


ferencial si para todas las bases de datos D1 y D2 que difieren en un
solo elemento, para todo S ⊆ Rango(Kf ):

P[Kf (D1 ) ∈ S] ≤ eε × P[Kf (D2 ) ∈ S] + δ

El uso del parámetro δ se puede ver como una generalización de ε-privacidad


diferencial para δ = 0. La motivación para introducir este parámetro es que
la diferencia entre la respuesta a dos bases de datos que difieren en un so-
lo registro puede estar muy condicionada por registros que presenten valores
atípicos. Por ejemplo, al añadir un valor atípico, la diferencia de las consultas
puede ser muy grande. Esto condiciona la sensibilidad de la consulta y por
tanto el parámetro ε, aunque la probabilidad de que esos valores atípicos apa-
rezcan sea muy pequeña. Por ello muchas veces se eliminan estos casos raros
con valores atípicos. El uso del parámetro δ permite aceptar estos casos raros
siempre que ocurran con una probabilidad ≤ δ .

Todo lo que hemos explicado aquí es extensible a (ε,δ )-privacidad diferencial,


incluyendo los teoremas de composición. Hemos optado, sin embargo, por
centrarnos en la definición original de ε-privacidad diferencial para simplificar
la exposición. Como siempre, referimos al lector a la bibliografía del módulo
para profundizar y ampliar los conceptos aquí expuestos.

1.2.4. Riesgo de reidentificación y unicidad

Tanto k-anonimidad como privacidad diferencial son modelos de privacidad


que en cierta medida nos proporcionan una evaluación booleana sobre el ries-
go de revelación asociado a unos datos. Los datos cumplen o no la propiedad
con todo lo que ello comporta. Cierto es que ambos modelos son parametri-
zables y pueden expresar diversos grados de privacidad o riesgo de revelación,
pero siempre determinan si los datos cumplen o no ese nivel de privacidad.

En este subapartado veremos alguna medida de riesgo de revelación y por


tanto de privacidad que no tiene esta naturaleza booleana. Se trata de medi-
CC-BY-NC-ND • PID_00274689 31 Introducción a la privacidad en la publicación de datos

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

En este caso podemos definir el riesgo asociado a unos datos en función de


la probabilidad de que el valor de un atributo o combinación de atributos
puedan aparecer con una frecuencia muy baja en los datos. En la tabla 3 del
subapartado 1.2 ya vimos que la existencia de valores únicos es problemática.

Existen diversas maneras de considerar y medir la unicidad en un conjunto


de datos, una de las más comunes es la que se conoce como medida de ries-
go individual (o record-level risk uniqueness). La idea es intentar establecer la
probabilidad de que un registro sea reidentificado en función de la frecuencia
de la combinación de los valores de sus atributos en los datos publicados. Es
decir, la probabilidad de que una combinación de atributos sea poco frecuente
en los datos publicados y en la población de la que se obtienen los datos.

Medidas de reidentificación

Podemos definir medidas de privacidad basándonos en una estimación de lo


fácil o difícil que puede ser reidentificar un atributo en los datos protegidos.
Dado un conjunto de datos originales X y los correspondientes datos prote-
gidos X′ = ρ (X), podemos mirar el porcentaje de registros de X′ que pueden
ser reidentificados por un atacante. Lo que suele dificultar esta estimación es
que este porcentaje dependerá del conocimiento previo que tenga el atacante
sobre los datos X.

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).

El enlace de registros consiste en enlazar registros entre dos conjuntos de datos


que hacen referencia al mismo individuo o entidad. En nuestro caso, para cada
registro bi ∈ B se intenta enlazar con el registro x′j ∈ X′ de manera que bi y x′j
hagan referencia al mismo individuo o entidad. Existen diversos métodos y
CC-BY-NC-ND • PID_00274689 32 Introducción a la privacidad en la publicación de datos

técnicas de enlace de registros. Uno de los más utilizados como método de


reidentificación es el enlace de registros basado en distancia.

En el enlace de registros basado en distancia entre dos conjuntos de


datos B y X, cada registro bi de B se enlaza con el registro x′j de X más
cercano. El registro más cercano se define según una función de distan-
cia entre registros de B y X′ .

Dependiendo del tipo de datos y registros se utilizará una función de distancia


u otra. Por ejemplo, en el caso de registros con atributos numéricos se puede
utilizar la de la distancia euclidiana.

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.

La figura 6 ilustra esta idea de enlace de registros basado en distancia. En es-


te caso, B tiene dos atributos V1 y V2 , mientras que X′ tiene estos mismos
atributos aparte de dos más. El enlace de registros basado en distancia bus-
ca enlazar cada registro de B con el más cercano de X′ . Si el primer regis-
tro de B es (b11 ,b12 ), buscará el registro de X′ , (x′i1 ,x′i2 ), más cercano utilizan-
do los mismos atributos, es decir aquel registro Xi′ = (x′i1 ,x′i2 ,x′i3 ,x′i4 ) tal que
d((b11 ,b12 ),(x′i1 ,x′i2 )) ≤ d((b11 ,b12 ),(x′j1 ,x′j2 )) para todo j 6= i.

Figura 6. Enlace de registros

Utilizando esta estrategia podemos cuantificar el riesgo de revelación de un


conjunto de datos protegido X′ en función de los datos conocidos por el
atacante, B. Pero ¿cómo podemos determinar el conocimiento que tiene el
atacante? No siempre es factible y en este sentido se pueden adoptar varias es-
trategias. Habrá casos en que podemos utilizar como B datos públicos (publi-
CC-BY-NC-ND • PID_00274689 33 Introducción a la privacidad en la publicación de datos

cados en otro conjunto de datos) o podemos intentar intuir el conocimiento


que puede tener algún tipo de atacante.

Una posibilidad interesante es considerar el peor caso, esto es cuando B = X.


Esta situación puede parecer carente de sentido desde un punto de vista prác-
tico, ya que si el atacante conoce X no necesita hacer ninguna reidentifica-
ción. Sin embargo, sí que nos sirve como una medida de revelación. La idea es
intentar utilizar el enlace de registros para buscar enlaces entre X y X′ . Intuiti-
vamente, si podemos determinar el enlace de forma correcta, la protección es
peor que en el caso de que no se pueda.

Un porcentaje de reidentificaciones correctas por enlace de registros entre X


y X′ del 100 % representa un riesgo muy alto (se puede establecer el enlace
correcto entre todos los registros de X y X′ ), y uno del 1 % uno muy bajo. Se
puede ver como una cota máxima del riesgo de reidentificación o revela-
ción de identidad, ya que estamos considerando el peor caso.

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′′ .

Tabla 9. Microdatos anonimizados de dos formas diferentes

V1 V2 V3 V1 V2 V3 V1 V2 V3

10 33,4 1000 0 30,2 1000 0 20,0 900

0 28,9 1010 0 31,2 1000 0 20,0 900

30 10,3 922 20 12,0 1000 0 20,0 900

20 80,0 20200 30 82,1 20000 20 70,0 20000

30 59,0 15320 20 55,2 15000 20 70,0 20000

a. Datos originales X b. Datos protegidos X′ c. Datos protegidos X′′

Queremos medir el riesgo máximo de reidentificación utilizando enlace de registros ba-


sado en distancia. Para ello buscaremos, para cada registro de X, cuál es el registro más
cercano de X′ y de X′′ . Es decir, aplicamos enlace de registros entre X y X′′ . La distancia
la calcularemos como la distancia euclidiana. Por ejemplo, la distancia entre el primer
registro de X y el primer registro de X′ se puede obtener como:


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

Podemos calcular la distancia de X1 a todos los registros de X′ y quedarnos con el registro


de X′ que tiene la menor distancia. Haremos lo mismo para el resto de registros de X. De
esta manera obtenemos la correspondencia entre registros de X y X′ , y podemos verificar
si esa correspondencia es correcta. Es decir, si realmente el enlace de registros basado en
distancia ha enlazado bien los registros.

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

en la tabla 10a, 1 → 2 quiere decir que se ha enlazado el primer registro de X con el


segundo de X′ , y por tanto este enlace es incorrecto. Vemos que en el primer caso hay
3 enlaces correctos de 5, es decir se consigue reidentificar el 60 % de los registros. En el
segundo caso tenemos 2 de 5, es decir un 40 %.

Tabla 10. Resultado del enlace de registros

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

a. Enlace entre X y X′ b. Enlace entre X y X′′

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 la práctica, el enlace de registros basado en distancia es muy costoso de calcular tal


como lo hemos hecho en este ejemplo. Se acostumbra a plantear como un problema de
optimización donde se busca maximizar el número de enlaces correctamente enlazados.
Se pueden utilizar diferentes funciones de distancia y asignar pesos diferentes a cada
atributo en función de su relevancia de cara a la reidentificación.

1.3. Medidas de pérdida de información

Como hemos comentado, al plantear la anonimización de datos existe siem-


pre un conflicto entre el grado de privacidad y la pérdida de información. En
el subapartado previo hemos visto algunas maneras de medir la privacidad, y
de la misma manera podemos utilizar diversas medidas de pérdida de infor-
mación.

Poder estimar la información que se pierde al aplicar un método de protec-


ción concreto es importante, ya que nos ayuda a estimar hasta qué punto los
datos resultantes van a ser útiles en posteriores estudios. Es común referirse a
medidas de pérdida de información y medidas de utilidad de forma equiva-
lente aunque son conceptos inversamente proporcionales (véase el subapar-
tado 1.1.2). A mayor pérdida de información, menor utilidad. A pesar de ser
medidas inversas, se suelen utilizar las mismas métricas diferenciando única-
mente su interpretación.

De forma general, podemos medir la pérdida de información comparando


los datos protegidos con los datos originales. Cuanta mayor sea la diferencia
entre los dos, mayor es la pérdida de información que se ha producido. Esta
diferencia se suele denotar de forma genérica como divergencia (figura 7).
CC-BY-NC-ND • PID_00274689 35 Introducción a la privacidad en la publicación de datos

Figura 7. Pérdida de información como divergencia entre datos


protegidos y originales

?
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

En la tabla 11 se muestra un ejemplo de microdatos con 3 atributos numéricos V1 , V2 ,


y V3 , donde vemos los datos originales X (tabla 11a), y dos versiones protegidas, X′
(tabla 11b), y X′′ (tabla 11c). Vemos que se ha introducido algún tipo de distorsión
diferente en X′ y X′′ . Tanto X′ como X′′ son versiones protegidas de X pero el nivel de
protección es diferente en uno y otro caso.

Tabla 11. Ejemplo de microdatos anonimizados para el cálculo de pérdida de información

V1 V2 V3 V1 V2 V3 V1 V2 V3

1 33,4 1000 0 30,2 1000 0 40,0 900

0 28,9 1010 0 31,2 1000 0 20,0 1000

3 10,3 922 2 12,0 1000 2 20,0 900

2 80,0 20200 3 82,1 20000 2 70,0 20000

3 59,0 15320 2 55,2 15000 2 50,0 20000

a. Datos originales X b. Datos protegidos X′ c. Datos protegidos X′′


CC-BY-NC-ND • PID_00274689 36 Introducción a la privacidad en la publicación de datos

Si aplicamos la medida de pérdida de información que hemos definido anteriormente


como divavg , tenemos que:

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′′ .

Se pueden utilizar diversas medidas de divergencia para evaluar la pérdida de


información. Al utilizar divavg vemos como se pierde la información captura-
da por la media valor a valor, pero tal vez no sea una medida adecuada para
medir la pérdida de información que se produce, por ejemplo, respecto a la
dispersión de los valores (varianza o desviación estándar). Por eso es común
utilizar diversas medidas en función de qué se quiere medir, o qué característi-
ca nos interesa analizar respecto a la pérdida de información. Estas medidas de
pérdida de información se pueden combinar en una (agregándolas) o simple-
mente darlas por separado. Así mismo, se pueden aplicar a atributos concretos
o, como el caso de divavg , a todos.

El problema que tenemos con el estudio de medidas de pérdida de informa-


ción es que no existe una o varias medidas que predominen sobre el resto, y
muchas veces se desarrollan de forma ad hoc a los datos o escenarios concre-
tos. Como ejemplo, en los siguientes subapartados vamos a discutir algunas
medidas de pérdida de información genéricas para datos numéricos y comen-
taremos un poco alguna medida específica. Para más información referimos al
lector a la bibliografía del módulo.

1.3.1. Ejemplo: pérdida de información genérica


en datos numéricos

Como ejemplo vamos a ver medidas de pérdida de información genérica que


se pueden utilizar en datos numéricos. Para ello usaremos tres tipos de me-
didas de error comúnmente utilizadas en el análisis de datos. En este caso
compararemos dos conjuntos de datos elemento a elemento; otra opción que
puede ser interesante es hacerlo registro a registro (considerando cada registro
como un vector).
CC-BY-NC-ND • PID_00274689 37 Introducción a la privacidad en la publicación de datos

Dados dos conjuntos de microdatos A y B, con N registros y M variables, pode-


mos considerar cada conjunto como una matriz y definir las funciones de di-
vergencia siguientes. Todas ellas son medidas de error donde valores cercanos
a 0 suponen un menor error y por tanto menor pérdida de información.

• Mean Squared Error (MSE): mide la media de la diferencia elemento a


elemento al cuadrado. Una característica de esta medida es que da más
peso a valores atípicos (outliers) al elevar al cuadrado la diferencia.

1 X
MSE(A,B) = (aij – bij )2
NM
ij

• Mean Absolute Error (MAE): mide la media de la diferencia elemento a


elemento en valor absoluto. Como medida de error absoluto (al igual que
la anterior MSE) no tiene en cuenta la magnitud o escala del dato que está
midiendo. Es decir, un mismo error absoluto de 2 respecto al número 10 es
peor que respecto al número 1000 (tanto MSE como MAS no capturan esta
característica).

1 X
MAE(A,B) = |aij – bij |
NM
ij

• Mean Relative Error (MRE): mide la media de la diferencia elemento a


Matrices de covarianza y
elemento en valor relativo respecto al elemento original. En este caso el correlación
error es relativo al valor original, por lo que a diferencia del error absoluto,
La matriz de covarianza
sí se tiene en cuenta la magnitud o escala del dato.
captura la varianza entre
cada atributo (columna)
dando una matriz simétrica
1 X |aij – bij | M × M donde cada elemento
MRE(A,B) =
NM |aij | cov(A)ij = cov(Vi ,Vj ).
ij
Recordamos que para dos
atributos Vi , Vj del conjunto
de datos X, cov(Vi ,Vj ) =
Ahora podemos utilizar estas funciones para evaluar varias características en- 1 PN
N r=0 (xri – µ(Vi ))(xrj – µ(Vj )),
tre datos originales X y datos protegidos X′ , que consideramos como matrices. donde µ(Vi ) es la media del
atributo Vi y N el número de
Denotamos como cov(A) la matriz de covarianza de A, y corr(A) como la ma- registros.
triz de correlación de A. Podemos entonces definir las medidas de pérdida de De forma similar, la matriz
de correlación captura la
información de la tabla 12. correlación entre atributos
(columnas) dando una matriz
M × M donde cada elemento
Al comparar las matrices de covarianza y correlación entre datos protegidos corr(A)ij = corr(Vi ,Vj ). Como
medida de correlación se
y originales, estamos midiendo cómo se altera la relación entre las variables suele utilizar el coeficiente de
(columnas) de los conjuntos de microdatos. Es decir, en qué medida la protec- correlación de Pearson, que
se calcula como la covarianza
ción aplicada a los datos originales está modificando esa relación. Por relación dividida por la desviación
entre variables entendemos que, por ejemplo, si en los datos originales los va- estándar de las dos variables
(σVi y σVj respectivamente):
lores altos de una variable coinciden con los valores altos de otra, esto debería cov(Vi ,Vj )
corr(Vi ,Vj ) = σV σV
.
mantenerse al proteger los datos. i j
CC-BY-NC-ND • PID_00274689 38 Introducción a la privacidad en la publicación de datos

Tabla 12. Ejemplo de medidas de pérdida


de información para datos numéricos

ILId_MSE (X,X′ ) = MSE(X,X′ )

ILId_MAE (X,X′ ) = MAE(X,X′ )

ILId_MRE (X,X′ ) = MRE(X,X′ )

ILCov_MSE (X,X′ ) = MSE(cov(X),cov(X′ ))

ILCov_MAE (X,X′ ) = MAE(cov(X),cov(X′ ))

ILCov_MRE (X,X′ ) = MRE(cov(X),cov(X′ ))

ILCorr_MSE (X,X′ ) = MSE(corr(X),corr(X′ ))

ILCorr_MAE (X,X′ ) = MAE(corr(X),corr(X′))

ILCorr_MRE (X,X′ ) = MRE(corr(X),corr(X′))

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.

1.3.2. Ejemplo: pérdida de información específica

Existen medidas de pérdida de información específicas a aplicaciones concre-


tas o al uso concreto que se va a dar a esos datos. Esto permite ajustar mejor la
cuantificación de la pérdida de información para un análisis concreto. En estos
casos solemos referirnos al uso de datos protegidos en modelos de aprendizaje
automático o minería de datos.

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

Figura 8. Medidas específicas de pérdida de información

? ?

No existe una manera general o métrica para medir la pérdida de información


en estos escenarios. La mayoría de las medidas se desarrollan comparando
directamente los modelos (no siempre es fácil o posible) o comparando los
resultados para un conjunto de test concreto, lo que hace que sean muy de-
pendientes del tipo de modelo que se utilice.

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.

Aclarado este punto, tomamos los siguientes conjuntos de datos:


Ruido aditivo
• X: conjunto de datos Iris original.
• X′ : resultado de proteger los datos Iris con ruido aditivo en los atributos numéricos
El ruido aditivo, que veremos
con un parámetro p = 0,1 % de ruido.
con más detalle en el
• X′′ : resultado de proteger los datos Iris añadiendo ruido, esta vez con p = 1 %.
subapartado 1.4.2, consiste
en sumar ruido a los datos
Sin entrar en detalle en el tipo de protección (que veremos en el subapartado 1.4.2),
originales. Este ruido utiliza
podemos decir que el conjunto X′′ ha sido protegido con un nivel de ruido mucho
un parámetro p, cuanto
mayor. Lo normal es que X′′ presente mayor pérdida de información que X′ respecto
menor sea p se produce
a X.
menos ruido y por tanto
menos distorsión
A partir de estos datos se obtiene un modelo. En nuestro caso hemos generado un árbol
(presumiblemente, menor
de decisión mediante partición recursiva. Concretamente, hemos entrenado el modelo
pérdida de información y
para clasificar nuevos datos según los atributos Petal.Width y Sepal.Width. A partir de X,
mayor riesgo de relevación).
X′ , y X′′ generamos respectivamente los modelos M, M ′ , M ′′ . En la figura 9 podemos ver
los tres árboles de decisión generados

Figura 9. Ejemplo de modelos generados a partir de datos protegidos


setosa setosa
Petal.Width Petal.Width
versicolor versicolor
< 0.8 virginica < 0.74 virginica
>= 0.8 >= 0.74
Petal.Width Petal.Width
< 1.8 < 1.7
>= 1.8 >= 1.7

setosa versicolor virginica setosa versicolor virginica

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

setosa versicolorversicolorversicolor virginica virginica virginica virginica

9c. Modelo M ′′ a partir de los datos protegidos X′′

Una posibilidad para medir la pérdida de información es comparar estos modelos. A


simple vista parece claro que hay mayor similitud entre M ′ y M, que entre M ′′ y M.

La comparación de los modelos no siempre es sencilla, ya que necesitamos alguna ma-


nera formal de poder realizar la comparación (generalmente no podemos decir que a
‘simple vista’ se parecen o no). Esto dependerá mucho del tipo de modelo y de su com-
CC-BY-NC-ND • PID_00274689 41 Introducción a la privacidad en la publicación de datos

plejidad.

La otra posibilidad es comparar el resultado de aplicar el modelo a un conjunto de datos


de test. En la tabla 13 se muestra la clasificación de un conjunto de test (definido por los
atributos Petal.Width y Sepal.Width) utilizando los tres árboles de decisión M, M ′ , y M ′′ .
En general, vemos que la clasificación es bastante buena y se producen más errores de
clasificación utilizando M ′′ que M ′ .

Tabla 13. Clasificación de datos de test como medida de pérdida


de información con los modelos M, M ′ y M ′′

Petal.Width Sepal.Width M M′ M ′′

0,5 3,0 setosa setosa setosa

0,2 3,5 setosa setosa setosa

2,7 1,3 versicolor versicolor versicolor

1,8 3,2 virginica virginica virginica

2,9 1,3 virginica virginica virginica

0,5 2,1 setosa setosa versicolor

2,1 2,6 virginica virginica versicolor

1,7 3,2 versicolor virginica virginica

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.

1.4. Métodos de protección

En este subapartado veremos diversos métodos de protección o masking de


datos. Vamos a ver qué métodos ρ podemos utilizar para obtener los datos
protegidos a partir de los datos originales, X′ = ρ (X). El uso de uno u otro
método puede depender de diversos factores como el uso que se quiere dar a
esos datos, si se quiere cumplir algún modelo concreto de privacidad, el nivel
de protección o pérdida de información que se quiere obtener, o el tipo de
datos con el que trabajamos.

Como hemos comentado al inicio del módulo nos centramos en métodos de


propósito general (o data-driven) llamados de masking, que son aquellos que
alteran de alguna manera los datos para protegerlos pero sin utilizar criptogra-
fía. Los datos protegidos no están cifrados y se puede operar con ellos como
se haría con los datos originales.

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

y veremos en qué consisten. De esta manera tenemos métodos de protección


de los siguientes tipos:

• 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.

Este error busca dificultar la revelación de información privada. Idealmen-


te el error introducido debería ser el mínimo posible para no introducir
demasiada pérdida de información.

• Métodos no perturbativos: estos métodos no alteran o modifican los da-


tos introduciendo información errónea. En su lugar, lo que hacen es redu-
cir la precisión o el detalle de la información, o incluso, eliminar algunos
valores. No introducen errores en el sentido de que la información de los
datos protegidos no es incorrecta aunque sí pueda tener menor detalle.

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.

Obviamente esta generalización introduce pérdida de información debida


a la pérdida de precisión en el valor protegido.

• Generación de datos sintéticos: este método es una alternativa a la mo-


dificación de la información original, ya que lo que hace es generar los da-
tos protegidos de forma aleatoria preservando algunas características (por
ejemplo, alguna propiedad estadística). Típicamente se obtiene un modelo
o distribución a partir de los datos originales y luego se generan los datos
protegidos de forma aleatoria a partir de dicho modelo. En este caso no
existe una relación directa entre un registro de X y otro de X′ .

En este módulo no pretendemos proporcionar una lista exhaustiva de méto-


dos de protección, sino dar un esbozo de la base de los principales métodos
de protección que podemos encontrar en la actualidad. La tabla 14 resume los
métodos que vamos a discutir en el módulo. Como se ve, damos más relevan-
cia a los métodos perturbativos y prácticamente pasamos de puntillas por los
de generación de datos sintéticos. Lo hacemos con el objetivo de simplificar
esta exposición sin por ello omitir las bases y poder dar una visión global de
CC-BY-NC-ND • PID_00274689 43 Introducción a la privacidad en la publicación de datos

los principales métodos de protección utilizados hoy en día. Cabe destacar


que los métodos actuales muchas veces combinan diversas estrategias o tipos
de métodos que extienden los que aquí veremos.

Tabla 14. Métodos de protección en este módulo

Ruido aditivo Subapartado 1.4.2

Ruido multiplicativo Subapartado 1.4.2


Perturbativos
Rank swapping Subapartado 1.4.3

Microagregación Subapartado 1.4.4

Generalización Subapartado 1.4.1


No perturbativos
Supresión Subapartado 1.4.1

Top/bottom coding Subapartado 1.4.1

Generación de datos sintéticos Subapartado 1.4.5

1.4.1. Generalización y supresión

A grandes rasgos, la generalización (en inglés generalization o recoding) con-


siste en reemplazar un valor por otro más general. El caso más típico es su
aplicación en datos categóricos mediante la combinación de diversas catego-
rías en una nueva. La categoría nueva es menos específica que las anteriores.

La generalización se puede hacer de diversas maneras dependiendo del tipo de


atributos que estemos tratando y de la información que tengamos sobre ellos.
Para ilustrarlo podemos ver en la tabla 15 un ejemplo de datos con diferentes
atributos y una posible protección por generalización de cada uno de ellos en
la tabla 16.

Tabla 15. Ejemplo de generalización: datos originales

Occupation ZIP Age Marital status

Runner 80222 42 Married

School teacher 40831 28 Divorced

Police Det. 97206 51 Widow/er

Professor 40831 23 Married

Student 40831 12 Single

Police Capt. 97206 68 Single

Boxer 80237 30 Divorced

Horse rider 80911 46 Married

Military Lt. 97201 55 Single


CC-BY-NC-ND • PID_00274689 44 Introducción a la privacidad en la publicación de datos

Tabla 16. Ejemplo de generalización: datos protegidos

Occupation ZIP Age Marital status

Sports 80*** [30, 49] Married

Education 40*** [10, 29] Divorced or Widow/er

Law Enforcement 97*** [50, 69] Divorced or Widow/er

Education 40*** [10, 29] Married

Education 40*** [10, 29] Single

Law Enforcement 97*** [50, 69] Single

Sports 80*** [30, 49] Divorced or Widow/er

Sports 80*** [30, 49] Married

Law Enforcement 97*** [50, 69] Single

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.

• occupation: atributo categórico que se ha generalizado utilizando una ontología como


la que se muestra en la figura 10. Este tipo de ontologías pueden venir dadas o existir
en entornos concretos, o en algunos casos se pueden inferir a partir de la semántica
del atributo.

• 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.

• marital status: se trata de un atributo categórico para el que no disponemos de una


ontología o jerarquía. Lo que se puede hacer en estos casos es agrupar algunos atri-
butos para crear categorías. En el ejemplo, se agrupan divorced y widow/er al ser las
que tienen menor representación.

Figura 10. Ontología para el atributo occupation

En resumen y de forma general, podemos aplicar diferentes tipos de generali-


zación dependiendo del tipo de atributo:

• Atributo categórico: uso de ontologías o jerarquías, o agrupación de va-


lores.
• Atributo numérico: cuantización en intervalos.
CC-BY-NC-ND • PID_00274689 45 Introducción a la privacidad en la publicación de datos

La generalización es un método que se aplica con frecuencia para conseguir k-


anonimidad. Como vemos, la tabla 16 cumple la propiedad de 3-anonimidad.
Esto ha sido claramente deliberado, y en la práctica conseguir una buena ge-
neralización es un problema difícil. Una generalización óptima es aquella que
consigue un nivel de privacidad deseado (por ejemplo, cumplir un modelo de
privacidad concreto como k-anonimidad) reduciendo al máximo la pérdida de
información. Es decir, generalizar lo mínimo posible para conseguir un objeti-
vo de privacidad concreto. La generalización óptima se suele formalizar como
un problema de optimización y su resolución puede no resultar fácil. Por ello,
a veces se buscan soluciones aproximadas aplicando generalizaciones genéri-
cas.

Respecto a la uniformidad de la generalización existen dos alternativas:

• Global recoding: se aplica la misma generalización a todos los valores. Es


el caso de los atributos ZIP o age en el ejemplo anterior.

• Local recoding: la generalización no es uniforme para el mismo atributo.


Generalmente se intenta minimizar la pérdida de información generali-
zando solo los valores necesarios. En el ejemplo anterior, para el atributo
marital status únicamente se generalizan algunos valores, y para el atribu-
to occupation la generalización se hace a diversos niveles dependiendo del
valor.

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).

La generalización se puede combinar con supresión (en inglés supression), que


es una técnica de protección que consiste en suprimir ciertos valores. Gene-
ralmente se aplica a valores atípicos o a aquellos con baja representación y
cuya generalización incurra en una gran pérdida de información del resto de
valores de la misma categoría.

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

En la tabla 17 se muestra la protección de dos atributos numéricos (uno entero y otro


real) utilizando ruido no correlacionado con una distribución normal y un parámetro
p = 0,5. Aunque se trata de un ejemplo con muy pocos datos que lo hace muy poco
representativo, podemos ver que las medias de las variables se preservan bastante. Esto
es debido a que el ruido que hemos añadido tiene una media de 0.

Tabla 17. Ejemplo de ruido aditivo no correlacionado

Age Income Age Income

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

mean: 41,7 28100 mean: 39,5 24094

a. Datos originales b. Datos protegidos


CC-BY-NC-ND • PID_00274689 47 Introducción a la privacidad en la publicación de datos

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

Ahora podemos calcular la varianza de V1 ,

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

Con esto definimos la distribución N(0,0,5 ∗ 284,21) = N(0,142,105), cuya función de


densidad de probabilidades se muestra en la figura 11.

Figura 11. Distribución normal N(0,142,105)

El ruido, que sumaremos a los datos originales, se obtiene como muestras aleatorias de
esta distribución.

Alternativamente se puede aplicar un ruido correlacionado a Vi y Vj o X en


general. Vamos a ver este último caso. El ruido ǫ sigue una distribución normal
N(0,pΣ) donde Σ es la matriz de covarianza de X, Σ = cov(X). A diferencia
del ruido no correlacionado, aquí estamos utilizando una distribución normal
multivariable, ya que trabajamos con vectores de más de una dimensión que
corresponden a los registros (filas de la tabla 18a).
CC-BY-NC-ND • PID_00274689 48 Introducción a la privacidad en la publicación de datos

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

mean: 41,7 28100 mean: 40,9 28511

a. Datos originales b. Datos protegidos

En este caso la distribución utilizada es la distribución normal multivariable N(0,Σ), don-


de Σ es la matriz de covarianza de X (en el subapartado 1.3.1 recordamos cómo se calcula
esta matriz).

Una diferencia importante de los dos casos es la correlación entre variables.


En general el ruido correlacionado mantiene la correlación entre variables y
el no correlacionado no.

Ejemplo

En la tabla 19 se muestra el coeficiente de correlación de Pearson (PCC) entre las dos


variables para los datos originales y los dos casos de protección que hemos visto en
los dos ejemplos anteriores. Pese a tratarse de un ejemplo demasiado sencillo se puede
apreciar que el ruido correlacionado preserva mejor esta correlación.

Tabla 19. Correlación entre variables

Originales No correlacionado Correlacionado

(Tab. 17a, Tab. 17b) (Tab. 17b) (Tab. 18b)

PCC 0,149701 0,3623301 0,1483453


CC-BY-NC-ND • PID_00274689 49 Introducción a la privacidad en la publicación de datos

Ruido multiplicativo

En este caso se calcula X′ como el producto del ruido por los datos originales:

X′ = X ∗ ǫ

Una ventaja del ruido multiplicativo respecto al aditivo es que la perturbación


introducida por el ruido (el error en los datos protegidos) es proporcional al
valor al que se aplica. Una variable con valores pequeños tendrá una pertur-
bación menor que una con valores mayores.

Uso de ruido en privacidad diferencial

Un caso interesante de aplicación de ruido como medida de protección es su


uso para garantizar privacidad diferencial (véase el subapartado 1.2.3). Una de
las técnicas más comunes en privacidad diferencial consiste precisamente en
añadir ruido a la respuesta de la consulta.

Figura 12. Kf en privacidad diferencial

Podemos simplificar el problema de añadir ruido para conseguir privacidad


diferencial, considerando una consulta f sobre una base de datos X que retor-
nará el resultado f (X). En este caso consideramos que los datos son numéricos
y vemos cada registro como un vector de M elementos (donde M es el número
de atributos), de manera que f : D → RM , donde D es el dominio de todos los
posibles conjuntos de datos o bases de datos.

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.

Para que Kf cumpla privacidad diferencial necesitamos definir el ruido Noise


como una distribución independiente de los datos X y que dependa de cómo
se comporta la consulta f con conjuntos de datos cercanos (con distancia 1).
Para ello, en privacidad diferencial se define el concepto de sensibilidad global
(global sensitivity).
CC-BY-NC-ND • PID_00274689 50 Introducción a la privacidad en la publicación de datos

La sensibilidad global de una función f : D → RM es:

GSf = max kf (X1 ) – f (X2 )k1


X1 ,X2 ∈D , 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.

Tabla 20. Ejemplo de datos: pacientes con esquizofrenia

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

Si partimos de la primera base de datos D1 , vemos que d(D1 ,D2 ) = 1, es decir D1 y D2


difieren en un solo registro. Lo mismo tenemos con el resto de bases de datos respecto a
CC-BY-NC-ND • PID_00274689 51 Introducción a la privacidad en la publicación de datos

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.

Una vez tenemos la sensibilidad de la función f , podemos definir el ruido Noi-


se necesario para añadir a dicha función. Es decir, definir Kf (X) = f (X) + Noise.
La manera más típica de definir este ruido es la conocida como mecanismo
de Laplace.

El mecanismo de Laplace para la función f es:

ML (X,f ,ε) = f (X) + (N1 , . . . ,NM )

donde Ni son variables aleatorias independientes que se obtienen a par-


tir de una distribución de Laplace, concretamente Ni ∼ Lap(0,GSf /ε), y
M es el número de variables o atributos.

La particularidad de esta definición es que ML (X,f ,ε) satisface ε-privacidad


diferencial, por lo que podemos utilizarla como la función Kf (X) que buscá-
bamos.

Lap(0,GSf /ε) es una distribución de Laplace. Recordamos que una distribución


de Laplace presenta la siguiente función de densidad de probabilidades:

 
1 |x – µ|
Lap(µ,b) = exp –
2b b

En este caso tenemos que µ = 0 y b = GSf /ε.

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:

ML (X,fcount ,ε) = fcount + N1

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.

La aplicación del mecanismo de Laplace es una solución muy interesante des-


de el punto de vista teórico. En la práctica el uso de privacidad diferencial en
estos términos presenta algunas limitaciones. Una de ellas es que su aplicación
puede conllevar una pérdida de información muy elevada. Cosa que, suma-
da a la limitación impuesta por el teorema de composición secuencial (véase
el subapartado 1.2.3), puede limitar mucho el número de posibles consultas
(funciones f ) que se pueden realizar.

Existen mejores aproximaciones al mecanismo de Laplace, variantes para da-


tos categóricos, y versiones más laxas de privacidad diferencial. Referimos al
lector a la bibliografía del módulo para más información y referencias al res-
pecto. También se puede aplicar privacidad diferencial en la publicación de
datos en escenarios offline.

1.4.3. Rank swapping

El rank swapping es una variante de un método de protección más general co-


nocido como data swapping. La idea de data swapping es intercambiar valores
de un atributo entre ellos. La justificación del método es que mucha de la
CC-BY-NC-ND • PID_00274689 53 Introducción a la privacidad en la publicación de datos

información estadística de un atributo se obtiene a partir de la frecuencia de


sus valores, por lo que el intercambio de valores entre registros no altera la
frecuencia final de estos.

Algorithm 1: Rank swapping


Data: All values of variable V, and p
Result: Swapped values of variable V

1 Sort values of V as (a1 ,a2 , . . . ,an ) so ai ≤ aj for all 1 ≤ i < j ≤ n;


2 Mark all ai ∈ V as unswapped;
3 for i = 1 to n do
4 if ai is unswapped then
5 Select l randomly from the interval [i + 1,M], where
M = min(n,i + p ∗ n/100);
6 Swap ai with al ;
7 Unmark ai ,al as unswapped;

8 Undo the sorting step from line 1 ;

Aquí vemos una variante que se utiliza en variables ordinales o numéricas,


donde el intercambio de valores se realiza entre valores cercanos. En el Algo-
ritmo 1 se muestra la aplicación de rank swapping a una variable o atributo.
Cuando se quiere aplicar a más variables se aplica el mismo algoritmo de for-
ma individual a cada variable.

El algoritmo sigue los siguientes pasos:

1) Se ordenan los valores de la variable.

2) Los valores se intercambian unos con otros de forma aleatoria dentro de


un intervalo acotado por un parámetro p.

3) Se deshace la ordenación inicial.

Los valores intercambiados están limitados a un intervalo del p % del total.


Cuanto mayor sea p, menor será el riesgo de revelación asociado y mayor la
pérdida de información.

Ejemplo

En la tabla 21 se muestra un sencillo ejemplo de la aplicación de rank swapping a un


atributo numérico. Hemos incluido el índice de cada valor en la primera columna de
cada tabla entre corchetes para ilustrar mejor todos los pasos.

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

Tabla 21. Ejemplo de rank swapping

Age Age Age Age

[1] 42 [5] 12 [5] 23 [1] 28

[2] 28 [4] 23 [4] 12 [2] 42

[3] 51 [2] 28 [2] 42 [3] 30

[4] 23 [7] 30 [7] 51 [4] 12

[5] 12 [1] 42 [1] 28 [5] 23

[6] 68 [8] 46 [8] 55 [6] 61

[7] 30 [3] 51 [3] 30 [7] 51

[8] 46 [9] 55 [9] 46 [8] 55

[9] 55 [10] 61 [10] 68 [9] 46

[10] 61 [6] 68 [6] 61 [10] 68


a. Datos originales b. Ordenación c. Intercambio (swap) d. Deshacer la ordena-
con p = 30 ción

Al aplicar rank swapping se intercambian valores entre registros pero no se mo-


difican. De esta manera se mantiene la frecuencia y distribución marginal de
la variable. Por contra, al aplicar el método a cada variable de forma indepen-
diente, si lo aplicamos a más de una variable, la correlación entre variables no
tiene por qué mantenerse en los datos protegidos.

1.4.4. Microagregación

La microagregación es un método que proporciona privacidad uniformizan-


do conjuntos de datos parecidos. La idea es crear pequeños clusters o micro-
clusters y sustituir todos los datos de cada microcluster por su representante o
centroide. Todos los registros del mismo microcluster pasan a tener el mismo
valor y pueden llegar a ser indistinguibles entre ellos. El grado de privacidad
lo determina el número de registros mínimo que contienen los microclusters.

Ejemplo

De forma simplificada, podemos ver en la tabla 22 un ejemplo muy sencillo de micro-


agregación de una variable numérica entera.

A partir de los datos originales de la tabla 22a se crean microclusters con un mínimo de
tres elementos siguiendo estos pasos:

1) Creación de los microclusters: se agrupan valores cercanos o parecidos entre ellos, y


para ello, siguiendo la línea de muchos algoritmos de clustering, se suele recurrir a una
función de distancia o similitud (en este caso, la distancia euclidiana). La tabla 22b
muestra los clusters de como mínimo tres elementos utilizando un color diferente
para cada uno.
2) Sustitución de valores: cada elemento de cada microcluster es sustituido por el re-
presentante del microcluster (el centroide o centro del cluster). Este representante o
centro se ha calculado, en este caso, como la media aritmética de los valores del clus-
ter redondeada para forzar que sea un entero. El resultado se muestra en la tabla 22c.
CC-BY-NC-ND • PID_00274689 55 Introducción a la privacidad en la publicación de datos

Tabla 22. Ejemplo de microagregación

Age Age Age

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

El número mínimo de elementos de cada microcluster, que generalmente se


denota como k, determina el nivel de privacidad. A mayor k, mayor privacidad
y mayor pérdida de información.

A la hora de formar los microclusters es importante hacerlo de manera que la


posterior pérdida de información al sustituir los valores por el representante o
centro del microcluster sea lo menor posible. Este error viene determinado por
la distancia de cada elemento al representante del cluster, que se suele medir
como la suma de los cuadrados entre grupos (within-groups sum of squares) SSE.
Podemos ver SSE como la suma de las distancias al cuadrado de cada registro
a su representante.

De manera más formal, a partir de unos datos originales X, aplicamos mi-


croagregación para obtener los datos protegidos X′ . Supongamos que estos
datos protegidos contienen p microclusters en total. Representamos cada clus-
ter i (donde 1 ≤ i ≤ p) con una función característica χi de manera que para
cada registro x, χi (x) = 1 si x pertenece al cluster i y χi (x) = 0 en caso contrario.
Denotamos como ci el representante o centroide del cluster i, y el parámetro
k denota el número mínimo de elementos. El SSE se define utilizando una
función de distancia entre registros d como:

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

Existen dos tipos de microagregación muy diferenciados:

• Microagregación univariable: cuando la microagregación se aplica a una


sola variable. Este caso es interesante porque existen algoritmos que pue-
den dar una solución óptima en tiempo polinomial.

• Microagregación multivariable: es el caso de aplicar la microagregación a


más de una variable a la vez. Cada elemento a microagregar se toma como
un vector que corresponde a todo el registro (o a los atributos del regis-
tro que se van a microagregar). A diferencia del caso anterior, el problema
de optimización pasa a ser NP-hard (o NP-complejo), por lo que se utili-
zan métodos heurísticos. Un aspecto muy interesante es que si se aplica
microagregación multivariable utilizando todos los atributos se consigue
k-anonimidad, con k igual al parámetro k de microagregación.

Métodos heurísticos para la microagregación

Los métodos heurísticos utilizados para aplicar microagregación multivariable


constan de los siguientes pasos:

• Partición: se dividen los datos en microclusters de tamaño superior o igual a


k. Esta división se basa en una función de distancia entre los vectores que
representan los registros. Dependiendo del tipo de datos se utilizará una
u otra función de distancia. En el caso de vectores numéricos es habitual
utilizar la distancia euclidiana.

• Agregación: se calcula el representante o centro de cada microcluster. El


cálculo se hace utilizando una función de agregación que a partir del con-
junto de registros que forman el microcluster se obtiene el representante. Al
igual que en el caso anterior esta función dependerá del tipo de datos. En
el caso numérico se suele utilizar la media aritmética.

• Sustitución: cada registro se sustituye por el representante del microcluster


al que pertenece en los datos protegidos.

Existen diversas estrategias y algoritmos para la microagregación multivaria-


ble y de entre ellos mostramos el conocido como MDAV (Maximum Distance
to Average Vector) en el Algoritmo 2. En este caso el algoritmo está pensado
para aplicar microagregación a todas las variables, con lo que se trata todo el
registro como un vector. Se asume también que tratamos con datos numéricos
y la partición se hace utilizando la distancia euclidiana y la agregación con la
media aritmética.
CC-BY-NC-ND • PID_00274689 57 Introducción a la privacidad en la publicación de datos

Algorithm 2: Algoritmo MDAV.


Data: X: original data, k: minimum number of record for each cluster.
Result: Partition of X in clusters Ci .

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;

14 Form a cluster with the remaining records in X;

El funcionamiento de MDAV es relativamente sencillo. La idea principal es


partir de todo el conjunto de datos (en este caso vectores), y calcular el vec-
tor medio de todos (con la distancia euclidiana) x̄. A partir de este registro
hacemos lo siguiente:

1) Buscar el registro xr que sea más distante a x̄ y crear un microcluster de k


registros en total. El cluster se crea con xr y los k – 1 registros más cercanos a xr .

2) Buscar el registro xs que sea más distante a xr y crear un microcluster de k


registros de la misma manera que antes.

Este proceso se va repitiendo hasta que no quedan suficientes registros para


crear un microcluster de k elementos (el último microcluster tendrá entre k y 2k
registros).

1.4.5. Generación de datos sintéticos

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:

• Datos totalmente sintéticos: todos los datos protegidos son generados de


forma sintética.
CC-BY-NC-ND • PID_00274689 58 Introducción a la privacidad en la publicación de datos

• Datos parcialmente sintéticos: se generan de forma sintética algunas va-


riables de algunos registros (los que conllevan un mayor riesgo de revela-
ción).

Los datos se generan de forma aleatoria manteniendo ciertos indicadores esta-


dísticos, modelos, o relaciones de los datos originales. La precisión con la que
se consiga construir el modelo de los datos originales determinará la pérdida
de información en los datos generados. Existe una clara dificultad en la prác-
tica para conseguir modelos precisos para cualquier tipo de datos. Esto hace
que muchas veces el modelo utilizado dependerá del uso que se va a hacer de
los datos. Si se va a hacer un estudio utilizando algún tipo de medida estadís-
tica concreta, se utilizará un modelo que preserve dicha medida. De la misma
manera, si se va a aplicar algún método de aprendizaje automático se buscará
preservar las características particulares de dicho método.

En relación con el riesgo de revelación, los datos totalmente sintéticos se con-


sideran muy seguros. A priori no es posible la reidentificación de registros
dado que todos los datos son generados y por tanto no hay presencia de datos
originales. No existen ataques conocidos a este tipo de datos en la literatu-
ra. Sin embargo, hay que tener presente que esto podría no ser siempre así.
Un buen modelo podría generar los mismos valores que los originales para
algunos atributos de algún registro, posibilitando así algún tipo de revelación.

A diferencia de los datos totalmente sintéticos, los parcialmente sintéticos sí


que presentan riesgo de reidentificación y revelación de forma similar al resto
de métodos de protección perturbativos o no perturbativos.
CC-BY-NC-ND • PID_00274689 59 Introducción a la privacidad en la publicación de datos

Resumen

En este módulo hemos presentado el problema de la privacidad en la publica-


ción de datos sencillos. Concretamente nos hemos centrado en la publicación
de microdatos. Como hemos visto, un problema importante a tratar en estos
casos es poder encontrar un buen balance entre privacidad o riesgo de revela-
ción y pérdida de información o utilidad.

A la hora de poder establecer medidas o modelos de privacidad, hemos visto


la k-anonimidad y privacidad de diferencial y hemos comentado algunas me-
didas de reidentificación como el uso de enlace de registros. También hemos
visto que medir la pérdida de información se puede realizar de diversas mane-
ras, algunas genéricas y otras más específicas al uso concreto que se da a los
datos.

Por último, hemos revisado algunos de los principales métodos de protección


de microdatos perturbativos y no perturbativos.
CC-BY-NC-ND • PID_00274689 60 Introducción a la privacidad en la publicación de datos

Ejercicios de autoevaluación

1. Consideramos un conjunto de microdatos que ha sido protegido por generalización en la


tabla 23. Se han protegido los cuasi-identificadores: occupation, ZIP, age, y marital status. El
atributo Income se considera confidencial y no ha sido protegido. Sabemos también que las
personas que aparecen en los datos son de Estados Unidos.

Tabla 23. Ejercicio: tabla protegida mediante generalización

Idx Occupation ZIP Age Marital status Income

[1] Sports 80*** [30, 49] Married 25050

[2] Education 40*** [10, 29] Divorced or Widow/er 18098

[3] Law Enforcement 97*** [50, 69] Divorced or Widow/er 28760

[4] Education 40*** [10, 29] Married 26062

[5] Education 97*** [10, 29] Single 790

[6] Law Enforcement 97*** [50, 69] Single 30033

[7] Sports 80*** [30, 49] Divorced or Widow/er 55093

[8] Sports 80*** [30, 49] Married 17330

[9] Law Enforcement 97*** [50, 69] Single 15700

Casualmente encontramos por Internet la publicación de los premiados a mejor profesor/a


del curso actual de la Sociedad de Amigos del Profesor, que podemos ver en la tabla 24.

Tabla 24. Ejercicio: publicación lista de profesores premiados

Name Institution City

John Keating Welton School Portland (Oregon)

Erin Gruwell Woodrow Wilson High School Long Beach (California)

Mark Thackeray Seneca High School Louisville (Kentucky)

Jaime Escalante Garfield High School East Los Angeles (California)

Edna Krabbapel Springfield Elementary School Springfield (Illinois)

Rosemary Cross East High School Anchorage (Alaska)

a) ¿Cumple la tabla 23 la propiedad de k-anonimidad? En caso afirmativo determina el


valor de k, y en caso negativo justifica por qué.
b) ¿Qué información podemos obtener sobre John Keating de la tabla 23? ¿Se produce algún
tipo de revelación de información?
c) ¿Y sobre Mark Thackeray?

2. Tenemos un conjunto de microdatos en la tabla 25a X, y dos diferentes versiones protegi-


das X′ , y X′′ en las tablas 25b y 25c. Sabemos que el método de protección aplicado ha sido
el ruido aditivo.
a) Queremos medir la pérdida de información que se produce en X′ y X′′ . Para ello vamos a
utilizar algunas de las medidas de pérdida de información de carácter general que hemos
visto en el módulo. Calcula las medidas de pérdida de información denotadas en la
tabla 12 del subapartado 1.3.1, como:
CC-BY-NC-ND • PID_00274689 61 Introducción a la privacidad en la publicación de datos

• ILId_MSE , ILId_MAE , ILId_MRE .


• ILCorr_MSE , ILCorr_MAE , ILCorr_MRE .
Queremos ver estas medidas de pérdida de información para X′ y X′′ .

Tabla 25. Ejercicio: tablas numéricas con diversas protecciones

V1 V2 V1 V2 V1 V2

10 90 10,70 83,42 16,79 146,61

9 80 10,45 81,07 14,66 126,57

8 70 8,50 77,46 13,37 114,44

7 60 7,58 58,56 13,68 118,22

6 50 5,49 54,46 10,67 88,79

5 40 5,62 36,86 11,55 95,05

4 30 4,99 32,88 9,82 78,29

3 20 3,47 18,15 8,24 61,17

2 10 1,06 16,55 7,44 55,94

1 9 1,92 5,23 6,49 57,07

a. Datos originales X b. Datos protegidos X′ c. Datos protegidos X′′

b) ¿Qué conclusiones podemos sacar comparando las medidas de pérdida de información


de X′ y X′′ sobre cómo se han protegido los datos en cada caso? Es importante prestar
especial atención a la comparación de las medidas entre cada conjunto de datos prote-
gidos, y entre los tipos de medidas. Es decir, entre las medidas que comparan el error en
los valores de los microdatos directamente y las que comparan la matriz de correlación.

3. En el subapartado 1.4.4 hemos visto el algoritmo MDAV para la microagregación multi-


variable. Concretamente, hemos visto cómo se aplica este algoritmo a datos numéricos. Es
decir, cada registro se interpreta como un vector numérico. ¿Cómo se puede extender este al-
goritmo a datos categóricos? ¿Es posible? Si es que sí, ¿qué hay que modificar del algoritmo?
Y si resulta que no, ¿por qué?

4. Como ejercicio general, recomendamos probar métodos de protección y de evaluación de


microdatos con alguna herramienta de software diseñada para ello. Un ejemplo es el paquete
sdcMicro*. Se trata de una librería de R sencilla y que incorpora muchos de los métodos de
protección y evaluación que hemos visto en el módulo. También incluye conjuntos de datos * https://bit.ly/32vPGI0
de diferentes tipos sobre los que hace pruebas, e incorpora una interfaz gráfica, en forma de
aplicación shiny (aplicación web realizada en R), que permite hacer pruebas sin tener que
programar en R.

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

1. a) La tabla 23 no cumple k-anonimidad para K > 1. Por ejemplo, la combinación de


valores (Education, 40***, [10,29], Married) es única. Sí que es cierto que podríamos decir
que cumple 1-anonimidad o k-anonimidad para k = 1. Ahora bien, ¿tiene sentido hablar de
1-anonimidad?
b) Si miramos la información pública sobre John Keating en la tabla 24 vemos que vive en
Portland. Podemos buscar el código postal de Portland, que resulta que empieza por 970, 971
o 972.
Volviendo a la tabla 23 podemos ver que, al tratarse de un profesor (profesional de la educa-
ción), y vivir en un código postal que empieza por 97, sabemos que se corresponde al registro
5. Podemos saber cuánto cobra, que está soltero, y que tiene una edad comprendida entre 10
y 29 años.
Hemos podido hacer una reidentificación del registro que corresponde a John Keating, es
decir, se ha producido revelación de identidad.
c) Siguiendo el mismo razonamiento anterior, podemos identificar que Mark Thackeray co-
rresponde al registro 2 o 4, ya que el código postal de Louisville (Kentucky) empieza por 400
o 401.
En este caso no podemos reidentificar el registro pero sí obtener información nueva sobre
Mark Thackeray. Sabemos que tiene entre 10 y 29 años, que está casado o divorciado, y que
cobra 18098 o 26062. En este caso se produce revelación de atributo.

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.

Tabla 26. Ejercicio: resultados de pérdida de información

ILId_MSE MSE(X,X′ ) 10,38

ILId_MAE MAE(X,X′ ) 2,34

ILId_MRE MRE(X,X′ ) 0,20

ILCorr_MSE MSE(corr(X),corr(X′ )) 0,00062

ILCorr_MAE MAE(corr(X),corr(X′ )) 0,01767

ILCorr_MRE MRE(corr(X),corr(X′ )) 0,01773

a. Resultados para X′

ILId_MSE MSE(X,X′′ ) 1202,92

ILId_MAE MAE(X,X′′ ) 27,04

ILId_MRE MRE(X,X′′ ) 1,75

ILCorr_MSE MSE(corr(X),corr(X′′ )) 1,802e – 6

ILCorr_MAE MAE(corr(X),corr(X′′ )) 0,0009493

ILCorr_MRE MRE(corr(X),corr(X′′ )) 0,0009526

b. Resultados para X′′

b) Observando los datos protegidos y las medidas de pérdida de información vemos un


caso curioso. A simple vista, si observamos los conjuntos de microdatos X′ y X′′ en las ta-
blas 25b y 25c, podría parecer que la tabla X′′ tiene mayor distorsión y por tanto mayor
pérdida de información.
CC-BY-NC-ND • PID_00274689 63 Introducción a la privacidad en la publicación de datos

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, . . .

• Agregación: la agregación hace referencia al cálculo de la media de varios vectores. Esta


operación se realiza al calcular el vector medio del conjunto de datos (líneas 2 y 10)
y al calcular el centro de cada microcluster (líneas 4, 7, 12 y 14). De la misma manera
que antes tenemos que definir una función de agregación que se adapte al tipo de datos
que tenemos. Algunos ejemplos pueden ser la mediana o mediana convexa para datos
ordinales, o la regla de pluralidad (o modo) para datos nominales. Habrá tipos de datos
para los que se puedan definir funciones de agregación específicas, y en general se puede
componer diferentes agregadores para datos heterogéneos.
CC-BY-NC-ND • PID_00274689 64 Introducción a la privacidad en la publicación de datos

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.

cuasi-identificador m Atributo que por sí solo no identifica de forma inequívoca un


individuo o entidad pero sí que puede llegar a hacerlo en combinación con otros cuasi-
identificadores.

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.

generalización f Método de protección no perturbativo.

identificador m Atributo que por sí solo identifica de forma inequívoca un individuo o


entidad.

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.

microagregación f Método de protección perturbativo.

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.

no perturbativo m Método de protección que reduce la precisión o detalle de la informa-


ción sin introducir información errónea.

pérdida de información f Medida de la cantidad de información que se pierde al aplicar


un método de protección.

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.

rank swapping m Método de protección perturbativo.

reidentificación f Posibilidad de identificar una entidad o individuo en unos datos prote-


gidos.

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.

revelación de atributo f Revelación de información sobre un individuo o entidad que no


llega a permitir su reidentificación.

revelación de identidad f Reidentificación de un individuo o entidad en unos 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.

ruido aditivo o multiplicativo m Método de protección perturbativo.

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.

Domingo-Ferrer, J.; Sánchez, D.; Soria-Comas, J. (2016). Database Anonymization Pri-


vacy Models, Data Utility, and Microaggregation-based Inter-model Connections. California: Mor-
gan & Claypool.

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.

Willenborg, L.; de Waal, T. (2001). «Elements of Statistical Disclosure Control». Lecture


Notes in Statistics. Berlín: Springer.

También podría gustarte