Как правило, пользователи не знают, какие элементы данных собирают их приложения, где они хранятся и надежно ли они хранятся. Исследователи из Массачусетского технологического института и Гарвардского университета надеются изменить это с помощью приложения, которое они называют Sieve.С помощью Sieve пользователь Интернета будет хранить все свои личные данные в зашифрованном виде в облаке.
Любое приложение, которое хотело использовать определенные элементы данных, отправило бы запрос пользователю и получило секретный ключ, который расшифровывал только эти элементы. Если пользователь хотел отозвать доступ к приложению, Sieve повторно зашифрует данные с новым ключом.
«Это переосмысление веб-инфраструктуры», — говорит Франк Ван, аспирант в области электротехники и информатики и один из разработчиков системы. «Может быть, лучше, чтобы один человек управлял всеми своими данными. Существует один тип безопасности, а не 10 типов безопасности. Мы пытаемся представить альтернативную модель, которая была бы полезна как для пользователей, так и для приложений».В этом месяце исследователи представляют Sieve на симпозиуме USENIX по проектированию и внедрению сетевых систем.
Ван является первым автором, к нему присоединились доцент кафедры электротехники и информатики Массачусетского технологического института Николай Зельдович и Винод Вайкунтанатан, профессор развития карьеры Стивена и Рене Финн из Массачусетского технологического института, а также Джеймс Миккенс, доцент кафедры информатики Гарвардского университета. .Выборочное раскрытиеSieve потребовал от исследователей разработать практические версии двух передовых методов шифрования, называемых шифрованием на основе атрибутов и гомоморфизмом ключей. При шифровании на основе атрибутов элементам данных в файле назначаются разные метки или «атрибуты».
После шифрования могут быть сгенерированы секретные ключи, которые разблокируют только определенные комбинации атрибутов: имя и почтовый индекс, но не название улицы, например, или почтовый индекс и дату рождения, но не имя.Проблема с атрибутивным шифрованием и дешифрованием в том, что оно медленное. Чтобы обойти это, исследователи из Массачусетского технологического института и Гарварда предполагают, что пользователи Sieve будут объединять определенные типы данных в один атрибут. Например, врач может быть заинтересован в данных с устройства для отслеживания физической формы пациента, но, вероятно, не в деталях одной дневной пробежки.
Пользователь может выбрать группировку фитнес-данных по месяцам.Однако это создает собственные проблемы. Устройство для отслеживания фитнеса, вероятно, захочет хранить данные в Интернете, как только данные будут сгенерированы, а не ждать до конца месяца для массовой загрузки.
Но данные, загруженные в облако вчера, могут оказаться в совершенно другом физическом месте, чем данные, загруженные тем же устройством сегодня.Таким образом, Sieve включает таблицы, которые отслеживают места, в которых сгруппированные элементы данных хранятся в облаке. Каждая из этих таблиц зашифрована одним атрибутом, но данные, на которые они указывают, зашифрованы с использованием стандартных и более эффективных алгоритмов шифрования.
Как следствие, размер элемента данных, зашифрованного с помощью атрибутивного шифрования — таблицы — является фиксированным, что делает дешифрование более эффективным.В ходе экспериментов исследователи обнаружили, что расшифровка, скажем, ежедневного времени выполнения за месяц, сгруппированного по одному атрибуту, займет около 1,5 секунд, тогда как если бы результат каждого дня был зашифрован с помощью своего собственного атрибута, расшифровка стоимости месяца займет 15 секунд.
Ван разработал интерфейс, который отображает элементы данных пользователя Sieve в виде списка и позволяет пользователю создавать и маркировать значки, представляющие различные атрибуты. Этот атрибут назначается при перетаскивании элемента данных на значок. На данный момент интерфейс не очень удобен для пользователя, но его цель — показать, что лежащий в основе механизм шифрования работает должным образом.
Слепая манипуляцияКлючевой гомоморфизм — это то, что позволяет Sieve отменить доступ приложения к данным пользователя.
Благодаря гомоморфизму ключей облачный сервер может повторно зашифровать данные, которые он хранит, не расшифровывая их сначала — или не отправляя их пользователю для расшифровки, повторного шифрования и повторной загрузки. В этом случае исследователям пришлось превратить работу, которая в основном была теоретической, в рабочую систему.«Все эти вещи в криптографии очень расплывчаты», — говорит Ван. «Они говорят:« Вот алгоритм. Допустим, все эти сложные математические вещи ». Но на самом деле, как мне это построить?
Они такие: «О, у этой группы есть это свойство». Но они не говорят вам, что это за группа.
Это числа? Это простые числа? Это эллиптические кривые? Нам потребовался месяц или около того, чтобы осознать, что нам нужно сделать, чтобы заставить это работать ".
Конечно, такая система, как Sieve, требует участия разработчиков приложений. Но это могло сработать им на пользу.
Данное приложение могло бы предоставлять более полезные услуги, если бы у него был доступ к данным, собранным другими устройствами. И если бы такая система, как Sieve, была развернута на коммерческой основе, приложения могли бы отличаться от своих конкурентов, рекламируя себя как Sieve-совместимые.
