IPsec

**IPsec** () on joukko TCP/IP-perheeseen kuuluvia tietoliikenneprotokollia Internet-yhteyksien turvaamiseen. Nämä protokollat tarjoavat salauksen, osapuolten todennuksen ja tiedon eheyden varmistamisen.

IPsec määrittelee tietoliikenneprotokollia, jotka voidaan jakaa kahteen luokkaan:

# protokollat pakettivirtojen turvaamiseen
# avaintenvaihtoprotokolla turvattujen pakettivirtojen muodostamiseen

Pakettivirtojen turvaamiseen IPsec tarjoaa kaksi vaihtoehtoista protokollaa, joista tavallisempi on ESP *(Encapsulating Security Payload)*. Sitä käytetään pakettivirtojen salaamiseen. Harvemmin käytetty AH-protokolla *(Authenticating Headers)* taas tarjoaa todennuksen ja takaa viestien eheyden, mutta ei tarjoa luottamuksellisuutta. 

Suositeltu avaintenvaihtoprotokolla IPsec-protokollan kanssa käytettäväksi on Internet Key Exchange (IKE). IKE koostuu protokollien ISAKMP, Oakley ja SKEME yhdistelmästä.

## Standardit

IPsec on määritelty pakolliseksi IPv6:een, nykyisen Internet-protokollan seuraajaan. Sitä voi käyttää myös nykyisen IPv4:n kanssa ilman, että välissä olevien reitittimien tarvitsee osata IPsec-protokollia. Tämänhetkiset IPsec-protokollat on määritelty RFC-dokumenteissa
*  - *Security Architecture for the Internet Protocol*
*  - *IP Authentication Header*
*  - *The Use of HMAC-MD5-96 within ESP and AH*
*  - *The Use of HMAC-SHA-1-96 within ESP and AH*
*  - *The ESP DES-CBC Cipher Algorithm With Explicit IV*
*  - *IP Encapsulating Security Payload (ESP)*
*  - *The Internet IP Security Domain of Interpretation for ISAKMP*
*  - *Internet Security Association and Key Management Protocol (ISAKMP)*
*  - *The Internet Key Exchange (IKE)*
*  - *The NULL Encryption Algorithm and Its Use With IPsec*
*  - *IP Security Document Roadmap* 
*  - *The OAKLEY Key Determination Protocol*
*  - *IPsec-Network Address Translation (NAT) Compatibility Requirements*
*  - *Negotiation of NAT-Traversal in the IKE*
*  - *UDP Encapsulation of IPsec ESP Packets*
*  (korvaa: ) - *Security Architecture for the Internet Protocol*
*  (korvaa: ) - *IP Authentication Header
*  (korvaa: ) - *IP Encapsulating Security Payload (ESP)*
*  - *Extended Sequence Number (ESN) Addendum to IPsec Domain of Interpretation (DOI) for Internet Security Association and Key Management Protocol (ISAKMP)*
*  (korvaa:  ja ) - *Cryptographic Algorithm Implementation Requirements for Encapsulating Security Payload (ESP) and Authentication Header (AH)*
*  (korvaa: ,  ja ) - *Internet Key Exchange (IKEv2) Protocol*
*  - *Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2)*
*  - *Cryptographic Suites for IPsec*
*  - *Using Advanced Encryption Standard (AES) CCM Mode with IPsec Encapsulating Security Payload (ESP)*
IKE:stä ollaan kehittämästa uutta IKEv2-versiota.

Huomaa, että aikaisemmin IPsec kirjoitettiin usein myös *IPSec* isolla S-kirjaimella, mutta kirjoitusmuoto pienellä s-kirjaimella on standardeissa käytetty oikea muoto.

== IPsec-protokollan käyttö ==

IPsec-protokollat toimivat [[OSI-malli]]n verkkokerroksen tasolla, minkä ansiosta ne sopivat muidenkin kuin [[TCP]]-pohjaisten protokollien suojaamiseen. Pääasiassa tämä tarkoittaa [[UDP]]-pohjaisia sovelluksia, [[ICMP]]-kontrolliviestejä sekä reitityksessä ja tunneloinnissa käytettyjä IP-protokollia kuten GRE:tä, OSPF:aa ja niin edelleen. Verrattaessa kuljetuskerroksen protokolliin, kuten [[SSL]]ään, haittapuolena on se, että IPsec-protokollien pitää pystyä hallitsemaan myös vakaus- ja fragmentoitumisongelmat, jotka yleensä on hoidettu korkeammalla tasolla, [[TCP]]- eli kuljetuskerroksella.

IPsec-protokollaa voidaan käyttää vaihtoehtoisesti joko
# yhteydenpitokanavan turvaamiseen, jolloin useiden koneiden tai jopa koko lähiverkon liikenne ohjataan yhden pisteen (esimerkiksi palomuurin) kautta, jossa lähtevä liikenne salataan ja vastaavasti paluuliikenne puretaan, tai
# pakettiliikenteen turvaamiseen koko matkalle lähettäjältä vastaanottajalle, jolloin päätepisteiden tietokoneet hoitavat salauksen vaatiman prosessoinnin.
 
IPsec-protokollaa voidaan käyttää [[VPN]]-ratkaisun eli näennäisen yksityisverkon rakentamiseen kummallakin tavalla. On huomioitava että saavutettava tietoturva eroaa huomattavasti näiden kahden mallin välillä.  

Päästä päähän turvattujen yhteyksien yleistyminen Internetissä on ollut hitaampaa kuin on odotettu. Luottamuksellisen tiedonsiirron tarpeet on täytetty erillisratkaisuilla tai [[TLS]]-protokollalla.

== Toteutukset ==

IPsec sisältyy uudempiin [[Windows]]-versioihin, kuten myös useisiin kaupallisiin [[Unix]]-toteutuksiin, kuten esimerkiksi [[Sun_Solaris|Solaris-käyttöjärjestelmään]]. [[Linux-käyttöjärjestelmä]]ssä yleisimmät toteutukset ovat *FreeS/WAN''-toteutuksesta johdetut Libreswan, Openswan ja Strongswan. IPsec on hyvin tuettu Linux-käyttöjärjestelmäytimen versiosta 2.6 lähtien.

## Katso myös

* SSL
* SSH
* Diffie-Hellman-avaintenvaihtoprotokolla

## Aiheesta muualla
* IETF:n IPsec-työryhmä on päätetty, arkistosivu
* IPsec-työryhmällä on silti tärkeitä aktiivisia draftejä!
* IETF:n aktiiviset tietoturvatyöryhmät
* Free S/WAN -projektin kotisivu
* Libreswan -projektin kotisivu
* Openswan -projektin kotisivu
* strongSwan -projektin kotisivu