Обзор безопасности протоколов мессенджеров

18.08.2020

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

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

В обзор вошли протоколы для мессенджеров Riot, What's App, Jami, Briar, Antox, Signal, Telegram. Обозначим критерии, по которым проводилось сравнение:

Лицензия

Отвечаем на вопросы:

  • Распространяется ли исходный код протокола свободно, на условиях одной из лицензий?
  • Каким методом ведется разработка — открытым или нет?
  • Взаимодействуют ли разработчики с сообществом? Принимают ли pull request’ы?

Исходный код

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

Степень централизации

Здесь возможен один из трех вариантов:

  • централизованный — требуются сервера
  • федеративный — сеть серверов, которые общаются друг с другом
  • децентрализованный (имеется в виду P2P) — каждый клиент является одновременно и сервером

Анонимность

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

E2EE по умолчанию

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

Получение сообщений в оффлайне

Здесь все предельно просто: интересует возможность получения сообщений в оффлайне.

Альтернативные каналы связи

Возможность переписки вне сети Интернет, например, через LAN, Bluetooth, Wi-Fi, Tor-браузер и др. Минус — эти каналы можно использовать, только когда пользователи находятся рядом, плюс — они гораздо безопаснее.

Передача файлов

Возможность отправки фотографий и других вложений.

Аудиозвонки

Поддержка аудиозвонков.

Видеозвонки

Поддержка видеозвонков.

Открытая документация

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

Результаты сравнения по этим критериям представлены в таблице.

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