Locked History Actions

Skirtumas „Real Time Messaging Protocol“

Pakeitimai tarp versijų 11 ir 13 (patvirtinamos 2 versijos)
Versija 11 nuo 2018-04-11 14:46:55
Dydis: 5003
Redaktorius: Jevgenij
Komentaras:
Versija 13 nuo 2018-04-11 14:51:02
Dydis: 6489
Redaktorius: Jevgenij
Komentaras:
Pašalinimai yra pažymėti taip. Pridėjimai yra pažymėti taip.
Eilutė 2: Eilutė 2:
== 1. RTMP PROTOKOLO ANALIZĖ == == RTMP PROTOKOLO ANALIZĖ ==
Eilutė 16: Eilutė 16:
=== 1.1 Diffie-Hellman metodo aprašymas === === Diffie-Hellman metodo aprašymas ===
Eilutė 41: Eilutė 41:
== 2. IŠVADOS == == IŠVADOS ==
Eilutė 48: Eilutė 48:
== LITERATŪROS IR INFORMACINIŲ ŠALTINIŲ SĄRAŠAS ==
 1. Adobe’s Real Time Messaging Protocol [interaktyvus]. 2012. Adobe. [žiūrėta 2018 m. kovo 12 d.]. Prieiga per internetą: <https://www.adobe.com/content/dam/acom/en/devnet/rtmp/pdf /rtmp_specification_1.0.pdf>.
 1. RTMPE [interaktyvus]. 2013. Adobe. [žiūrėta 2018 m. kovo 12 d.]. Prieiga per internetą: <https://help.adobe.com/en_US/flashlite/dev/4/WSa2ec538c80d45833-4e519ada123e088b6aa -8000.html>.
 1. RTMPE Streaming: How it works & High Secure Player [interaktyvus]. 2018. VdoCipher. [žiūrėta 2018 m. kovo 12 d.]. Prieiga per internetą: <https://www.vdocipher.com/blog/2016/11/ rtmp-encrypted-rtmpe-streaming-technology/>.
 1. Асимметричное шифрование. Как это работает? [interaktyvus]. 2013. Intsystem.org. [žiūrėta 2018 m. kovo 12 d.]. Prieiga per internetą: <https://intsystem.org/security/ asymmetric-encryption-how-it-work/>.
 1. Шифрование-асимметричные методы Глава 8 [interaktyvus]. 2013. Williamspublishing. [žiūrėta 2018 m. kovo 12 d.]. Prieiga per internetą: <http://www.williamspublishing.com/ PDF/5-8459-0847-7/part.pdf>.
 1. Weak keys and prime reuse make Diffie-Hellman implementations vulnerable [interaktyvus]. 2015. Virus Bulletin. [žiūrėta 2018 m. kovo 12 d.]. Prieiga per internetą: <https://www.virusbulletin.com/blog/2015/05/weak-keys-and-prime-reuse-make-diffie-hellman-implementations-vulnerable/>.
Eilutė 50: Eilutė 57:


RTMP protokolo saugumas

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.

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)

Naudojant Diffie-Hellman algoritmą Alice ir Bobas abonentai tarpusavyje apsikeičia tik g ir p skaičiais bei viešaisiais raktais A ir B tam, kad apskaičiuoti privatus raktus. Be to, naudojamas algoritmas puikiai tinka apsaugoti kanalą nuo MITM (angl. Man-In-The-Middle) atakos. Sekančiame skyrelyje sumoduliuosime situaciją, kai vykdoma MITM ataka. Naudojant Diffie-Hellman algoritmą slaptas Alice ir Bobo raktas nebus paskaičiuotas, nes transliavimo kanale nebuvo perduoti a ir b privatus raktai. Todėl MITM atakos metu perduoti duomenys nebus dešifruoti. Tačiau, jeigu MITM atakoje bus realizuotas Diffie-Hellman algoritmas tada perduodami duomenys bus dešifruoti ir perskaityti.

IŠVADOS

Atlikę RTMP protokolo analizę išsiaiškinome, kad:

  • RTMP protokolas yra orientuotas į multimedijos duomenų perdavimą ir turi papildomų mechanizmų saugumo užtikrinimui;
  • Saugumą galima užtikrinti naudojant RTMP protokolo patobulintas versijas RTMPS ir RTMPE. Naudojant RTMPE protokolą realizuojamas Diffie-Hellman algoritmas, kuris turi dviejų rūšių raktus. Norint gauti slaptą abonentų raktą reikia žinoti viešąjį ir privatų raktą;

  • Bendru atveju šifravimo metodas yra atsparus MITM atakai, jeigu atakoje nėra realizuotas Diffie-Hellman algoritmas.

LITERATŪROS IR INFORMACINIŲ ŠALTINIŲ SĄRAŠAS

  1. Adobe’s Real Time Messaging Protocol [interaktyvus]. 2012. Adobe. [žiūrėta 2018 m. kovo 12 d.]. Prieiga per internetą: <https://www.adobe.com/content/dam/acom/en/devnet/rtmp/pdf /rtmp_specification_1.0.pdf>.

  2. RTMPE [interaktyvus]. 2013. Adobe. [žiūrėta 2018 m. kovo 12 d.]. Prieiga per internetą: <https://help.adobe.com/en_US/flashlite/dev/4/WSa2ec538c80d45833-4e519ada123e088b6aa -8000.html>.

  3. RTMPE Streaming: How it works & High Secure Player [interaktyvus]. 2018. VdoCipher. [žiūrėta 2018 m. kovo 12 d.]. Prieiga per internetą: <https://www.vdocipher.com/blog/2016/11/ rtmp-encrypted-rtmpe-streaming-technology/>.

  4. Асимметричное шифрование. Как это работает? [interaktyvus]. 2013. Intsystem.org. [žiūrėta 2018 m. kovo 12 d.]. Prieiga per internetą: <https://intsystem.org/security/ asymmetric-encryption-how-it-work/>.

  5. Шифрование-асимметричные методы Глава 8 [interaktyvus]. 2013. Williamspublishing. [žiūrėta 2018 m. kovo 12 d.]. Prieiga per internetą: <http://www.williamspublishing.com/ PDF/5-8459-0847-7/part.pdf>.

  6. Weak keys and prime reuse make Diffie-Hellman implementations vulnerable [interaktyvus]. 2015. Virus Bulletin. [žiūrėta 2018 m. kovo 12 d.]. Prieiga per internetą: <https://www.virusbulletin.com/blog/2015/05/weak-keys-and-prime-reuse-make-diffie-hellman-implementations-vulnerable/>.