IKE

IKE (Internet Key Exchange) je standardní protokol sady protokolů IPsec , který se používá k zajištění bezpečné komunikace ve virtuálních privátních sítích . Účelem IKE je bezpečné vyjednávání a doručení informací o identitě pro „bezpečnostní asociaci“ (SA). Na základě protokolu Oakley .

Historie

IKE bylo původně definováno v listopadu 1998 v sérii doporučení RFC 2407 , RFC 2408 , RFC 2409 .

V prosinci 2005 byla vydána druhá verze IKEv2, která byla popsána v RFC 4306 .

V říjnu 2014 byla vydána upravená verze standardu popisujícího IKEv2 v revizi RFC 7296 .

Architektura

Protokol přenáší zprávy na UDP portech 500 a/nebo 4500. Zavedený SA zahrnuje sdílený tajný klíč a sadu kryptografických algoritmů. IKE může také používat kompresi IP.

Výměna informací se provádí pomocí párových zpráv „request-response“. Takové páry se nazývají „výměna“.

Výměna dat v IKE probíhá ve 2 fázích. V první fázi je založen SA IKE. Ve druhém se SA IKE používá pro vyjednávání protokolu (obvykle IPSec).

Definice

SKEYID - řetězec získaný z tajného klíče známého pouze účastníkům výměny.

SKEYID_e je klíčový materiál používaný SA ISAKMP k ochraně důvěrnosti svých zpráv.

SKEYID_a je klíčový materiál používaný SA ISAKMP k identifikaci svých zpráv.

SKEYID_d – Klíčový materiál používaný při odvozování klíčů pro SAKMP bez ISAKMP

Nx - aktuální časový údaj (x může být i nebo r v případě iniciátora, resp. příjemce)

prf(key, msg) je pseudonáhodná funkce s klíčem (pseudonáhodná funkce). Často se používá hashovací funkce .

g^xy je sdílený tajný kód Diffie-Hellman .

CKY_x - iniciátor (pokud x == I) nebo příjemce (pokud x == R) cookies z hlavičky ISAKMP

HDR - hlavička ISAKMP. Jeho pole typu výměny určuje režim. Pokud je zapsáno HDR*, jsou data šifrována.

SA - Data vyjednávání obsahující jednu nebo více vět. Iniciátor může podat více návrhů, ale respondent musí odpovědět pouze jedním návrhem.

IDx - identifikační údaje pro x. Pokud x == ii, pak jsou to údaje iniciátora v první fázi, pokud x == ir, pak jsou to údaje respondenta v první fázi, pokud x == ui, pak jsou to údaje iniciátor ve druhé fázi, pokud x == ur , pak jsou to údaje respondenta ve druhé fázi.

CERT - certifikační údaje.

SIG_X jsou data podpisu iniciátoru nebo odpovídače v případě X == I nebo X == R, v daném pořadí.

KE jsou klíčová data výměny, která obsahují veřejné informace přenášené během výměny Diffie-Hellman.

HASH(X) - data hash kódu.

<X>_b je tělo dat X.

<x>y - x je zašifrováno klíčem y.

x | Y je zřetězení X a Y.

Fáze 1

Pro první fázi jsou možné 2 režimy: základní a agresivní.

V hlavním režimu probíhají 3 výměny: v prvním se uzly dohodnou na pravidlech, ve druhém si vyměňují otevřené hodnoty Diffie-Hellman a pomocná data, ve třetím je potvrzena výměna Diffie-Hellman.

V agresivním režimu jsou pravidla stanovena při první výměně, jsou přenášeny veřejné hodnoty Diffie-Hellman a doplňkové informace. Navíc ve druhé zprávě první výměny je identifikován odpovídač. Třetí zpráva identifikuje iniciátora a potvrzuje účast na výměně. Poslední (čtvrtá) zpráva nemusí být odeslána.

Pro obě tyto metody jsou možné čtyři typy různých metod identifikace: digitální podpis , dva typy šifrování veřejným klíčem a sdílený klíč (předsdílený klíč).

V závislosti na typu identifikace se na začátku vygeneruje SKEYID.

SKEYID = prf(Ni_b | Nr_b, g^xy) v případě identifikace digitálním podpisem.

SKEYID = prf(hash(Ni_b | Nr_b), CKY-I | CKY-R) v případě šifrování veřejného klíče.

SKEYID = prf(předsdílený klíč, Ni_b | Nr_b) v případě sdíleného klíče.

Poté strany vypočítají materiály klíčů SKEYID_d, SKEYID_a, SKEYID_e.

SKEYID_d = prf(SKEYID, g^xy | CKY-I | CKY-R | 0)

SKEYID_a = prf(SKEYID, SKEYID_d | g^xy | CKY-I | CKY-R | 1)

SKEYID_e = prf(SKEYID, SKEYID_a | g^xy | CKY-I | CKY-R | 2)

