1753535589273.png


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

Так на вскидку современный, должен превосходить XMPP, в частности на нем можно реализовать анонимное и безопасное видео общение, у XMPP с этим проблемы.

Но вопрос в теме, почему чернушники (Кто занимается серыми делами и кому критично безопасность и анонимность) выбирают именно Jabber ?

Давайте разбираться:


🧩 Что такое Matrix?​


Matrix — это федеративный протокол обмена сообщениями с открытым исходным кодом, разработанный для:
  • зашифрованных чатов (E2EE),
  • групповой переписки (чаты и каналы),
  • голосовых и видео звонков,
  • интеграции с другими мессенджерами (Telegram, Slack, IRC, WhatsApp и др.).

Под капотом Matrix использует:
  • JSON-формат сообщений,
  • HTTP/HTTPS REST API,
  • WebSocket для реального времени,
  • Olm/Megolm для шифрования.

✅ Плюсы Matrix:​

  • 🔐 Современное сквозное шифрование (по умолчанию, Olm/Megolm).
  • 🌐 Федерация — можно создать свой сервер и общаться с другими.
  • 🧩 Bridges — умеет «вживую» работать с Telegram, Slack, WhatsApp и пр.
  • 🖥️ Удобные клиенты: web, десктоп, мобильные.
  • 📦 Поддержка вложений, реакций, редактирования сообщений.
  • 🗃️ Хранение всей истории чатов на сервере.

❌ Минусы Matrix:​

  • 🐢 Тяжёлый сервер Synapse — требует много оперативки и CPU.
  • 🐘 Большой объем данных в федерации → нагрузка на БД.
  • 🕵️ Клиенты и серверы обмениваются большим количеством метаданных.
  • 🧠 E2EE сложен в администрировании: могут теряться ключи, нужна верификация устройств.

Официальный клиент: Element (бывш. Riot).
Официальный сервер: Synapse (есть и другие: Dendrite, Conduit).

📡 Что такое Jabber (XMPP)?​

Jabber, или XMPP (Extensible Messaging and Presence Protocol) — это старейший федеративный протокол (с 1999 г.), изначально разработанный как альтернатива ICQ и MSN.
В Jabber:
  • Используется XML-поток через TCP (5222 для c2s, 5269 для s2s),
  • Есть сотни расширений (XEP — XMPP Extension Protocols),
  • Легко кастомизируется под любые задачи: личные чаты, корпоративные сети, боты, конференции.
Популярные серверы: Prosody, ejabberd, Openfire.

✅ Плюсы Jabber:​

  • 💡 Лёгкий и стабильный — запускается даже на Raspberry Pi.
  • 🕳️ Идеален для Tor/анонимных сетей.
  • 🧱 Очень гибкий и модульный (XEP'ы можно включать выборочно).
  • 🧑‍💻 Работает с большим числом клиентов: от GUI до CLI.
  • 🔑 Поддерживает OMEMO и PGP (end-to-end encryption).
  • 🔄 Работает без "аккаунта" как такового — можно подключиться напрямую к серверу.

❌ Минусы Jabber:​

  • 🧬 Основной протокол — XML, не очень удобен и громоздок.
  • 📦 Модульность = возможная фрагментация клиентов (не все поддерживают одно и то же).
  • ❌ Отсутствие «из коробки» многих современных функций (редактирование сообщений, реакции и пр. — надо включать руками).
  • 🕹️ Устаревший UX у большинства клиентов (кроме Conversations, Dino, Snikket).

🤜 Matrix vs Jabber — краткое сравнение​

ФакторMatrixJabber (XMPP)
ПротоколJSON + HTTP/REST/WebSocketXML + TCP
FederationДаДа
E2E шифрованиеПо умолчанию (Olm/Megolm)OMEMO / OTR / PGP
Удобство клиентовСовременные, кроссплатформенныеМного, но UX сильно различается
Расширения (плагины)Через Bridges и MSCЧерез XEP‑модули
ПриватностьТребует доверия к серверуМожно использовать анонимно
Подходит для TorЧастичноОтлично
Ресурсоёмкость сервераВысокая (Synapse)Низкая (Prosody, ejabberd)
Популярен средиDevOps, open-source‑сообществаХакеры, журналисты, приватные пользователи

🕵️‍♂️ Почему «серые» и тёмные используют именно Jabber

  1. Анонимность и конфиденциальность
    • Можно настроить сервер с нуля, без логов, без регистрации, без связи с личностью.
    • Возможна работа через Tor (Hidden Services).
    • Протокол не требует централизованных API или ключей.
  2. Минимум зависимостей
    • Работает без БД, nginx, PostgreSQL.
    • Поддерживает простые клиенты и даже консольные.
  3. Шифрование без центральной доверенной стороны
    • OMEMO не требует server-side верификации.
    • Есть даже клиенты, где всё хранится только в RAM.
  4. Исторически отлажен
    • Используется с 2000-х в underground-среде.
    • Существуют hardened‑клиенты (Psi+, mcabber, Pidgin + OTR/OMEMO).
  5. Неприметность
    • Трафик Jabber не выделяется, может маскироваться под обычный TCP.
В контексте приватности минусы Matrix

В Matrix (особенно с сервером Synapse) сервер знает всё, если вы не используете сквозное шифрование (E2EE):
  • История чатов хранится в базе данных сервера в открытом виде, если E2EE не включено.
  • Даже если шифрование включено, сервер знает метаданные:
    • кто с кем общается,
    • когда отправлено сообщение,
    • названия комнат,
    • аватары, имена, ID и т.д.
  • Администратор сервера (или тот, кто получил доступ к БД) может прочитать все незашифрованные сообщения и даже удалить или подменить их.
  • Ключи E2EE тоже часто хранятся на сервере, зашифрованные, но не всегда безопасно (зависит от клиента и настроек).

🔐 Пример:​

Ты пишешь другу в Matrix-чате.
Если вы не включили шифрование — сервер видит всё слово в слово.
Даже если включили — сервер знает, что ты пишешь этому человеку, когда, откуда, с какого устройства.

🤝 Поэтому требуется доверие:​

Ты должен доверять администратору сервера (или самому себе, если сервер твой), что он:
  • не шпионит,
  • не пишет логи,
  • не хранит переписку в открытом виде,
  • не внедрил backdoor или не стал жертвой взлома.

🤖 В контексте Jabber (XMPP):​

Здесь можно настроить всё так, что никакое доверие к серверу не требуется:
  • Используется OMEMO или OTR — сервер видит только зашифрованную "кашу", а не содержимое сообщений.
  • Метаданные можно минимизировать:
    • отключить хранение истории (mod_mam),
    • отключить логгирование (log = "*console"),
    • включить Tor Hidden Service,
    • запретить регистрацию и авторизацию с внешней сети.
Админ XMPP-сервера не сможет прочитать E2EE-сообщения, даже если очень захочет — ключи хранятся только у клиентов, не на сервере.

📌 Итог:​

ПротоколПриватность по умолчаниюНужно доверять серверу?Комментарий
MatrixНет (если не E2EE)ДаВсё через сервер, даже ключи иногда.
JabberЧастично / Да, при E2EEНет (при OMEMO/OTR)Можно настроить полностью автономно.

В целом как Matrix, так и Jabber позволяют безопасно общаться, но есть нюансы.
Также Matrix более современный чем Jabber и позволяет общаться по видеосвязи...)