Internet Key Exchange
Internet Key Exchange (IKE, verze IKEv1 a IKEv2) je protokol používaný pro zabezpečené spojení vytvořením security association (SA) v IPsec. IKE využívá protokolu Oakley a ISAKMP.[1] Pro autentizaci jsou používány certifikáty X.509 (předsdílené nebo distribuované pomocí DNS, nejlépe s DNSSEC) nebo v novějším IKEv2 autentizaci EAP (jméno a heslo), což slouží pro dohodnutí tajného klíče sdílené relace pomocí DH výměny klíčů ze kterého jsou odvozeny kryptografické klíče.[2][3] Kromě toho musí být ručně udržována bezpečnostní politika pro každého klienta, který se připojuje.[2]
Historie
editovatThe Internet Engineering Task Force (IETF) původně definovala IKE v listopadu 1998 v sérii publikací RFC: RFC 2407, RFC 2408 a RFC 2409:
- RFC 2407 definuje Internet IP Security Domain of Interpretation pro ISAKMP.
- RFC 2408 definuje Internet Security Association a Key Management Protocol (ISAKMP).
- RFC 2409 definuje Internet Key Exchange (IKE).
RFC 4306 aktualizovalo IKE na verzi dva (IKEv2) v prosinci 2005. RFC 4718 objasňuje některé otevřené detaily v říjnu 2006. RFC 5996 kombinuje tyto dva dokumenty plus doplňující objasnění do aktualizovaného IKEv2 publikované v září 2010. Pozdější aktualizace povušuje dokument z Proposed Standard to Internet Standard publikovaný v říjnu 2014.
Mateřská organizace IETF, Internet Society (ISOC), převedla autorská práva k těmto standardům na volně dostupná pro internetovou komunitu.
Architektura
editovatVětšina implementací IPsec se skládá z démona IKE, který běží v uživatelském prostoru, a zásobníku IPsec v jádře, který zpracovává skutečné IP pakety.
Démoni v uživatelského prostoru mají podle potřeby snadný přístup k úložišti obsahujícímu konfigurační informace, jako jsou adresy koncových bodů IPsec, klíče a certifikáty. Na druhé straně moduly jádra mohou zpracovávat pakety efektivně a s minimální režií – což je důležité z důvodů výkonu.
Protokol IKE používá UDP pakety, obvykle na portu 500, a obecně vyžaduje 4–6 paketů s 2–3 zpátečními cestami k vytvoření security association zabezpečení ISAKMP (SA) na obou stranách. Vyjednané klíče jsou pak předány IPsec zásobníku. Může to být například klíč AES, informace identifikující koncové body IP a porty, které mají být chráněny, a také jaký typ tunelu IPsec byl vytvořen. IPsec stack zase zachycuje příslušné IP pakety, pokud je to vhodné, a podle potřeby provádí šifrování/dešifrování. Implementace se liší v tom, jak se zachycování paketů provádí – některá například používají virtuální zařízení, jiná se vyhýbají firewallu atd.
IKEv1 se skládá ze dvou fází: fáze 1 a fáze 2.[4]
Vylepšení v IKEv2
editovatProtokol IKEv2 byl popsán v RFC 4306 (příloha A) v roce 2005. Řešily se tyto problémy:
- Zmenšení počtu RFC: Specifikace IKE byly rozprostřeny do nejméně třech RFC nebo více, pokud vezmeme v úvahu procházení skze NAT a další rozšíření, která se běžně používají. IKEv2 je kombinuje v jednom RFC a zároveň přináší vylepšení podpory pro procházení skze NAT (Network Address Translation) a obecně procházení firewallem.
- Podpora standardní mobility: Existuje standardní rozšíření pro IKEv2 s názvem [rfc:4555 Mobility and Multihoming Protocol] (MOBIKE) (viz také IPsec), které se používá pro mobilní uživatele a multihomingu a Encapsulating Security Payload (ESP).
- NAT traversal : Zapouzdření IKE a ESP v User Datagram Protocol (UDP port 4500) umožňuje těmto protokolům procházet skrze zařízení nebo firewall provádějící NAT.[5]
- Podpora protokolu SCTP (Stream Control Transmission Protocol): IKEv2 podporuje protokol SCTP používaný v internetové telefonii (Voice over IP , VoIP).
- Jednoduchá výměna zpráv: IKEv2 má jeden mechanismus počáteční výměny se čtyřmi zprávami, kde IKE poskytoval osm zřetelně odlišných mechanismů počáteční výměny, z nichž každý měl drobné výhody a nevýhody.
- Méně kryptografických mechanismů: IKEv2 používá k ochraně svých paketů kryptografické mechanismy, které jsou velmi podobné těm, které IPsec ESP používá k ochraně paketů IPsec. To vedlo k jednodušší implementaci a certifikaci pro Common Criteria a FIPS 140-2 (Federal Information Processing Standard), které vyžadují, aby každá kryptografická implementace byla ověřena samostatně.
- Spolehlivost a správa stavu: IKEv2 používá sekvenční čísla a potvrzení k zajištění spolehlivosti a nařizuje určitou logistiku zpracování chyb a sdílenou správu stavu. Původní IKE mohla skončit v mrtvém stavu kvůli nedostatku takových opatření spolehlivosti, kdy obě strany očekávaly, že druhá strana zahájí akci, která se nikdy neuskutečnila. Sice byla vyvinuta opatření (například Dead-Peer-Detection), ale nebyla standardizována, což znamenalo, že různé implementace IKE nebyly vždy navzájem kompatibilní.
- Odolnost útoku DoS (Denial of Service): IKEv2 neprovádí mnoho zpracování, dokud nezjistí, zda žadatel skutečně existuje. To vyřešilo některé problémy DoS, kterými trpí IKE a které by provádělo mnoho nákladného kryptografického zpracování z podvržených míst.
Rozšíření protokolu
editovatPracovní skupina IETF ipsecme standardizovala řadu rozšíření s cílem modernizovat protokol IKEv2 a lépe jej přizpůsobit produkčním prostředím s vysokým provozem. Mezi tato rozšíření patří:
- IKE session resumption: obnovení relace IKE umožňuje obnovit IKE/IPsec relaci po selhání, aniž by bylo nutné projít celým procesem nastavení IKE (RFC 5723).
- IKE redirect: přesměrování příchozích požadavků IKE, což umožňuje jednoduché vyrovnávání zátěže mezi více koncovými body IKE (RFC 5685).
- IPsec traffic visibility: speciální označování paketů ESP, které jsou ověřené, ale nešifrované, s cílem usnadnit middleboxům (jako jsou systémy detekce narušení) analýzu toku (RFC 5840).
- Mutual EAP authentication: podpora pro autentizaci pouze pomocí EAP (tj. bez certifikátu) obou IKE stran; cílem je umožnit použití moderních autentizačních metod založených na heslech (RFC 5998).
- Quick crash detection: minimalizace času, než partner IKE detekuje, že jeho protější peer selhal (RFC 6290).
- High availability extensions: zlepšení vysoké dostupnosti synchronizace protokolu na úrovni IKE/IPsec mezi klastrem koncových bodů IPsec a koncovým zařízením, aby se snížila pravděpodobnost přerušení spojení po selhání (RFC 6311).
Implementace
editovatIKE je součástí implementace IPsec v systémech Windows 2000, Windows XP, Windows Server 2003, Windows Vista a Windows Server 2008.[6] Implementaci ISAKMP/IKE společně vyvinuly společnosti Cisco a Microsoft. [7]
Microsoft Windows 7 a Windows Server 2008 R2 částečně podporují IKEv2 (RFC 7297) a MOBIKE (RFC 4555) prostřednictvím funkce VPN Reconnect (také známé jako Agile VPN ).
Existuje několik open source implementací IPsec s přidruženými schopnostmi IKE. Implementace v Linuxu, Libreswan, Openswan a strongSwan poskytují IKE démona, který nakonfiguruje (tj. vytvoří SA) pro IPsec stacky v jádře (KLIPS nebo XFRM/NETKEY). Nativní implementací IPsec od jádra Linuxu 2.6 je XFRM/NETKEY.
Dostupné jsou následující opensource implementace:
Odkazy
editovatReference
editovatV tomto článku byl použit překlad textu z článku Internet Key Exchange na anglické Wikipedii.
- ↑ The Internet Key Exchange (IKE), RFC 2409, §1 Abstract
- ↑ a b [s.l.]: [s.n.] Dostupné online.
- ↑ [s.l.]: [s.n.] Dostupné online.
- ↑ "RFC 2409 The Internet Key Exchange (IKE)", Internet Engineering Task Force (IETF), p. 5
- ↑ "RFC 4306: Internet Key Exchange (IKEv2) Protocol", Internet Engineering Task Force (IETF), p 38-40
- ↑ Internet Key Exchange: Internet Protocol Security (IPsec): Technet
- ↑ Archivovaná kopie [online]. [cit. 2024-10-18]. Dostupné v archivu pořízeném dne 2008-10-12.
- ↑ Dostupné online. (anglicky)
- ↑ Dostupné online.
Související články
editovatExterní odkazy
editovat- RFC 2407 Internet Security Association and Key Management Protocol (ISAKMP), Internet Engineering Task Force (IETF)
- RFC 2409 The Internet Key Exchange (IKE), Internet Engineering Task Force (IETF)
- RFC 7296: Internet Key Exchange Protocol verze 2 (IKEv2), Internet Engineering Task Force (IETF)
- Overview of IKE (od společnosti Cisco)