MTProto
Mobile Transport Protocol — Telegram протоколы
Қолданбалардың серверлермен байланысына арналған Telegram-ның өз протоколы: хабарламаларды шифрлау, сессиялар және транспорт.
Бұл не
MTProto — Telegram қолданбалары мессенджердің серверлерімен сөйлесетін протокол. Telegram құжаттамасы оны мобильді құрылғылардағы қолданбалардан сервер API-ына қол жеткізу протоколы деп сипаттайды. Қазіргі клиенттер 2.0 нұсқасын пайдаланады.
Неден тұрады
Протоколдың үш деңгейі бар:
- жоғарғы — API-ға сұраулар мен жауаптар екілік түрде;
- ортаңғы — әр хабарламаны авторизация кілтімен шифрлау (IGE режиміндегі AES-256);
- төменгі — транспорт: шифрланған деректер желі арқылы TCP, WebSocket немесе HTTP үстімен қалай жүреді.
MTProto және прокси
Telegram үшін прокси төменгі деңгейде жұмыс істейді: ол транспорт ағынын қабылдап, серверлерге жібереді, хабарламаларға кілті болмайды. Сондықтан проксиді MTProto прокси, ал ресми іске асыруды MTProxy деп атайды. Транспортты бүркемелеуді obfuscated2 және FakeTLS режимдері қамтамасыз етеді.
Нұсқалар
MTProto 2.0-де хабарлама кілті авторизация кілтінің үзіндісімен SHA-256 арқылы есептеледі, ал кездейсоқ толықтырғыш 12–1024 байтқа дейін ұлғайған. Бірінші нұсқа SHA-1 және 0–15 байт толықтырғышты пайдаланды және ескірген деп саналады.