Locked History Actions

Skirtumas „Real Time Messaging Protocol“

Pakeitimai tarp versijų 2 ir 3
Versija 2 nuo 2018-04-11 14:10:09
Dydis: 2855
Redaktorius: Jevgenij
Komentaras:
Versija 3 nuo 2018-04-11 14:16:53
Dydis: 3702
Redaktorius: Jevgenij
Komentaras:
Pašalinimai yra pažymėti taip. Pridėjimai yra pažymėti taip.
Eilutė 17: Eilutė 17:
Tarkime, kad yra du tinklo mazgai, kurių vaidmuo atlieka Alice ir Bobas abonentai. Abu abonentai žino apie du skaičius ''g'' ir ''p ''10^300^ eiles, kurie nėra slapti ir gali būti žinomi kitiems abonentams. Norint sukurti kitą niekam nežinoma privatų raktą, abu abonentai generuoja didelį atsitiktinį skaičių 10^100^ eiles. [4] Alice generuoja skaičių – ''a'', o Bobas skaičių – ''b''. Tada Alice skaičiuoja . Tarkime, kad yra du tinklo mazgai, kurių vaidmuo atlieka Alice ir Bobas abonentai. Abu abonentai žino apie du skaičius ''g'' ir ''p ''10^300^ eiles, kurie nėra slapti ir gali būti žinomi kitiems abonentams. Norint sukurti kitą niekam nežinoma privatų raktą, abu abonentai generuoja didelį atsitiktinį skaičių 10^100^ eiles. [4] Alice generuoja skaičių – ''a'', o Bobas skaičių – ''b''. Tada Alice skaičiuoja.
Eilutė 19: Eilutė 19:
''А'' = ''g^а^'' mod ''p ''(1.1)
Eilutė 24: Eilutė 24:

Ir išsiunčia ''B'' reikšmę Alice. Daroma prieiga, kad užpuolikas gali gauti A ir B verčių reikšmes bet nekeisti jų t. y. jis neturi galimybės kištis į perdavimo procesą. [5]

Antrame etape Alice skaičiuoja slaptą raktą iš savo privataus rakto – ''a'' ir Bobo viešojo rakto ''B'' pagal 1.3 formulę.

''B^а^'' mod ''p'' = ''g^ab^'' mod ''p ''(1.3)

O Bobas atlieka tą pati veiksmą bet jau su savo privataus rakto – ''b'' ir Alice viešojo rakto ''A'' pagal 1.4 formulę.

''A^b^'' mod ''p'' = ''g^ab^'' mod ''p ''(1.4)

Iš 1.3 ir 1.4 formulių matome, kad skaičiuojamas Alice ir Bobo slaptas raktas bus vienodas. Slaptas raktas skaičiuojamas pagal 1.5 formulę.

''K'' = ''g^ab^'' mod ''p ''(1.5)

Grafinis ''Diffie-Hellman'' ealizavimas yra pavaizduotas 1.1 paveiksle.

RTMP protokolo saugumas

1. RTMP PROTOKOLO ANALIZĖ

RTMP (angl. Real Time Massage Protocol) – protokolas, kuris naudojamas srautiniams multimedijos duomenims perduoti t. y. garso ir vaizdo įrašams tarp Flash Media Server ir Flash Player. [1] Pagrindinė RTMP srauto funkcija yra optimizuoti garso ir vaizdo duomenų perdavimą tarp kliento ir serverio. Protokolas naudoja 1935 prievadą ir yra tinkamiausias norint transliuoti tiesioginius įrašus nenaudojant duomenų buferį. [1] Tačiau, naudojant šį prievadą didėją RTMP srauto pažeidimo tikimybė, nes dauguma ugniasienių šį prievadą blokuoją.

RTMP protokolas pagrįstas TCP viekimo principu, kuris palaiko nuolatinius sujungimus tarp A ir B tinklo mazgų, tokiu atveju leidžiamas nedidelis perduodamų duomenų vėlinimas. Norint perduoti kuo daugiau informacijos, protokolas suskaido srautą į fragmentus, o jų dydį dinamiškai keičią tarp kliento ir serverio siuntimo metu. Fragmentų dydis priklausomai nuo perduodamo turinio gali skirtis. Pavyzdžiui, garso duomenims vieną fragmentą sudaro 64 baitai, o vaizdo ir kitiems128 baitai.

Be to, įmanomas duomenų siuntimas per virtualius kanalus, kuriais paketai gali būti siunčiami ir gaunami nepriklausomai vienas nuo kito. RTMP sesijos metu keli kanalai gali būti aktyvūs vienu metu. Paketo antraštėje nurodoma informacija apie kanalą (kuriuo kanalu turi būti išsiųsta), ID, laiko juostą (kada buvo paketas sukurtas) ir paketo naudingosios apkrovos dydį. [1] Po antraštės seka faktinis paketo turinys, kuris yra suskaidytas į fragmentus pagal sutartą dydį.

RTMP sesijos gali būti šifruojami:

  • Naudojant RTMPS protokolą. Tokiu atveju RTMP sesija inkapsuliuojama į TLS/SSL sesiją;
  • Naudojant RTMPE protokolą, kuris yra patobulintas RTMP protokolas su šifravimo mechanizmu. [2]

RTMPE protokolas turi papildoma šifravimo sluoksnį, kuriame realizuotas anoniminis Diffie-Hellman rakto apsikeitimo metodas. Šis metodas suteikia galimybę per nesaugu sujungimo kanalą apsikeisti slaptaisiais raktais tarp A ir B tinklo mazgu. [3] Gauti raktas naudojamas tolimesniam srauto šifravimui ir dešifravimui.

1.1 Diffie-Hellman metodo aprašymas

Tarkime, kad yra du tinklo mazgai, kurių vaidmuo atlieka Alice ir Bobas abonentai. Abu abonentai žino apie du skaičius g ir p 10300 eiles, kurie nėra slapti ir gali būti žinomi kitiems abonentams. Norint sukurti kitą niekam nežinoma privatų raktą, abu abonentai generuoja didelį atsitiktinį skaičių 10100 eiles. [4] Alice generuoja skaičių – a, o Bobas skaičių – b. Tada Alice skaičiuoja.

А = gа mod p (1.1)

Ir išsiunčia A reikšmę Bobui. Tada Bob skaičiuoja viešojo rakto B reikšmę pagal 1.2 formulę.

B = gb mod p (1.2)

Ir išsiunčia B reikšmę Alice. Daroma prieiga, kad užpuolikas gali gauti A ir B verčių reikšmes bet nekeisti jų t. y. jis neturi galimybės kištis į perdavimo procesą. [5]

Antrame etape Alice skaičiuoja slaptą raktą iš savo privataus rakto – a ir Bobo viešojo rakto B pagal 1.3 formulę.

Bа mod p = gab mod p (1.3)

O Bobas atlieka tą pati veiksmą bet jau su savo privataus rakto – b ir Alice viešojo rakto A pagal 1.4 formulę.

Ab mod p = gab mod p (1.4)

Iš 1.3 ir 1.4 formulių matome, kad skaičiuojamas Alice ir Bobo slaptas raktas bus vienodas. Slaptas raktas skaičiuojamas pagal 1.5 formulę.

K = gab mod p (1.5)

Grafinis Diffie-Hellman ealizavimas yra pavaizduotas 1.1 paveiksle.