Protokol IPSec je komplexním souborem protokolů řešící šifrování, autentizaci, integritu dat a proces tunelování. Zabezpečení je realizováno na síťové vrstvě referenčního modelu OSI (Open System Interconnection), a proto poskytuje transparentně bezpečnost jakémukoliv přenosu, resp. libovolné síťové aplikaci.
Mezi základní komponenty protokolu IPSec patří:
Protokol IPSec umožňuje dva pracovní režimy:
V transportním režimu je obvykle zašifrován nebo ověřen pouze obsah daného IP paketu. Směrovací informace zůstává nezměněna, pokud není hlavička IP paketu upravena ani šifrována. Při použití autentizační hlavičky AH (Authentication Header) 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ř. změnou čísla portu).
V tunelovacím režimu je šifrován nebo ověřován celý IP paket pomocí ESP (Encapsulating Security Payload). Následně je zapouzdřen do nového IP paketu se zcela novou hlavičkou využitím autentizační hlavičky AH. Tento režim se používá pro tvorbu sítí VPN určených pro komunikaci mezi jednotlivými sítěmi Site-to-Site (např. mezi směrovači propojující různé sítě), Host-to-Site komunikaci (např. vzdálený přístup uživatele) a Host-to-Host komunikaci (např. soukromý chat).
Tunelovací režim tunelu podporuje NAT (Network Address Translation) a PAT (Port Address Translation).
Protokol IPSec neobsahuje v záhlaví žádné pole určující typ režimu. Pracovní režim je nastaven dle hodnoty pole Next Header (hodnota „IP“ specifikuje tunelovací režim, hodnoty „TCP, UDP, ICMP“ nebo cokoliv jiného identifikují transportní režim).
Mezi výhody protokolu IPSec patří jeho transparentnost, tzn. není potřeba nijak modifikovat protokoly vyšších vrstev, protokol IPsec může zabezpečit libovolný protokol využívající protokol IP, zabezpečuje i „staré“ protokoly, které jsou nezabezpečené a je široce podporován výrobci HW (Hardware) a SW (Software).
K nevýhodám protokolu IPSec patří zvýšení systémové režie (overhead), nutnost instalace klienta v případě vzdáleného přístupu, sám o sobě neřeší autentizaci uživatele, komplikace s NAT a PAT (možný pouze v tunelovacím režimu) a s přenosem provozu typu multicast a broadcast.
Protokol IPSec: