Но вопросы базы данных онлайн могут показать удивительный объем информации о людях, делающих их. И некоторые места путешествия, как было известно, поднимали цены на полеты, маршруты которых тянут необычно большой объем вопросов.
На Симпозиуме USENIX по Сетевому Проектированию систем и Внедрению на следующей неделе, исследователи из Лаборатории Информатики и Искусственного интеллекта MIT и Стэнфордского университета представят новую систему шифрования, которая маскирует вопросы базы данных пользователей так, чтобы они не показывали частной информации.Систему называют Осколком, потому что это разделяет вопрос и распределяет его через копии той же самой базы данных по многократным серверам. Серверы возвращают результаты, которые имеют смысл только, когда повторно объединено согласно процедуре, которую знает один только пользователь.
Целому по крайней мере одному серверов можно доверять, для любого кроме пользователя невозможно определить то, что подвергает сомнению запущенные серверы.«Каноническим примером позади этой линии работы были общественные доступные базы данных», говорит Франк Ван, аспирант MIT в электротехнике и информатике и первом авторе на трудах конференции. «Когда люди искали определенные виды патентов, они выдали исследование, они продолжали работать.
Курсы акций – другой пример: Много времени, когда Вы ищете биржевые цены, это выдает информацию о том, какие запасы Вы собираетесь купить. Другой пример – карты: Когда Вы ищете, где Вы и куда Вы собираетесь пойти, это показывает богатство информации о Вас».
Нейтральный посредникКонечно, если место, которое принимает базу данных, самостоятельно собирает данные пользователей без их согласия, требование по крайней мере одного сервера, которому доверяют, трудно провести в жизнь.
Ван, однако, указывает на увеличивающуюся популярность служб, таких как DuckDuckGo, поисковая система, которая использует результаты поиска с других мест, таких как Бинг и Yahoo, но клянется не представить его клиентов.«Мы видим сдвиг к людям, желающим частные вопросы», говорит Ван. «Мы можем вообразить модель, в которой другие услуги очищают место путешествия, и возможно они добровольно предлагают принимать информацию для Вас, или возможно Вы подписываетесь на них. Или возможно в будущем, места путешествия понимают, что эти услуги становятся более популярными, и они добровольно предлагают данные.
Но прямо сейчас, мы доверчивы, что на сторонних местах есть адекватные защиты, и с Осколком мы пытаемся сделать это большим количеством гарантии».Разделение трудаОсколок использует технику, названную разделением тайны функции, которое было сначала описано в статье 2015 года трио израильских программистов.
Один из них, Элетт Бойл, заработал для ее доктора философии в MIT, учащемся с профессором RSA Информатики и Техническим Шафи Голдвассером, получателем 2013 года Премии Тьюринга, высшей премии в информатике. Голдвассер, в свою очередь, является одним из соавторов Вана на новой бумаге, наряду с Винодом Вэйкантэнэзэном, адъюнкт-профессором MIT электротехники и информатики (EECS); Кэтрин Юнь, аспирант EECS; и Мэтеи Зэхэрия, доцент информатики в Стэнфорде.Системы для маскировки вопросов базы данных были предложены в прошлом, но разделение тайны функции могло сделать их целым в 10 раз быстрее. В экспериментах MIT и Стэнфордские исследователи нашли, что Осколок мог возвратить результат базы данных с миллионами записей – включая дубликат базы данных Yelp для отобранных городов – через приблизительно секунду.
С разделением тайны функции вопрос базы данных преобразован в ряд дополнительных математических функций, каждую из которых посылают в различный сервер базы данных. На каждом сервере функция должна быть применена к каждому отчету в базе данных; иначе шпион мог определить, какими данными пользователь интересуется. Каждый раз, когда функция применена к новому отчету, она обновляет стоимость, сохраненную в памяти. После того, как это было применено к последнему отчету, окончательное значение возвращено пользователю.
Но та стоимость бессмысленна, пока она не объединена с ценностями, о которых сообщают другие серверы.Осколок представляет несколько ключевых разработок на предыдущей работе над разделением тайны функции. Принимая во внимание, что более раннее исследование сосредоточилось на сокрытии простого двойного сравнения и дополнительных операций, Осколок выполняет более сложные операции, типичные для вопросов базы данных, такие как нахождение конкретного количества отчетов с самыми высокими или самыми низкими ценностями для некоторой переменной – такими как 10 самой низкой платы за проезд для конкретного маршрута полета. MIT и Стэнфордские исследователи должны были создать шифровальные функции, которые могли выполнить все сравнение и сортировку, требуемую для рейтинга результатов, не предавая информации.
Практические соображенияОсколок был также спроектирован, чтобы бежать эффективно на реальных системах базы данных.
Большинство современных компьютерных микросхем, например, предрасположено осуществлять схему шифрования, известную как AES. Соединение проводами делает сотни AES времен быстрее, чем это было бы, если бы это было осуществлено в программном обеспечении, но у AES есть некоторые особенности, которые делают его меньше, чем идеал для разделения тайны функции.
Через умную комбинацию процессов программного обеспечения и шифрования AES, MIT и Стэнфордские исследователи смогли сделать Осколок в 2.5 раза более эффективным, чем это было бы, если бы это использовало одни только схемы AES.«Всегда есть этот промежуток между чем-то предлагаемым на бумаге и на самом деле осуществляющий его», говорит Ван. «Мы делаем большую оптимизацию, чтобы заставить его работать, и мы должны сделать много уловок, чтобы заставить его поддерживать фактические вопросы базы данных».