Что такое MTProto (мтпрото)
MTProto (мтпрото, Mobile Transport Protocol) — протокол связи Telegram: он задаёт формат сообщений, авторизацию, шифрование и доставку данных между приложением и инфраструктурой мессенджера.
MTProto простыми словами
MTProto — это не программа, не отдельный мессенджер и не адрес прокси. Это набор правил, по которым клиент Telegram превращает действия пользователя в сообщения протокола, защищает их криптографией и передаёт в нужный дата-центр. Название расшифровывается как Mobile Transport Protocol.
Протокол проектировался для мобильной связи, где устройство меняет сеть, соединение обрывается, а задержка и доступная полоса постоянно меняются. Поэтому в MTProto отдельно описаны логические сообщения, криптографическая сессия и способ упаковки байтов для сети. Так клиент может восстановить соединение, подтвердить доставку и не отправлять весь диалог заново.
Когда в поиске пишут «скачать MTProto», обычно нужен сам Telegram или рабочий MTProto-прокси. Отдельно устанавливать протокол не надо: он уже встроен в официальные приложения Telegram.
Из каких уровней состоит протокол
Удобно представить MTProto как три связанных уровня. Они решают разные задачи и не заменяют друг друга.
| Уровень | Что делает | Пример |
|---|---|---|
| API и TL-схема | Описывает команды, объекты и ответы Telegram. | Получить историю, отправить сообщение, загрузить файл. |
| Криптография и сессия | Авторизует устройство, шифрует сообщение и проверяет его целостность. | Долгоживущий auth_key, msg_key, номер сессии и идентификатор сообщения. |
| Транспорт | Упаковывает зашифрованные данные для передачи по конкретному соединению. | TCP-варианты abridged, intermediate, padded intermediate и full. |
Из-за такого разделения один и тот же запрос Telegram можно доставить разными транспортами, не меняя его смысл и криптографическую защиту. Именно к транспортному пути подключается MTProto-прокси.
Облачные и секретные чаты — важное различие
Фраза «Telegram использует MTProto» сама по себе не означает, что любой чат имеет сквозное шифрование. Режим защиты зависит от типа диалога.
| Облачный чат | Секретный чат | |
|---|---|---|
| Шифрование | Клиент — сервер | Сквозное, клиент — клиент |
| Где доступна история | На всех авторизованных устройствах | Только на устройствах участников этого чата |
| Хранение в облаке | Да, в зашифрованном виде | Нет облачной истории |
| Группы и каналы | Поддерживаются | Нет |
Облачная схема нужна для синхронизации переписки между телефоном, компьютером и веб-клиентом. В секретном чате ключ создаётся на устройствах собеседников, а сообщения нельзя прочитать на новом устройстве из облачной копии. Это два режима одной экосистемы, поэтому корректнее всегда уточнять тип чата, а не просто говорить «Telegram зашифрован».
Как работает шифрование MTProto 2.0
При первой авторизации клиент проверяет сервер и согласует долговременный ключ auth_key с помощью обмена Диффи — Хеллмана. Этот ключ целиком не передаётся по сети. Для каждого зашифрованного сообщения вычисляется отдельный msg_key, а из него и части auth_key выводятся ключ и вектор инициализации.
Полезная нагрузка шифруется AES-256 в режиме IGE. SHA-256 участвует в вычислении ключевого материала и проверке соответствия расшифрованных данных ключу сообщения. В зашифрованную часть также входят служебные значения: идентификатор сессии, соль сервера, порядковый номер и длина сообщения. Они помогают отличать актуальные пакеты от повторов и связывать ответы с нужной сессией.
Это упрощённая схема: при разработке клиента нельзя реализовывать её по пересказу. Формулы, диапазоны времени, правила padding и проверки находятся в официальной спецификации.
MTProto 2.0 и устаревшая версия 1.0
| Версия | Статус и отличие |
|---|---|
| MTProto 1.0 | Первая редакция протокола. Использовала SHA-1 в схеме формирования ключей сообщений и сейчас представляет исторический интерес. |
| MTProto 2.0 | Действующая схема: SHA-256, большее количество данных из auth_key при выводе AES-ключа и обязательное случайное дополнение сообщения. |
MTProto 2.0 появился не как новое приложение или отдельная настройка пользователя. Переход выполняют клиенты Telegram, поэтому выбирать версию в обычном интерфейсе не нужно. Упоминания «MTProto 1.0» полезны при чтении старых исследований, но не при настройке прокси.
Транспорт: как данные доходят до Telegram
После шифрования пакет нужно передать по сети. Для TCP официально описаны несколько вариантов упаковки: abridged уменьшает накладные расходы, intermediate использует четырёхбайтовую длину, padded intermediate добавляет случайное дополнение, а full включает последовательность и контрольную сумму. Это не четыре разных алгоритма шифрования, а четыре способа оформить уже защищённый поток.
Между приложением и дата-центром может стоять прокси. Он принимает транспортный поток и пересылает его дальше, но не получает ключей чата. Обфусцированный транспорт скрывает характерные первые байты, а FakeTLS делает соединение похожим на HTTPS. Маскировка помогает пройти сетевую фильтрацию, но не превращает прокси в новый криптографический слой переписки.
MTProto, MTProxy и VPN: в чём разница
| Технология | Что это | Какой трафик ведёт |
|---|---|---|
| MTProto | Протокол связи и защиты данных Telegram | Сообщения и служебные запросы Telegram |
| MTProxy | Промежуточный сервер для транспорта MTProto | Только поддерживаемый трафик Telegram |
| VPN | Сетевой туннель для устройства или выбранных приложений | Обычно весь IP-трафик или заданные маршруты |
Поэтому запрос «MTProto не работает» может означать разные неисправности. Если Telegram открывается напрямую, но не через конкретный адрес, проблема, вероятно, в прокси. Если не подключается сам клиент, смена одного MTProxy может не помочь. А VPN влияет не только на Telegram и решает более широкую сетевую задачу.
Что видят Telegram, прокси и провайдер
- Владелец MTProto-прокси видит IP подключившегося устройства, время соединения и объём переданных данных. Содержимое переписки ему не раскрывается.
- Интернет-провайдер видит соединение с IP прокси. При обычной обфускации или FakeTLS содержимое остаётся зашифрованным, но устойчивость к распознаванию трафика зависит от транспорта и фильтра.
- Telegram обслуживает аккаунт и облачные чаты на своей серверной стороне. При использовании прокси сетевое соединение к дата-центру приходит с адреса прокси; это не делает пользователя анонимным внутри самого аккаунта.
Прокси следует выбирать по доверию и стабильности даже при зашифрованной полезной нагрузке: оператор всё равно получает сетевые метаданные и может прекратить работу сервера. Подробнее границы видимости разобраны в материале о безопасности MTProto-прокси.
Официальная документация и первоисточники
Главный источник — обзор MTProto на сайте Telegram. Точные формулы MTProto 2.0 находятся в описании мобильного протокола, сетевые упаковки — в разделе MTProto transports, а отличия сквозного режима — в документации секретных чатов.
Эти страницы рассчитаны на разработчиков и являются источником истины при реализации. Текущий материал объясняет архитектуру обычным языком: он помогает не путать протокол, прокси и тип шифрования, но не заменяет спецификацию.