MIKEY - acronim englezesc . Multimedia Internet KEYing este un protocol de schimb de chei conceput special pentru aplicații multimedia în timp real, cum ar fi streaming audio. Folosit pentru a schimba cheile pentru criptarea sesiunilor de voce SRTP .
Utilizarea lui MIKEY este definită în RFC 3830 .
Aplicațiile multimedia sunt un set de instrumente moderne de comunicare digitală care vă permit să transmiteți și să primiți sau să convertiți simultan diverse tipuri de informații (textuale, grafice, audiovizuale). Aplicațiile multimedia includ, de exemplu, telefonia IP , care este un set de protocoale de infocomunicații care utilizează diverse tehnologii și metode de rețea care oferă funcționalitate standard pentru telefonie (de la formarea unui abonat până la stabilirea interacțiunii bidirecționale pe un canal de comunicare). Conferințele video ( Skype , Cisco Jabber ) pot fi, de asemenea, atribuite telefoniei IP . Ca principală tehnologie de organizare a comunicațiilor bidirecționale în telefonia IP, se utilizează tehnologia VoIP , care asigură înființarea și întreținerea unei aplicații multimedia. Această tehnologie ar trebui să transmită calitativ atât informații vocale, cât și video. Cu toate acestea, VoIP se confruntă cu probleme de creștere a probabilității de pierdere a pachetelor IP sub sarcini grele, apariția jitterului , ceea ce duce la o pierdere a calității transmisiei pe Internet. Prin urmare, pentru a organiza accesul de înaltă calitate la rețea, precum și pentru a elimina erorile de urmărire a pachetelor, VoIP trebuie să utilizeze QoS (Quality of Service). Asigurarea calității livrării are însă un impact puternic asupra performanței sistemului [1] . În plus, dacă în rețea sunt utilizate diferite protocoale pentru transmiterea securizată a datelor, care, la rândul lor, utilizează procedura de gestionare a cheilor , atunci aceste protocoale contribuie și la scăderea performanței sistemului de transmisie a datelor [2] . Sarcina suplimentară este evidentă în special în dispozitivele care au putere de procesare limitată. De exemplu, acestea includ dispozitive portabile. În timp ce performanța și puterea de procesare a dispozitivelor portabile s-au îmbunătățit considerabil astăzi, procesul de gestionare a ciclului de viață al cheilor, de la înregistrarea utilizatorilor până la revocarea cheilor, rămâne o sarcină care necesită mult resurse. Unul dintre protocoalele de schimb de chei pentru aplicațiile multimedia este protocolul MIKEY. Acest protocol a fost dezvoltat pentru a reduce întârzierile în schimbul de chei între grupuri mici care interacționează situate în rețele eterogene. Abilitatea de a schimba chei între grupuri este o caracteristică importantă a protocolului MIKEY. Deci, de exemplu, în protocolul SDP există proceduri de gestionare a cheilor (în mesajele SDP se folosește opțional un parametru care este responsabil pentru cheia de criptare), dar acest protocol nu are mecanisme de acord de chei [3] . MIKEY, la rândul său, rezolvă această problemă.
Protocolul MIKEY, ca protocol de gestionare a cheilor, trebuie să aibă următoarele proprietăți [4] :
Protocoalele securizate de transfer de date precum SRTP (Secure Real Time Protocol) și IPSec sunt folosite pentru a proteja informațiile transmise, cripta, autentifica informațiile transmise între aplicațiile multimedia care funcționează în timp real [7] [8] . Principala problemă care constă în aceste protocoale este că nu acceptă mecanisme de schimb de chei încorporate. Pentru a rezolva această problemă, a fost dezvoltat protocolul MIKEY. În prezent, SRTP este singurul protocol de comunicare securizat care se bazează pe protocolul de schimb de chei MIKEY pentru a stabili o cheie primară. În ceea ce privește protocolul IPSec / ESP, acesta acceptă și MIKEY, dar pentru aceasta trebuie să implementați funcționalitatea corespunzătoare, care este apoi deja folosită pentru interacțiunea protocolului. Protocolul MIKEY poate fi utilizat în următoarele moduri de transfer de date [9] :
De asemenea, este acceptat modul multi-la-mulți cu control centralizat. Utilizat de obicei în relație cu un grup mai mare de utilizatori care necesită coordonarea schimbului de chei [10] . Cel mai adesea, utilizatorii, folosind aplicații multimedia, interacționează și comunică între ei în timp real. Într-un astfel de caz, se poate spune că nodurile finale creează sesiuni multimedia între ele. O sesiune multimedia, la rândul său, este un set de unul sau mai multe fluxuri multimedia securizate (în cazul utilizării protocolului SRTP, acestea sunt fluxuri de date SRTP) [11] .
MIKEY acceptă trei metode diferite [10] :
Pentru a înțelege cum funcționează acest protocol, trebuie mai întâi să vă familiarizați cu structurile și parametrii de bază ai protocolului MIKEY. Pentru a implementa funcționalitatea de gestionare a cheilor, MIKEY instalează Data SA.
Astfel, în procesul de generare a unei chei de sesiune, se întâmplă următoarele: determinarea cheii de sesiune corespunzătoare pentru sesiunea curentă de criptare folosind un generator de chei de sesiune, potrivirea cu un set de sesiuni de criptare și combinarea cheii de sesiune cu transferul de date securizat corespunzător. protocol pentru asigurarea protecției datelor [12] .
Fiecare metodă de transmisie și metodă de schimb de chei (cheie pre-partajată, cheie privată și publică și algoritm Diffie-Hellman) definite în protocolul MIKEY se concentrează pe livrarea în siguranță a cheilor de criptare către nodurile de rețea, precum și pe crearea unei conexiuni bazate pe care să seteze sesiunea în care se realizează gestionarea cheilor. Abordarea pentru configurarea unei sesiuni este aceeași pentru toate cele trei metode, dar atributele și structura mesajelor criptate diferă în funcție de metoda de schimb de chei. Pentru orice mesaj, se folosesc următoarele denumiri generale [13] :
Înainte de a lua în considerare fiecare metodă de schimb de chei, trebuie remarcat că sarcina principală pentru ei este compilarea KEMAC (Key Data Transport Payload). KEMAC este un set de biți criptați. KEMAC conține TGK ca o secvență de biți criptată.
În metoda parolei pre-partajate, scopul principal al expeditorului este să livreze unul sau mai multe TGK destinatarului și să stabilească politicile de securitate corespunzătoare. Pentru a verifica integritatea și protecția împotriva falsificării informațiilor transmise, expeditorul folosește MAC -ul . Trimiterea unui mesaj de confirmare de la destinatar este o acțiune opțională, în funcție de ceea ce specifică expeditorul în HDR.
Calculele arată astfel:
Ca și în cazul metodei parolei pre-partajate, într-un criptosistem cu cheie publică, inițiatorul mesajului trimite unul sau mai multe TGK-uri în formă criptată. Acest mesaj este criptat folosind cheia publică a destinatarului. Dacă destinatarul conține mai multe chei publice, atunci expeditorul poate specifica o anumită cheie folosind parametrul CHASH din mesaj. CHASH este un set de biți care conține hash-ul certificatului utilizat.
Astfel, KEMAC se calculează după cum urmează:
,
unde Idi este identificatorul expeditorului (același identificator ca cel specificat în certificat).
În algoritmul Diffie-Hellman, o cheie secretă partajată este generată folosind generatorul de grup g. După ce algoritmul a fost elaborat, această cheie va fi TGK. Scopul principal al inițiatorului mesajului este de a trimite cheia publică destinatarului. Cheia publică se calculează după cum urmează: , unde este valoarea secretă aleatorie a expeditorului. Destinatarul, la rândul său, trimite inițiatorului o cheie publică cu valoarea: , unde este valoarea secretă aleatorie a destinatarului. Astfel, inițiatorul selectează parametrii grupului (grup G, generator g) și semnalează acest lucru destinatarului prin trimiterea unui mesaj. După schimbul de chei publice, se calculează cheia secretă partajată, care la rândul ei este TGK: .
În procesul de transfer al schimbului de chei în sistem, pot fi comise diferite tipuri de atacuri. Un atacator poate schimba în secret informațiile dintre cele două părți, le poate înlocui sau ascultă cu urechea. Aceste tipuri de atacuri includ:
Prin urmare, acest protocol ar trebui să ofere diferite metode și mijloace de protecție împotriva unor astfel de atacuri. Pentru a face acest lucru, luați în considerare protocolul MIKEY, care utilizează algoritmul Diffie-Hellman pentru a transfera și schimba chei cu metode de autentificare bidirecțională. În acest caz, după cum sa menționat mai sus, generatorul de chei de sesiune nu este transmis în mod explicit. Sunt transmise doar informații parțiale, care servesc la obținerea unui generator de chei de sesiune. În plus, sunt transmise și alte date, cum ar fi marcaje temporale, valori aleatoare sau pseudoaleatoare, informații de identificare sau diverse politici de securitate. Și ascultarea unor astfel de date nu implică riscuri semnificative de securitate.
În plus față de cele de mai sus, acest model de protocol MIKEY rezolvă problema atacurilor man-in-the-middle , a criptării end-to-end și, de asemenea, protejează împotriva falsificării. Acest tip de atac amenință securitatea atunci când mesajele neautentificate sunt trimise între nodurile rețelei. Protocolul MIKEY elimină această amenințare oferind autentificare reciprocă end-to-end și integritate a mesajelor [14] .