Identifikace pomocí digitálního podpisu

V hlavním režimu se ve fázích 1 a 2 strany dohodnou na SA IKE a dohodnou se na nastavení výměny. Obě strany musí sdílet své soubory cookie. Ve fázích 3 a 4 si strany vymění klíče Diffie-Hellman a pseudonáhodné hodnoty. Strany pak mohou zprávy chránit. V krocích 5 a 6 se vyměňují šifrované identifikační informace.

V agresivním režimu je vyjednávání omezeno, protože iniciátor musí odeslat hodnoty Diffie-Hellman ​​a aktuální časové údaje ve stejné zprávě. To znamená, že iniciátor nemůže navrhnout různé skupiny Diffie-Hellman. Někdy však může být agresivní režim jediným způsobem, jak vytvořit přidružení zabezpečení IKE, například pokud příjemce nezná adresu iniciátora. Pokud již iniciátor má informace o příjemci, bude efektivnější agresivní režim.

V základním i agresivním režimu jsou výsledkem podepsaná data (SIG_I a SIG_R).

Identifikace pomocí šifrování veřejného klíče

Pokud má respondér více veřejných klíčů v nativním režimu, 3. zpráva odešle hash certifikátu (HASH(1)), který použil iniciátor pro šifrování. Příjemce tak bude moci určit, jakým klíčem jsou zprávy zašifrovány, jednoduchým sestavením hashů svých certifikátů a jejich porovnáním s přijatým. Za zmínku stojí, že identifikační údaje a aktuální čas jsou šifrovány pomocí klíče druhé strany.

Autentizace s upraveným režimem šifrování veřejného klíče

Autentizace pomocí šifrování veřejným klíčem vyžaduje náklady na operace klíče: 2 operace pro šifrování pomocí veřejného klíče a 2 operace pro dešifrování pomocí soukromého klíče. Opravený režim umožňuje snížit počet operací na polovinu. V tomto režimu jsou aktuální časová data také šifrována pomocí veřejného klíče druhé strany a identifikátory (a pokud jsou odesílány, certifikáty) jsou šifrovány pomocí dohodnutého symetrického šifrovacího algoritmu (na základě SA dat). Klíč pro toto šifrování je odvozen z aktuálních časových údajů.

Důvod případného odeslání HASH(1) je stejný jako u jednoduché autentizace pomocí šifrování veřejným klíčem. Klíče Ke_i a Ke_r se sjednávají během výměny dat SA. Data jsou šifrována a datové hlavičky jsou odesílány jako prostý text.

Identifikace sdíleného klíče

Klíč hlavního režimu lze určit z IP adres stran, protože hash HASH_I iniciátora musí být spočítán předtím, než může iniciátor zpracovat IDir. Agresivní režim umožňuje stranám mít více sdílených klíčů a komunikovat, který z nich je použit při vyjednávání výměny.

Fáze 2

Rychlý režim

Rychlý režim nepředstavuje úplnou výměnu (protože je neoddělitelně spojen s výměnami fáze 1), ačkoli se používá jako součást procesu vyjednávání SA, dodává klíčové materiály a pravidla vyjednávání pro SAK mimo ISAKMP. Všechny zprávy musí být chráněny společností ISAKMP SA. To znamená, že všechny části zpráv kromě hlavičky ISAKMP jsou zašifrovány.

HASH(1) = prf(SKEYID_a, M-ID | SA | Ni [ | KE ] [ | IDci | IDcr)

HASH(2) = prf(SKEYID_a, M-ID | Ni_b | SA | Nr [ | KE ] [ | IDci | IDcr)

HASH(3) = prf(SKEYID_a, 0 | M-ID | Ni_b | Nr_b)

Nový klíčový materiál je definován jako:

KEYMAT = prf(SKEYID_d, protokol | SPI | Ni_b | Nr_b) - dokonalé dopředné utajení není vyžadováno

KEYMAT = prf(SKEYID_d, g(qm)^xy | protokol | SPI | Ni_b | Nr_b) - je vyžadováno dokonalé dopředné utajení. Zde je g(qm)^xy sdílený klíč, který byl získán během výměny Diffie-Hellman.

Nový skupinový režim

Nový skupinový režim nebude použit, dokud nebude zřízena ISAKMP SA. Popis nové skupiny by měl následovat až po fázi 1 vyjednávání (ačkoli nový skupinový režim sám o sobě neplatí pro fázi 2).

HASH(1) = prf(SKEYID_a, M-ID | SA)

HASH(2) = prf(SKEYID_a, M-ID | SA)

OAKLEY kapely

Ve skupinách OAKLEY dochází k porovnávání Diffie-Hellman. RFC 2409 definuje 4 skupiny. Poprvé byly tyto skupiny popsány v protokolu OAKLEY, a proto dostaly tento název.

Zdroje