Session — cвобoдный анонимный децентрализованный мессенджер на базе экосистемы Oxen, поддерживающий сквозное шифрование и минимизирующий использование метаданных для скрытия личностей пользователей по умолчанию.
Отличительной особенностью Session является отсутствие необходимости предоставлять любые персональные данные для регистрации. Вместо этого при создании аккаунта генерируется случайный уникальный ID. Другой важной особенностью является то, что Session скрывает IP-адреса пользователей, тем самым защищая их от деанонимизации.
История создания Session создан The Oxen Projects при поддержке Loki Foundation, НПО из Австралии, сфокусированном на технологиях, обеспечивающих приватность. Изначально мессенджер был форком Signal, который долгое время считался одним из самых безопасных мессенджеров из-за использования сквозного шифрования и протокола Signal. Однако протокол Signal был разработан для систем с централизованным сервером, а мессенджер Signal собирал больше метаданных, чем необходимо. В итоге разработчики Session решили создать свой протокол, обеспечивающий большую скорость, децентрализованность и безопасность ценой некоторых функций Signal.
Принцип работы Session построен на основе блокчейна Oxen, который работает на серверах, поддерживаемых сообществом энтузиастов. Диалоги шифруются с помощью сквозного шифрования: только отправитель и получатель могут расшифровать сообщение. Также, защищена идентичность пользователей за счёт использования луковой маршрутизации — пользователи соединяются друг с другом через напоминающую Tor сеть нод с некоторыми ключевыми отличиями, улучшающими приватность. Ни одна нода не может одновременно знать IP-адрес отправителя и получателя сообщения, все сообщения в сети зашифрованы.
Кроме того, ноды сгенерированы в рои. Рои обеспечивают устойчивость сети и используются для временного хранения сообщений, которые временно не могут быть доставлены в точку назначения.
Дополнительные возможности
Мульти-устройства Session поддерживает мульти-устройства (multi-device). Таким образом можно использовать его и на компьютере, ноутбуке, телефоне, а также на других устройствах одновременноWhitepaper , стр.16. Для этого необходимо, чтобы была проведена синхронизация ключей между двумя устройствами. С точки зрения пользователя нужно, чтобы оба устройства имели одинаковую ключевую пару публичного и приватного ключа.
На схеме изображена пересылка информации с использованием нескольких устройств. Алиса посылает сообщение с её первичного устройства для Боба, у которого включено несколько устройств одновременно. Алиса отправляет сообщение для первичного и вторичного устройства Боба. Она также отправляет сообщение себе, для своего вторичного устройства для оставления своего сообщения на другом устройстве. (Для упрощения рисунка здесь не показаны луковые запросы, а также репликация сообщений через рой).
Передача вложений Отправка файлов поддерживается до 10 МБ. Перед отправкой файл шифруется случайным AES ключом. После этого отправитель отправляет файл через луковые запросы (onion requests). В ответ файловый сервер передаёт ссылку на контент, возвращаемую тоже через луковые запросы. После этого отправитель отправляет сообщение получателю через существующую сессию. Это сообщение содержит ссылку на контент, его хэш и ключ расшифровки. Получатель использует луковые запросы для получения зашифрованного сообщения с файл-сервера, а затем расшифровывает его с помощью полученного ключа дешифровки от отправителя. Получатель также проверяет хэш вложения для проверки того, что файл не был модифицирован при передачеWhitepaper , стр.18, 23.
Другие возможности В мессенджере есть возможность создавать исчезающие сообщения с периодом от 5 секунд до 1 недели. Для защиты от спама максимальное время хранения сообщений в рое перед их доставкой составляет 96 часовWhitepaper , стр.23. Это время можно выбрать в настройках приложения в пределах 12 часов — 96 часов (Message TTL).
Session поддерживает бэкап на некоторые популярные облачные сервисы. Бэкап шифруется с помощью симметричного ключа (полученного из долгоживущего приватного ключа (long-term private key), который в свою очередь шифруется с помощью парольной фразы, состоящей из 12 произносимых случайных словWhitepaper , стр.20.
Достоинства Session messenger Использует сквозное шифрование Скрывает IP-адреса и метаданные пользователей по умолчанию (на момент только в переписке, в будущем также во время звонков) Не требует номер телефона, электронной почты или любых других данных для регистрации Имеет открытый исходный код Использует (децентрализованную) onion-маршрутизацию с некоторыми ключевыми отличиями, улучающими приватность пользователя Не имеет возможности логгировать данные пользователя, в следствие чего ежемесячно отказывает десяткам судебных требований выдать данные пользователя (в силу отсутствии возможности сделать это) Поддерживает групповые чаты Устойчив к атакам MITM и Сивиллы Использует надежную и широко одобренную систему шифрования Libsodium, также имеющую открытый исходный код Клиенты Session для ПК, Android и iOS прошли аудит информационной безопасности от Quarkslab Доступен для установки на все операционные системы (Windows, Mac, Linux, iPhone, iPad, Android) Стоит также отметить, что команда разработчиков Session (OPTF) является некоммерческой организацией и полностью прозрачна в финансировании
Недостатки Session messenger Некоторые считают, что отказ от PFS является недостатком, но на самом деле это не компрометирует безопасность юзеров в условиях Session.
См. также Аналогичный децентрализованный протокол — Tox Сквозное шифрование Протокол Signal Алгоритм двойного храповика Протокол Matrix
Ссылки Официальный сайт мессенджера Страница проекта на GitHub Официальный сайт Oxen Privacy Tech Foundation Официальный сайт Oxen Network Официальный сайт Lokinet Обсуждение мессенджера через протокол Matrix #session: matrix.org
Примечания
Категория:Свободные программы мгновенного обмена сообщениями Категория:Программы_мгновенного_обмена_сообщениями Категория:Программное_обеспечение,_разработанное_в_2020_году Категория:Программное обеспечение для macOS Категория:Программное обеспечение для Windows Категория:Программное обеспечение для Linux