Yahoo! Messenger
- 1 year ago
- 0
- 0
Session messenger — открытый анонимный децентрализованный мессенджер на базе экосистемы Oxen, который поддерживает сквозное шифрование, минимизирует использование метаданных и скрывает личности пользователей по умолчанию .
Отличительная особенность Session messenger заключается в том, что для регистрации не требуется телефонный номер или адрес электронной почты. Вместо этого при создании аккаунта генерируется случайный уникальный ID . Другой важной особенностью является то, что Session скрывает IP-адреса пользователей, тем самым защищая их от деанонимизации .
Session - это проект Oxen, созданный при поддержке Loki Foundation - НПО из Австралии, сфокусированной на технологиях, обеспечивающих приватность . Session messenger изначально был форком мессенджера Signal , который долгое время считался одним из самых безопасных мессенджеров из-за использования сквозного шифрования и протокола Signal. Однако протокол Signal был разработан для систем с централизованным сервером, а мессенджер Signal собирал больше метаданных, чем необходимо. В итоге разработчикам Session пришлось разработать свой протокол, который обеспечил большую скорость и безопасность ценой некоторых функций Signal .
Session построен на основе блокчейна Oxen, который работает на серверах, поддерживаемых сообществом энтузиастов . Диалоги в Session шифруются с помощью сквозного шифрования - только отправитель и получатель могут расшифровать сообщение. Session также защищает идентичность пользователей за счёт использования луковой маршрутизации - пользователи соединяются друг с другом через напоминающую Тор сеть нод с некоторыми ключевыми отличиями, улучающими приватность . Ни одна нода не может знать IP-адрес отправителя и получателя сообщения одновременно, все сообщения в сети зашифрованы.
Кроме того, ноды сгенерированы в рои. Рои обеспечивают устойчивость сети и используются для временного хранения сообщений, которые временно не могут быть доставлены в точку назначения .
Session поддерживает мульти-устройства (multi-device). Таким образом можно использовать его и на компьютере, ноутбуке, телефоне, а также на других устройствах одновременно . Для этого необходимо, чтобы была проведена синхронизация ключей между двумя устройствами. С точки зрения пользователя нужно, чтобы оба устройства имели одинаковую ключевую пару публичного и приватного ключа.
На схеме изображена пересылка информации с использованием нескольких устройств. Алиса посылает сообщение с её первичного устройства для Боба, у которого включено несколько устройств одновременно. Алиса отправляет сообщение для первичного и вторичного устройства Боба. Она также отправляет сообщение себе, для своего вторичного устройства для оставления своего сообщения на другом устройстве. (Для упрощения рисунка здесь не показаны луковые запросы, а также репликация сообщений через рой).
Отправка файлов поддерживается до 10 МБ. Перед отправкой файл шифруется случайным AES ключом. После этого отправитель отправляет файл через луковые запросы (onion requests). В ответ файловый сервер передаёт ссылку на контент, возвращаемую тоже через луковые запросы. После этого отправитель отправляет сообщение получателю через существующую сессию. Это сообщение содержит ссылку на контент, его хэш и ключ расшифровки. Получатель использует луковые запросы для получения зашифрованного сообщения с файл-сервера, а затем расшифровывает его с помощью полученного ключа дешифровки от отправителя. Получатель также проверяет хэш вложения для проверки того, что файл не был модифицирован при передаче .
В мессенджере есть возможность создавать исчезающие сообщения с периодом от 5 секунд до 1 недели. Для защиты от спама максимальное время хранения сообщений в рое перед их доставкой составляет 96 часов . Это время можно выбрать в настройках приложения в пределах 12 часов — 96 часов (Message TTL) .
Session поддерживает бэкап на некоторые популярные облачные бэкап-сервисы. Бэкап шифруется с помощью симметричного ключа (полученного из долгоживущего приватного ключа (long-term private key), который в свою очередь шифруется с помощью парольной фразы, состоящей из 12 произносимых случайных слов .