<font color=red>aftur á forsíðu</font>

Tölvuöryggi

 Tengdar greinar
RSS samskiptastaðallinn
Boolean maybe
Anti-spam birting á netföngum
Heimanet
Auðkenning
Þráðlaus net
Dulritun
Öryggismál í tölvupósti
Eldveggir


Hekla hf
 
Audi er brúðarbíllinn í ár
 




IPSec
Sigurjón Sveinsson - Föstudagur 14. október 2005

Viðhengi
Greinin um IPSec í PDF formi

Vegna eftirspurnar um örugg samskipti tveggja neta, sem fara yfir opin og ótryggan miðil sem internetið er, hafa verið þróaðar aðferðir sem kallaðar hafa verið VPN (e. Virtual Private Network). Í slíkum samskiptum er mikilvægt að þeir aðilar sem að þeim koma noti svipaða tækni fyrir samskiptin og hefur einn öryggisstaðall, IPSec, notið mikilla vinsælda við útfærslu á þessum samskipum

Þessi greinagerð mun fjalla um IPSec og hvað það gerir. Hinum mismunandi stöðlum, sem IPSec samanstendur af, verður lýst og þær þjónustur sem þeir veita verða kynntar.

Vegna tæknilegrar umfjöllunar verður gert ráð fyrir að lesendur þessarar greinagerðar hafi þekkingu á tölvusamskiptum og lagskiptingu þeirra, sérstaklega TCP/IP staðlinum.

Kynning á IPSec
IPSec er samsett úr nokkrum stöðlum sem IETF (e. Internet Engineering Task Force) skilgreindi. IPSec veitir öryggisþjónustur á netlagi í tölvusamskiptum.
Samskiptastaðallinn IPv4 er þeim annmörkum háður að þar er ekki gert ráð fyrir öryggisþjónustum til að tryggja auðkenningu með stafrænum skilríkjum og dulritun með lyklum. Þessar þjónustur eru því ekki útfærðar beint í þeim staðli. Til að taka á þessum annmörkum kom IETF fram með IPSec staðalinn. Staðallinn er samsettur úr nokkrum RFC (e. Request for Comments) sem taka á mismunandi þáttum staðalsins. Þessi RFC skjöl eru meðal annars RFC 2401 [7], RFC 2402 [3], RFC 2406 [2] og RFC 2409 [4]. Þess má geta að IPSec er útfært í IPv6 sem kemur til með að taka við IPv4.

2.1 Hverjir eru kostir IPSec?
2.1.1. IPSec er staðall
IPSec er alþjóðlegur staðall sem öllum er heimilt að útfæra og margir framleiðendur netbúnaðar útfæra hann í sínum tækjum. Kostir þess að nota staðal er að með því eru öryggisþáttur netsamskiptanna ekki bundinn við einhverja sérstaka framleiðendur heldur geta tæki frá öllum þeim framleiðendum, sem útfæra IPSec í sínum búnaði, átt samskipti sín á milli. Þessi þáttur gerir það að verkum að samskiptin verða ekki háð tækjabúnaði eða hugbúnaðarlausnum frá einum eða fáum framleiðendum. Einnig geta framleiðendur skeytt saman IPSec og öðrum stöðlum eins og t.d. PPTP og þannig notast við eigin tækni ásamt IPSec.
 
2.1.2. IPSec er skalanlegt
Þegar IPSec var hannað var það haft í huga að hægt væri að dreifa IPSec á marga nethnúta. Sjálfvirkni í lyklaskiptum og tengingum milli hnúta gerir það að verkum að allt utanumhald verður viðaminna og það gerir IPSec skalanlegt og stækkanlegt [1].

2.1.3. IPSec er útfært á netlaginu
Útfærsla IPSec fer fram á netlaginu (e. network layer) og þar með er öryggi samskiptanna ekki háð einhverjum forritum heldur geta öll samskipti milli aðila verið tryggð með IPSec
Þar sem tölvusamskipt í dag eru að langmestu leyti byggð á TCP/IP samskiptastöðlunum geta notendur sett upp IPSec og notað það óháð netbúnaði sínum og innri uppbyggingu netanna svo lengi sem að TCP/IP sé samskiptamátinn [1].

