● Каждый менеджер баз данных создает уникальные идентификаторы для каждой записи в своем наборе данных.
● Эти идентификаторы и связанная с ними идентифицирующая информация (например, имена) отправляются «доверенной третьей стороне» по защищенным ссылкам, каждая из которых соответствует конкретному идентификатору.
● Для каждой записи создается связывающий идентификатор.
● Файлы, содержащие связывающий идентификатор и уникальные идентификаторы для каждой записи, отправляются обратно владельцам базы данных.
● Владельцы базы данных добавляют связывающий идентификатор к записям в своем наборе данных.
● Наконец, каждый владелец базы данных извлекает идентификационную информацию (например, имена) и отправляет записи и их связывающие идентификаторы исследователю, который может связывать наборы данных, используя связывающий идентификатор, не зная самих идентификационных данных.
Этот процесс кажется несколько сложным, но на деле он очень эффективен для сокрытия идентификаторов при связывании записей из двух наборов данных. Хотя такие проекты по связыванию данных могут быть чрезвычайно ценными для общества, они всегда несут риски нежелательной идентификации, которые могут быть значительно увеличены, если данные будут связаны с внешними наборами данных. (Это было невозможно в случае ADRN, поскольку весь анализ проводился в защищенных средах без доступа к другим источникам данных.) Эта дилемма хорошо иллюстрируется одним известным случаем.
В 1997 г. Комиссия по страхованию штата Массачусетс (GIC) опубликовала больничные данные для исследователей, чтобы они могли разработать улучшенные стратегии здравоохранения. Тогдашний губернатор Массачусетса Уильям Уэлд заверил жителей штата в том, что их конфиденциальность защищена, заявив, что GIC удалила личные идентификаторы из данных.
Возможность связывания данных, однако, не была рассмотрена. Латания Суини была в то время аспирантом в Массачусетском технологическом институте, где занималась «вычислительным контролем идентификации» – отраслью информатики, связанной с инструментами и методами сохранения данных в темноте. Суини задалась вопросом, возможно ли, вопреки утверждению Уэлда, идентифицировать людей по данным GIC. В частности, она решила поискать данные самого Уэлда. Общеизвестно, что Уэлд живет в Кеймбридже, штат Массачусетс, в котором всего семь почтовых индексов и 54 000 жителей. Суини сопоставила эту информацию с данными в избирательном бюллетене, которые можно было купить всего за $20. Затем, используя другую общедоступную информацию об Уэлде – дату его рождения, пол и т. д., она смогла сопоставить ее с больничными записями и таким образом идентифицировать медицинскую запись Уэлда. В довершение всего Суини послала ему копии найденных записей.
Конечно, в этом деле присутствует фактор уникальности. Любой набор данных может включать данные известных лиц, которые в некотором смысле являются аномальными и допускают простую идентификацию, но это не означает, что большинство людей могут быть так же легко идентифицированы. В нашем примере Уэлд был публичной фигурой, и о нем было много чего известно. Кроме того, его повторная идентификация зависела от точности информации в избирательном бюллетене. Дэниел Барт-Джонс детально изучил этот случай и показал его исключительность
[161]. Тем не менее это событие вызвало определенную тревогу на правительственном уровне и недавние изменения в законодательстве затруднили такую повторную идентификацию.
Другой известный случай касается данных веб-поиска, открыто опубликованных на портале поставщиком онлайн-услуг AOL в 2006 г. Чтобы сохранить анонимность, AOL удалил IP-адреса и никнеймы пользователей, осуществлявших поисковые запросы, заменяя их все тем же случайно выбранным идентификатором. В данном случае анонимность была взломана не аспирантом, а двумя журналистами, которые быстро сопоставили идентификатор 4417749 с Тельмой Арнольд, вдовой, проживающей в Лилберне, штат Джорджия. Журналисты сделали это, сузив поиск благодаря информации, содержавшейся в ее поисковых запросах: она искала медицинские недуги людей с фамилией Арнольд, информацию о собаках и т. д.
Еще один печально известный случай – так называемый «приз от Netflix» – произошел в 2006 г. База данных Netflix содержала сравнительные рейтинги предпочтений фильмов для полумиллиона подписчиков сервиса. Компанией был объявлен конкурс с призовым фондом в размере $1 млн за разработку алгоритма, который бы на 10 % точнее существующего рекомендовал фильмы подписчикам. Вся личная информация, как и положено, была удалена, а идентификаторы заменены случайными кодами. На этот раз защиту взломали два исследователя из Техасского университета, Арвинд Нараянан и Виталий Шматиков. Вот их заявление: «Мы показываем, что злоумышленник, который знает хоть что-то об отдельном подписчике, может легко идентифицировать запись этого подписчика в наборе данных. Используя базу данных фильмов в интернете (IMDb) в качестве источника базовых знаний, мы успешно определили записи известных пользователей Netflix, выявив их очевидные политические предпочтения и другую конфиденциальную информацию»
[162].
Все вышеизложенное – это случаи, произошедшие относительно давно. В результате их были приняты законы, направленные на то, чтобы сделать наборы данных более безопасными и наказывать за попытки взломать анонимность. Но печальная правда заключается в том, что данные должны быть либо абсолютно темными и, следовательно, бесполезными, либо иметь для доступа хотя бы минимальную щель, через которую всегда может просочиться свет.
Сбор данных в темноте
Как мы видим, данные, идентифицирующие людей, можно анонимизировать в случаях, когда одни наборы данных связываются с другими, но есть возможность пойти еще дальше. Можно делать данные темными по мере их сбора и использования в расчетах, чтобы их вообще никто никогда не видел, но они по-прежнему были бы доступными для анализа. Ниже приведены некоторые из способов, которыми это можно сделать.
Прежде всего это рандомизированный ответ – хорошо известная стратегия сбора конфиденциальной личной информации, такой как данные, касающиеся сексуального или нечестного поведения. Для примера предположим, что мы хотим знать, какая часть населения хотя бы раз в жизни совершала кражу. Прямой вопрос на эту тему в лучшем случае приведет к искаженным ответам, поскольку очевидно, что люди склонны лгать и отрицать. Вместо этого мы просим каждого человека подбросить монету, которую видит только он. Люди проинструктированы, что, если выпадает орел, они должны правдиво ответить «да» или «нет» на вопрос «Совершали ли вы когда-нибудь кражу?», а если выпадает решка, то они должны просто ответить «да». Теперь для любого человека положительный ответ означает, что мы не будем знать, украл ли он что-то на самом деле или это монета упала решкой вверх. Но мы узнаем нечто большее. Поскольку вероятность того, что выпадет орел, равна 1/2, мы будем знать, что общее число ответивших «нет» – только половина тех, кто действительно ничего не крал. Так что удвоение этого числа скажет нам о том, сколько человек действительно не совершали краж. Вычитая это значение из общего числа, мы узнаем число тех, кому доводилось красть.