1 / 45

IP Security Protocol (IPsec)

IP Security Protocol (IPsec). Mario Čagalj mario.cagalj@fesb.hr FESB 13/5/2014. Sigurnost na IP razini. HTTP. FTP. SMTP. SSL. TCP. IP. Postoji citav raspon sigurnosnih mehanizama na aplikacijskoj razini Npr. PGP, S/MIME, Kerberos, SSL/HTTPS, SSH

winda
Download Presentation

IP Security Protocol (IPsec)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IP Security Protocol (IPsec) Mario Čagalj mario.cagalj@fesb.hr FESB 13/5/2014.

  2. Sigurnost na IP razini HTTP FTP SMTP SSL TCP IP • Postoji citav raspon sigurnosnih mehanizama na aplikacijskoj razini • Npr. PGP, S/MIME, Kerberos, SSL/HTTPS, SSH • Ali postoje sigurnosni problemi koji su zajednicki svim razinama • Stoga je logicno razviti sigurnosni mehanizam koji bi istovremeno rjesavao zajednicke sigurnosne probleme vise razina OSI modela • IPSec specifikacija • Implementacija sigurnosti na IP razini • Sigurnost neovisna o aplikacijama PGP S/MIME SET Kerberos SMTP HTTP UDP TCP IP HTTP FTP SMTP TCP IP/IPsec

  3. IPsec: uvod • Internet standard za sigurnost na mreznoj (IP) razini • Zastitu IP protokola i svih protokola visih razina (ICMP, TCP, ...) • Obavezna komponenta IPv6 protokola • Sigunosni ciljevi • Autentifikacija • Integritet podataka (paketa) – connectionless integrity • Data origin authentication • Anti-replay mehanizmi (partial sequential integrity) • Zatita tajnosti podataka (confidentiality) • Uspostavljanje i distribucija sigurnosnih kljuceva (key management) • Osnovne komponente • Authentication Header (AH) • Autentikacijski protokol • Encapsulating Security Payload (ESP) • Protokol za enkripciju i autentikaciju (opcija)

  4. IPsec: uvod • Moguci nacini implementacije • Direktna integracija u IP razinu • Bump-in-the-Stack (BITS) • IPsec implementiran kao zasebna razina izmedju IP i data link layer-a Upper Layer Protocols Upper Layer Protocols TCP/UDP TCP/UDP IP IP PPP/SLIP or Data Link Layer Drivers IPsec PPP/SLIP or Data Link Layer Drivers Standard TCP/IP Protokol Stack IPsec Implementation

  5. IPsec: uvod • Moguci nacini implementacije • Bump-in-the-Wire (BITW) • IPsec implementiran u uredjajima koji povezuju dva racunala koja zele komunicirati na siguran nacin • Uredjaje nazivamo “security gateway” Secure IP datagrams IP datagrams IP datagrams local intranet Internet local intranet

  6. IPsec: primjer VPN router 1 VPN router 2 http://www.yamaha.com/products/en/network/settings/ipv4_ipsec_vpn/

  7. IPsec: primjer

  8. Primjene IPsec-a: primjeri IPsec omogucava sigurnu komunikaciju preko LAN mreza, privatnih i javnih WAN mreza, i preko Interneta. • Sigurno povezivanje ogranka (ureda) neke kompanije sa maticnim uredom preko Interneta • Korisnik se moze spojiti na siguran nacin na lokalnu mrezu firme (npr. fakulteta) i to preko javnog Interneta • Sigurno povezivanje partnerskih organizacija i firmi putem Interneta • Povecvavanje sigurnosti postojecih klijent-server aplikacija i usluga (koje vec imaju ugradjene odredjene sigurnosne mehanizme)

  9. Sigurnosni servisi IPSec-a ESP (encryption and authentication) ESP (encryption only) AH P P integrity data origin authentication P P P P P replay detection P P confidentiality limited traffic flow confidentiality P P

  10. Modovi rada • Transport mode • Zastita primarno protokola vise razine • Zastita se primjenjuje na podatkovni dio paketa (packet payload, npr. TCP ili UDP segment) • ESP u transportnom modu enkriptira i opcionalno autenticira “IP payload” ali ne i IP zaglavlje (IP header) • AH u transportnom modu autenticira “IP payload” i odabrana polja IP zaglavlja • Usmjeravanje paketa (routing) kroz mrezu vrsi se na osnovu IP zaglavlja originalnog paketa • End-to-end autentikacija (zastita komunikacije izmedju dva krajnja korisnika) IP zaglavlje ostatak paketa IP zaglavlje IPsec ostatak paketa

  11. Modovi rada • Tunnel mode • Stiti se cijeli paket • Cijeli paket se uzima kao “IP payload” drugog IP paketa (koji potencijalno ima razlicite IP adrese izvorista i odredista u odnosu na originalan paket) • Encapsulation of IP packet • ESP u “tunnel” modu enkriptira i opcionalno autenticira cijeli unutarnji IP paket • AH u “tunnel” modu autenticira cijeli unutarnji IP paket i odabrana polja IP zaglavlja vanjskog paketa • Zastita komunikacije izmedju “security gateway” (IPsec firewall, IPsec router ) • Q: Koji mod rada je sporiji? Zasto? IP zaglavlje ostatak paketa IPsec IP zaglavlje ostatak paketa novo IP zaglavlje

  12. Sigurnosne asocijacije • Security Associations (SA) • Definira sigurnosne mehanizme koji se koriste za obradu odlaznih/dolaznih paketa za dani uredjaj • Sigurnosna asocijacija je jednostrana (“one-way”) – ako je potrebna dvosmjerna komunikacija, potrebne su dvije SA • Ista SA se koristi samo za AH ili za ESP, ali nikako za oba protokola istovremeno (ako se koriste AH i ESP, onda svaki ima zasebnu SA) • SA jedinstveno odredjena sa tri parametra • Security Parameters Index (SPI) • Identifikator sigurnosne asocijacije (SA) • Nalazi se u AH i ESP zaglavljima tako da prijemnik moze odrediti tocnu SA koja ce se koristiti za procesiranje primljenog paketa • IP adresa odredista (prijemnika) • Adresa krajnjeg sustava (korinikovo racunalo) ili “security gateway”-a • Security Protocol Identifier • Oznacava da li se radi o SA za AH ili ESP

  13. Neki parametri SA • Krajnje tocke • IP addresses • AH / ESP informacije • Enkripcijski algorithm, kripto kljuc, i odgovarajuci parametri • Mod rada protokola • Tunnel ili transport mod • Sequence number counter • Broji pakete koji su poslani koristeci promatranu SA • Veličina anti-replay prozora • Da li je dolazeci (inbound) AH ili ESP paket “replayed” (autentican)? • Lifetime • Vremenski interval ili broj byte-ova nakon kojeg promatrana SA more biti terminirana

  14. Security Association Database (SAD) • Kako selektirati odgovarajucu (ispravnu) SA? • Svaki entitet koji implementira IPsec odrzava bazu SA • Kada entitet transmitira paket nekom IP odredistu X, entitet trazi X u lokalnoj SAD da bi znao kako ce formatirati paket za to odrediste • SAD sadrzi podatke o SPI, kripto-kljucevima, kripto alogoritmima, sekvencijskom broju, itd., za dano odrediste • Kada entitet X prima IP paket, SPI polje SA se koristi za pronalazenje zapisa (u SAD) o kripto-kljucu, kripto-algoritmima, sekvencijskom broju, itd.

  15. Security Policy Database (SPD) • Definirakakoprocesirati (obraditi) razlicite IP pakete • Jednostavnoodbacitipaket • Proslijediti/prihvatitipaketbezIPsecprocesiranja • Proslijediti/prihvatitisaIPsecprocesiranjem • Dalipakettrebabitienkriptiran • Daliintegritetpaketatrebabitizasticen • Dalipakettrebabitienkriptiran + zasticenintegritet • Svakizapis u SPD definirapodskup IP prometa (paketa) iskupsigurnosnihasocijacija (SAs) koje se primjenjujunaovajpromet • Podskup IP prometa (paketa) se definirapomocuodredjenihpolja u zaglavljupaketa (“SA selectors”) • IP adresaodredista (single, enumerated list, range, or mask) • IP adresaizvorista (single, enumerated list, range, or mask) • Transport layer protocol (single, enumerated list, range, or mask) • Source or destination port (TCP or UDP port values, single, enumerated list, range, or wildcard) • Slicnovatrozidu (firewall)

  16. IPsec: Procesiranje IP prometa • Inbound processing • Retrieve the SA that should be used based on the SPI in the inbound packet • Do the IPsec processing • Verify whether the right SAs have been applied Key Management module • Outbound processing • Compare the selector fields of the packet to the values in the SPD • Determine which SAs should be used for the packet and their SPIs • If necessary, then do the requiered IPsec processing IPsec device SAD SPD IPsecprocessingAH/ESP IP packet IP packet

  17. Authentication Header (AH) • Omogucava zastitu integriteta i autentikaciju IP paketa • Sprijecava “address spoofing” napade kao i “replay” napade • Autentikacija se zasniva na MAC-u (message authentication code); stoga komunikacijski partneri moraju dijeliti tajni kljuc 0 8 16 31 • next header • type of header immediately following this header (e.g., TCP, IP, etc.) • payload length • length of AH (in 32 bit words) minus 2 • e.g., 4 if Authentication data is 3x32 bits long • Security Parameters Index • identifies the SA used to generate this header • sequence number • sequence number of the packet (protection against replay attacks) • authentication data • a (truncated) MAC (default length is 96 bits) • So-called Integrity Check Value next header payload length reserved Security Parameters Index (SPI) sequence number authentication data (variable length)

  18. AH u transportnom i tunel modu original IPv4 packet original IP header TCP/UDP header data AH in transport mode original IP header AH TCP/UDP header data authenticated except for mutable fields in the IP header (e.g., TTL) AH in tunnel mode new IP header AH original IP header TCP/UDP header data authenticated except for mutable fields in the outer IP header (e.g., TTL)

  19. AH: Detekcija “replay” napada • “Replay” napad: napadac na neki nacin dodje u posjed autenticiranog paketa kojeg kasnije transmitira (“replays”) izvornoj destinaciji • IPsec prijemnik ima “anti-replay” prozor osnovne velicine W = 64 • Desni rub prozora predstavlja paket sa najvecim sekvencijskim brojem N • Ako primljeni paket upada u okvir prozora i ako je novi, provjerava se MAC. Ako je paket uspjesno autenticiran, odgovarajuci slot prozora se oznacava. • Ako je primljeni paket desno od prozora i novi, provjerava se MAC. Ako je paket autentican, prozor se pomice tako da je sekvencijski broj ovog paketa desni rub prozora i odgovarajuci slot se oznacava. • Ako je primljeni paket lijevo od prozora ili ako je neuspjesno autenticiran, paket se odbacuje. last received packet packets received window (of size 7) ... ... N dropped dropped if MAC is correct then mark and advance window if MAC is correct then mark otherwise drop

  20. AH: Authentication Data Field • Sadrzi vrijednost koja se naziva Integrity Check Value • Message authentication code ili skracena verzija (96 bitova) • HMAC-MD5-96, HMAC-SHA1-96 (za ostale podrzane algoritme vidi RFC-ove na http://en.wikipedia.org/wiki/IPsec) • HMAC se racuna preko sljedecih podataka • Dijelovi IP zaglavlja koja se ne mjenjaju u tranzitu • Polja AH zaglavlja (“authentication data field” se postavljaja na 0) • Cijeli “upper layer protocol data” (npr. TCP segment, ili unutranji ili enkapsulirani IP paket u tunel modu rada IPsec-a) header checksum (promjenjiva polja se postavljaju na 0) TTL 0000 IP 0000... AH MAC 0000... authentication data payload

  21. Encapsulating Security Payload (ESP) • Omogucava zastitu tajnosti poruka (enkripciji) kao i njihovu autentikaciju (opcija) 0 16 24 31 • Security Parameters Index • identifies the SA used to generate this encrypted packet • sequence number • payload • transport level segment (transfer mode) or encapsulated IP packet (tunnel mode) • padding • variable length padding • pad length • next header • identifies the type of data contained in the payload • authentication data • a (truncated) MAC computed over the ESP packet (SPI ... next header) Security Parameters Index (SPI) sequence number payload (variable length) padding (0-255 bytes) next header pad length authentication data (variable length)

  22. ESP: Enkripcijski i MAC algoritmi • Enkripcija • Primjenjuje se na sljedeca polja: payload, padding, pad length, and next header fields • Ako je nuzan inicijalzacijski vektor (IV), npr. kod CBC enkripcije, stavalja se na pocetak polja “payload” (IV nije enkriptiran) • IPsec implementacije podrzavaju razne enkripcijske DES, 3DES, AES, IDEA, 3IDEA, CAST, Blowfish • MAC • Slicno kao kod AH • Standardna duljina 96 bitova (truncated HMAC) • IPsec implementacije podrzavaju HMAC-MD5-96 and HMAC-SHA1-96, kao i razne druge MAC algoritme • MAC se racuna preko slijedecih polja: SPI, sequence number, and encrypted payload, padding, pad length, and next header fields • Kod ESP-a, MAC ne pokriva IP zaglavlje koje prethodi ESP zaglavlju • Podrzani algoritmi: vidi http://en.wikipedia.org/wiki/IPsec

  23. ESP u transportnom i tunel modu original IPv4 packet original IP header TCP/UDP header data ESP in transport mode ESP trailer original IP header ESP header TCP/UDP header data ESP MAC encrypted authenticated ESP in tunnel mode ESP trailer new IP header ESP header original IP header TCP/UDP header data ESP MAC encrypted authenticated

  24. Kombiniranje sigurnosnih asocijacija • Jedna SA moze implementirati AH ili ESP (ali ne oba) • Ponekad je potrebno kombinirati usluge AH i ESP protokola • Definira se vise SA za iste podatke (data flow) • Kombinirane SAs mogu terminirati na istim ili razlicitim krajevima • Dva osnovna nacina kombiniranja SAs • Transport adjacency (osnovna ESP-AH kombinacija) • Primjeni ESP u transportnom modu ali bez autentifikacije • Primjeni AH u transportnom modu • Iterated tunneling (vise ugnjezdjenih tunela) • Primjena vise razina sigurnosnih protokola kroz IPsec tuneliranje ESP trailer original IP header AH ESP header TCP/UDP header data authenticated except for mutable fields in the IP header

  25. Osnovne kombinacije SAs (1/4) • IPSec standard specificira 4 primjera kombinacija SAs koje mora podrzavati svaki IPSec uredjaj (racunalo, gateway, firewall, router) • Slucaj 1: • Sigurnost izmedju krajnjih tocaka (host-to-host); end-hosts moraju dijeliti zajednicke tajne kljuceve da bi mogli komunicirati preko SA • Moguce kombinacije: (a) AH + transport mode, (b) ESP + transport mode, (c) ESP SA unutar AH SA, (d) a,b,c unutar AH ili ESP tunela one or more transport SAs local intranet Internet local intranet

  26. Osnovne kombinacije SAs (2/4) • Slucaj 2: • Sigurnost izmedju gateway-a (routers, firewalls, etc.); nijedan host ne implementira IPSec • VPN (virtual private network) sa tunel SA tunnel SAs in both direction local intranet Internet local intranet

  27. Osnovne kombinacije SAs (3/4) • Slucaj 3: • Sigurnost izmedju host racunala i gateway-a • Korisnik zeli pristupiti, preko Interneta, kompanijinom LAN-u se nalazi iza IPSec firewall-a (security gateway-a) tunnel SAs in both direction Internet local intranet

  28. Osnovne kombinacije SAs (4/4) • Slucaj 4: • Slican slucaju 2, s razlikom da se postize end-to-end sigurnost (sigurnost izmedju krajnjih tocaka) tunnel SAs transport or tunnel SAs local intranet Internet local intranet

  29. Key Management • Dio IPsec-a zaduzen za distribuciju i uspostavu tajnih kljuceva potrebnih za enkripcijske i/ili autentikacijske usluge • Dva tipa upravljanja kljucevima moraju biti podrzana • Manualno upravljanje • Administrator konfigurira svaki sustav sa potrebnim kljucevima • Automatizirano upravljanje • Kreiranje kljuceva na zahtjev za uspostavu SAs • Automatizirana metoda je IKE (Internet Key Exchange) • Diffie-Hellman key exchange + autentikacija • IKE poruke prenosi ISAKMP protokol • ISAKMP - Internet Security Association and Key Management Protocol • ISAKMP definira generalni okvir za razmjenu kljuceva; definira format poruka koje mogu prenositi poruke razlicitih protokola za razmjenu kljuceva • ISAKMP definira procedure za uspostavljanje, pregovor, modifikaciju i brisanje sigurnosnih asocijacija

  30. ISAKMP: Generalni format poruka • next payload • type of next payload (e.g., transform, key exchange, certificate, …) • 0 if this is the last payload • exchange type • 5 default exchange types (base, ID protection, authentication only, aggressive, informational) • message ID • unique ID of this message • length • length of header + all payloads initiator cookie responder cookie ISAKMP header next payload mj ver mn ver exchange type flags message ID length next payload reserved payload length Generic payload header payload

  31. ISAKMP Payload Types • Security Association (SA) • used to begin the setup of a new SA; carries various Proposal payloads • Proposal (P) • used during SA setup; indicates proposed protocols to be used (e.g., ISAKMP, AH, or ESP) and carries a number of Transform payloads (proposed algorithms) • Transform (T) • used during SA setup; indicates an algorithm (e.g., 3DES, AES) and its attributes • Key exchange (KE) • used to carry key exchange data (e.g., public DH parameters) • Identification (ID) • used to exchange identification information (e.g., IP address) • Certificate (CERT) • used to carry public key certificates (e.g., PGP, X.509, SPKI, …) • Hash (HASH) • used to carry a hash value • Signature (SIG) • used to carry a signature • Nonce (NONCE) • used to carry a nonce • Notification (N) • carries error or status information • Delete (D) • indicates one or more SAs that the sender has deleted from its database (i.e., SAs that are no longer valid)

  32. ISAKMP okvir za razmjenu poruka • Base Exchange I  R : HDR; SA; NONCE R  I : HDR; SA; NONCE I  R : HDR; KE; IDi; AUTH R  I : HDR; KE; IDr; AUTH gdje je HDR genericko ISAKMP zaglavlje; AUTH je SIG ili HASH “payload”-a, ovisno o dogovorenoj autentikacijskoj metodi; I = initiator, R = responder; KE = javan kljuc; NONCE = broj koji se koristi jednom (anti-replay) • Identity Protection Exchange I  R : HDR; SA R  I : HDR; SA I  R : HDR; KE; NONCE R  I : HDR; KE; NONCE I  R : HDR*; IDi; AUTH R  I : HDR*; IDr; AUTH HDR* oznacava da je citav “payload” koji slijedi ISAKMP zaglavlje enkriptiran

  33. ISAKMP okvir za razmjenu poruka • Authentication Only Exchange I  R : HDR; SA; NONCE R  I : HDR; SA; NONCE; IDr; AUTH I  R : HDR; IDi; AUTH • Aggressive Exchange I  R : HDR; SA; KE; NONCE; IDi R  I : HDR; SA; KE; NONCE; IDr; AUTH I  R : HDR*; AUTH • Informational Exchange I  R : HDR; N/D

  34. ISAKMP cookies • Clogging attack • Napadac salje lazne DH poruke izabranoj zrtvi ali koristeci krivotvorenu (laznu) IP adresu • Zrtva zapocinje izvrsavati skupe operacije modularnog potenciranja da bi izracunala tajni kljuc • Zrtva je potencijalno blokirana beskorisnim radom • “Cookies” sprijecavaju “clogging” napade • Oba entiteta generiraju slucajne “cookies” te ih medjusobno razmjene • “Cookies” se ponavljaju u svakoj slijedecoj poruci (vidi ISAKMP zaglavlje) • Skupe kriptografske operacije se izvrsavaju samo ako entitet primi svoj “cookie” nazad od svog peer-a • Napadac koji koristi lanzu IP adresu nece biti u mogucnosti nauciti “cookie” koji generira zrtva (zrtva salje “cookie” na laznu adresu)

  35. IKE (Internet Key Exchange) • Faza 1 • Dva ISAKMP “peer”-a uspostave siguran, autenticiran komunikacijski kanal (ISAKMP SA) • Ovo se moze realizirati u “main mode” ili u “aggressive mode” • “Main mode” je instacijacija ISAKMP Identity Protection Exchange • “Aggressive mode” je instacijacija ISAKMP “Aggressive Exchange” • Faza 2 • Pregovaraju se SAs za druge protokole (npr., IPsec) • Poruke su zasticene koristeci ISAKMP SA iz faze 1

  36. IKE: Podrzane autentikacijske metode • Digitalni potpisi • Razmjena poruka je autenticirana potpisivanjem odgovarajucih hash vrijednosti • Kod evaluacije hash funkcije, uzimaju se “random nonces” oba entiteta kao ulazne varijable • Autentikacija zasnovana na enkripciji javnim kljucem • Razmjena je autenticirana slanjem hash vrijednosti • Kod evaluacije hash funkcije, uzimaju se “random nonces” oba entiteta kao ulazne varijable • “Nonce” se enkriptira javnim kljucem peer-a kojem se “nonce” salje • Cinjenica da je neki entitet izracunao ispravnu hash vrijednost dokazuje da je taj entitet dekriprirao “nonce” (stoga zna privatan kljuc) • Autentikacija zasnovana na unaprijed dijeljenim tajnim kljucevima • Razmjena poruka je autenticirana slanjem MAC-ova • MAC se racuna upotrebom djeljenog kljuca

  37. Faza 1 autenticirana digitalnim potpisom • Main mode Initiator Responder local intranet local intranet Internet 1. Policy Proposals 2. Policy Acceptance 3. Diffie-Hellman / Nonce 4. Diffie-Hellman / Nonce 5. Identification / Certificate / Signature 6. Identification / Certificate / Signature

  38. Faza 1 autenticirana digitalnim potpisom • Main mode: I  R : HDR(ckyi, 0); SAi R  I : HDR(ckyi, ckyr); SAr I  R : HDR(ckyi, ckyr); KE(gxi); NONCE(ni) R  I : HDR(ckyi, ckyr); KE(gxr); NONCE(nr) I  R : HDR*(ckyi, ckyr); IDi; [CERT; ] SIG(sigi) R  I : HDR*(ckyi, ckyr); IDr; [CERT; ] SIG(sigr) gdje su skey = HMAC(ni|nr, gxixr) hashi = HMAC(skey, gxi|gxr|ckyi|ckyr|SAi|IDi) hashr = HMAC(skey, gxr|gxi|ckyr|ckyi|SAi|IDr) sigi i sigr su digitalni potpisi od I i R za poruke hashi i hashrckyy = cookie entiteta x

  39. Faza 1 autenticirana digitalnim potpisom • Aggressive mode Initiator Responder local intranet local intranet Internet • Policy Proposals / Diffie-Hellman / Nonce / Identification 2. Policy Proposals / Diffie-Hellman / Nonce / Identification / Certificate / Signature 3. Certificate / Signature

  40. Faza 1 autenticirana digitalnim potpisom • Aggressive mode: I  R : HDR(ckyi, 0); SAi; KE(gxi); NONCE(ni); IDi R  I : HDR(ckyi, ckyr); SAr; KE(gxr); NONCE(nr); IDr; [CERT;] SIG(sigr) I  R : HDR(ckyi, ckyr); [CERT;] SIG(sigi) gdje su skey = HMAC(ni|nr, gxixr) hashi = HMAC(skey, gxi|gxr|ckyi|ckyr|SAi|IDi) hashr = HMAC(skey, gxr|gxi|ckyr|ckyi|SAi|IDr) sigi i sigr su digitalni potpisi od I i R za poruke hashi i hashrckyy = cookie entiteta x

  41. Faza 1 + enkripcijom javnim kljucem • Main mode: I  R : HDR(ckyi, 0); SAi R  I : HDR(ckyi, ckyr); SAr I  R : HDR(ckyi, ckyr); KE(gxi); ID({idi}Kr); NONCE({ni}Kr) R  I : HDR(ckyi, ckyr); KE(gxr); ID({idr}Ki); NONCE({nr}Ki) I  R : HDR*(ckyi, ckyr); HASH(hashi) R  I : HDR*(ckyi, ckyr); HASH(hashr) • Aggressive mode: I  R : HDR(ckyi, 0); SAi; KE(gxi); ID({idi}Kr); NONCE({ni}Kr) R  I : HDR(ckyi, ckyr); SAr; KE(gxr); ID({idr}Ki); NONCE({nr}Ki); HASH(hashr) I  R : HDR(ckyi, ckyr); HASH(hashi) gdje su skey = HMAC(hash(ni|nr), ckyi|ckyr) hashi = HMAC(skey, gxi|gxr|ckyi|ckyr|SAi|IDi) hashr = HMAC(skey, gxr|gxi|ckyr|ckyi|SAi|IDr)

  42. Faza 1 + djeljeni kljuc/tajna • Main mode: I  R : HDR(ckyi, 0); SAi R  I : HDR(ckyi, ckyr); SAr I  R : HDR(ckyi, ckyr); KE(gxi); NONCE(ni) R  I : HDR(ckyi, ckyr); KE(gxr); NONCE(nr) I  R : HDR*(ckyi, ckyr); IDi; HASH(hashi) R  I : HDR*(ckyi, ckyr); IDr; HASH(hashr) • Aggressive mode: I  R : HDR(ckyi, 0); SAi; KE(gxi); NONCE(ni); IDi R  I : HDR(ckyi, ckyr); SAr; KE(gxr); NONCE(nr); IDr; HASH(hashr) I  R : HDR(ckyi, ckyr); HASH(hashi) gdje su skey = HMAC(dijeljeni-kljuc, ni|nr) hashi = HMAC(skey, gxi|gxr|ckyi|ckyr|SAi|IDi) hashr = HMAC(skey, gxr|gxi|ckyr|ckyi|SAi|IDr)

  43. Key material computation • Nakon faze 1, izvode se slijedeci kljucevi • Svrha: izvodjenje dodatnih kljuceva skey_d = HMAC(skey, gxixr|ckyi|ckyr|0) • Svrha: kljucevi za racunanje MAC-a skey_a = HMAC(skey, skey_d|gxixr|ckyi|ckyr|1) • Svrha: kljucevi za enkripciju skey_e = HMAC(skey, skey_a|gxixr|ckyi|ckyr|2) • Izvedeni kljucevi se koriste u drugoj fazi (Faza 2) IKE protokola

  44. Sigurnosni propust u fazi 1 IKE protokola • Napad na “main mode” sa unaprijed dijeljenim kljucem: I  R : HDR(ckyi, 0); SAi R  X : HDR(ckyi, ckyr); SAr X  I : HDR(ckyi, ckyr); SAx I  R : HDR(ckyi, ckyr); KE(gxi); NONCE(ni) R  I : HDR(ckyi, ckyr); KE(gxr); NONCE(nr) I  R : HDR*(ckyi, ckyr); IDi; HASH(hashi) R  I : HDR*(ckyi, ckyr); IDr; HASH(hashr) gdje su hashi = HMAC(skey, gxi|gxr|ckyi|ckyr|SAi|IDi) hashr = HMAC(skey, gxr|gxi|ckyr|ckyi|SAi|IDr) • SAi moze sadrzavati T1 i T2; SAr i SAx moze sadrzavati T1 i T2 R ce koristiti T1 dok ce I koristiti T2 • Q: Koja je posljedica ovog napada? Koja vrsta napada? • I i R nece detektirati napad zato sto hash vrijednosti koji oni racunaju ne ovise o SAr • Kako se hash vrijednosti racunaju na identican nacin u ostalim autentikacijskim metodama, i one imaju isti sigurnosni problem

  45. Faza 2 IKE protokola • Pregovaranje SA i razmjena “nonces” • “Nonces” se koriste za osvjezavanje kljuceva i za zastitu od replay napada • “Quick mode”: I  R: HDR*(msgid1), HASH(hash1), SAi, NONCE(ni) [, ID(idci), ID(idcr) ] R  I: HDR*(msgid2), HASH(hash2), SAr, NONCE(nr) [, ID(idci), ID(idcr) ] I  R: HDR*(msgid3), HASH(hash3) gdje su hash1 = HMAC( skey_a, msgid1|SAi|ni [|idci|idcr] ) hash2 = HMAC( skey_a, msgid2|ni|SAr|nr [|idci|idcr] ) hash3 = HMAC( skey_a, msgid3|ni|nr ) • Osvjezavanje dijeljenih kljuceva: keymat = HMAC(skey_d, protocol | SPI | ni | nr) gdje su "protocol" i "SPI" dio dogovorene (u pregovorima) SA HDR* oznacava da je citav “payload” koji slijedi ISAKMP zaglavlje enkriptirano

More Related