Хто бачить конверт: метадані у Signal, SimpleX, Session та XMPP — порівняння
Наскрізне шифрування відповідає на одне питання — чи може хтось прочитати це повідомлення у дорозі — і нічого не каже про тихіше питання, що важливе не менше: хто бачить сам факт повідомлення. Метадані доставлення — час з'єднань, IP-адреси, ідентифікатори, картина контактів — ніколи не шифруються, бо щось має залишатися читабельним, щоб трафік узагалі можна було маршрутизувати.
Що покривають метадані
Шифрування вмісту ховає сказане. Воно не ховає того, що пристрій у певний момент, із певної мережі, зв'язався із сервісом і обмінявся пакунком певного розміру. Самих таймінгу й обсягу достатньо, щоб начерки зрозуміти, хто з ким і коли спілкується; тож архітектурні рішення месенджера щодо метаданих важать не менше, ніж його шифри.Signal: sealed sender і мінімальне зберігання
Signal зводить зберігання на сервері до мінімуму і з 2018 року використовує sealed sender, який знімає особу відправника із зовнішнього боку кожного повідомлення; власне порівняння проєкту — лист із "a blank space where the 'from' address used to be", який доставляють, знаючи лише адресата. Той самий текст визнає межі: стійкість до "traffic correlation via timing attacks and IP addresses" лишається незавершеною роботою, а пристрій, що користується Signal, усе одно повідомляє про своє з'єднання інфраструктурі Signal. Що насправді зберігає Signal, документують не маркетингові матеріали, а правові розкриття. Сторінка урядових запитів публікує стенограми отриманих вимог; відповідаючи на повістку великого журі 2016 року, компанія повідомила, що єдине, що вона може надати, — дата реєстрації акаунта й дата останнього підключення користувача. Запити, виконані у 2021 році та після чергової повістки у березні 2026-го, повторюють той самий мотив: даних просто не існує на серверах Signal. Лишається осад, який має будь-яка клієнт-серверна схема: коли ви з'єднувалися і звідки. Один структурний ідентифікатор лишається: акаунти Signal створюються на номер телефону, хоча імена користувачів тепер тримають цей номер поза контактними списками інших. Це прив'язує кожен акаунт до чогось у реальному світі — важливо тоді, коли власник не має бути пов'язаний із конкретною особою.SimpleX: жодних ідентифікаторів користувача в мережі
SimpleX б'є по проблемі ідентифікаторів напряму. Замість акаунтів він пересилає повідомлення через черги повідомлень на кожен контакт, адреси яких — єдине, що знає сервер. Проєкт заявляє, що "SimpleX Chat has no user identifiers visible to the network"; профілі, контакти та повідомлення зберігаються лише на клієнтських пристроях. Розмова зазвичай іде через два різні релеї, по одному на напрямок, тож жоден оператор не бачить трафік в обидва боки. Є і незалежна перевірка: аудит коду Trail of Bits, анонсований у листопаді 2022, знайшов дві вразливості середньої та дві низької тяжкості у криптографічній і мережевій бібліотеці — жодна не підриває модель без ідентифікаторів. Сервери SimpleX бачать адресу черги та з'єднання з нею — значною мірою тому проєкт відтоді вкладається в приватну маршрутизацію, ховаючи IP відправників від операторів релеїв. Як і в будь-якій релейній схемі, запас залежить і від розміру мережі: чергу на маловикористовуваному сервері легше корелювати, ніж чергу в щільному трафіку.Session: onion-запити через власну мережу
Session прибирає телефон і пошту зі створення акаунта: акаунт — це щойно згенерований випадковий ID із сідлом відновлення. Повідомлення йдуть через її децентралізовану мережу як onion-запити, нашаровані так, що, словами проєкту, "no single server ever knows a message's origin and destination". Доставлення йде через рої з п'яти-семи вузлів, які тримають зашифровані повідомлення до отримання. Документація стверджує навіть, що це робить "impossible for Session to track users' IP addresses"; абсолютні заяви потребують обережності — невелика власна мережа сильно залежить від цілісності своїх вузлів.XMPP з OMEMO: шифрування без обіцянок щодо метаданих
XMPP — федеративний випадок. Стандарт OMEMO (XEP-0384) приносить в XMPP шифрування у стилі double ratchet від Signal з підтримкою кількох пристроїв, вважаючи сервери ненадійними для вмісту. Специфікація чесна щодо межі: проти "metadata and traffic analysis" вона не захищає. У федеративній мережі видно, хто з ким спілкується, — серверам, де лежать акаунти, і всьому на федеративному шляху між ними. Вибір провайдера — це рішення про метадані не менше, ніж про доступність: шифрування вмісту стандартизоване, захист метаданих — це те, що зробить з цього оператор.Чого не прибирає ніхто
Порівняння лишається чесним, лише якщо завершується тим, що об'єднує всі чотири:- Signal: сервіс бачить час з'єднань і IP-адреси, реєстрація прив'язана до номера телефону; sealed sender ховає особу відправника, а оприлюднені розкриття показують, що видаються дати реєстрації та останнього підключення.
- SimpleX: релеї бачать адреси черг і з'єднання з ними; профілі та повідомлення лишаються на пристроях, ідентифікаторів акаунтів на рівні мережі немає.
- Session: випадкові ID акаунтів, маршрутизація onion-запитів, що ховає джерело й адресата від окремих вузлів, зашифровані повідомлення тимчасово в ройових вузлах.
- XMPP з OMEMO: вміст зашифровано наскрізно, але сервери та федеративні шляхи бачать, хто з ким і коли спілкується.
- Усі чотири: провайдер чи локальна мережа все одно бачить, що пристрій спілкується із сервісом — або з Tor, якщо трафік затунельовано, — а кореляція таймінгу лишається відкритою проблемою всюди.










