OPSEC52 / Неделя 15 — Выбор защищённого мессенджера: Signal против SimpleX против Matrix
Сегодня любой серьёзный мессенджер шифрует содержимое, так что шифрование больше не то, что их различает. Различает их то, что каждый всё равно вынужден хранить о вас: требует ли он номер телефона, какую маршрутизацию пишут его серверы и не сливает ли его устройство ваш граф контактов, даже когда шифртекст безупречен. На прошлой неделе речь шла о том, что конверт вас выдаёт; на этой — о том, чей конверт самый маленький.
Модель угроз: оператор мессенджера, тот, кто размещает его серверы, и всякий, кто запросит их по повестке, принудит или взломает. Все приложения здесь имеют сквозное шифрование, поэтому настоящий вопрос не в том, «могут ли они читать мои сообщения», а в том, «какие идентификаторы и метаданные маршрутизации этот инструмент структурно хранит и сколько моего социального графа из них восстановимо». Требование номера телефона или болтливый федеративный протокол выдают этот граф, каким бы сильным ни было шифрование содержимого.
Судите мессенджер по трём осям, а не по значку шифрования
Почти у всех современных мессенджеров одна криптографическая родословная (протокол Signal/двойной храповик или что-то близкое). Так что «оно сквозное» почти ничего не говорит о вашей экспозиции метаданных. Судите вместо этого по трём пунктам:
- Требуемый идентификатор. Требует ли он номер телефона (личность, привязанную к KYC, записанную оператором связи и прослеживаемую до покупки за наличные или крипту) — или позволяет вам существовать как случайный ключ?
- Модель серверов и хранение. Централизованная, федеративная или одноранговая/onion-маршрутизация — и что вынужден хранить слой маршрутизации, чтобы доставить сообщение?
- Устойчивость графа по проекту. Даже при идеальном шифровании содержимого может ли оператор видеть, кто с кем говорит? Это жемчужина короны и вся суть.
Signal — содержимое высшего класса, но привязан к номеру
Signal — честный вариант по умолчанию. Его криптография — эталонный стандарт, а запечатанный отправитель (sealed sender) скрывает поле отправителя от собственных серверов Signal для устоявшихся контактов. Хранение действительно минимально — повторные повестки приносили немногим больше, чем дату создания аккаунта и дату последнего подключения.
Слабость структурна: Signal требует номер телефона. Этот номер приваривает каждый «приватный» чат к SIM-карте, к записи оператора и к любому KYC, которым SIM была куплена. Запечатанный отправитель защищает строку от на конверте, но идентификатор регистрации всё равно существует. Signal — отличный выбор для секретности содержимого и для модели угроз большинства людей, но если ваш противник может запросить оператора связи, номер — это та нить, за которую он потянет. Если используете его для чего-то чувствительного, регистрируйтесь на не-KYC-номер, купленный за наличные или крипту, никогда не на свою настоящую SIM.
SimpleX — вообще без идентификаторов
SimpleX — сильнейшая позиция по метаданным среди массовых вариантов, потому что у него нет никаких пользовательских идентификаторов — ни номера телефона, ни имени пользователя, ни даже ID аккаунта. Вместо «пользователей, у которых есть адреса» он использует одноразовые очереди сообщений на каждый контакт; нет центрального каталога того, кто вы, а значит нет и глобального графа, который сервер мог бы выдать. Даже если вы держите реле, оно видит несвязываемые очереди, а не «Алиса говорит с Бобом».
Компромиссы: меньшая сеть (контакты нужно привести самому), чуть более грубый UX и вы обязаны реально маршрутизировать его через Tor, чтобы скрыть свой IP от реле. Но для задачи «кто с кем говорит» — той, из-за которой гибнут люди, — SimpleX ближе всех к её структурному решению.
Matrix — федеративный и мощный, но тяжёлый по метаданным
Matrix (Element) действительно полезен: федеративный, самохостируемый, отличен для сообществ. Но смотрите трезво — его содержимое зашифровано сквозным образом, а вот метаданные — нет, и их много. Членство в комнатах, метки времени, реакции и данные профиля видны вашему homeserver, а федерация разносит эти метаданные по каждому серверу, которого касается комната. Комната с участниками на десяти homeserver-ах означает, что десять операторов видят членство и тайминг. По умолчанию Matrix — худший по устойчивости графа из трёх.
Если Matrix подходит под вашу задачу, самохостите свой homeserver, чтобы хотя бы метаданные вашего собственного аккаунта не лежали на чужой машине, и понимайте, что любой, с кем вы говорите на публичном homeserver, — всё равно утечка. Отлично для открытых операций сообщества; плохо для сокрытия чувствительного графа контактов.
Достойные упоминания
- Session — без номера телефона, onion-маршрутизация по собственной сети, так что серверы никогда не видят ваш IP. Хорошая позиция по идентификатору и сети; экосистема меньше, и он делал криптографические компромиссы (исторически отказался от прямой секретности) — стоит изучить прежде чем полагаться.
- Cwtch — нативный для Tor, устойчив к метаданным, одноранговый. Отличная позиция, самый технически сложный в запуске.
Дисциплина: подберите мессенджер под модель угроз
- Чувствительный граф контактов → без телефонного якоря. SimpleX, Session или Cwtch. Не Signal-с-вашим-реальным-номером и не публичный Matrix.
- Массовая секретность для обычных контактов → Signal, желательно на одноразовом номере.
- Операции сообщества/группы, где членство и так публично → самохостируемый Matrix.
- Всегда маршрутизируйте через Tor или доверенный VPN, чтобы реле записало выходной узел, а не ваш домашний IP.
- Разделяйте по кругам. Не давайте одной мессенджер-личности сшивать ваши активистский, финансовый и личный графы в один соединяемый кластер — то же правило, что и на Неделе 2.
Частые ошибки
- Выбор по популярности. Самое устанавливаемое приложение оптимизировано под охват, а не под то, чтобы хранить о вас поменьше.
- «Оно зашифровано, значит я анонимен.» Шифрование — это содержимое; граф — это метаданные. Другая задача, другой инструмент.
- Использовать Matrix для чувствительного графа без самохостинга. Федерация — функция для сообществ и обуза для секретности.
- Привязывать «приватный» мессенджер к своему реальному номеру. Одна KYC-SIM отменяет лучшую криптографию приложения.
- Одна личность на все круги. Она заново сшивает тот самый граф, который вы разделили.
Смотрите также
- Карточки xmr.club: приватные мессенджеры и источники не-KYC-номеров — практические инструменты для уменьшения конверта.
- Соседние недели OPSEC52: Неделя 14 — метаданные сообщений, Неделя 4 — стек VPN/Tor, Неделя 2 — компартментализация личности.
OPSEC52 — еженедельная OPSEC-серия xmr.club. Индекс: /opsec. Куратор: Cyber Satoshi