Общее описание

Мобильный протокол MTProto

(https://core.telegram.org/mtproto)

Пожалуйста, прочтите наш технический FAQ (https://tlgrm.ru/techfaq)

Разработчикам клиентов нужно соблюдать наши требования безопасности (https://core.telegram.org/mtproto/security_guidelines)

Связанные статьи

Мобильный протокол: детальное описание

https://core.telegram.org/mtproto/description

Создание ключа авторизации

https://core.telegram.org/mtproto/auth_key

Создание ключа авторизации: пример

https://core.telegram.org/mtproto/samples-auth_key

Мобильный протокол: уведомления

https://core.telegram.org/mtproto/service_messages

Мобильный протокол: уведомления о сообщениях

https://core.telegram.org/mtproto/service_messages_about_messages

Сериализация бинарных данных

https://core.telegram.org/mtproto/serialize

Язык TL

https://core.telegram.org/mtproto/TL

MTProto TL-схема

https://core.telegram.org/schema/mtproto

Требования безопасности

https://core.telegram.org/mtproto/security_guidelines

Общее описание

Протокол создан для доступа к API сервера из приложений, запущенных на мобильных утсройствах. Хотим подчеркнуть, что веб-браузер к таким приложениям не относится.

Протокол подразделён на три фактически независимых компонента:

- компонент высокого уровня (язык запроса API): определяет метод, посредством которого запросы и ответы API конвертируются в двоичные сообщения.

- криптографический слой (слой авторизации): определяет метод, которым шифруются сообщения перед тем как они будут переданы посредством протокола доставки.

- компонент доставки: определяет для клиента и сервера метод передачи сообщений через некий другой существующий сетевой протокол (такой как http, https, tcp, udp).

NB: после дешифровки, msg_key должен равняться SHA-1 полученных данных

(Есть вопросы по поводу этой системы? Прочтите techFAQ - (https://tlgrm.ru/techfaq)

Примечание 1: Каждое текстовое сообщение, которое нужно зашифровать через MTProto, всегда содержит следующие данные, которые проверяются расшифровкой, чтобы сделать систему устойчивой против известных проблем с компонентами:

- server salt (соль сервера) (64-битная)

- session id (идентификатор сессии)

- message sequence number (порядковый номер сообщения)

- message length (длина сообщения)

- time (время)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: