Der Datafly-Algorithmus dient der Anonymisierung medizinischer Daten. Er wurde 1997/98 von Latanya Arvette Sweeney entwickelt. [ 1 ] [ 2 ] Die Anonymisierung erfolgt durch automatisches Generalisieren, Ersetzen, Einfügen und Entfernen von Informationen, ohne dabei viele Details der Daten zu verlieren. Das Verfahren kann sowohl im Rahmen der rollenbasierten Sicherheit innerhalb einer Institution als auch im Batch- Modus für den Datenexport aus einer Institution eingesetzt werden. Organisationen geben medizinische Daten, nachdem alle expliziten Identifikatoren – wie beispielsweise der Name – entfernt wurden, weiter und empfangen sie, in der irrigen Annahme, die Vertraulichkeit der Patientendaten sei gewahrt, da die resultierenden Daten anonym erscheinen. Die verbleibenden Daten können jedoch zur Reidentifizierung von Personen verwendet werden, indem die Daten mit anderen Datenbanken verknüpft oder abgeglichen oder anhand eindeutiger Merkmale in den Feldern und Datensätzen der Datenbank selbst analysiert werden.
Der Datafly-Algorithmus wurde dafür kritisiert, dass er versucht, Anonymisierung durch Übergeneralisierung zu erreichen. Der Algorithmus wählt das Attribut mit der größten Anzahl unterschiedlicher Werte als dasjenige aus, das zuerst generalisiert werden soll. [ 3 ]
Kernalgorithmus
Im Folgenden wird ein Überblick über den Datafly-Algorithmus gegeben. [ 4 ]
Eingabe : Private Tabelle PT; Quasi-Identifikator QI = ( A 1 , ..., A n ), k- Anonymitätsbeschränkung k ; Domänengeneralisierungshierarchien DGH A i , wobei i = 1,..., n mit zugehörigen Funktionen f A i , und Verlustfunktion, die den Prozentsatz der Tupel begrenzt, die unterdrückt werden können. PT[id] ist die Menge der eindeutigen Identifikatoren oder Schlüssel für jedes Tupel.
Ausgabe : MGT ist eine Verallgemeinerung von PT[QI], die k- Anonymität
Annahmen : |PT| ≤ k und Verlust * |PT| = k
Datafly-Algorithmus :
// Erstelle eine Häufigkeitsliste, die eindeutige Sequenzen von Werten über den Quasi-Identifikator in PT enthält ,
// zusammen mit der Anzahl der Vorkommen jeder Sequenz.
- 1. Sei freq ein erweiterbarer und reduzierbarer Vektor , der anfänglich keine Elemente enthält. Jedes Element hat die Form (QI, frequency, SID), wobei SID = { id i : ∃ t [ id ] ∈ [ id ] ⇒ t [ id ] = id i } und frequency = |SID|. Daher ist freq auch als Tabelle über (QI, frequency, SID) zugänglich.
- 2. Sei pos 0, total 0
- 3. Solange die Summe ≠ |PT| ist, tue
- 3.1 freq[pos] ( t [QI], occurs, SID ) wobei t [QI] ∈ [QI], ( t [ QI ],__, ___ ) freq; occurs = |PT| - |PT[QI] – { t [QI]}|; und SID = { id i : ∃ t [ id ] PT[id] ⇒ t [ id ] = id i }
- 3.2 pos pos + 1, total total + tritt
- // Erstelle eine Lösung, indem du das Attribut mit den meisten unterschiedlichen Werten verallgemeinerst.
- // und unterdrückt nicht mehr als die zulässige Anzahl von Tupeln.
- 4. Sei unten k 0
- 5. für Position 1 bis |Frequenz| tue
- 5.1 ( __, Anzahl ) Häufigkeit[Position]
- 5.2 Wenn Zähler < k, dann führe Folgendes aus:
- 5.2.1 unterhalbk unterhalbk + zählen
- 6. Falls unterhalb von k > k, dann führe Folgendes aus: // Hinweis: Verlust * |PT| = k .
- 6.1 freq generalize(freq)
- 6.2 Gehen Sie zu Schritt 4
- 7. sonst tun
- // assert: Die Anzahl der in freq zu unterdrückenden Tupel ist ≤ loss * |PT|
- 7.1 freq suppress(freq, belowk )
- 7.2 MGT reconstruct(freq)
- 8. Rückgabe MGT.
Referenzen
- ^ Latanya Sweeney. „Datafly: ein System zur Gewährleistung der Anonymität medizinischer Daten“ . Abgerufen am 19. Januar 2014 .
- ^ L. Sweeney, Datafly: ein System zur Gewährleistung der Anonymität medizinischer Daten. Datenbanksicherheit, XI: Status und Perspektiven, T. Lin und S. Qian (Hrsg.), Elsevier Science, Amsterdam, 1998. [1]
- ^ Xiong, Li . „Datenanonymisierung – Generalisierungsalgorithmen“ (PDF) . Archiviert vom Original (PDF) am 16. Januar 2014. Abgerufen am 19. Januar 2014 .
- ^ Latanya Sweeney (2001). Computational Disclosure Control: A Primer on Data Privacy Protection (Dissertation). MIT. S. 113. hdl : 1721.1/8589 .