
97ca89a729233289875138fddcf55ecc.ppt
- Количество слайдов: 45
IP Security Protocol (IPsec) Mario Čagalj mario. cagalj@fesb. hr FESB 13/5/2014.
Sigurnost na IP razini o Postoji citav raspon sigurnosnih mehanizama na aplikacijskoj razini o Npr. PGP, S/MIME, Kerberos, SSL/HTTPS, SSH HTTP FTP SMTP PGP SSL Kerberos TCP UDP IP o o S/MIME SMTP SET HTTP TCP IP 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 o o o IPSec specifikacija Implementacija sigurnosti na IP razini Sigurnost neovisna o aplikacijama HTTP FTP SMTP TCP IP/IPsec : : 2: :
IPsec: uvod o Internet standard za sigurnost na mreznoj (IP) razini o o o Sigunosni ciljevi o o Zastitu IP protokola i svih protokola visih razina (ICMP, TCP, . . . ) Obavezna komponenta IPv 6 protokola Autentifikacija o o o 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 o o Authentication Header (AH) o Autentikacijski protokol Encapsulating Security Payload (ESP) o Protokol za enkripciju i autentikaciju (opcija) : : 3: :
IPsec: uvod o Moguci nacini implementacije o o Direktna integracija u IP razinu Bump-in-the-Stack (BITS) o IPsec implementiran kao zasebna razina izmedju IP i data link layera Upper Layer Protocols TCP/UDP IP IP PPP/SLIP or Data Link Layer Drivers IPsec Standard TCP/IP Protokol Stack PPP/SLIP or Data Link Layer Drivers IPsec Implementation : : 4: :
IPsec: uvod o Moguci nacini implementacije o Bump-in-the-Wire (BITW) o o IPsec implementiran u uredjajima koji povezuju dva racunala koja zele komunicirati na siguran nacin Uredjaje nazivamo “security gateway” IP datagrams local intranet Secure IP datagrams Internet IP datagrams local intranet : : 5: :
IPsec: primjer VPN router 1 VPN router 2 http: //www. yamaha. com/products/en/network/settings/ipv 4_ipsec_vp n/ : : 6: :
IPsec: primjer : : 7: :
Primjene IPsec-a: primjeri IPsec omogucava sigurnu komunikaciju preko LAN mreza, privatnih i javnih WAN mreza, i preko Interneta. o Sigurno povezivanje ogranka (ureda) neke kompanije sa maticnim uredom preko Interneta o Korisnik se moze spojiti na siguran nacin na lokalnu mrezu firme (npr. fakulteta) i to preko javnog Interneta o Sigurno povezivanje partnerskih organizacija i firmi putem Interneta o Povecvavanje sigurnosti postojecih klijent-server aplikacija i usluga (koje vec imaju ugradjene odredjene sigurnosne mehanizme) : : 8: :
Sigurnosni servisi IPSec-a AH ESP (encryption only) ESP (encryption and authentication) integrity P P data origin authentication P P replay detection P P P confidentiality P P limited traffic flow confidentiality P P : : 9: :
Modovi rada o Transport mode o o Zastita primarno protokola vise razine Zastita se primjenjuje na podatkovni dio paketa (packet payload, npr. TCP ili UDP segment) o o 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 IPsec ostatak paketa : : 10: :
Modovi rada o Tunnel mode o o 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) o o 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 ) IP zaglavlje novo IP zaglavlje o IPsec ostatak paketa IP zaglavlje ostatak paketa Q: Koji mod rada je sporiji? Zasto? : : 11: :
Sigurnosne asocijacije o Security Associations (SA) o o Definira sigurnosne mehanizme koji se koriste za obradu odlaznih/dolaznih paketa za dani uredjaj Sigurnosna asocija je jednostrana ( “one-way” ) – ako je potrebna dvosmjerna komunikacija, potrebne su dvije SA o 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 ) o SA jedinstveno odredjena sa tri parametra o Security Parameters Index (SPI) o IP adresa odredista (prijemnika) o Security Protocol Identifier o o 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 Adresa krajnjeg sustava (korinikovo racunalo) ili “security gateway”-a Oznacava da li se radi o SA za AH ili ESP : : 12: :
Neki parametri SA o Krajnje tocke o o AH / ESP informacije o o Broji pakete koji su poslani koristeci promatranu SA Veličina anti-replay prozora o o Tunnel ili transport mod Sequence number counter o o Enkripcijski algorithm, kripto kljuc, i odgovarajuci parametri Mod rada protokola o o IP addresses Da li je dolazeci (inbound) AH ili ESP paket “replayed” (autentican)? Lifetime o Vremenski interval ili broj byte-ova nakon kojeg promatrana SA more biti terminirana : : 13: :
Security Association Database (SAD) o Kako selektirati odgovarajucu (ispravnu) SA? o Svaki entitet koji implementira IP sec odrzava bazu SA o Kada entitet transmitira paket nekom IP odredistu X, entitet trazi X u lokalnoj SAD da bi znao kako ce formatirati paket za to odrediste o SAD sadrzi podatke o SPI, kripto - kljucevima, kripto alogoritmima, sekvencijskom broju, itd. , za dano odrediste o Kada entitet X prima IP paket, SPI polje SA se koristi za pronalazenje zapisa (u SAD) o kripto - kljucu, kriptoalgoritmima, sekvencijskom broju, itd. : : 14: :
Security Policy Database (SPD) o Definira kako procesirati (obraditi) razlicite IP pakete o o Jednostavno odbaciti paket Proslijediti/prihvatiti paket bez IPsec procesiranja Proslijediti/prihvatiti sa IPsec procesiranjem o o o Svaki zapis u SPD definira podskup IP prometa (paketa) i skup sigurnosnih asocija (SAs) koje se primjenjuju na ovaj promet o Podskup IP prometa (paketa) se definira pomocu odredjenih polja u zaglavlju paketa (“SA selectors”) o o o Da li paket treba biti enkriptiran Da li integritet paketa treba biti zasticen Da li paket treba biti enkriptiran + zasticen integritet IP adresa odredista (single, enumerated list, range, or mask) IP adresa izvorista (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) Slicno vatrozidu (firewall) : : 15: :
IPsec: Procesiranje IP prometa Key Management module SAD IP packet IPsec device SPD IPsec processing AH/ESP IP packet : : 16: :
Authentication Header (AH) o Omogucava zastitu integriteta i autentikaciju IP paketa o o 0 Sprijecava “address spoofing” napade kao i “replay” napade Autentikacija se zasniva na MAC-u (message authentication code); stoga komunikacijski partneri moraju dijeliti tajni kljuc 8 next header 16 31 reserved Security Parameters Index (SPI) o next header o payload length Security Parameters Index o sequence number o authentication data sequence number authentication data (variable length) o o o o type of header immediately following this header (e. g. , TCP, IP, etc. ) length of AH (in 32 bit words) minus 2 e. g. , 4 if Authentication data is 3 x 32 bits long identifies the SA used to generate this header sequence number of the packet (protection against replay attacks) a (truncated) MAC (default length is 96 bits) So-called Integrity Check Value : : 17: :
AH u transportnom i tunel modu original IPv 4 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) : : 18: :
AH: Detekcija “replay” napada o o o “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 o o o 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 packets received window (of size 7) . . . N dropped if MAC is correct then mark otherwise drop if MAC is correct then mark and advance window : : 19: :
AH: Authentication Data Field o Sadrzi vrijednost koja se naziva Integrity Check Value o HMAC se racuna preko sljedecih podataka TTL IP o 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 AH o o Message authentication code ili skracena verzija (96 bitova) HMAC-MD 5 -96, HMAC-SHA 1 -96 (za ostale podrzane algoritme vidi RFC-ove na http: //en. wikipedia. org/wiki/IPsec) payload o o checksum (promjenjiva polja se postavljaju na 0) 0000. . . MAC authentication data : : 20: :
Encapsulating Security Payload (ESP) o Omogucava zastitu tajnosti poruka (enkripciji) kao i njihovu autentikaciju (opcija) 0 16 24 31 payload (variable length) padding (0 -255 bytes) pad length next header Security Parameters Index sequence number payload o sequence number o o o Security Parameters Index (SPI) padding o o pad length next header o o o identifies the SA used to generate this encrypted packet transport level segment (transfer mode) or encapsulated IP packet (tunnel mode) o variable length padding o identifies the type of data contained in the payload authentication data o a (truncated) MAC computed over the ESP packet (SPI. . . next header) authentication data (variable length) : : 21: :
ESP: Enkripcijski i MAC algoritmi o Enkripcija o o MAC o o o 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, 3 DES, AES, IDEA, 3 IDEA, CAST, Blowfish Slicno kao kod AH Standardna duljina 96 bitova (truncated HMAC) IPsec implementacije podrzavaju HMAC-MD 5 -96 and HMAC-SHA 1 -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 : : 22: :
ESP u transportnom i tunel modu original IPv 4 packet original IP header TCP/UDP header data ESP in transport mode original ESP TCP/UDP IP header ESP trailer data ESP MAC encrypted authenticated ESP in tunnel mode new ESP original IP header TCP/UDP header data ESP trailer ESP MAC encrypted authenticated : : 23: :
Kombiniranje sigurnosnih asocija o o Jedna SA moze implementirati AH ili ESP (ali ne oba) Ponekad je potrebno kombinirati usluge AH i ESP protokola o o o Definira se vise SA za iste podatke (data flow) Kombinirane SAs mogu terminirati na istim ili razlicitim krajevima Dva osnovna nacina kombiniranja SAs o Transport adjacency (osnovna ESP-AH kombinacija) 1. Primjeni ESP u transportnom modu ali bez autentifikacije 2. Primjeni AH u transportnom modu original IP header AH ESP TCP/UDP header data ESP trailer authenticated except for mutable fields in the IP header o Iterated tunneling (vise ugnjezdjenih tunela) o Primjena vise razina sigurnosnih protokola kroz IPsec tuneliranje : : 24: :
Osnovne kombinacije SAs (1/4) o o IPSec standard specificira 4 primjera kombinacija SAs koje mora podrzavati svaki IPSec uredjaj (racunalo, gateway, firewall, router) Slucaj 1: o o 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 : : 25: :
Osnovne kombinacije SAs (2/4) o Slucaj 2: o o 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 : : 26: :
Osnovne kombinacije SAs (3/4) o Slucaj 3: o o 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 : : 27: :
Osnovne kombinacije SAs (4/4) o Slucaj 4: o Slican slucaju 2, s razlikom da se postize end-to-end sigurnost (sigurnost izmedju krajnjih tocaka) transport or tunnel SAs local intranet tunnel SAs Internet local intranet : : 28: :
Key Management o o Dio IPsec-a zaduzen za distribuciju i uspostavu tajnih kljuceva potrebnih za enkripcijske i/ili autentikacijske usluge Dva tipa upravljanja kljucevima moraju biti podrzana o o o Manualno upravljanje o Administrator konfigurira svaki sustav sa potrebnim kljucevima Automatizirano upravljanje o Kreiranje kljuceva na zahtjev za uspostavu SAs Automatizirana metoda je IKE (Internet Key Exchange) o o Diffie-Hellman key exchange + autentikacija IKE poruke prenosi ISAKMP protokol o o o 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 asocija : : 29: :
ISAKMP: Generalni format poruka o ISAKMP header initiator cookie o o responder cookie next payload mj ver mn exchange ver type next payload flags o exchange type o message ID Generic payload header length next payload reserved o o payload 5 default exchange types (base, ID protection, authentication only, aggressive, informational) message ID o payload length type of next payload (e. g. , transform, key exchange, certificate, …) 0 if this is the last payload unique ID of this message length of header + all payloads : : 30: :
ISAKMP Payload Types o Security Association (SA) o Proposal (P) o used to begin the setup of a new SA; carries various Proposal payloads o 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) o Transform (T) o Key exchange (KE) o o o o used during SA setup; indicates an algorithm (e. g. , 3 DES, AES) and its attributes o used to carry key exchange data (e. g. , public DH parameters) o used to exchange identification information (e. g. , IP address) o used to carry public key certificates (e. g. , PGP, X. 509, SPKI, …) o used to carry a hash value o used to carry a signature o used to carry a nonce o carries error or status information o indicates one or more SAs that the sender has deleted from its database (i. e. , SAs that are no longer valid) Identification (ID) Certificate (CERT) Hash (HASH) Signature (SIG) Nonce (NONCE) Notification (N) Delete (D) : : 31: :
ISAKMP okvir za razmjenu poruka : : 32: :
ISAKMP okvir za razmjenu poruka : : 33: :
ISAKMP cookies o Clogging attack o o 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 o o o 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 o Napadac koji koristi lanzu IP adresu nece biti u mogucnosti nauciti “cookie” koji generira zrtva (zrtva salje “cookie” na laznu adresu) : : 34: :
IKE (Internet Key Exchange) o Faza 1 o o o Dva ISAKMP “peer”-a uspostave siguran, autenticiran komunikacijski kanal (ISAKMP SA) Ovo se moze realizirati u “main mode” ili u “aggressive mode” o o “Main mode” je instacija ISAKMP Identity Protection Exchange “Aggressive mode” je instacija ISAKMP “Aggressive Exchange” Faza 2 o o Pregovaraju se SAs za druge protokole (npr. , IPsec) Poruke su zasticene koristeci ISAKMP SA iz faze 1 : : 35: :
IKE: Podrzane autentikacijske metode o Digitalni potpisi o o o Autentikacija zasnovana na enkripciji javnim kljucem o o o Razmjena poruka je autenticirana potpisivanjem odgovarajucih hash vrijednosti Kod evaluacije hash funkcije, uzimaju se “random nonces” oba entiteta kao ulazne varijable 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 o o Razmjena poruka je autenticirana slanjem MAC-ova MAC se racuna upotrebom djeljenog kljuca : : 36: :
Faza 1 autenticirana digitalnim potpisom o Main mode Initiator Responder 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 : : 37: :
Faza 1 autenticirana digitalnim potpisom : : 38: :
Faza 1 autenticirana digitalnim potpisom o Aggressive mode Initiator Responder local intranet Internet 1. Policy Proposals / Diffie-Hellman / Nonce / Identification 2. Policy Proposals / Diffie-Hellman / Nonce / Identification / Certificate / Signature 3. Certificate / Signature : : 39: :
Faza 1 autenticirana digitalnim potpisom : : 40: :
Faza 1 + enkripcijom javnim kljucem : : 41: :
Faza 1 + djeljeni kljuc/tajna : : 42: :
Key material computation o Nakon faze 1, izvode se slijedeci kljucevi o o Svrha: kljucevi za racunanje MAC-a skey_a = HMAC(skey, skey_d|g xixr|cky i|cky r|1) o o Svrha: izvodjenje dodatnih kljuceva skey_d = HMAC(skey, g xixr|cky i|cky r|0) Svrha: kljucevi za enkripciju skey_e = HMAC(skey, skey_a|g xixr|cky i|cky r|2) Izvedeni kljucevi se koriste u drugoj fazi (Faza 2) IKE protokola : : 43: :
Sigurnosni propust u fazi 1 IKE protokola : : 44: :
Faza 2 IKE protokola : : 45: :
97ca89a729233289875138fddcf55ecc.ppt