Procesos de Anonimización
ATENCIÓN, ESTA PÁGINA ES PARTE DE UN TRABAJO EN CURSO, Y POR TANTO SUS CONTENIDOS SE ENCUENTRAN SUJETOS A REVISIONES Y CAMBIOS SIN PREVIO AVISO.
Esta página describe el proceso de anonimización definido para los datasets del Núcleo Común que contengan información personal a proteger.
1. ¿Qué es la anonimización?
Contrariamente a la creencia popular, anonimizar un conjunto de datos no consiste sólo en evitar la identificación eliminando los denominados identificadores directos, es decir, aquellos datos que normalmente identifican unívocamente a un individuo, como puedan ser el DNI, o el nombre y apellidos.
Es también necesario (y mucho más complejo), tratar de evitar la reidentificación, es decir, poder identificar los datos de un individuo dentro del dataset partiendo de un subconjunto de datos conocidos, que en este caso se denominan identificadores indirectos y que pueden ser sencillos de obtener por parte de un potencial “atacante”. Ejemplos clásicos de identificadores indirectos son la fecha de nacimiento, el género, el código postal, el nivel de estudios , la profesión, etc.
El riesgo es que conocer un subconjunto de identificadores indirectos nos permita reindentificar al individuo al no haber otros individuos dentro del dataset con los mismos valores; por ejemplo: si en un dataset al que se le hayan quitado los identificadores directos, solo hay una persona con fecha de nacimiento “A”, género “B”, código postal “C”, nivel de estudios “D” y sector profesional “E”, esa persona quedará reidentificada y por tanto sus demás datos expuestos al potencial atacante.
2. Procesos de anonimizacion
Para evitar la reindentificación se pueden utilizar diferentes técnicas. A continuación se explican las que se han utilizan en el “Núcleo Común”. En la definición de cada dataset se especifica si está o no anonimizado.
2.1 Permutación de bloques de variables en grupos
Este proceso de anonimización consiste en agrupar los registros en base a grupos y las variables en base a bloques de coherencia, y permutar, dentro de cada grupo de registros, los bloques de variables.
2.1.1 Proceso
Paso 1: Separar el dataset en grupos
Elegimos un subconjunto de variables pivote, que serán las variables que determinarán la formación de los grupos.
Separamos el dataset en tantos grupos como valores combinados distintos tengan las variables pivote
El proceso de anonimización garantiza que se conservará la relación entre las variables pivote y todas las demás, por lo que es importante seleccionar variables que se usen habitualmente como criterio de agregación en los análisis del dataset.
Paso 2: Permutar aleatoriamente los bloques de variables entre los registros de cada grupo
Asignamos las variables restantes (no pivote) a bloques de coherencia, de tal forma que las variables cuya relación queramos preservar estén en el mismo bloque de coherencia.
Permutamos aleatoriamente los bloques de coherencia de los registros del grupo.
Cada bloque de coherencia debe contener variables cuyos valores están especialmente relacionados o son dependientes entre sí, y garantiza que esos valores estarán siempre juntos tras el proceso de permutación, es decir, conservarán su coherencia interna.
Paso 3: Detectar y desidentificar grupos pequeños
De los grupos generados en el Paso 1, identificamos aquellos con un nº de registros menor a un valor umbral “X”.
En esos grupos, se eliminan los valores de las variables pivote que sean necesarios para “disolverlos” en un grupo mayor y menos identificable.
2.1.2 Diferencial de privacidad
El diferencial de privacidad es la especificación y cuantificación de la información que se ha perdido respecto al dataset original como efecto colateral del proceso de anonimización.
En el caso del proceso de anonimización que nos ocupa, la pérdida de información viene de los siguientes dos efectos:
2.1.2.1 Pérdida de información relacional
Al permutar los registros se pierde una parte de la información relacional, esto es, datos que antes estaban asociados entre sí por pertenecer al mismo individuo, pasan a estar disociados. Es esencial que el reutilizador entienda la información relacional que se pierde, y la información relacional que se preserva. Esto viene expresado por las dos siguientes afirmaciones:
2.1.2.2 Posible pérdida de valores en las variables pivote
Se eliminarán valores de las variables pivote que den lugar a grupos pequeños, lo que puede acarrear una pérdida de datos en estas variables (es decir, que aparezcan vacías para determinados registros)
2.1.3 Ejemplo
Imaginemos el siguiente dataset de partida, que contiene información sobre estudiantes matriculados en un determinado año académico y en una determinada Universidad. Para poder ilustrar mejor los efectos de la anonimización, los valores que corresponden al mismo individuo han sido coloreados del mismo color:
TITULACIÓN | CENTRO | AÑO NACIMIENTO | GÉNERO | CRÉDITOS MATRICULADOS | CRÉDITOS PRESENTADOS | CRÉDITOS SUPERADOS |
---|---|---|---|---|---|---|
A | A | A | HOMBRE | 36 | 24 | 24 |
A | A | B | MUJER | 48 | 48 | 48 |
A | A | C | HOMBRE | 16 | 0 | 0 |
A | A | B | HOMBRE | 60 | 36 | 36 |
A | A | A | MUJER | 16 | 0 | 0 |
A | B | C | MUJER | 24 | 18 | 12 |
B | C | C | MUJER | 36 | 36 | 36 |
B | C | B | MUJER | 12 | 12 | 12 |
En este ejemplo, sólo con conocer - por ejemplo - los identificadores indirectos “año de nacimiento” y “género” podríamos reidentificar a bastantes individuos: si conocemos a un determinado estudiante (hombre) de la Titulación A de esa Universidad que nació en el año C, lo puedo identificar unívocamente en el dataset, ya que no existe otro registro con esos mismo datos (tercer registro, en negrita y cursiva):
TITULACIÓN | CENTRO | AÑO NACIMIENTO | GÉNERO | CRÉDITOS MATRICULADOS | CRÉDITOS PRESENTADOS | CRÉDITOS SUPERADOS |
---|---|---|---|---|---|---|
A | A | A | HOMBRE | 36 | 24 | 24 |
A | A | B | MUJER |