3 Uppbygging IPSec
IPSec samanstendur í grófum dráttum af þrem stöðlum, þar af sjá tveir um að tryggja samskiptin sjálf. IKE (e. Internet Key Excange) sér um að miðla lyklum milli samskiptaaðila. AH (e. Authentication Header) sér um aðgangsstýringar, heilindi, upprunastaðfestingu og endurtekningarvarnir. ESP (Encapsulating Security Payload) sér um að dulrita gögnin og að dylja upplýsingar um gagnastreymi [1].

Þessir þrír staðlað geta verið notaðir hver í sínu lagi og saman eftir því hvað aðstæður krefjast. AH og ESP notast við dreifilykla til að tryggja dulritun og auðkenningu og því þarf IKE til að dreifa lyklunum.

3.1 Fluttningshamur og hjúpunarhamur
IPSec getur starfað í tveim hömum, fluttningsham (e. transport mode) og hjúpunarham (e. tunnel mode).

3.1.1. Fluttningshamur
Fluttningshamur tryggir ekki allan IP pakkann og er ætlaður fyrir pakkasendingar milli tveggja endastöðva. Fluttningshamur er ekki útfærður á þeim hnútum sem eru milli endastöðvanna eins og í beinum og gáttum. Þetta stafar af því hvernig IP pakkar eru uppbyggðir, þeim sundrað og settir saman [1].

3.1.2. Hjúpunarhamur
Til að tryggja allann pakkann þarf svokallaðan hjúpunarham. Þá er upphaflegi IP pakkinn tekinn í heild sinni og varinn með þjónustum IPSec. Nýr IP haus er settur á pakkann og hann sendur á áfangastað.

4 Lotur
Til að halda utan um samskipti milli tveggja aðila þurfa þessir aðilar að notast við upplýsingar varðandi samskipti þessi. Það eru aðallega tveir þættir sem þarf að nota, öryggistenging (e. Security Association) og öryggisstefna (e. Security Policy) [1].

4.1 Öryggistenging
Öryggistenging (e. Security Association) er nokkurs konar samningur milli tveggja aðila sem eiga í samskiptum. Þessi samningur skilgreinir alls kyns upplýsingar sem þarf að halda til haga svo að samskiptin geti farið fram. Þessar upplýsingar eru vistaðar í gagnagrunni á hverjum hnúti. Hver hnútur heldur svo utan um tvo slíka gagnagrunna, einn fyrir umferð frá honum og einn fyrir umferð til hans.

Öryggistengingar virka bara í aðra áttina, sem þýðir að tveir aðilar að samskiptum eru ekki að nota sama gagnagrunninn sín á milli heldur eru þeir með sitt hvort gagnagrunninn fyrir samskiptin. Öryggistengingar eru einnig háðar stöðlum. Þannig er ekki sama öryggistenging notuð fyrir AH og ESP í hnút þó svo að samskiptin séu við sama aðilann [1].

4.2 Öryggisstefna
Allir IP pakkar sem fara í gegnum netkort sem notar IPSec verða að lúta þeim reglum sem settar eru um netumferð á því netkorti. Þessar reglur eru skilgreindar í öryggisstefnunni. Ein öryggisstefna er skilgreind fyrir hvert netkort og eru þessar stefnur geymdar í SPD gagnagrunni (e. Security Policy Database) og eru tvær töflur í grunninum, eina fyrir umferð frá hnútinum og ein fyrir umferð til hans.

Í töflunum eru færslur sem skilgreina aðgerðir á öllum pökkum. Allar aðgerðir verða að vera ein af þremur: hleypa áfram (e. bypass), hafna (e. reject) eða meðhöndla (e. process). Þegar pakkar fara í gegnum netkortið eru þeir bornir saman við færslurnar í töflunum og meðhöndlaðir eins og færslurnar segja til um.

