MTProto — криптографический протокол, используемый в системе обмена сообщениями Telegram для шифрования сообщений и обмена данными. 1
Особенности протокола:
- В основе лежит комбинация симметричного алгоритма шифрования AES (в режиме IGE), протокола Диффи-Хеллмана для обмена 2048-битными RSA-ключами между двумя устройствами и ряда хеш-функций. 1
- Протокол допускает использование шифрования end-to-end с опциональной сверкой ключей. 1
- До 16-й версии протокола клиенты были вынуждены доверять серверу сохранять порядковые номера сообщений, а сами сообщения не обладали подобным механизмом. 1 Это означало, что сервер злоумышленника имел полный контроль над потоком сообщений: мог удерживать сообщения, менять их порядок, отправлять их снова. 1
- Для фильтров и анализаторов обмен данными с MTProto-прокси сервером выглядит как неструктурированный бинарный двунаправленный поток данных между клиентом и сервером. 4 Это затрудняет распознавание протокола с целью ограничения. 4