Народный

Сеть

MTProto — фирменный протокол Telegram

Криптографический протокол клиент-сервер коммуникаций Telegram, разработанный братьями Дуровыми в 2013 году; основан на собственной криптографии (AES-256-IGE + RSA + DH), критикуется криптографами за нестандартные конструкции.

Определение

MTProto (Mobile Transport Protocol) — это фирменный криптографический протокол транспорта Telegram, разработанный командой Николая Дурова в 2013 году и используемый для всех клиент-серверных коммуникаций Telegram (сообщения, файлы, голосовые звонки). Текущая версия — MTProto 2.0 (с 2017). Архитектурно это собственный протокол поверх TCP/UDP/HTTP без использования TLS — Telegram реализует криптографию сам.

В контексте VPN-обхода MTProto важен в трёх ролях: (1) сам Telegram-трафик через MTProto, который ТСПУ периодически замедляет; (2) MTProto Proxy как обфускация для обхода ТГ-блокировок; (3) MTProto как референс «protocol-not-TLS» — иногда сравнивают с Shadowsocks-2022, VLESS.

Как работает

MTProto использует трёхуровневую схему: внешний слой обфускации (обычно random bytes), средний слой шифрования (AES-256-IGE с RSA для key-exchange), внутренний слой Telegram API (Type Language messages). Алгоритм:

Auth-key generation (один раз на устройство)

  1. Клиент инициирует Diffie-Hellman handshake с Telegram DC.
  2. DC возвращает свой DH-public-key, подписанный своим RSA-private-key.
  3. Клиент проверяет RSA-подпись (public-key DC встроен в клиент — hardcoded).
  4. Стороны обмениваются DH-параметрами, генерируют shared auth_key (2048 бит).
  5. auth_key сохраняется на клиенте и сервере, используется для всех будущих сессий.

Encrypted message format

Каждое сообщение:

  • msg_key = первые 128 бит SHA-256 от (auth_key, plaintext).
  • aes_key и aes_iv выводятся из auth_key и msg_key.
  • Шифрование: AES-256 в режиме IGE (Infinite Garble Extension) — нестандартный режим, который Telegram выбрал из-за встроенной integrity-проверки.

Critique

Криптографы (особенно в 2013–2017 годы) критиковали:

  • AES-IGE. Нестандартный, малоизученный режим. Не имеет formal security proofs как GCM или CCM.
  • Mac-then-Encrypt vs Encrypt-then-Mac. MTProto использует MtE pattern, который теоретически уязвим к oracle attacks. На практике exploit не показан.
  • Custom DH parameters. Telegram использует свои группы вместо стандартных RFC-3526.
  • No PFS by default. Без secret-chats нет perfect forward secrecy (с 2014 — есть в secret chats).

Несмотря на критику, на 2026 нет публичного break MTProto. Telegram запустил $300k bounty program, не выплачивались полноценные claim’ы.

Применение в России 2026

В контексте РФ MTProto играет три роли:

1. Сам Telegram

ТСПУ периодически замедляет Telegram (slowdown, а не block) для давления на TG в политическом контексте. MTProto-сессии длятся секунды-минуты, обычно работают. При периодах сильного давления — нужен MTProto Proxy для нормальной скорости.

2. MTProto Proxy как обход

См. отдельную статью MTProto Proxy. Использует MTProto-encoding с дополнительной обфускацией.

3. MTProto как inspiration

Современные VPN-протоколы взяли несколько идей у MTProto:

  • Random-bytes preface. Первые байты выглядят как noise — нет TLS-handshake-сигнатуры. Это используется в Shadowsocks-2022, частично в VLESS.
  • AEAD with random nonce. MTProto 2.0 перешёл на конструкции близкие к AEAD. Современный стандарт.
  • Persistent auth_key. Идея «один handshake — потом долгие сессии» используется в WireGuard (cookie-mechanism).

Тонкости работы MTProto в РФ:

  • TCP vs UDP transport. MTProto работает поверх TCP (порты 443, 80) и UDP (для voice/video). UDP блокируется на части операторов, TCP fallback работает почти всегда.
  • DC IPs. Telegram использует ~5 ДЦ. IP пулы публично известны (91.108.4.0/22, 149.154.160.0/20). ТСПУ может блокировать конкретные подсети при политических обострениях.
  • VoIP через MTProto. Telegram-звонки идут через MTProto + Opus. ТСПУ иногда специально режет VoIP (по тайминг-паттернам).

Юзеру: понимать MTProto не обязательно для обычного использования. Но знание помогает в моменты обострений — почему вдруг TG перестал работать (DC-блок vs slowdown vs DC-IP). Решение — MTProto Proxy или полноценный VPN.

Связанные термины

MTProto Proxy — обход блокировок. Shadowsocks-2022 — концептуально близкий протокол. AEAD — современная альтернатива MTProto crypto. Obfuscation — категория, к которой относится MTProto traffic.

Источники