5 IKE lykladreifing
Tveir hnútar sem vilja koma á samskiptum með IPSec þurfa að byrja á því að auðkenna hvorn annan. Þessi gagnkvæma auðkenning hnútanna er framkvæmd með því að nota fyrirfram ákveðna lykla eða stafræna undirskrift sem báðir hnútar deila. Þegar auðkenning hefur farið fram búa hnútarnir til lotulykla sem verða notaðir í þeim samskiptum sem eftir koma. Þessir lyklar virka aðeins í aðra áttina og þarf einn lykil fyrir hvora þjónustunna (AH og ESP) ef báðar eru notaðar. Þar af leiðandi þarf samtals fjóra lykla (tvö pör) fyrir hverja lotu. En þess ber að geta að það er ekki nauðsynlegt að nota bæði AH og ESP. Eins og kemur fram í kafla 6.3 er AH ekki nauðsynleg þjónusta og í raun vel hægt að komast af án hennar við útfærslu IPSec.

5.1 IKE fasar
IKE hefur tvo fasa (e. phases). Fasi 1 er notaður til gagnkvæmnar auðkenningar hnúta á jafningjagrundvelli og fara þá fram þau skipti á lyklum sem minnst var á hér að framan. Þessi samskipti sem fara fram í fasa 1 eru kölluð ISAKMP (e. Internet Security Association and Key Management Protocol) Security Association. ISAKMP Security Association hefur eigindi sem verða að fylgja og þau eru: Dulritunarreiknirit, tætifallsreiknirit, auðkenningarreiknirit og Diffie-Hellman upplýsingar [4].

Í fasa 2 fer fram dreifing á lyklum fyrir aðrar þjónustur. En í stað þess að ein tenging komist á, eins og fasa 1, þá geta komist á margar tengingar í framhaldi af fasa 2. IPSec öryggistengingar eru myndaðar í fasa 2 og ein tenging í fasa 1 getur búið til marga lotulykla fyrir fasa 2 [1].

5.2 IKE hamur: Aðal hamur og ýtinn hamur
Þegar IKE er í fasa 1 getur IKE verið í tveim hömum þegar skipti á lyklum fara fram: Aðal ham (e. main mode) og ýtnum ham (e. agressive mode). Báðir hamarnir geta hvor um sig verið notaðir til að koma á traustri og auðkenndri tengingu ásamt því að koma á ISAKMP Security Association.

Aðalmunurinn á þessum tveim hömum er að ISAKMP Security Association stillingar taka sex aðgerðir í aðal hamnum en þrjú í ýtnum ham. Einnig hefur aðal hamur þann kost að bjóða upp á PFS (e. Perfect Forward Secrecy) og einkennahuld (e. identity protection). Kostur þess að hafa PFS er að þó svo að lotulyklar eða gamlir leynilyklar komist í uppnám eru eldri lyklar óhultir því ekki er hægt að draga neinar ályktanir um þá frá þeim sem eru í hættu.


6 ESP og AH
Það eru tveir staðlar sem sjá um að tryggja heilindi gagnanna í IPSec með auðkenningu og dulritun og þeir eru ESP (e. Encapsulating Security Payload) og AH (e. Authentication Header). Hægt er að nota þá báða í einu eða í sitt hvoru lagi og er það stillt í öryggistengingunni. Þetta þýðir að það er hægt að velja að auðkenna IPSec pakkana án þess að dulrita gögnin sjálf, dulrita gögnin án þess að tryggja auðkenningu eða hvoru tveggja í einu. En það er þó ekki mögulegt að velja hvorugan möguleikann, það verður að nota í það minnsta einn [2].

AH og ESP geta verið notaðir í fluttningsham og hjúpunarham IPSec. Þegar IPSec pakkinn er búin til er það öryggistenging þeirrar sendingar sem segir til um hvorn haminn á að nota. IPSec pakkinn er svo búin til eftir þeim skilgreiningum. Munurinn á samsetningu IPSec pakkanna sést á mynd 1 og 2.

