Բառարան

MTProto

Mobile Transport Protocol՝ Telegram-ի արձանագրությունը

Telegram-ի սեփական արձանագրությունը հավելվածների և սերվերների կապի համար. հաղորդագրությունների գաղտնագրում, սեսիաներ և տրանսպորտ։

Ինչ է դա

MTProto-ն արձանագրություն է, որով Telegram-ի հավելվածները շփվում են մեսենջերի սերվերների հետ։ Telegram-ի փաստաթղթերը այն նկարագրում են որպես շարժական սարքերի հավելվածներից սերվերային API-ին հասանելիության արձանագրություն։ Ժամանակակից հաճախորդներն օգտագործում են 2.0 տարբերակը։

Ինչից է կազմված

Արձանագրությունն ունի երեք մակարդակ՝

  • վերին՝ API հարցումներ և պատասխաններ երկուական տեսքով;
  • միջին՝ յուրաքանչյուր հաղորդագրության գաղտնագրում թույլտվության բանալիով (AES-256 IGE ռեժիմում);
  • ստորին՝ տրանսպորտ. ինչպես են գաղտնագրված տվյալները ցանցով անցնում TCP, WebSocket կամ HTTP-ի վրայով։

MTProto և պրոքսի

Telegram-ի պրոքսին աշխատում է ստորին մակարդակում. այն ընդունում է տրանսպորտային հոսքը և փոխանցում սերվերներին՝ առանց հաղորդագրությունների բանալու։ Ուստի պրոքսիները կոչվում են MTProto պրոքսի, իսկ պաշտոնական իրականացումը՝ MTProxy։ Տրանսպորտի քողարկումն ապահովում են obfuscated2 և FakeTLS ռեժիմները։

Տարբերակներ

MTProto 2.0-ում հաղորդագրության բանալին հաշվարկվում է SHA-256-ով՝ թույլտվության բանալու հատվածով, իսկ պատահական լրացումը մեծացել է մինչև 12–1024 բայթ։ Առաջին տարբերակն օգտագործում էր SHA-1 և 0–15 բայթ լրացում և համարվում է հնացած։

Աղբյուրներ

  1. Telegram: MTProto Mobile Protocol
  2. Telegram: MTProto՝ մանրամասն նկարագրություն
  3. Telegram: MTProto transports