MIKEY - anglická zkratka . Multimedia Internet KEYing je protokol pro výměnu klíčů navržený speciálně pro multimediální aplikace v reálném čase, jako je streamování zvuku. Používá se k výměně klíčů pro šifrování hlasových relací SRTP .
Použití MIKEY je definováno v RFC 3830 .
Multimediální aplikace jsou souborem moderních digitálních komunikačních nástrojů, které umožňují současně přenášet a přijímat nebo převádět různé druhy informací (textové, grafické, audiovizuální). Mezi multimediální aplikace patří například IP telefonie , což je soubor infokomunikačních protokolů využívajících různé síťové technologie a metody, které poskytují standardní funkcionalitu pro telefonii (od vytočení účastníka až po navázání obousměrné interakce přes komunikační kanál). K IP telefonii lze přiřadit i videokonference ( Skype , Cisco Jabber ) . Jako hlavní technologie pro organizaci obousměrné komunikace v IP telefonii je použita technologie VoIP , která zajišťuje zřízení a údržbu multimediální aplikace. Tato technologie by měla kvalitativně přenášet jak hlasové, tak obrazové informace. VoIP však čelí problémům se zvýšením pravděpodobnosti ztráty IP paketů při velkém zatížení, výskytu jitteru , což vede ke ztrátě kvality přenosu na internetu. Proto, aby bylo možné zorganizovat vysoce kvalitní přístup k síti a také odstranit chyby po paketu, musí VoIP používat QoS (Quality of Service). Zajištění kvality dodávky má však silný dopad na výkon systému [1] . Pokud se navíc v síti používají různé protokoly pro bezpečný přenos dat, které naopak využívají proceduru správy klíčů , pak i tyto protokoly přispívají ke snížení výkonnosti systému přenosu dat [2] . Dodatečné zatížení je patrné zejména u zařízení, která mají omezený výpočetní výkon. Patří sem například kapesní zařízení. Zatímco výkon a výpočetní výkon kapesních zařízení se dnes výrazně zlepšily, proces správy životního cyklu klíčů, od registrace uživatele po odvolání klíče, zůstává úkolem náročným na zdroje. Jedním z protokolů výměny klíčů pro multimediální aplikace je protokol MIKEY. Tento protokol byl vyvinut za účelem snížení zpoždění při výměně klíčů mezi malými interagujícími skupinami umístěnými v heterogenních sítích. Schopnost vyměňovat klíče mezi skupinami je důležitou vlastností protokolu MIKEY. Takže například v protokolu SDP existují procedury správy klíčů (ve zprávách SDP je volitelně použit parametr, který je zodpovědný za šifrovací klíč), ale tento protokol nemá mechanismy pro shodu klíčů [3] . Tento problém zase řeší MIKEY.
Protokol MIKEY jako protokol správy klíčů musí mít následující vlastnosti [4] :
Protokoly pro bezpečný přenos dat jako SRTP (Secure Real Time Protocol) a IPSec slouží k ochraně přenášených informací, šifrování, autentizaci přenášených informací mezi multimediálními aplikacemi pracujícími v reálném čase [7] [8] . Hlavním problémem, který spočívá v těchto protokolech, je to, že nepodporují vestavěné mechanismy výměny klíčů. K vyřešení tohoto problému byl vyvinut protokol MIKEY. V současné době je SRTP jediným bezpečným komunikačním protokolem, který se při vytváření primárního klíče opírá o protokol výměny klíčů MIKEY. Co se týče protokolu IPSec / ESP, podporuje také MIKEY, ale k tomu je potřeba implementovat příslušnou funkcionalitu, která se pak již používá pro interakci protokolu. Protokol MIKEY lze použít v následujících režimech přenosu dat [9] :
Podporován je také režim Many-to-many s centralizovaným ovládáním. Obvykle se používá ve vztahu k větší skupině uživatelů, která vyžaduje koordinaci výměny klíčů [10] . Nejčastěji spolu uživatelé využívající multimediální aplikace interagují a komunikují v reálném čase. V takovém případě lze říci, že koncové uzly mezi sebou vytvářejí multimediální relace. Multimediální relace je zase sada jednoho nebo více zabezpečených multimediálních toků (v případě použití protokolu SRTP se jedná o datové toky SRTP) [11] .
MIKEY podporuje tři různé metody [10] :
Abyste pochopili, jak tento protokol funguje, musíte se nejprve seznámit se základními strukturami a parametry protokolu MIKEY. Pro implementaci funkcí správy klíčů nainstaluje MIKEY Data SA.
V procesu generování klíče relace tedy dochází k následujícímu: určení odpovídajícího klíče relace pro aktuální šifrovací relaci pomocí generátoru klíčů relace, spárování se sadou šifrovacích relací a zkombinování klíče relace s jeho odpovídajícím zabezpečeným přenosem dat. protokol k zajištění ochrany dat [12] .
Každá metoda přenosu a metoda výměny klíčů (předsdílený klíč, soukromý a veřejný klíč a algoritmus Diffie-Hellman) definovaná v protokolu MIKEY je zaměřena na bezpečné doručování šifrovacích klíčů do síťových uzlů a také na vytváření spojení na základě kterým nastavíte relaci, ve které se provádí správa klíčů. Přístup k nastavení relace je u všech tří metod stejný, ale atributy a struktura šifrovaných zpráv se liší v závislosti na metodě výměny klíčů. Pro jakoukoli zprávu se používají následující obecná označení [13] :
Před zvažováním každé metody výměny klíčů je třeba poznamenat, že hlavním úkolem pro ně je sestavení KEMAC (Key Data Transport Payload). KEMAC je sada šifrovaných bitů. KEMAC obsahuje TGK jako zašifrovanou bitovou sekvenci.
V metodě předsdíleného hesla je hlavním cílem odesílatele doručit jeden nebo více TGK příjemci a vytvořit vhodné bezpečnostní zásady. Pro kontrolu integrity a ochrany proti padělání přenášených informací používá odesílatel MAC . Odeslání potvrzovací zprávy od příjemce je volitelná akce v závislosti na tom, co odesílatel specifikuje v HDR.
Výpočty vypadají takto:
Stejně jako u metody předsdíleného hesla, v kryptosystému s veřejným klíčem iniciátor zprávy odešle jeden nebo více TGK v zašifrované podobě. Tato zpráva je zašifrována pomocí veřejného klíče příjemce. Pokud příjemce obsahuje více veřejných klíčů, může odesílatel určit konkrétní klíč pomocí parametru CHASH ve zprávě. CHASH je sada bitů, která obsahuje hash používaného certifikátu.
KEMAC se tedy vypočítá takto:
,
kde Idi je identifikátor odesílatele (stejný identifikátor, jaký je uveden v certifikátu).
V algoritmu Diffie-Hellman je sdílený tajný klíč generován pomocí generátoru skupin g. Po vypracování algoritmu bude tento klíč TGK. Hlavním účelem iniciátoru zprávy je odeslat veřejný klíč příjemci. Veřejný klíč se vypočítá následovně: , kde je tajná náhodná hodnota odesílatele. Příjemce zase pošle iniciátorovi veřejný klíč s hodnotou: , kde je tajná náhodná hodnota příjemce. Iniciátor tedy vybere parametry skupiny (skupina G, generátor g) a signalizuje to příjemci zasláním zprávy. Po výměně veřejných klíčů se vypočítá sdílený tajný klíč, který je zase TGK: .
V procesu přenosu výměny klíčů do systému mohou být spáchány různé typy útoků. Útočník může tajně změnit informace mezi dvěma stranami, nahradit je nebo odposlouchávat. Mezi tyto typy útoků patří:
Proto by tento protokol měl poskytovat různé metody a prostředky ochrany proti takovým útokům. Chcete-li to provést, zvažte protokol MIKEY, který používá algoritmus Diffie-Hellman k přenosu a výměně klíčů pomocí obousměrných autentizačních metod. V tomto případě, jak je uvedeno výše, není generátor klíčů relace předán explicitně. Přenáší se pouze dílčí informace, které slouží k získání generátoru klíčů relace. Kromě toho jsou přenášena další data, jako jsou časová razítka, náhodné nebo pseudonáhodné hodnoty, identifikační informace nebo různé bezpečnostní politiky. A poslouchání takových dat s sebou nenese významná bezpečnostní rizika.
Kromě výše uvedeného tento model protokolu MIKEY řeší problém útoků typu man-in-the-middle , end-to-end šifrování a také chrání před spoofingem. Tento typ útoku ohrožuje bezpečnost, když jsou mezi uzly sítě odesílány neověřené zprávy. Protokol MIKEY tuto hrozbu eliminuje tím, že poskytuje end-to-end vzájemnou autentizaci a integritu zpráv [14] .