IPsec
IPsec (IP security) je v informatice název bezpečnostního rozšíření IP protokolu založeného na autentizaci a šifrování každého IP datagramu. V architektuře OSI se jedná o zabezpečení již na síťové vrstvě, a proto poskytuje transparentně bezpečnost jakémukoliv přenosu (kterékoliv síťové aplikaci). Bezpečnostní mechanismy vyšších vrstev (nad protokoly TCP/UDP, kde pracují TLS/SSL, SSH apod.) vyžadují podporu uvnitř aplikací. IPsec je definován v několika desítkách RFC vydaných IETF – základními jsou RFC 2401 a RFC 2411.
IPsec používá kryptografické bezpečnostní služby pro ochranu komunikace prostřednictvím IP protokolu. Poskytuje ověřování dat, původ dat, jejich integritu, důvěrnost (šifrování) a ochranu proti útoku pomocí přehrání (viz replay attack).
Princip činnosti
Vytváří logické kanály – Security Associations (SA), které jsou vždy jednosměrné, pro duplex se používají dvě SA (na každé straně logického kanálu, tj. celkem čtyři).
Bezpečnostní rozšíření vypadá následovně:
- Ověřování – při přijetí paketu může dojít k ověření, zda vyslaný paket odpovídá odesilateli či zda vůbec existuje.
- Šifrování – obě strany se předem dohodnou na formě šifrování paketu. Poté dojde k zašifrování celého paketu krom IP hlavičky, případně celého paketu a bude přidána nová IP hlavička.
Základní protokoly (jsou často používány zároveň, protože se vzájemně doplňují):
- Authentication Header (AH) – zajišťuje autentizaci odesílatele a příjemce, integritu dat v hlavičce, ale vlastní data nejsou šifrována.
- Encapsulating Security Payload (ESP) – přidává šifrování paketů, přičemž vnější hlavička není nijak chráněna a není zaručena její integrita.
Historie
V prosinci roku 1993 John Loannidis, spolu s dalšími lidmi, vyvíjel swIPe protokol na Kolumbijské univerzitě v Bellových laboratořích.
V červnu roku 1994, Wei Xu (TIS - Trusted Information Systems), pokračoval ve vývoji protokolu (s rozšířením o IP protokoly) a úspěšně jej dokončil pro platformu BSDI (Berkeley Software Design Inc.). Wei poté rychle rozšířil svůj vývoj i pro SunOS, HP-UX a další Unixové systémy. Jedním z problémů byla malá účinnost DES (Data Encryption Standard) a Triple DES. Šifrovací software na architektuře Intel 80386 nebyl schopný podporovat rychlost T1 (1,544 Mb/s). Zkoumáním karty Crypto z Německa, Wei Xu později vyvinul automatizovaný ovladač pro připojená zařízení, dnes známý jako plug-and-play. Když bylo dosaženo vyšší rychlosti než T1, stala se jeho práce komerčně zajímavá a byla produkována jako část dobře známého Gauntlet firewallu. V prosinci 1994 byl produkt poprvé použit pro zabezpečené spojení mezi východními a západními pobřežními státy USA.
Další IP ESP (Encapsulating Security Payload) byl vyvíjen v Námořních výzkumných laboratoří jako součást projektu sponzorovaného agenturou DARPA. V prosinci roku 1993 tedy vznikla rozšířená zabezpečení pro SIPP. ESP byl původně odvozen od US Department of Defence SP3D protokolu, spíše než od síťové vrstvy bezpečnostního protokolu ISO modelu. Specifikace SP3D protokolu byly publikovány institutem NIST, ale návrh vznikl jako zabezpečovací systém dat v síti společností US Department of Defence. Bezpečnostní Authentication Header (AH) je částečně odvozen od předchozích IETF standardů, které zajišťovaly autentizaci pro SNMP protokol.
V roce 1995 pracovní skupina IPsec pod záštitou IETF vyprodukovala otevřenou a volně šiřitelnou verzi protokolů, které byly vyvinuty v rámci NSA smlouvy jakožto projekt SDNS (Secure Data Network System). Projekt SDNS, publikovaný institutem NIST, definoval bezpečnostní protokol 3. vrstvy, který se stal základem modelu ISO/OSI.
IPsec je oficiálně standardizován komisí IETF (Internet Engineering Task Force) jako součást RFC dokumentů.
Authentication Header
Authentication Header (AH) je součástí protokolů IPsec. Zajišťuje integritu dat a jejich původ. Také eventuálně může chránit před tzv. Replay útokem pomocí techniky protokolu s posuvným okénkem a zahazovat staré pakety.
- V IPv4 chrání AH obsah všech polí hlavičky s výjimkou proměnlivých dat (těch, která by mohla být změněna při přenosu)
- V IPv6 chrání AH chrání většinu hlavičky IPv6, AH sebe sama, neměnitelné rozšiřující hlavičky po AH a IP payload. Ochrana hlaviček v IPv6 vylučuje změnu polí: DSCP, ECN, Flow Label a Hop Limit.
AH používá IP protokol číslo 51.
Provozní režimy
IPsec může být implementováno jak v režimu přenosu host-to-host, tak i jako síťové tunelování.
Režim přenosu
V režimu přenosu je obvykle zašifrován a nebo ověřen pouze obsah daného paketu. Směrování je tak nezměněné, pokud není hlavička IP paketu upravena ani šifrována. Při použití autentizační hlavičky nemohou být IP adresy přeloženy, jelikož se vždy ztratí právo na hodnotu hash. Transportní a aplikační vrstvy jsou vždy zabezpečeny hashovací funkcí, takže nemohou být nijak upravovány (například změnou čísla portu).
Režim tunelu
V režimu tunelu je šifrován a nebo ověřován celý paket. Ten je pak zapouzdřen do nového IP paketu s novou hlavičkou. Tento režim se používá pro tvorbu VPN pro komunikaci mezi jednotlivými sítěmi (například routery pro připojení různých sítí), tzv. host-to-network komunikaci (vzdálený přístup uživatele) a host-to-host komunikaci (soukromý chat).
Režim tunelu podporuje NAT.
Implementace
IPsec může být implementován přímo v jádře operačního systému v rámci implementace protokolu IP. Zároveň přitom typicky využívá jeho kryptografické rozhraní, pro nějž bývá jedním z hlavním uživatelů (například kryptografické rozhraní jádra Linuxu nebo kryptografické rozhraní OpenBSD).
Externí odkazy
- Tuneluji, tuneluješ, tunelujeme: IPSec – článek
- Vše kolem VPN, IPsec – stránky O. Průchy
- IPsec – semestrální práce (Vysoká škola báňská - Technická univerzita Ostrava)