6.1 AH auðkenning
AH auðkenning snýst um það að viðtakandi IP pakka getur sannreynt að honum hafi ekki verið breytt á leiðinni milli sendanda og móttakanda og að hann sé sannarlega frá sendandanum. Til þess að sannreyna þessar upplýsingar eru notuð tætiföll á borð við MD5 og SHA-1 [3]. Þessi tætiföll taka dullykil og IP pakka sem inntak og með stærðfræðilegum útreikningum skila streng af ákveðinni lengd sem úrtak. Þetta úrtak er kallað prófsumma (e. checksum). Þessi strengur er mislangur eftir því hvaða reikniriti er beitt, MD5 eða SHA-1 t.d. en sem dæmi má nefna að MD5 skilar 128 bita streng sem frálagi og SHA-1 160 bita frálagi. Við gerð þessara prófsummna eru notaðir leynilyklar (e. secret key) sem sendandi og móttakandi hafa komið sér saman um og nota til þess IKE lykladreifinguna sem er í IPSec staðlinum.

Sendandinn reiknar út prófsummu fyrir hvern IP pakka sem hann sendir frá sér án þess að taka AH hausinn með, hann er settur í eftir að prófsumman ef reiknuð. Þessi prófsumma er sett í AH haus IPSec pakkans en það fer eftir því hvort samskiptin eru stillt á hjúpunarham eða fluttningsham hvar nákvæmlega í pakkann AH hausinn fer sem sjá má á mynd 1.
Móttakandi IPSec pakkans tekur AH hausinn úr pakkanum og reiknar svo út prófsummu pakkans og notar til þess sama reiknirit og sendandinn notaði ásamt sameiginlegurm leynilykli. Ef prófsumman í þessum útreikningi er sú sama og er í AH hausnum þýðir það að gögnunum hefur ekki verið breytt frá því að sendandinn sendi þau frá sér og að sendandinn sé sannarlega sá sem hann segist vera.

6.3 Af hverju þarf ekki nauðsynlega að útfæra AH?
Eina þjónustan sem AH veitir er að auðkenna sendandann og tryggja heilindi IP pakka. Þessa þjónustu veitir ESP einnig. Þarna er því um ákveðna skörun á þjónustu milli þessara tveggja staðla.

Niels Ferguson og Bruce Schneier hjá Counterpane Labs komu árið 1999 fram með gagnrýni á IPSec. Þar kemur fram að þessi skörun á auðkenningu milli AH og ESP flækir IPSec staðalinn og myndar þannig veikleika í öryggi IPSec [5]. Af þessum sökum ákváðu aðstandendur FreeS/WAN verkefnisins, sem útfærir IPSec, að hætta að nota AH við auðkenningu í sinni útfærslu og nota einungis ESP staðalinn [6]. Sem sýnir að það er hægt að útfæra IPSec án þess að notast við AH.

7 Vandamál við notkun IPSec
Það getur verið vandkvæðum háð að nota og útfæra IPSec. Sérstaklega þegar IPSec pakkar þurfa að fara í gegnum eldveggi og aðra nethnúta.

7.1 Tvístrun og samsetning IPSec pakka
Beinar og gáttir geta tvístrað IPSec pökkum ef þeir eru of stórir. Pakkar sem hafa verið tvístraðir þurfa þó að vera settir saman aftur áður en móttakandi beitir ESP til að dulráða gögnin eða auðkenna við móttöku.

7.2 NAT í eldveggjum
NAT var sett í eldveggi staðarneta til að maska eða hjúpa heilt net, jafnvel mörg net, á bak við eina IP tölu á Internetinu. Þegar IP pakkar fara í gegnum beini, sem notar NAT, út á internetið breytir beinirinn IP haus pakkans. Beinirinn skiptir um IP tölu sendanda, port númer og breytir prófsummum í TCP og UDP hausum. Við þessar breytingar og af öðrum ástæðum til viðbótar er illmögulegt að nota NAT til að áframsenda IPSec pakka í gegnum eldveggi [8].

