**IPsec** (inglise *Internet Protocol Security*) on internetiprotokolli (IP) turvalisuse parandamiseks loodud protokollide kogu. Sellel on mitu ülesannet: autentimine (andmete allika kontroll), krüpteerimine (andmete kõrvalistele isikutele loetamatuks muutmine) ja algoritmide kooskõlastamine. IPsec töötab andmeside võrgukihis IP paketipäise laiendusena ja autendib/krüpteerib kogu liikluse sõltumata kasutatavast kõrgema taseme protokollist (TCP, UDP). Algselt loodi IPsec avatud standardina IPv6 jaoks, kuid seda hakati kasutama ka IPv4ga, eriti VPN-ide loomiseks.

Plussid ja miinused
-------------------

* Tugev krüptograafia ja autentimine.
* IPseci kasutamiseks ei pea rakendustarkvarasse IPseci tugi sisse ehitatud olema nagu SSL ja TLS-i puhul.
* Võtmevahetus on keeruline - osapooltel peavad olema eelnevalt kokkulepitud võtmed või tuleb kasutada täiendavaid protokolle võtmevahetuseks (IKE, KINK, IPSECKEY).
* Konfiguratsioon on keeruline. IPseci kasutusele võtmine tasub ära ainult spetsiifilistel juhtudel.

IPseci protokollid
------------------

IPsec koosneb peamiselt kahest komponendist: autentimispäised (AH) ja andmekapseldus (ESP). Nendele lisanduvad veel mitmed võtmevahetusprotokollid ja lahendus algoritmide kooskõlastamiseks ja parameetrite vahetamiseks (*security association*). 

### *Authentication Headers*

*Authentication Headers* (AH) ehk autentimispäised on IPseci komponent, mis vastutab saadetavate andmete terviklikkuse (*integrity*) ja allika tuvastamise (*authentication*) eest. Selleks kasutab ta krüptograafilisi räsisid (*hash*, näiteks HMAC-SHA1) ja digitaalseid allkirju. AH on osa internetiprotokollist (IP), tema protokollinumber on 51 (mitte segi ajada pordinumbriga). 

IPsec transpordirežiimis TCP segmenti kaitsmas
IPsec tunnelirežiimis IP paketti kaitsmas
### *Encapsulating Security Payload*

*Encapsulating Security Payload* (ESP) ehk turvaline andmekapseldus on IPseci komponent, mis vastutab andmete konfidentsiaalsuse eest. Konfidentsiaalsuse tagamiseks krüpteeritakse kogu IP paketi sisu, kasutades tugevaid krüptoalgoritme, nagu TripleDES ja AES. Lisaks võib ESP täita ka AH rolli, kaitstes paketi terviklikkust ja kontrollides paketi allikat. Lõplik algoritmide valik sõltub IPseci konfiguratsioonist ehk selle saab valida võrgu administraator. ESP Internetiprotokolli (IP) protokollinumber on 50. 

IPsec ESP protokoll andmeid kapseldamas

Töörežiimid
-----------

### Transpordirežiim

Transpordirežiimi kasutatakse otspunktide vahelise ühenduse turvamisel. Selles režiimis krüpteeritakse kogu IP paketi sisu (*payload*) ja kaitstakse muutmise eest (AH abil) paketi sisu koos IP päisega. See ei lase kõrvalistel isikutel paketi sisu lugeda ja tuvastab kõik paketis tehtud muudatused. Seetõttu ei ole võimalik transpordirežiimis IPseci kasutada koos NAT-ga - NAT muudab paketi päises IP lähteaadressi ja porti, kuid IPsec ei luba IP päise muutmist. 

### Tunnelirežiim

Tunnelirežiimis krüpteeritakse (ESP abil) kogu IP pakett ning kapseldatakse see uude IP paketti (uut paketti ei kaitsta). See on kasulik, kui kogu liiklus tuleb saata üle ebausaldusväärse kanali, kuhu ei tohi lekkida ka IP päises asuv informatsioon (kes paketi saatis, kellele pakett saadeti). Enamasti kasutatakse seda üksteisest eemal asuvate kohtvõrkude (LAN) või arvuti ja eemalasuva kohtvõrgu turvaliseks ühendamiseks (sisuliselt VPN). Tunnelirežiim toimib ka üle NATi, sest kapseldava IP paketi päist ei kaitsta ja NAT saab seda vabalt muuta.

Viited
------

1. ↑  "Theory - ipsec-howto.org".
2. ↑  "IPSec Overview, History and Standards".
3. ↑  "IPSec General Operation, Components and Protocols".
4. ↑  "IPSec Overview Part Two: Tunnel and Transport Modes".
5. ↑  "IPSec Modes: Transport and Tunnel".