id: Гость   вход   регистрация
текущее время 14:13 29/03/2024
создать
просмотр
редакции
ссылки

27.03 // Mylar: обмен данными и запуск приложений через недоверяемый сервер


Использование веб-приложений требует доверия к серверу, который хранит данные, а также загружаемый в браузер код самого приложения. Могут ли такие приложения быть безопасными, если сервер полностью недоверяем и подконтролен противнику?


Группа исследователей Raluca Ada Popa, Emily Stark, Jonas Helfer, Steven Valdez, Nickolai Zeldovich, M. Frans Kaashoek, Hari Balakrishnan предложила проект Mylar, призванный решить проблему доверия к серверу достаточно эффективным способом.


Предыдущие подходы полагались на хранение данных на сервере в шифрованном виде и возможность расшифрования через браузер, однако делали это недостаточно безопасно, функционально и эффективно.


Во-перых, злонамеренный сервер мог встроить враждебный код, который мог похитить ключ для расшифрования данных на стороне клиента. Предотвратить это непросто из-за достаточно сложной структуры веб-страниц: HTML, CSS, Javascript, картинки и другие элементы, которые могли быть использованы для доставки и выполнения вредоносного кода, часто генерируются динамически, что делает сложной проверку доверия к их целостности. Попытки ограничить сложность веб-страниц не позволяют создавать эффективные веб-приложения, такие как чаты, форумы, фотохостинги.


Во-вторых, было неясно, как можно эффективно организовать совместное использование данных между пользователями. Конечно, каждый документ мог бы быть зашифрован различными ключами, которые бы распространялись среди пользователей, но для распространения этих ключей нельзя было бы использовать сам сервер, т.к. он не является доверяемым.


В третьих, потребовалось бы все операции осуществлять только на стороне клиента, в веб-браузере пользователя, что является неэффективным: например, для поиска среди шифрованных документов, их все пришлось бы загружать в браузер целиком.


Проект Mylar позволяет эффективно использовать JavaScript для повышения безопасности работы с данными: весь JS-код исполняется только на стороне клиента под контролем целостности специального плагина, а через сеть передаются не HTML-файлы, а данные для их формирования в шифрованном виде.


Обмен данными производится за счёт многоключевого шифрования, а для защиты от подмены ключей сервером они формируют цепочку доверия от корневого сертификата, принадлежащего администратору сервиса, запускаемому на этом сервере. Это защищает пользователей от подмены ключей сервером, т.к. каждый ключ проверяется на соответствие сертификату и отображается в интерфейсе обработки данных.


Поиск в многоключевом шифровании (Multi-Key Searchable Encryption) позволяет пользователю отправить серверу запрос, содержащий шифрованное слово. Сервер не может определить, что это за слово, но выдаёт пользователю корректный список шифрованных документов, содержащих данное слово. При этом такая схема работает эффективнее гомоморфного шифрования и авторы приводят доказательства её достаточности и безопасности для заявленной задачи.


Для проверки целостности кода используется его статичность, что позволяет заверить загружаемый код сертификатом, проверямом в плагине к браузеру. Подразумевается, что разработчик JS-приложения доверяем, а пользователям достаточно лишь проверить, что оно не изменено. Поскольку данные не отправляются в готовом виде, а формируются и отображаются в полях самого приложения, то сами данные фильтруются и обрабатываются этим приложением наиболее безопасным способом: безопасность обработки также ложится на плечи разработчика, исключая возможность посторонним встраивать произвольный JS-код в сами данные.


Практическое исследование велось на разработке приложения для обработки данных исследовательского центра гинекологических патологий хирургического госпиталя Массачусетского Технологического Института, связанного с медицинской школой Гарварда. Кроме этого, авторам удалось перенести в среду Mylar как готовые приложения, так и разработать ряд своих собственных: kChat, веб-форум, календарь, фотохостинг. Для адаптации готового веб-приложения в нём достаточно изменить около 36 строк кода, путём встраивания готовых API для связи с Mylar. Данные на стороне сервера хранятся и обрабатываются в шифрованном виде, также как и передаются в каналах связи.


Принципиальная схема Mylar (39 Кб)


Разделение данных между пользователями основано на многоключевом шифровании (используется криптография на билинейных отображениях эллиптических кривых и иерархия ключей).


Разделение доступа по ключам в чатах Mylar (13 Кб)


Любая попытка подмены данных недоверенной стороной приводит к индикации смены адреса сертификата.


Проверка подмены данных (17 Кб)


