MTProto — собственный криптографический протокол Telegram. Сочетает скорость доставки сообщений с многослойным шифрованием. Никаких компромиссов между производительностью и безопасностью.
01 Архитектура
MTProto построен как многослойная криптосистема. Каждый уровень решает свою задачу, вместе они формируют защищённый канал.
01 / 03
Протокол Диффи-Хеллмана с простым числом фиксированной длины. Клиент и сервер договариваются о ключе шифрования без передачи его по сети.
02 / 03
Потоковое шифрование AES-256 в режиме IGE. Каждое сообщение получает уникальный ключ, производный от общего сессионного ключа.
03 / 03
Сериализация через бинарный формат. Сообщения группируются в HTTP-подобные запросы. Шифрование с аутентификацией через SHA-256.
02 Возможности
Протокол оптимизирован для низкой задержки. Сообщения доставляются за миллисекунды благодаря минимальному оверхеду.
Военный стандарт шифрования. Ключи уникальны для каждой сессии и не могут быть восстановлены при компрометации одной из сторон.
Комбинация асимметричного шифрования (обмен ключами) и симметричного (потоковая передача). Компрометация одного слоя не раскрывает второй.
Более 900 миллионов человек ежедневно используют MTProto в Telegram. Протокол доказал свою надёжность в production-среде.
03 История
MTProto прошёл путь от внутреннего протокола мессенджера до открытой криптографической платформы.
2013
Первая версия протокола вместе с запуском Telegram. Базовая схема: обмен ключами через DH, AES-256 IGE, SHA-1.
2014
Независимый аудит безопасности выявил незначительные уязвимости. Все были исправлены до публикации отчёта.
2016
Запуск сквозного шифрования (E2EE) для секретных чатов. Аудио- и видеозвонки также получили E2EE.
2017
Переход на SHA-256, исправление уязвимости PAKE (защита от офлайн-перебора паролей). Версия стала стандартом.
2021
Публикация официальной документации, примеров реализации и открытие протокола для интеграции.
MTProto — открытый протокол. Исходный код, спецификация и примеры доступны на официальном сайте Telegram.