IPsec je sada protokolů pro zabezpečení komunikace na síťové vrstvě (L3) modelu OSI. Na rozdíl od SSL/TLS (které chrání konkrétní aplikace jako webový prohlížeč), IPsec šifruje veškerý provoz mezi dvěma body bez ohledu na to, o jakou aplikaci se jedná.
Umožňuje autentizaci, kontrolu integrity dat a důvěrnost (šifrování) IP paketů.
IPsec se skládá ze tří hlavních protokolů, které spolupracují:
IPsec může pracovat ve dvou základních režimech, které určují, jak moc je původní paket změněn:
Šifruje se pouze payload (obsah) IP paketu, ale původní IP hlavička zůstává viditelná.
Šifruje se celý původní IP paket (včetně hlavičky) a ten se vloží do úplně nového IP paketu.
Klíčovým konceptem IPsec je SA. Je to v podstatě „smlouva“ mezi dvěma uzly o tom, jaké šifry a klíče budou používat. * SA je jednosměrná. Pro obousměrnou komunikaci (duplex) jsou potřeba dvě SA. * Každá SA je identifikována pomocí SPI (Security Parameter Index), což je číslo v hlavičce paketu, díky kterému příjemce pozná, jaký klíč má použít k dešifrování.
| Výhody | Nevýhody |
|---|---|
| Transparentnost pro aplikace (nemusí se měnit). | Vysoká režie na procesor (při šifrování). |
| Vysoká bezpečnost (šifrování na úrovni jádra OS). | Problémy s průchodem přes NAT (vyžaduje UDP zapouzdření). |
| Standardizované řešení napříč výrobci. | Komplexní konfigurace ve srovnání s TLS VPN. |
IPsec a NAT: Protože IPsec (zejména AH) hlídá integritu celého paketu, jakákoliv změna IP adresy nebo portu (NAT) by paket zneplatnila. Proto se používá NAT-Traversal (NAT-T), který IPsec pakety balí do standardních UDP portů (obvykle 4500).