«Зашифрованные пространства»: Новая эра сквозного шифрования для командной работы
Сквозное шифрование (end-to-end encryption), при котором данные кодируются таким образом, что только непосредственные участники беседы могут расшифровать свои сообщения, минуя сервер-посредник или любых других перехватчиков, стало стандартом современной онлайн-приватности. Однако эта модель, часто ассоциируемая с простым каналом связи между двумя точками, плохо вписывается в реалии современных многопользовательских и сложных коллаборативных программ, таких как Slack, Discord и Google Docs, где люди сегодня работают и общаются.
Группа криптографов разработала основу для нового поколения приложений со сквозным шифрованием, предложив иную метафору. Вместо простого "канала связи" они стремятся создать "пространства", где пользователи могут вести групповые обсуждения, размещать информацию на сервере, совместно вносить изменения, приглашать новых участников или исключать их, сохраняя при этом надежные криптографические меры защиты, предотвращающие доступ к данным со стороны сервера или сетевых перехватчиков.
Команда криптографов, включающая специалистов из Гарварда, Microsoft Research и бывших разработчиков мессенджера Signal со сквозным шифрованием, представила "предварительную версию" проекта Encrypted Spaces. Это ранний набор библиотек открытого исходного кода, являющийся частью архитектуры, призванной упростить создание строго защищенных приложений со сквозным шифрованием, которые при этом поддерживают все востребованные сегодня функции для совместной работы.
По словам представителей группы, они увидели перспективу в переходе от однопользовательских приложений и мессенджеров для общения один на один к многопользовательским инструментам для совместной работы. Этот переход совпадает с появлением новых криптографических методов, в частности "доказательств с нулевым разглашением", которые позволяют компьютерам обрабатывать и проверять целостность зашифрованных данных, не раскрывая их содержимого.
Как отмечает Нора Трапп, инженер лаборатории прикладных социальных медиа Гарвардского университета и бывший технический руководитель Signal, эти элементы складываются воедино, создавая момент технологического сдвига, позволяющего внедрить шифрование и конфиденциальность. Проект нацелен на предоставление технологической основы для разработчиков, чтобы они могли создавать подобные приложения, ориентированные на защиту приватности.
Среди криптографов, работающих над проектом, выделяется Тревор Перрин, соавтор протокола Signal — системы шифрования с открытым исходным кодом, используемой не только более чем на 100 миллионах телефонов с установленным Signal, но и на миллиардах устройств, применяющих WhatsApp и Facebook Messenger*. По словам Мэтта Грина, профессора информатики Университета Джонса Хопкинса, специализирующегося на криптографии, Encrypted Spaces представляет собой своего рода следующее поколение протокола Signal, но ориентированное на более сложные и многофункциональные инструменты, выходящие за рамки обычных сообщений и звонков.
Грин, который ознакомился с техническим документом, описывающим проект Encrypted Spaces, и прототипом приложения, считает, что разработчики создали систему, расширяющую возможности сквозного шифрования, предоставляя полноценную архитектуру для зашифрованной совместной работы. Этот подход можно рассматривать как протокол Signal для приложений для совместной работы.
Однако, в отличие от Signal, выпущенный группой Encrypted Spaces код пока не является готовым приложением. Это репозиторий кода, который предлагается для изучения исследователям криптографии и разработчикам. Конечная цель — дать программистам возможность создавать собственные зашифрованные коллаборативные приложения без необходимости обладать глубокими знаниями в области криптографии. Трапп утверждает, что разработчики стремятся сделать сквозное шифрование настолько простым в реализации, чтобы у создателей приложений не возникало причин не использовать его.
Новый подход к обработке данных
Encrypted Spaces нацелен на преодоление ключевого ограничения существующих приложений со сквозным шифрованием. Поскольку сервер не может расшифровывать данные пользователей, любые манипуляции с этой информацией должны происходить на устройствах самих пользователей. Это эффективно для приложений, которые служат простым каналом связи между двумя телефонами, каждый из которых имеет ключ для расшифровки разговора. Однако, когда приложение представляет собой коллаборативную платформу с десятками или сотнями совместно работающих пользователей, такая модель сквозного шифрования создает серьезное препятствие: приложение не может просто хранить информацию пользователей на централизованном сервере и обрабатывать ее там, как это происходит на незашифрованных платформах типа Slack или Google Docs.
Encrypted Spaces предлагает новую модель: приложение, построенное на его основе, управляет данными с централизованного сервера, позволяя пользователям совместно вносить изменения в эту информацию, сохраняя ее зашифрованной. В частности, Encrypted Spaces ведет журнал изменений — запись каждого изменения зашифрованных данных, внесенных пользователями. Этот журнал может быть синхронизирован с приложением на каждом телефоне или компьютере пользователя, что позволяет локально применять изменения и поддерживать актуальность версий информации у всех участников.
Сервер использует доказательства с нулевым разглашением — относительно новую криптографическую технику — чтобы подтвердить каждому устройству пользователя отсутствие пропущенных или несанкционированных изменений, при этом сам сервер никогда не получает доступ к незашифрованным данным или изменениям. Отсюда и название "нулевое разглашение". Более того, Encrypted Spaces может использовать свойство "свертывания" доказательств с нулевым разглашением, чтобы гарантировать актуальность данных группы у каждого пользователя без необходимости применять каждое изменение из всего журнала. По словам Перрина, сервер может "свернуть" изменения в краткое доказательство того, что текущее состояние отражает всю историю, убеждая пользователя в корректности применения журнала изменений без необходимости его полной передачи.
Сервер также применяет доказательства с нулевым разглашением для контроля управления криптографическими ключами на устройствах пользователей. Это позволяет авторизованным участникам расшифровывать и изменять данные, приглашать новых пользователей и надежно отзывать доступ при выходе кого-либо из группы. Пользователи пространства могут выбрать, делиться ли полной историей приложения с новым приглашенным участником или ограничить его доступ только к новым сообщениям и данным, добавленным после его присоединения.
Команда Encrypted Spaces продемонстрировала изданию WIRED прототип приложения под названием Spaces, также выпущенный в четверг. (Разработчики рекомендуют рассматривать его как исследовательский прототип, а не использовать в текущем состоянии.) В ходе демонстрации прототип Spaces выглядел как полноценное приложение со сквозным шифрованием, похожее на Slack или Discord, с дополнительными функциями для групповых заметок, календаря и файлового хранилища. Однако в нем пока отсутствовали некоторые возможности, такие как голосовые вызовы и поиск.
Многие коллаборативные инструменты уже предлагают определенный уровень сквозного шифрования, например, облачные сервисы Proton, включающие хранение файлов и редактирование документов, или аналогичные решения от CryptPad и Nextcloud. Такие платформы, как Matrix и Nextcloud, также предоставляют групповые мессенджеры со сквозным шифрованием, похожие на Slack или Discord.
Однако, по мнению Грина из Университета Джонса Хопкинса, Encrypted Spaces предоставляет открытую и надежную основу для более строгого и стандартизированного подхода к созданию этих приложений и будущих решений. Это также дает значительное преимущество любому, кто стремится безопасно разрабатывать зашифрованный инструмент. Грин высоко оценил идею создания стандартной библиотеки, которую смогут проверить многие специалисты, отметив, что использование этой библиотеки "бесплатно" обеспечивает всю необходимую безопасность.
Эволюция от Signal к "Пространствам"
Работа над Encrypted Spaces началась, по крайней мере частично, внутри команды разработчиков Signal. В 2019 и 2020 годах разработчики Signal, включая Трапп и Перрина, работали над улучшением функции групповых чатов Signal для лучшего сохранения конфиденциальности участников. Цель заключалась в том, чтобы серверы Signal могли управлять составом группы, не храня при этом незашифрованных записей списка участников. В итоге они объединились с криптографами из Microsoft Research для создания новой системы "анонимных учетных данных", которая использовала доказательства с нулевым разглашением для поддержания списка участников на сервере, не раскрывая его.
Этот серверный, зашифрованный и проверенный список участников группового чата представлял собой новую модель безопасности для Signal, который до этого стремился хранить максимум данных на устройствах пользователей, используя серверы лишь как простые ретрансляторы. По словам Перрина, команда начала задумываться о том, какие еще возможности может открыть такой подход — использование доказательств с нулевым разглашением для более широких манипуляций с зашифрованными данными, хранящимися на сервере. Разработчики задавались вопросом, если такое шифрование работает для списка участников, почему бы не применить его ко всем данным?
Это размышление привело к более амбициозной идее, как ее описывает Грег Заверуха из Microsoft Research: "Почему бы нам не внедрить сквозное шифрование во все используемые приложения?" После семи лет периодической работы, Encrypted Spaces наконец представил свой репозиторий открытого исходного кода. Мэри Грей из Microsoft Research, антрополог и технолог, специализирующаяся на конфиденциальности, также руководит проектом по сотрудничеству с общественными и социальными службами в районе залива Сан-Франциско для разработки Encrypted Spaces и создания прототипов, адаптированных под их специфические нужды.
В случае успеха Encrypted Spaces в создании нового поколения приложений со сквозным шифрованием, вероятно, они будут использоваться и в менее благовидных целях. Основные мессенджеры уже служат каналами для многих киберпреступных групп. Зашифрованные версии таких приложений, несомненно, затруднят работу правоохранительных органов по наблюдению за лицами, наносящими реальный вред.
Однако Трапп подчеркивает, что аргумент о небольшой доле злоумышленников не должен препятствовать созданию платформ, которые по умолчанию лучше защищают конфиденциальность каждого, вместо того чтобы необдуманно оставлять пользователей уязвимыми для слежки в чувствительных разговорах и при совместной работе. В обзоре отмечается, что право на конфиденциальность в цифровом мире должно быть таким же, как и в реальной жизни, вместо того чтобы строить интернет с изначально заложенной функцией слежки.
В конечном счете, шифрование уже становится нормой в других областях интернета: практически каждый веб-сайт использует шифрование HTTPS, а Signal помог обеспечить сквозное шифрование текстовых и голосовых сообщений на миллиардах телефонов и ноутбуков. На фоне этого масштабного перехода к шифрованию возникает вопрос, почему такие платформы, как Slack и Google Docs, должны оставаться открытыми для наблюдения?
Смотрите также:
Новые возможности Apple Music в iOS 27: анонс на WWDC http://stroybud.com/novyie-vozmozhnosti-apple-music-v-ios-27-anons-na-wwdc/.
Интересности на тему: Калифорнийский законопроект AB 412: невыполнимые требования для разработчиков ИИ
Классные советы в статье "Наушники Sony WH-1000XM5 подешевели до рекордного минимума" здесь.
Трапп выразила надежду, что по аналогии с тем, как Signal стал стандартом в области обмена сообщениями, подобные технологии могут стать нормой для всей разработки приложений. Она считает, что сквозное шифрование должно стать фактическим стандартом для каждого приложения на наших устройствах, что лишь укрепит восприятие конфиденциальности как нормы.
* — деятельность компании запрещена на территории РФ