7.2.1. Prófsummur í TCP og UDP.
TCP og UDP haus er með prófsummu sem endurspeglar IP tölu og port bæði sendanda og móttakanda. Þegar venjulegir IP pakkar fara í gegnum NAT er þessum upplýsingum breytt. En í IPSec eru þessi gögn dulrituð með öllum IP pakkanum og því er ekki hægt að uppfæra þau þegar þau fara í gegnum NAT. Og af þessum sökum kemur röng summa í prófsummutékki hjá móttakenda gagnanna [8]. Þó svo að prófsumma sé valmöguleiki í UDP er það skylda að útfæra í TCP enda mun strangari staðall.

7.2.2. NAT tafir í IKE UDP pökkum.
IKE lykladreyfing fer fram með UDP pökkum. Í NAT er því oft hagað þannig að port möppun er eytt mjög fljótt vegna eðli UDP samskipta. Sá sem byrjar IKE lyklaskipti, A,  býr til UDP porta möppun í NAT í upphafi þeirra samskipta. Þegar móttakandinn B ætlar svo að svara A getur verið að möppunin sé ekki lengur til staðar í NAT og því er UDP pakki B hunsaður. Með því verður rof í IKE lykladreyfingunni og öryggistenging kemst því ekki á milli A og B.
 
7.2.3. IPSec getur ekki sent á marga hnúta í gegnum NAT
Þegar ESP dulritar IPSec pakka er ekki hægt að sjá neina TCP né UDP hausa. Þeir eru dulritaðir í pakkanum með öllu hinu og því ekki aðgengilegir án þess að dulráða pakkann. Þar af leiðandi eru allar upplýsingar TCP og UDP hausa um port möppun óþekktar og því er ekki hægt að beina þessum pökkum á marga hnúta innan staðarnets innan við NAT [8].

8 Lokaorð
IPSec er nokkuð viðamikill öryggisstaðall sem hefur uppfyllt vöntun á öryggi í IPv4 samskiptastaðlinum. Þegar IP staðallinn var endurskoðaður á sínum tíma, og IPv6 kom fram í framhaldi af því, var IPSec bætt við sem hluta af þeim staðli. Það má því ætla að í framtíðinni, eftir því sem IPv6 verður útbreiddara, að öryggi og upplýsingaleynd í tölvusamskiptum muni aukast og verða meðfærilegri.

9 Heimildaskrá
[1] Wipur Jayawickrama, CISSP, ágúst 2003. Demystifying IPSec: Protocols, Implementations and Limitations  Bridge Point (www.bridgepoint.com.au).
http://www.bridgepoint.com.au/Documents/ipsecpaper.pdf
[2] Stephen Kent og Randall Atkinson, nóvember  1998. RFC 2406 - IP Encapsulating Security Payload (ESP). The Internet Engineering Task Force.
http://www.ietf.org/rfc/rfc2406.txt
[3] Stephen Kent og Randall Atkinson, nóvember  1998. RFC 2402 - IP Authentication Header.  The Internet Engineering Task Force.
http://www.ietf.org/rfc/rfc2402.txt
[4] Dan Harkins og  Dave Carrel, nóvember  1998. RFC 2409 - The Internet Key Exchange (IKE).  The Internet Engineering Task Force.
http://www.ietf.org/rfc/rfc2409.txt
[5] Bruce Schneier  og Niels Ferguson, 1999. A Cryptographic Evaluation of IPsec. 
http://www.schneier.com/paper-ipsec.pdf
[6] Linux FreeS/WAN 09.02.2004.  AH removed from FreeS/WAN:
http://www.freeswan.org/no_ah.html
[7] Stephen Kent og Randall Atkinson, nóvember  1998. RFC 2401 - Security Architecture for the Internet Protocol.  The Internet Engineering Task Force.
http://www.ietf.org/rfc/rfc2401.txt
[8] Joseph Davies, ágúst 2002. IPsec NAT Traversal Overview.
http://www.microsoft.com/technet/community/columns/cableguy/cg0802.mspx



Viðhengi
Greinin um IPSec í PDF formi