Криптографическая нагрузка на сервер невелика: по сравнению с обычным приложением невелики как задержки в работе, так и снижение максимального количества одновременно обслуживаемых сервером пользователей.


Потребление ресурсов по сравнению с обычным сервером (40 Кб)


Создание проекта Mylar проведено на гранты национального фонда научных исследований США, программы по созданию защищённого хостинга агентства перспективных оборонных исследований (DARPA CRASH), при содействии компаний Quanta и Google на базе проекта Meteor Development Group.


Проект будет представлен на NSDI'14 (Одиннадцатом симпозиуме по разработке и реализации сетевых систем USENIX), 2-4 апреля 2014 года в Сиэттле (США).


Источник: Группа безопасности компьютерных систем, кафедра компьютерных наук и искусственного интеллекта Массачусетского Технологического Института


 
На страницу: 1, 2 След.
Комментарии [скрыть комментарии/форму]
— SATtva (27/03/2014 10:56)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Спасибо за заметку, очень интересно.
— unknown (27/03/2014 11:02)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Авторы в статье тонко намекают, почему Cryptocat и пр. аналоги, мягко говоря, не дотягивают.
— Гость (28/03/2014 13:16)   <#>
для пользования kChat нужно свой сервер поднимать?
— Гость (28/03/2014 13:22)   <#>
https://kchat.meteor.com/ – тестит народ
— unknown (28/03/2014 14:10, исправлен 28/03/2014 14:10)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Сам по себе kChat никакой безопасности не обеспечивает. Он не создавался специально под Mylar.


Нужен сервер, на сервере должен быть Mylar+kChat с шифрованием и соответствующий плагин у пользователей, которые с этим сервером соединяются.


Mylar пока в альфа-версии.

— Гость (26/05/2014 00:48)   <#>

Интересная статья, но вот сразу же возникает вопрос: допустим, противник (сервер) регистрируется членом группы, у которой есть доступ (ключи шифрования) к определённым документам на сервере. Это позволит противнику сказать, какие именно шифрованные данные на сервере каким ключевым словам поиска соответствуют. Если группы состоят из анонимов и между ними нет полного доверия, как решить эту проблему? Иначе владелец сервера может легко цензурировать контент и смотреть, кто что ищет, кто зачем пришёл.

P.S. Спасибо за перевод.
— unknown (26/05/2014 10:27, исправлен 26/05/2014 17:43)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Интересно подмечено. Возможно, что с группами, в которых предусмотрено открытое членство, этот протокол не работает безопасным образом.


P.S.:

Most existing symmetric searchable encryption schemes aim at allowing a user to outsource her encrypted data to a cloud server and delegate the latter to search on her behalf. These schemes do not qualify as a secure and scalable solution for the multi-party setting, where users outsource their encrypted data to a cloud server and selectively authorize each other to search. Due to the possibility that the cloud server may collude with some malicious users, it is a challenge to have a secure and scalable multi-party searchable encryption (MPSE) scheme. This is shown by our analysis on the Popa-Zeldovich scheme, which says that an honest user may leak all her search patterns even if she shares only one of her documents with another malicious user.

Nothing is for Free: Security in Searching Shared & Encrypted Data

— Гость (26/05/2014 19:02)   <#>
Из-за таких новостей эти атаки сами приходят в голову. Может Multi-Key Searchable Encryption дать создать Paedophile Ring Protocol или Criminal Market Protocol (SR) безопасный от FBI, которое рулит хостингом (FH)?
— unknown (26/05/2014 21:54, исправлен 26/05/2014 21:56)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Нет смысла давать дешёвую рекламу работе провокационными названиями. И нет смысла копировать раннюю браваду Росса Андерсона с его протоколом кокаинового аукциона. Когда-то это было смело и оригинально, а сейчас будет выглядеть дешёвой неуместной бравадой. Если протокол будет удачным и получит распространение, то ему будет пиар и белый, и чёрный. Про протоколы управления группами/сообществами я упомянул в /comment79901.

— Гость (27/05/2014 12:23)   <#>
У каждого протокола есть прообраз — конкретная задача, под которую он разрабатывался, перед тем как его обобщили на всё, что только можно. На этапе разработке протокола исследователь постоянно держит в уме конкретную практическую задачу и проверяет, будет ли для неё работать протокол — это если мы говорим о высокоуровневых серьёзных сложных протоколах.

