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