TEHNIČKA ŠKOLA RUĐERA BOŠKOVIĆA
Seminarski rad: IPsec (IP security)
Izradio: Josip Bubalo, 3H Profesorica: Mara Mustapić
Zagreb, 28. Studenog 2018.
Sadržaj 1.
Uvod ........................................................................................................................................ 3
2.
Način rada i funkcije IPsec-a ................................................................................................... 4
3.
2.1
Prijenosni način rada (Transport mode) ........................................................................... 4
2.2
Tuneliranje paketa (Tunnel mode) ................................................................................... 4
Dvije skupine protokola........................................................................................................... 5 3.1
3.1.1
Authentication Header (AH) protokol ...................................................................... 5
3.1.2
Encapsulating Security Payload (ESP) protokol....................................................... 6
3.2
4.
5.
Kriptografski protokoli ..................................................................................................... 5
Protokoli za razmjenu ključeva ........................................................................................ 7
3.2.1
Internet Key Exchange (IKEv1) ............................................................................... 7
3.2.2
Internet Key Exchange (IKEv2) ............................................................................... 8
Obrada paketa .......................................................................................................................... 9 4.1
Obrada ulaznih paketa ...................................................................................................... 9
4.2
Obrada izlaznih paketa ................................................................................................... 10
IPsec uporaba – VPN ............................................................................................................. 11
2
1. Uvod Internet Protocol Security (IPsec) je protokol za uspostavu sigurne komunikacije između računalnih mreža preko interneta. Taj protokol je definiran od strane IETF-a. Djeluje na 3. sloju OSI modela i uključen je u IPv6 kao sastavni dio tog protokola, dok je kompatibilan i sa IPv4 protokolom te se može koristiti i sa njim. Pošto djeluje na 3. sloju OSI modela pruža zaštitu i za druge protokole na 3. sloju (kao što su TCP i UDP). IPsec ima dvije glavne podskupine protokola: Kriptografski protokoli – ESP protokol (engl. Encapsulating Security Payload) i AH protokol (engl. Authentication Header) Protokoli za razmjenu ključeva – IKE protokol (engl. Internet Key Exchange) Osim ova tri glavana protokola IPsec definira i koristi dvije baze podataka SPD (engl. Security Policy Database) i SAD (engl. Security Association Database). Ove dvije baze podataka koriste svoje zapise i odgovaraju na dva važna pitanja: koji promet štititi i kako ga štititi.
3
2. Način rada i funkcije IPsec-a IPsec podržava dva načina rada: prijenosni način rada (engl. Transport mode) i tuneliranje paketa (engl. Tunnel mode).
Slika 1.0 Tunnel Mode i Transport Mode
2.1 Prijenosni način rada (Transport mode) Kod prijenosnog načina rada šifrira se samo podatkovni dio IP paketa dok zaglavlja ostaju ista te se ne mijenjaju. Ako netko presretne taj paket može vidjeti cijelo zaglavlje što znači da vidi odredišnu i ishodišnu adresu, ali ne može vidjeti poruku tj. sadržaj tog paketa. Prednost ovog načina rada je ta što se svakom paketu dodaje samo nekoliko okteta. Ovaj način rada namijenjen je direktnoj komunikaciji između dva računala, što znači da se sa tim načinom rada ne može komunicirati preko interneta te samim tim preko usmjernika. Crvena - šifrirani podatci Crna – podatci koji ostaju isti
Slika 1.1 Paket šifriran prijenosnim načinom rada
2.2 Tuneliranje paketa (Tunnel mode) Kod tuneliranja cijeli je paket šifriran i provjeren. Nakon šifriranja enkapsulira se u novi IP paket sa novim IP zaglavljem u kojem se nalaze nove adrese ishodišta i odredišta koje su ubiti adrese početka i kraja tunela. Tuneliranje se koristi za kreiranje VPN-ova (engl. Virtual Private Network) za network-to-network , host-tonetwork i host-to-host komunikaciju. Za razliku od prijenosnog načina rada ovdje ako se paket presretne vidljive su samo adrese početka i kraja tunela. Ovaj način rada, radi dodanih zaglavlja, traži nešto veću propusnost mreže preko koje se podatci prenose. Crvena – šifrirani podatci Crna – podatci koji se dodaju 4
Slika 1.2 Paket šifriran tuneliranjem
3. Dvije skupine protokola IPsec se dijeli na dvije podskupine protokola: kriptografski i protokoli za razmjenu ključeva.
3.1 Kriptografski protokoli TLS (Transport Layer Security) je kriptografski protokol koji omogućava razmjenu sigurnosno osjetljivih podataka na siguran način putem nezaštićenih računalnih mreža. Cilj TLS-a je omogućiti sigurnu komunikaciju server/klijent aplikacija putem računalnih mreža na način da su iste zaštićene od prisluškivanja i promijene podataka.
3.1.1 Authentication Header (AH) protokol Authentication Header (AH) protokol osigurava autentičnost i besprijekornost. Iako je prije bio obavezan za implementaciju, sada je opcionalan iz tog razloga ESP ima prednost. AH štiti cijeli podatkovni dio IP paketa i cijelo IP zaglavlje osim promjenjivih polja (npr. TTL – Time To Live). AH zaglavlje je smješteno između IP zaglavlja i podatkovnog dijela IP paketa. Autentičnost i zaštita integriteta se postižu pomoću Integrity Check Value (ICV) koja se računa iz čuvanih podataka i dijeljenje tajne. Samo AH zaglavlje pokriva i IP adresu što onemogućava rad sa NAT-om (Network Address Translation) koji onda podržava samo TCP i UDP promet. Opcionalno, ovaj protokol omogućava i zaštitu od takozvanih 'replay' napada za što koristi tehniku odbacivanja starih paketa.
Slika 1.3 AH paket 5
Zaglavlje AH paketa: Next Header: označava protokol podataka koji se prenose (TCP/UDP) Payload Lenght: duljina AH paketa Reserved: još se ne koristi (svi bitovi se postavljaju na nulu) Secirity Parameters Index (SPI): kombinacija sigurnosnih parametara i IP adrese Sequence Number: redni broj paketa, koristi se za zaštitu od 'replay' napada Authentication Data: skup podataka koji se koriste za autentifikaciju paketa
Slika 1.4 Zaglavlje AH paketa
3.1.2 Encapsulating Security Payload (ESP) protokol Encapsulating Security Payload je protokol koji omogućava provjeru originalnosti paketa, integritet i tajnost podataka koji se pronose. Tajnost se postiže pomoću kriptiranja nekim od dogovorenih simetričnih kriptoalgoritama. Kriptiraju se podatkovni dio IP paketa, dopuna (padding) te 'Next Header' polje. Ovime potencijalni napadač ne zna čak ni koji tip protokola višeg sloja je enkapsuliran. Autentičnost se ostvaruje pokrivanjem manjeg broja polja nego kod AH protokola – samo ESP zaglavlja i podatkovnog dijela IP paketa.
Slika 1.5 ESP paket 6
Zaglavlje ESP paketa: Security Parameters Index (SPI) – kombinacija sigurnosnih parametara i IP adrese Sequence Number – redni broj paketa, koristi se za zaštitu od 'replay' napada Payload Data – podatci koji se šalju Padding – koristi se za prijenos podataka koji popunjavaju cijeli blok Pad Lenght – duljina Padding polja Next Header – označava protokol podataka koji se (TCP/UDP) Authentication Data – skup podataka koji se koriste za autentifikaciju paketa
Slika 1.6 Zaglavlje ESP paleta
3.2 Protokoli za razmjenu ključeva 3.2.1 Internet Key Exchange (IKEv1) IKE (Internet Key Exchange) protokol obavlja obostranu autentifikaciju korisnika te uspostavlja SA (Security Association) vezu. Uspostava SA veze podrazumijeva izračunavanje keying materijala te dogovaranje oko skupa algoritama i drugih parametara koji će štititi SA. Protokol radi tako da inicijator veze (eng. initiator) nudi prihvatljive parametre za zaštitu SA. Ako ih druga strana prihvati (eng. responder) ostvaruje se SA veza.
7
Slika 1.7 Prikaz rada IKE protokola
3.2.2 Internet Key Exchange (IKEv2) IKEv2 protokol, osigurava autentičnost, autorizaciju i najvažnije, razmjenu ključeva. No, unatoč tome, IKEv2 protokol nije obavezan za implementaciju u sklopu IPsec-a. Naime, iako ESP i AH protokoli zahtijevaju ključeve u SAD bazi da bi se uspostavila sigurna komunikacija, ti ključevi mogu se unijeti i ručno. IKEv2 je poboljšana verzija IKEv1. Razlozi za uvođenje IKEv2 protokola: definiranja cjelokupnog IKE protokola jednim dokumentom, koji nadomješta dokumente RFC 2407, RFC 2408 i RFC 2409, te kako bi se u protokol ugradile izmjene koje omogućuju NAT-T (engl. Network Address Translation – Traversal) komunikaciju, EA (engl. Extensible Authentication) autentifikaciju i dohvaćanje udaljenih adresa (engl. Remote Address acquisition) pojednostavljenja IKE protokola zamjenom osam razmjena jednom razmjenom koja se provodi u četiri poruke kako bi se uklonili DOI (engl. Domain of Interpretation), SIT (engl. Situation) i LDI (engl. Labeld Domain Identifier) polja te Commit i Authentication only bitovi povećanja brzine IKE protokola u najuobičajenijem slučaju i to skraćivanjem prvotne razmjene na četiri poruke zamijene kriptografske sintakse korištene za zaštitu IKE podatkovnih paketa sintaksom temeljenom na ESP zaglavlju kako bi se pojednostavila implementacija i sigurnosna analiza smanjenja broja mogućih pogrešaka povećanjem pouzdanosti protokola: poruke se šalju u nizu i na svaku se odgovara potvrdom o primitku
8
povećanja robusnosti smanjenjem količine proračuna koje neinicijalizirajući korisnik provodi prije no što utvrdi da inicijator komunikacije prima poruke na navedenoj IP adresi te ne sudjelovanjem u razmjeni prije no što se provede kriptografska autentifikacija inicijatora ispravljanja pojedinih kriptografskih slabosti slanja TS (engl. Traffic Selector) odabira unutar zasebne poruke, umjesto zajedno s identifikacijskim podacima s ciljem povećanja fleksibilnosti definiranja postupaka u slučaju pojedinih pogrešaka ili primitka nerazumljivih podataka te kako bi se olakšalo stvaranje budućih revizija protokola s unazadnom kompatibilnošću pojednostavljenja i razjašnjenja postupka održavanja zajedničkog stanja u slučaju poteškoća u radu mreže ili prilikom napada uskraćivanjem usluga (engl. Denial of Service)
Slika 1.8 IKEv2 protokol
4. Obrada paketa 4.1 Obrada ulaznih paketa IPsec paket kojeg računalo prima s globalne računalne mreže (Interneta) prolazi kroz filtere definirane u SAD (Security Association Database) bazi. U ovom koraku podaci se dekriptiraju te se provjerava njihova autentičnost i integritet. Takvi podaci šalju se u SPD filter (Security Policy Database) gdje se u ovisnosti o tome da li paketi odgovaraju predefiniranim sigurnosnim politikama ili prihvaćaju ili odbijaju. 9
Slika 1.9 Obrada ulaznih paketa
4.2 Obrada izlaznih paketa Paket koji se želi poslati na javnu računalnu mrežu prvo prolazi kroz SPD-OUT filter gdje se provjeravaju predefinirana pravila o tome koji se paketi smiju proslijediti na javnu mrežu. Zatim se bira odgovarajući SA algoritam za zaštitu podataka. I zadnji korak prije slanja paketa na javnu mrežu jest postavljanje elemenata autentifikacije paketa i po potrebi enkripcija podataka koji se šalju. To se obavlja u izlaznom SAD filteru.
Slika 2.0 Obrada izlaznih pakta 10
5. IPsec uporaba – VPN U budućnosti, kada IPv6 zaživi, IPsec će biti obavezan za korištenje a dotada se njegova upotreba najviše bazira na virtualnim privatnim mrežama (Virtual Private Networks). Iako postoje razne definicije ovisno o veličini mreže, može se reći da je virtualna privatna mreža sigurni, privatni komunikacijski tunel između dva ili više uređaja preko javne mreže (npr. Interneta). Promet unutar VPN tunela je kriptiran i drugi korisnici ga ne mogu čitati makar sam promet bio i uhvaćen. Implementiranjem VPN-a, tvrtka može ponuditi pristup internoj mreži korisnicima iz cijelog svijeta. Prije pojave VPN-a, udaljeni (remote) zaposlenici pristupali su internoj mreži od tvrtke preko iznajmljenih vodova ili preko udaljenih dial-up poslužitelja. S VPN-om, oni su dobili najisplativiji način za spajanje, tuneliranjem preko javne mreže. Internet VPN rješenje bazira se na klijent/poslužitelj arhitekturi. Klijent koji se želi spojiti na internu tvrtkinu mrežu prvo mora ostvariti pristup Internetu preko bilo kojeg davatelja Internet usluga (Internet Service Provider). Nakon toga, on uspostavlja VPN konekciju prema tvrtkinom VPN serveru preko VPN klijenta koji je instaliran na samom klijentskom računalu. Jednom kad je komunikacija uspostavljena, udaljeni zaposlenik komunicira sa ostatkom korporacijske mreže preko Interneta baš kao da je lokalno računalo u toj mreži.
11
Literatura http://sigurnost.zemris.fer.hr/protokoli/2007_mikic/ https://en.wikipedia.org/wiki/IPsec https://bib.irb.hr/datoteka/233155.Diplomska_Radnja_-1572-_Dario_Hofman__Sigurnost_u_virtualnim_privatnim_mrezama.pdf https://hrcak.srce.hr/index.php?show=clanak&id_clanak_jezik=287221 https://hr.esdifferent.com/difference-between-ikev1-and-ikev2 https://www.cis.hr/www.edicija/LinkedDocuments/CCERT-PUBDOC-2007-09-205.pdf
12