Алгоритм Datafly - Datafly algorithm
Алгоритм Datafly является алгоритм для обеспечения анонимности медицинских данных. Алгоритм был разработан Латанья Арветт Суини в 1997−98 гг.[1][2] Анонимизация достигается за счет автоматического обобщения, замены, вставки и удаления информации по мере необходимости без потери многих деталей, обнаруженных в данных. Метод можно использовать на лету в ролевой безопасность в учреждении и в партия режим для экспорт данных от учреждения. Организации выпускают и получают медицинские данные со всеми явными идентификаторы - например, имя - удалено, ошибочно полагая, что конфиденциальность пациента поддерживается, потому что полученные данные выглядят анонимными. Однако оставшиеся данные можно использовать для повторной идентификации людей путем связывания или сопоставления данных с другими базами данных или путем изучения уникальных характеристик, обнаруженных в поля и записи из база данных сам.
Алгоритм Datafly подвергся критике за попытку добиться анонимности путем чрезмерного обобщения. Алгоритм выбирает атрибут с наибольшим количеством различных значения как тот, который нужно обобщать первым.[3]
Основной алгоритм
Схема алгоритма Datafly представлена ниже.[4]
Вход:Частный Стол PT; квазиидентификатор QI = ( А1, ..., Ап ), k-ограничение анонимности k; иерархии обобщения предметной области DGHАя, куда я = 1,...,п с сопровождающим функции жАя, и убыток, который представляет собой ограничение на процент кортежи это можно подавить. PT [id] - это набор уникальных идентификаторов или ключей для каждого кортежа.
Выход: MGT - обобщение PT [QI], которое требует k-анонимность
Предполагает: | PT | ≤ k, и потеря * | PT | знак равно k
алгоритм Datafly:
// Построить частоту список содержащий уникальный последовательности значений по квазиидентификатору в PT,
// вместе с количеством вхождений каждой последовательности.
- 1. пусть freq будет расширяемым и разборным вектор изначально без элементов. Каждый элемент имеет форму (QI, частота, SID), где SID = { я быя : ∃ т[я бы] ∈ [я бы] ⇒ т[я бы] = я быя }; и частота = | SID |. Следовательно, freq также доступна в виде таблицы (QI, частота, SID).
- 2. пусть поз 0, всего 0
- 3. пока всего ≠ | PT | делать
- 3,1 частота [поз.] ( т[QI], встречается, SID), где т[QI] ∈ [QI], ( т[QI], __, ___) freq; происходит = | PT | - | PT [QI] - {т[QI]} |; и, SID = { я быя : ∃ т[я бы] PT [id] ⇒ т[я бы] = я быя }
- 3,2 поз. pos + 1, всего всего + происходит
- // Принимаем решение, обобщая атрибут с наибольшим количеством различных значений
- // и подавление не более разрешенного количества кортежей.
- 4. пусть ниже 0
- 5. для поз. 1 к | частота | делать
- 5.1 (__, количество) частота [позиция]
- 5.2 если count < k тогда делай
- 5.2.1 нижеk нижеk + count
- 6. если ниже k> k затем выполните: // Примечание. убыток * | PT | знак равно k.
- 6,1 частота обобщить (частота)
- 6.2 перейти к шагу 4
- 7. еще делать
- // assert: количество подавляемых кортежей в freq ≤ loss * | PT |
- 7.1 частота подавить (частота, нижек)
- 7,2 мгт реконструировать (частота)
- 8. вернуть MGT.
Рекомендации
- ^ Латанья Суини. «Datafly: система для обеспечения анонимности медицинских данных». Получено 19 января 2014.
- ^ Л. Суини, Datafly: система для обеспечения анонимности медицинских данных. Безопасность баз данных, XI: Состояние и перспективы, Т. Лин и С. Цянь (редакторы), Elsevier Science, Амстердам, 1998.[1]
- ^ Ли Сюн. «Анонимизация данных - алгоритмы обобщения» (PDF). Получено 19 января 2014.
- ^ Латанья Суини. Computational Disclosure Control - Учебник по защите конфиденциальности данных. Массачусетский технологический институт. п. 113. HDL:1721.1/8589.