K-anonimato
# K-anonimato

El k-anonimato (en inglés: k-anonymity, también traducido literalmente como k-anonimidad) es una propiedad característica de los datos anonimizados. Este concepto fue formulado por primera vez por Latanya Sweeney en un trabajo publicado en 2002 con el objeto de resolver el problema: "Dados unos datos estructurados con campos específicos personales, como poder asegurar con garantía científica, que en una nueva versión modificada de estos datos no se puedan reidentificar los individuos a los que se refieren, a la vez que los datos sigan siendo útiles en la práctica." Se dice que un conjunto de datos publicados tiene la propiedad de k-anonimato (o es k-anónimo) si la información de todas y cada una de las personas contenidas en ese conjunto es idéntica al menos con otras k-1 personas que también aparecen en dicho conjunto.

Existen varios procedimientos para generar datos anonimizados con k-anonimato que han sido patentados en los Estados Unidos (Patente 7,269,578).

## Métodos para la k-anonimización

En el contexto de la k-anonimización, una base de datos es una tabla con n filas y m columnas. Cada fila de la tabla representa un registro relacionando con un miembro concreto de una población. Los valores en las columnas corresponden a los atributos que se asocian con los miembros de la población. La tabla siguiente es una base de datos no anonimizada que incluye los registros de pacientes de un hospital ficticio en Cochin.

| Nombre | Edad | Género | Estado de residencia | Religión | Enfermedad |
| - | - | - | - | - | - |
| Ramsha | 29 | Mujer | Tamil Nadu | Hindu | Cáncer |
| Yadu | 24 | Mujer | Kerala | Hindu | Infección Viral |
| Salima | 28 | Mujer | Tamil Nadu | Musulmán | Tuberculosis |
| Sunny | 27 | Varón | Karnataka | Parsi | Ninguna enfermedad |
| Joan | 24 | Mujer | Kerala | Cristiano | Cardiológica |
| Bahuksana | 23 | Varón | Karnataka | Budista | Tuberculosis |
| Rambha | 19 | Varón | Kerala | Hindu | Cáncer |
| Kishor | 29 | Varón | Karnataka | Hindu | Cardiológica |
| Johnson | 17 | Varón | Kerala | Cristiano | Cardiológica |
| John | 19 | Varón | Kerala | Cristiano | Infección Viral |

Hay 6 atributos y 10 registros en estos datos. Hay dos métodos comunes para obtener k-anonimato para un cierto valor deseado de k.

* Supresión: En este método, algunos valores de los atributos son reemplazados por un asterisco '*'. Todos o algunos de los valores de una columna pueden ser reemplazados por '*'. En la tabla anonimizada inferior, todos los valores en el atributo 'Nombre' y en el atributo 'religión' han sido reemplazado por un '*'.
* Generalización: En este método, los valores individuales de atributos son reemplazados por una categoría más amplia. Por ejemplo, el valor '19' del atributo 'Edad' puede ser reemplazado por ' ≤ 20', el valor '23' por '20 < Edad ≤ 30' , etc.

La siguiente tabla muestra la base de datos anonimizada.

| Nombre | Edad | Género | Estado de residencia | Religión | Enfermedad |
| - | - | - | - | - | - |
| * | 20 < Edad ≤ 30 | Mujer | Tamil Nadu | * | Cáncer |
| * | 20 < Edad ≤ 30 | Mujer | Kerala | * | Infección Viral |
| * | 20 < Edad ≤ 30 | Mujer | Tamil Nadu | * | Tuberculosis |
| * | 20 < Edad ≤ 30 | Varón | Karnataka | * | Ninguna enfermedad |
| * | 20 < Edad ≤ 30 | Mujer | Kerala | * | Cardiológica |
| * | 20 < Edad ≤ 30 | Varón | Karnataka | * | Tuberculosis |
| * | Edad ≤ 20 | Varón | Kerala | * | Cáncer |
| * | 20 < Edad ≤ 30 | Varón | Karnataka | * | Cardiológica |
| * | Edad ≤ 20 | Varón | Kerala | * | Cardiológica |
| * | Edad ≤ 20 | Varón | Kerala | * | Infección Viral |

Estos datos son 2-anónimos respecto a los atributos 'Edad', 'Género' y 'Estado de residencia', ya que para cualquier combinación de estos atributos encontrados en cualquier fila de la tabla existen al menos 2 filas con idénticos atributos. Los atributos disponibles para un adversario se denominan cuasiidentificadores. Cada tupla cuasiidentificadora se presenta en al menos k registros para un conjunto de datos con k-anonimato.

Meyerson y Williams (2004) demostraron que el k-anonimato es un problema NP-completo; no obstante con métodos heurísticos como el de k-optimización propuesto por Bayardo y Agrawal (2005) a menudo se obtienen resultados eficaces.

## Advertencias

Ya que la k-anonimización no incluye aleatorización, los atacantes pueden realizar inferencias sobre los datos que podrían perjudicar a un individuo. Por ejemplo, si sabemos que John de 19 años de Kerala está en la base de datos anterior, podemos inferir que o padece cáncer, o enfermedad cardiológica o una infección viral.

La k-anonimización no es un buen método para anonimizar un conjunto de datos de muchas dimensiones.

