5Výmena kľúčov pri protokole IPsec - metóda ISAKMP/IKE

Výmena kľúčov medzi klientmi pred začatím vlastnej zabezpečenej komunikácie je dôležitá hneď z niekoľkých hľadísk. Objavuje sa tu však otázka: Ako vlastne riešiť bezpečnú výmenu kľúčov? Pred vlastnou komunikáciou je nutné zaistiť:

1. dohodu o type kľúča a spôsobe jeho tvorby, t.j. stanoviť zdieľaný kľúč PSK (Pre-Shared Key)
2. autentizáciu účastníkov, t.j. vzájomné overenie identity účastníkov komunikácie
3. ochranu identity účastníkov, t.j. pasívny útočník nemá byť schopný odhaliť identitu účastníkov obyčajným sledovaním komunikácie
4. ochranu proti DoS (Denial of Service), t.j. zlomyseľný používateľ by nemal byť schopný zneužiť protokol tak, aby nútil protistranu plytvať zdrojmi (CPU (Central Processing Unit), pamäťou, kapacitou úložiska,…)

Protokol ISAKMP je definovaný odporúčaním RFC 2408. Na svoju činnosť využíva transportný protokol UDP na porte 500.

Protokol ISAKMP je všeobecným protokolom na vytváranie SA, t.j. nerieši, ako konkrétne sa majú autentizované kľúče vymeniť. To je práca protokolu IKE. Protokol ISAKMP slúži na autentizáciu komunikujúcich strán a výmenu dát pre šifrovacie kľúče.

Nejedná sa o komunikáciu typu klient - server, ale typu výzva (požiadavka) - odpoveď. Strana, ktorá chce vytvoriť nové SA, iniciuje komunikáciu protokolom ISAKMP.

Protokol IKE je flexibilný vyjednávací protokol definovaný odporúčaním RFC 2409. Umožňuje dojednanie konkrétnej metódy autentizácie, šifrovania, dĺžok kľúčov a ich bezpečnú výmenu. Pre svoju činnosť používa Diffie-Hellmanov algoritmus (D-H algoritmus).

Protokol IKE je využívaný na výmenu relačných kľúčov, tzv. Session Keys. Správy protokolu IKE sú zapuzdrené do paketov protokolu ISAKMP.

Činnosť protokolu IKE je možné rozdeliť na dve nezávislé fázy. Prvá fáza realizuje zostavenie bezpečného autentizovaného kanála medzi komunikujúcimi entitami (počítačmi). V rámci tejto fázy je chráneným spôsobom autentizovaná identita komunikujúcich strán. Obe komunikujúce strany sa dohodnú, aké použijú SA a ako vykonajú autentizovanú výmenu zdieľaných kľúčov PSK. Následne je zostavený bezpečný tunel pre druhú fázu. Na postavenie tunela sú k dispozícii dva režimy:

- hlavný režim (Main Mode)
  - dojedná algoritmy a hashovacie funkcie, vygeneruje zdieľané tajomstvo pomocou D-H algoritmu a overí identitu protistrany. Celkovo ide o 6 správ.
- agresívny režim (Agressive Mode)
  - skráti vyjednávanie do menšieho množstva paketov. Celkovo ide o 3 správy.

Výhodou agresívneho režimu je úspora prenosového pásma a času nutného pre prenos správ.

Nevýhodou agresívneho režimu je výmena dôležitých informácií ešte pred postavením šifrovaného spojenia, čo je náchylné na odpočúvanie (Sniffing).

Procesný diagram fázy 1 protokolu IKE (hlavný režim)

V prvej fáze je možné využiť štyri rôzne spôsoby výmeny kľúča PSK:

- asymetrické šifrovanie verejným kľúčom (pôvodná verzia)
- asymetrické šifrovanie verejným kľúčom (zdokonalená verzia)
- digitálny podpis
- tajný kľúč (podľa symetrického algoritmu)

Každú variantu výmeny kľúča je možné využiť v hlavnom alebo agresívnom režime, t.j. dohromady existuje osem rôznych variant prvej fázy protokolu IKE !!! Hlavný režim musí byť implementovaný vždy, agresívny režim je voliteľný, t.j. mal by byť implementovaný.

Výsledkom prvej fázy protokolu IKE je vzájomná autentizácia komunikujúcich strán, výmena zdieľaného symetrického kľúča PSK a ustanovenie IKE SA (Security Association).

Druhá fáza (Quick Mode) vytvorí SA pre IPsec reláciu, t.j. dojednávajú sa parametre SA IPsec spojenia, dochádza k zostaveniu IPsec SA pre konkrétne spojenie (napr.: FTP, telnet, a pod.), vykonáva sa periodická obnova IPsec SA, voliteľne sú realizované ďalšie D-H výmeny a špecifikuje sa ďalší kľúčový materiál pre vlastnú komunikáciu.

Táto komunikácia je od začiatku chránená pomocou algoritmov a kľúčov získaných počas prvej fázy.

Na šifrovanie bežnej komunikácie sa použije relačný kľúč (Session Key), ktorý je odvodený z D-H Master kľúča získaného z SA v hlavnom režime prvej fázy a z Nonce hodnoty SA generovanej v druhej fáze.

Využitie PFS (Perfect Forward Secrecy) označuje stav, kedy nie sú aktuálne kľúče použité na generovanie ďalších kľúčov. Ak je totiž náhodou konkrétny kľúč rozšifrovaný, t.j. prezradený, umožní to útočníkovi jednoduché prelomenie ďalších kľúčov. Ak je PFS použité, potom sa v druhej fáze znovu generuje pomocou D-H nová zdieľaná tajná informácia. Využitie PFS je bezpečnejšie, ale trochu náročnejšie na výkon a čas pri zostavovaní spojenia. Relačný kľúč sa získa z nového D-H tajného kľúča a hodnoty Nonce, ktoré sa získajú v druhej fáze budovania SA. Aplikáciou PFS je tak zabezpečené, že relačný kľúč nie je nikdy generovaný z rovnakého materiálu.

Procesný diagram fázy 2 protokolu IKE (Quick Mode)

Porovnanie so SSL/TLS - SSL relácia zodpovedá prvej fáze činnosti protokolu IKE, SSL spojenie zodpovedá druhej fáze činnosti protokolu IKE.