El algoritmo Datafly es un algoritmo para proporcionar anonimato a los datos médicos. El algoritmo fue desarrollado por Latanya Arvette Sweeney en 1997-98. [1] [2] La anonimización se logra generalizando, sustituyendo, insertando y eliminando automáticamente información según corresponda sin perder muchos de los detalles que se encuentran dentro de los datos. El método se puede utilizar sobre la marcha en la seguridad basada en roles dentro de una institución y en modo por lotes para exportar datos desde una institución. Las organizaciones publican y reciben datos médicos con todos los identificadores explícitos (como el nombre) eliminados, con la creencia errónea de que se mantiene la confidencialidad del paciente porque los datos resultantes parecen anónimos. Sin embargo, los datos restantes se pueden utilizar para volver a identificar a las personas vinculando o haciendo coincidir los datos con otras bases de datos o observando las características únicas que se encuentran en los campos y registros de la propia base de datos .
El algoritmo Datafly ha sido criticado por intentar lograr la anonimización mediante una generalización excesiva. El algoritmo selecciona el atributo con el mayor número de valores distintos como el que se generalizará primero. [3]
Algoritmo básico
A continuación se presenta un esquema del algoritmo Datafly. [4]
Entrada : Tabla privadaPT; cuasi-identificador QI = ( A 1 , ..., A n ),restricción de k -anonimato k ; jerarquías de generalización de dominio DGH A i , donde i = 1,..., n con funciones acompañantes f A i , y pérdida, que es un límite en el porcentaje de tuplas que se pueden suprimir. PT[id] es el conjunto de identificadores o claves únicos para cada tupla.
Salida : MGT es una generalización de PT[QI] que refuerza el k -anonimato
Supone : | PT | ≤ k , y pérdida * | PT | = k
Algoritmo Datafly :
// Construya una lista de frecuencias que contenga secuencias únicas de valores en todo el cuasiidentificador en PT,
// junto con el número de ocurrencias de cada secuencia.
- 1. Sea freq un vector expandible y colapsable sin elementos inicialmente. Cada elemento tiene la forma (QI, frecuencia, SID), donde SID = { id i : ∃ t [ id ] ∈ [ id ] ⇒ t [ id ] = id i }; y, frecuencia = |SID|. Por lo tanto, freq también es accesible como una tabla sobre (QI, frecuencia, SID).
- 2. sea pos 0, total 0
- 3. mientras total ≠ |PT| hacer
- 3.1 freq[pos] ( t [QI], ocurre, SID ) donde t [QI] ∈ [QI], ( t [ QI ],__, ___ ) freq; ocurre = |PT| - |PT[QI] – { t [QI]}|; y, SID = { id i : ∃ t [ id ] PT[id] ⇒ t [ id ] = id i }
- 3.2 pos pos + 1, total total + ocurre
- // Haz una solución generalizando el atributo con el mayor número de valores distintos
- // y no suprimir más que el número permitido de tuplas.
- 4. sea debajok 0
- 5. para pos 1 a |freq| hacer
- 5.1 ( __, count ) frecuencia[pos]
- 5.2 si cuenta < k entonces hazlo
- 5.2.1 por debajo de k por debajo de k + contar
- 6. Si por debajo de k > k entonces haga: // Nota. pérdida * |PT| = k .
- 6.1 frecuencia generalizar(frecuencia)
- 6.2 ir al paso 4
- 7. ¿Qué más hacer?
- // afirmar: el número de tuplas a suprimir en freq es ≤ pérdida * |PT|
- 7.1 supresión de frecuencia (frecuencia, por debajo de k)
- 7.2 MGT reconstrucción (frecuencia)
- 8. devolver MGT.
Referencias
- ^ Latanya Sweeney. «Datafly: un sistema para proporcionar anonimato en los datos médicos» . Consultado el 19 de enero de 2014 .
- ^ L. Sweeney, Datafly: un sistema para proporcionar anonimato en los datos médicos. Seguridad de bases de datos, XI: Estado y perspectivas, T. Lin y S. Qian (eds), Elsevier Science, Ámsterdam, 1998.[1]
- ^ Xiong, Li . "Anonimización de datos: algoritmos de generalización" (PDF) . Consultado el 19 de enero de 2014 .
- ^ Latanya Sweeney (2001). Control de divulgación computacional. Una introducción a la protección de la privacidad de datos (tesis). MIT. pág. 113. hdl :1721.1/8589.
Enlaces externos
- Detalles del algoritmo Datafly