К примеру, дилемма заключённого и кот Шрёдингера — не очень политкорректные постановки задач, но это именно оригинальные задачи, в терминах которых думали люди. Потом ту же дилемму заключённого обобщили на множество других более белых примеров с применениями в экономике и теории игр.
— unknown (27/05/2014 14:17)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Не уверен на счёт этого. Могут прорабатывать абстрактную задачу: исполнение криптопротоколов в группах пользователей. А затем на конкретном частном примере (диссиденты, повстанцы, наркоторговцы, военные, разоблачители секретов) заземлить задачу, сделать разъяснения, придумать запоминающееся название. Также с заключёнными и котом — придумали как запоминающуюся хохму для иллюстрации изначально абстрактного подхода, а не в обратном порядке.
— Гость (27/05/2014 14:38)   <#>
Практическая мотивация у «изначально абстрактного подхода» должна же откуда-то браться, не с libastral же. Как раз академические наработки, целиком высосанные из пальца, обычно не взлетают, и применения им не находится.
— unknown (27/05/2014 15:01)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Ну неужели Шрёдингира интересовали коты, а не кванты? А в теории игр рально думали, как бы опробовать результат на заключённых?
Неужели и эту теорему придумали под влиянием какой-то практической мотивации, отражённой в названии? Скорее это просто аналогия, название в шутку для запоминания и наглядной иллюстрации. Как правило буравчика для векторов или правило рюмки для производных.
— Гость (27/05/2014 19:28)   <#>

Шрёдингера интересовал реальный мир. Если бы он был устроен не так, и кванты были бы применимы к макрообъектам в полном смысле этого слова, то существовал бы эксперимент с реальным полуживым/полудохлым макрокотом. И это было бы очень интересно. Это вам сейчас такие рассуждения кажутся глупыми, а 100 лет назад это не очень хорошо понимали, и такой вопрос был вполне осмысленным (как и про мышь Эйнштейна). В конце концов, попытки применить кванты к биологии с наблюдением суперпозиции простейших живых организмов (вирусов) имеются [1], [2], [3], к ним перешли после успешных опытов с фуллеренами и крупными органическими молекулами. Полудохлый вирус — вот это как? А вдруг вы узнаете из этих опытов что-то принципиально новое — к примеру, природу коллапса? Люди ведь до сих пор не понимают, почему у макрообъектов суперпозиция не наблюдается ни в каком виде. В общем, нельзя сказать, что вопрос с котом закрыт, и кот — дальний ориентир для направления исследований, которые, как видите, идут до сих пор.


Я думаю, что автор держал в голове именно этот пример, когда его прорабатывал, так что скорее да, чем нет.


В разных странах эта теорема называется по-разному. Теорема сжатия, теорема о промежуточной функции, теорема о двух карабинерах, теорема о сэндвиче (или правило сэндвича), теорема о трёх струнах, теорема о двух жандармах, теорема о двух городовых и пр.

Впервые слышу о таком названии очевидного факта. Я не удивлюсь, если в оригинале рассматривлась какая-то прикладная задача из области игр, которую формализовали в соответствующих терминах. Вспомните тот же парадокс Зенона, который появился за много столетий до создания дифференциального исчисления. Он не интерпретация соответствующего ряда с доказанными условиями сходимости, потому что этот ряд выписали намного позже, чем появился парадокс, как я понимаю.


Впервые услышал о таком названии для общеизвестного факта.

Мораль проста: часто люди берутся за теоретическую задачу по крипто, при этом совершенно не представляя себе потребности рынка и конечных пользователей. Они ставят к ней какие-то совершенно неадекватные требования в качестве условий. Потом публикуется очередная бестолковая статья, которая тут же забывается, и никто её не читает. Умение понять, что нужно, и что акутально, берётся как раз из практики. Конечно, с какого-то момента абстрактная теория как математика может начать жить собственной жизнью, и задачи будут браться из неё самой, но всё равно задачи, за которыми есть конкретный практический смысл, обычно оказываются более важными даже в рамках теории. Верно и обратное — самые фундаментальные факты, даже если взялись из абстрактной теории, потом часто находят непосредственное применение на практике.
— Гость (27/05/2014 21:33)   <#>
Paedophile Ring Protocol или Criminal Market Protocol (SR) безопасный от FBI
Боюсь что с таким названием, это поделие сразу забанят законодательно. А если и нет, когда хостеру (который отвечает за замеченный в такой активности IP) придет абуза, будет сложно объяснить что ты не криминал.
Такие названия – это очень плохая идея. От подобного надо всеми силами открещиваться хотя-бы на словах.
На страницу: 1, 2 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3