Komunikacijski protokoli i mree Sigurnost mree Disclaimer The
- Slides: 97
Komunikacijski protokoli i mreže Sigurnost mreže Disclaimer: The European Commission support for the production of this document does not constitute an endorsement of the contents which reflects the views only of the authors, and the Commission cannot be held responsible for any use which may be made of the information contained therein.
Sigurnost mreže Cilj predavanja: • razumjeti principe mrežne sigurnosti: • kriptografija i njene mnoge upotrebe pored osiguravanja “privatnosti” • potvrđivanje identiteta • integritet poruka • sigurnost u praksi: • firewall i sistemi za otkrivanje upada • sigurnost na aplikativnom, transportnom, mrežnom i DL sloju KPM - Sigurnost mreže 2
Sadržaj predavanja Šta je sigurnost mreže? Operativna sigurnost: firewall i IDS Principi kriptografije Integritet poruka Sigurnost bežičnih LAN Sigurnost elektroničke pošte Sigurnost TCP konekcija: SSL KPM - Sigurnost mreže 3
Šta je sigurnost mreže? Povjerljivost: samo pošiljalac i onaj kome je poruka upućena treba da “razumiju” njen sadržaj • pošiljalac šifrira poruku • primalac dešifrira poruku Integritet poruke: pošiljalac i primalac žele da budu sigurni da poruka nije izmijenjena (tokom prenosa ili kasnije), a da to nije otkriveno Potvrđivanje identiteta: pošiljalac i primalac žele da budu sigurni u identitet onog drugog Dostupnost: usluge moraju biti dostupne ovlaštenim korisnicima KPM - Sigurnost mreže 4
Prijatelji i neprijatelji: Alisa, Boris, Saša • Umjesto stranih imena koja se uglavnom koriste u (stranoj) sigurnosnoj literaturi (Alice, Bob, Trudy) • Alisa i Boris (bliski prijatelji!) žele da “sigurno” komuniciraju • Saša (uljez) može presresti, izmijeniti, obrisati i ubaciti poruku Alisa Boris kanal podaci, kontrolne poruke sigurni pošiljalac sigurni prijemnik Saša KPM - Sigurnost mreže podaci
Ko mogu biti Alisa i Boris? • … pa, pravi Alise i Borisi (ljudi)! • Web preglednici/serveri za elektroničke transakcije (npr. e-kupovina) • klijent/server e-bankarstva • DNS serveri • ruteri koji razmjenjuju ažuriranja tabela proslijeđivanja • drugi primjeri? KPM - Sigurnost mreže 6
Postoje zločesti likovi! P: Šta zlonamjernik može uraditi? O: Dosta toga! • prisluškivati: presretati poruke • aktivno ubacivati poruke u konekciju • lažno se predstavljati: može slagati (spoof) izvorišnu adresu paketa (ili bilo koje polje? ) • preotimati: “preuzeti” tekuću konekciju uklanjanjem pošiljaoca ili primaoca i ubacivanjem na njihovo mjesto • uskraćivati usluge: spriječiti korištenje usluge od strane drugih (npr. preopterećenjem resursa) KPM - Sigurnost mreže 7
Sadržaj predavanja Šta je sigurnost mreže? Operativna sigurnost: firewall i IDS Principi kriptografije Integritet poruka Sigurnost bežičnih LAN Sigurnost elektroničke pošte Sigurnost TCP konekcija: SSL KPM - Sigurnost mreže 8
Firewall firewall Odvaja internu mrežu organizacije od javnog Interneta, dozvoljavajući prolaz nekim paketima i blokirajući ostale. javni Internet unutrašnja mreža firewall KPM - Sigurnost mreže 9
Firewall: Zašto Sprečavanje napada na dostupnost usluga: • SYN flooding: napadač uspostavlja mnogo lažnih TCP konekcija, ne preostaje resursa za “prave” konekcije Sprečavanje neovlaštene izmjene/pristupa unutrašnim podacima: • npr. , napadač zamjeni početnu stranicu ETF-a sa nečim drugim Dozvoljavanje samo ovlaštenog pristupa unutrašnjoj mreži (skup korisnika i računara provjerenog identiteta) Tri tipa firewall: • filteri paketa (bez stanja) • filteri paketa sa stanjem • aplikativni (proxy) KPM - Sigurnost mreže 10
Filter paketa (bez stanja) Treba li paket koji dolazi pustiti unutra? Treba li paket koji odlazi pustiti van? • interna mreža je povezana sa Internetom preko ruter firewall • ruter filtrira paket po paket, odluka da proslijedi/odbaci paket zasnovana na: • • izvorišnoj, odredišnoj IP adresi TCP/UDP izvorišnom, odredišnom broju porta tipu ICMP poruke TCP SYN i ACK bitima KPM - Sigurnost mreže 11
Filtriranje paketa: primjer • Primjer 1: blokiraj dolazeće i odlazeće datagrame sa IP protokol poljem = 17 i sa odlaznim ili dolaznim portom = 23. • svi dolazni i odlazni UDP tokovi i telnet konekcije su blokirane • Primjer 2: Blokiraj dolazne. TCP segmente sa ACK=0. • sprečava klijente izvana da uspostavljaju TCP konekcije sa unutrašnjim klijentima, ali omogućava unutrašnjim klijentima da sa povežu sa nekim vani KPM - Sigurnost mreže 12
Filtriranje paketa: još primjera Firewall podešenje Politika Nema Web pristupa vani. Odbaci sve odlazeće pakete na bilo koju IP adresu i (odredišni) port 80 Nema TCP konekcija izvana, osim onih ka javnom Web serveru organizacije. Odbaci sve dolazeće TCP SYN pakete na bilo koju IP osim 80. 65. 71, port 80 Spriječiti Web-radije da potroše svu dostupnu propusnost. Odbaci sve dolazeće UDP pakete – osim DNS i ruter broadcast. Spriječiti da mreža bude iskorištena za smurf Do. S napad. Odbaci sve ICMP pakete za “broadcast” adresu (npr. 130. 207. 255). Spriječiti da mreža bude traceroutirana Odbaci sav odlazeći ICMP saobraćaj sa isteklim TTL KPM - Sigurnost mreže 13
Liste za kontrolu pristupa • ACL: tabela pravila, primjenjivih odozgo nadole (? ) na sve pakete koji prolaze: (akcija, uslovi) parovi akcija izvorišna adresa odredišna adresa protokol izvorišni port odredišni port flag bit dozvoli 222. 22/16 različita od 222. 22/16 TCP > 1023 80 bilo koji dozvoli različita od 222. 22/16 TCP 80 > 1023 ACK dozvoli 222. 22/16 različita od 222. 22/16 UDP > 1023 53 --- dozvoli različita od 222. 22/16 UDP 53 > 1023 ---- zabrani sve sve sve KPM - Sigurnost mreže 14
Filter paketa sa stanjem • filter paketa bez stanja: neprecizan alat • prihvata pakete “koji nemaju smisla, ” npr. , odredišni port = 80, ACK bit postavljen, iako nikakva. TCP konekcija nije uspostavljena: akcija izvorišna adresa odredišna adresa protokol izvorišni port odredišni port flag bit dozvoli različita od 222. 22/16 TCP 80 > 1023 ACK • filter paketa sa stanjem: prati status svake. TCP konekcije – prati uspostavljanje konekcije (SYN) i raskidanje (FIN): može utvrditi da li dolazeći i odlazeći paketi “imaju smisla” – timeout neaktivne konekcije na firewall: više ne prihvata pakete KPM - Sigurnost mreže 15
Filtriranje paketa sa stanjem • ACL proširen da ukaže na potrebu da se provjeri tabela stanja konekcija prije prihvatanja paketa akcija izvorišna adresa odredišna adresa protokol izvorišni port odredišni port flag bit dozvoli 222. 22/16 različita od 222. 22/16 TCP > 1023 80 bilo koji dozvoli različita od 222. 22/16 TCP 80 > 1023 ACK dozvoli 222. 22/16 različita od 222. 22/16 UDP > 1023 53 --- dozvoli različita od 222. 22/16 UDP 53 > 1023 ---- zabrani sve sve sve KPM - Sigurnost mreže provjeri konekc. x x 16
Tabela stanja konekcija • Informacije o svim aktivnim konekcijama • Dinamičko ažuriranje • Na osnovu prolaska paketa kroz FW • u realnom vremenu kako paketi prolaze. • Tabela + pravila filtriranja => odluka o propuštanju ili blokiranju paketa. Izvorišna adresa 10. 1. 1. 20 10. 1. 1. 34 Odredišna adresa 10. 34. 12. 11 10. 22. 11. 45 Izvor. port 2341 32141 KPM - Sigurnost mreže Odr. Port 80 80 Timeout (sekundi) 60 40 17
Application gateway • filtrira pakete na osnovu aplikativnih podataka, kao i po IP/TCP/UDP poljima. • primjer: omogućiti odabranim unutrašnjim korisnicima da telnet-uju vani. host-to-gateway telnet sesija application gateway-to-remote host telnet sesija ruter i filter 1. zahtjevati da svi telnet korisnici telnet kroz gateway. 2. za ovlaštene korisnike, gateway uspostavlja telnet konekciju sa odredišnim računarom. Gateway proslijeđuje podatke između dvije konekcije 3. ruter filter blokira sve telnet konekcije koje ne potiču od gateway. KPM - Sigurnost mreže 18
Ograničenja firewall-a i gateway-a • IP spoofing: ruter ne može znati da li podaci “stvarno” dolaze od navedenog izvora • ako više aplikacije trebaju poseban tretman, svaka treba i vlastiti ap. gateway. • klijentski softver mora znati kako da kontaktira • npr. mora postaviti IP adresu proxy-a u Web pregledniku • filteri često koriste politiku sve ili ništa za UDP • ravnoteža: stepen komunikacije sa vanjskim svijetom, nivo sigurnosti • mnoge dobro štićene lokacije budu (uspješno) napadnute KPM - Sigurnost mreže 19
Sistemi za otkrivanje upada • filtriranje paketa: • analizira samo TCP/IP zaglavlja • nema provjere korelacije među sesijama • IDS: intrusion detection system • deep packet inspection: gleda sadržaj paketa (npr. uporedba stringova u sadržaju paketa sa bazom poznatih virusa i napada) • provjerava korelacije među više paketa • skeniranje portova • mapiranje mreže • Do. S napad KPM - Sigurnost mreže 20
IDS • višestruki IDS-ovi: različite vrste provjere na različitim lokacijama application gateway firewall Internet interna mreža IDS senzori Web server FTP server DNS server demilitarizovana zona (DMZ) KPM - Sigurnost mreže 21
Sadržaj predavanja Šta je sigurnost mreže? Operativna sigurnost: firewall i IDS Principi kriptografije Integritet poruka Sigurnost bežičnih LAN Sigurnost elektroničke pošte Sigurnost TCP konekcija: SSL KPM - Sigurnost mreže 22
Jezik kriptografije Alisin KA ključ za šifriranje izvorni tekst (plaintext) algoritam šifriranja Borisov K B ključ za šifrirani tekst (ciphertext) (de)šifriranje algoritam dešifriranja izvorni tekst m poruka u izvornom tekstu KA(m) šifrirani tekst, šifriran sa ključem KA m = KB(KA(m)) KPM - Sigurnost mreže 23
Tipovi kriptografije • Kriptografija uglavnom koristi ključeve: • Algoritam znaju svi • Samo su “ključevi” tajni • Kriptografija sa javnim ključem • Koriste se dva ključa (javni i privatni) • Kriptografija sa simetričnim ključem • Koristi se jedan ključ • Hash funkcije • Ne koriste se ključevi • Ništa tajno: Kako to može biti korisno? KPM - Sigurnost mreže 24
Uklanjanje zaštite šifriranja • Napad samo na šifrirani tekst (Cipher-text only attack): Saša ima šifrirani tekst koji može analizirati • Dva pristupa: • Pretraga svih ključeva: mora biti u stanju razlikovati rezultirajući izvorni tekst od besmislenog • Statistička analiza • Napad sa poznatim izvornim tekstom (Known-plaintext attack): Saša ima neki izvorni tekst i odgovarajući šifrirani • Napad sa izabranim izvornim tekstom (Chosen-plaintext attack): Saša može dobiti šifrirani tekst za neki izvorni KPM - Sigurnost mreže 25
Kriptografija sa simetričnim ključem K izvorna poruka, m K S encryption algorithm šifrirani tekst K (m) S S decryption algorithm izvorna poruka m = KS(KS(m)) simetrični ključ: Boris i Alisa dijele isti (simetrični) ključ: K P: Kako se Boris i Alisa dogovor oko (vrijednosti) ključa? KPM - Sigurnost mreže 26
Dva tipa simetričnih šifratora • Protočni (stream) šifratori • Šifriraju po jedan bit • Blok šifratori • Dijele izvorni tekst poruke u blokove jednake dužine • Šifriraju svaki blok kao jedinicu šifriranja 27 KPM - Sigurnost mreže
Protočni šifratori ključ pseudo slučajni generator niza ključeva niz ključeva • Kombinuje svaki bit niza ključeva sa bitom originalnog teksta da dobije šifrirani tekst m(i) = i-ti bit poruke ks(i) = i-ti bit niza ključeva c(i) = i-ti bit šifriranog teksta c(i) = ks(i) m(i) ( = isključivo ili) m(i) = ks(i) c(i) KPM - Sigurnost mreže 28
RC 4 protočni šifrator • RC 4 je popularni protočni šifrator • • intenzivno je analiziran i smatra se dobrim ključ može biti od 1 do 256 bajta koristi se kod WEP za 802. 11 može se koristiti u SSL KPM - Sigurnost mreže 29
Blok šifratori • Poruka koja se šifrira obrađuje se u blokovima od po k bita (npr. , 64 -bitni blok). • 1 -na-1 mapiranje povezuje k-bit blok izvornog i k-bit blok šifriranog teksta Primjer sa k=3: ulaz 000 001 010 011 izlaz 110 111 100 ulaz izlaz 100 011 101 010 110 000 111 001 Kako se šifrira 010110001111 ? KPM - Sigurnost mreže 30
Šifriranje velikih poruka • Zašto jednostavno ne podijeliti poruku na 64 -bitne blokove i šifrirati svaki blok odvojeno? • ako se isti blok izvornog teksta pojavi dvaput, rezultiraće istim šifriranim tekstom • Da li bi se moglo: • • • generisati slučajni 64 -bitni broj r(i) za svaki blok izvornog teksta m(i) izračunati c(i) = KS( m(i) r(i) ) poslati c(i), r(i), i=1, 2, … kod prijemnika : m(i) = KS(c(i)) r(i) problem: neefikasno, potrebno slati c(i) i r(i) KPM - Sigurnost mreže 31
Cipher Block Chaining (CBC) • CBC generiše vlastite slučajne brojeve • neka šifriranje tekućeg bloka zavisi od rezultata šifriranja prethodnog bloka • c(i) = KS( m(i) c(i-1) ) • m(i) = KS( c(i)) c(i-1) • Kako se šifrira prvi blok? • inicijalizacijski vektor (IV): slučajan blok = c(0) • IV ne mora biti tajan • Promjena IV za svaku poruku (ili sesiju) • garantuje da će i ako se stalno šalje ista poruka, šifrirani tekst biti potpuno različit svaki put KPM - Sigurnost mreže 32
CBC • blok šifrator: ako se ulazni blok ponavlja, ponoviće se i šifrirani tekst: • uvezivanje (chaining) blok šifratora: XOR i-tog ulaznog bloka, m(i), sa prethodnim blokom šifiranog teksta, c(i-1) m c(0) se šalje prijemniku nešifriran m šta se dešava sa gornjim “HTTP/1. 1” scenariom? t=1 … t=17 m(1) = “HTTP/1. 1” blok šifrator c(1) = “k 329 a. M 02” m(17) = “HTTP/1. 1” blok šifrator c(17) = “k 329 a. M 02” m(i) c(i-1) + blok šifrator c(i) KPM - Sigurnost mreže 33
Primjer: DES: Data Encryption Standard • US standard šifriranja [NIST 1993] • 56 -bitni simetrični ključ, 64 -bitni ulazni blok izvornog teksta • Blok šifrator sa CBC • Koliko je siguran DES? • DES Challenge: fraza šifrirana 56 -bitnim ključem dešifrirana (probanjem svih kombinacija ključa) za manje od dana • nema poznatih dobrih analitičkih napada • dodatno osiguravanje DES: • 3 DES: šifriranje tri puta sa tri različita ključa (zapravo šifriranje, dešifriranje, šifriranje) KPM - Sigurnost mreže 34
AES: Advanced Encryption Standard • “novi” (XI 2001) NIST standard za simetrično šifriranje, mijenja DES • obrađuje podatke u 128 bitnim blokovima • 128, 192 ili 256 bitni ključevi • dešifriranje isprobavanjem svih ključeva (brute force) traje 149 biliona godina za AES (sa današnjim HW i SW) KPM - Sigurnost mreže 35
Kriptografija sa javnim ključem simetrična kriptografija • zahtjeva da pošiljalac i primalac znaju dijeljeni tajni ključ • P: kako se dogovoriti o ključu (pogotovo ako se nikad nisu “sreli”)? kriptografija sa javnim ključem • radikalno različit pristup [Diffie-Hellman 76, RSA 78] • pošiljalac i primalac ne dijele tajni ključ • javni ključ za šifriranje poznat svima • privatni ključ za dešifriranje poznat samo primaocu KPM - Sigurnost mreže 36
Kriptografija sa javnim ključem K + Borisov javni B ključ K - Borisov privatni B ključ izvorna poruka, m algoritam šifriranja šifrirani tekst K+(m) B KPM - Sigurnost mreže algoritam dešifriranja izvorna poruka B + B m = K (K (m)) 37
Algoritmi kriptografije sa javnim ključem Zahtjevi: 1 potrebni KB+( ) and KB-( ) takvi da KB-(KB+(m)) = m uz poznat javni ključ KB+ treba biti 2 nemoguće izračunati privatni ključ K BRSA: Rivest, Shamir, Adelman algoritam 38 KPM - Sigurnost mreže
RSA: još jedna važna osobina Slijedeća osobina je veoma korisna (primjer kasnije): - + B B K (K (m)) = m prvo se koristi javni pa privatni ključ = + K (K (m)) B B prvo se koristi privatni pa javni ključ Isti rezultat! KPM - Sigurnost mreže 39
Sesijski ključevi • Dizanje na eksponent je operacija koja traži dosta resursa (=traje) • DES je bar 100 puta brži od RSA Sesijski ključ, KS • Alisa i Boris koriste RSA da razmijene simetrični ključ KS • Kad oboje imaju KS, koriste simetričnu kriptografiju 40 KPM - Sigurnost mreže
Sadržaj predavanja Šta je sigurnost mreže? Operativna sigurnost: firewall i IDS Principi kriptografije Integritet poruka Sigurnost bežičnih LAN Sigurnost elektroničke pošte Sigurnost TCP konekcija: SSL KPM - Sigurnost mreže 41
Integritet poruka • Omogućava onim koji komuniciraju da se uvjere da su poruke autentične • • sadržaj poruke nije izmijenjen izvor poruke je onaj/ono ko primalac misli da jeste poruka nije reprodukcija stare poruke redoslijed poruka nije izmijenjen • Prvo nešto o sažetku (digest) poruke KPM - Sigurnost mreže 42
Sažetak poruke • Funkcija H( ) u koju se unosi poruka proizvoljne dužine, a čiji je izlaz string fiksne dužine: “potpis poruke” • H( ) je više-na-1 funkcija • H( ) se često naziva “hash funkcija” velika poruka m H: Hash funkcija H(m) • Poželjne osobine: • laka za računanje • nereverzibilna: ne može se utvrditi m iz H(m) • otporna na sudare (collision): računski teško proizvesti m i m’ takve da je H(m) = H(m’) • naizgled slučajan izlaz KPM - Sigurnost mreže 43
Algoritmi hash funkcija • Internet checksum ima neke osobine hash funkcije • ali za poznatu poruku i njen hash, lako je pronaći poruku koja ima isti hash • MD 5 hash funkcija se dosta koristi (RFC 1321) • računa 128 -bitni sažetak poruke u četiri koraka • SHA-1 se takođe koristi • US standard (stari) [NIST, FIPS PUB 180 -1] • 160 -bitni sažetak poruke • SHA-2 se takođe koristi • poboljšanje SHA-1 • US standard [NIST, FIPS PUB 180 -3] • 224, 256, 384, 512 -bitni sažetak poruke KPM - Sigurnost mreže 44
Message Authentication Code (MAC) s = dijeljena tajna poruka s poređenje H( ) • • • H( ) Potvrđuje identitet pošiljaoca Verificira integritet poruke Nema šifriranja! Naziva se i “hash sa ključem” (keyed hash) Notacija: MDm = H(s||m) ; šalje se m||MDm KPM - Sigurnost mreže 45
HMAC • • Popularni MAC standard Rješava neke neočigledne sigurnosne propuste 1. 2. 3. 4. dodaje tajnu na početak poruke hash-ira ovo dvoje zajedno dodaje tajnu na početak sažetka povovo hash-ira kombinaciju KPM - Sigurnost mreže 46
Potvrda identiteta krajnjih tačaka • Želimo biti sigurni u izvor poruke • Pretpostavimo da Alisa i Boris imaju dijeljenu tajnu, da li će MAC ovo omogućiti • znamo da je Alisa napravila poruku • ali, da li je ona poslala? KPM - Sigurnost mreže 47
Napad reprodukcijom (playback) MAC = f(msg, s) prebaci 1 M KM od Alise Saši MAC prebaci 1 M KM od Alise Saši KPM - Sigurnost mreže MAC 48
Odbrana od napada reprodukcijom - nonce Nonce: broj (R) korišten samo jednom-u-životu “Ja sam Alisa” R MAC = f(msg, s, R) prebaci 1 M KM od Alise Saši MAC KPM - Sigurnost mreže 49
Digitalni potpisi Kriptografska tehnika analogna svojeručnom potpisu • pošiljalac (Boris) digitalno potpisuje dokument, potvrđuje da je vlasnik/autor dokumenta • cilj je sličan kao kod MAC, samo se sad koristi kriptografija sa javnim ključem • provjeriv, ne može se falsifikovati: primalac (Alisa) može nekome dokazati da mora da je Boris, i niko drugi (uključujući i Alisu), potpisao dokument KPM - Sigurnost mreže 50
Digitalni potpis = potpisan sažetak poruke Alisa verificira potpis i integritet digitalno potpisane poruke: Boris šalje digitalno potpisanu poruku: velika poruka m H: Hash funkcija Borisov privatni ključ K B + šifrirani sažetak KB(H(m)) H(m) digitalni potpis (šifriranje) velika poruka m šifriran sažetak KB(H(m)) H: Hash funkcija Šalje se (nešifrirana) poruka i njen šifrirani sažetak KPM - Sigurnost mreže Borisov javni ključ K + B digitalni potpis (dešifrir. ) H(m) isti ? 51
Digitalni potpisi - provjera • Neka je Alisa primila poruku m i digitalni potpis KB-(H(m)) • Alisa verificira m potpisan od Borisa koristeći Borisov javni ključ KB+ na KB-(H(m)) i provjerava KB+(KB-(H(m)) ) = H(m). • Ako je KB+(KB-(H(m)) ) = H(m), ko god da je potpisao poruku morao je koristiti Borisov privatni ključ Alisa tako potvrđuje: ü Boris je potpisao m. ü Niko drugi nije potpisao m. ü Boris je potpisao m a ne m’. Neporicanje (non-repudiation): ü Alisa može za poruku m i potpis KB-(H(m)) na sudu dokazati da je Boris potpisao m. 52 KPM - Sigurnost mreže
Certifikacija javnih ključeva • Motivacija: Saša se “našali” sa Borisom • Saša napravi narudžbu e-poštom: Draga Prodavnice pizza, molim te pošalji mi četiri ljute pizze. Hvala, Boris • Saša potpisuje narudžbu svojim privatnim ključem • Saša šalje narudžbu Prodavnici pizza • Saša šalje Prodavnici pizza i svoj javni ključ, ali kaže da je to Borisov javni ključ • Prodavnica pizza provjerava potpis; i isporučuje četiri ljute pizze Borisu • Boris uopšte ne voli ljute pizze KPM - Sigurnost mreže 53
Certifikacijske ustanove • Certification authority (CA): povezuje javni ključ sa određenim entitetom, E • E (osoba, uređaj, softver) registruje svoj javni ključ kod CA. • E pruža “dokaz identiteta” CA • CA pravi certifikat koji povezuje E i njegov javni ključ • certifikat sadrži E-ov javni ključ digitalno potpisan od CA – CA kaže“ovo je E-ov javni ključ” Borisov javni + ključ K B Borisove identifikacijske informacije digitalni potpis (šifriranje) CA privatni K ključ CA KPM - Sigurnost mreže K + B certifikat za Borisov javni ključ, potpisan od CA 54
Certifikacijske ustanove • Kad Alisi treba Borisov javni ključ: • nabavlja Borisov certifikat (od njega ili drugdje) • koristi CA javni ključ nad Borisovim certifikatom i dobija Borisov javni ključ + K B digitalni potpis (dešifr. ) CA javni ključ K + B Borisov javni ključ K+ CA KPM - Sigurnost mreže 55
Certifikati: rezime • Primarni standard X. 509 (RFC 2459) • Certifikat sadrži: • • Naziv izdavača Ime entiteta, adresa, naziv domena, . . . Javni ključ entiteta Digitalni potpis (potpisan privatnim ključem izdavača) • Infrastruktura javnih ključeva (PKI) • Certifikati certifikacijske ustanove • Često se smatra “teškim” KPM - Sigurnost mreže 56
Sadržaj predavanja Šta je sigurnost mreže? Operativna sigurnost: firewall i IDS Principi kriptografije Integritet poruka Sigurnost bežičnih LAN Sigurnost elektroničke pošte Sigurnost TCP konekcija: SSL KPM - Sigurnost mreže 57
Ciljevi WEP dizajna • Simetrična kriptografija • povjerljivost • ovlaštenje stanica • integritet podataka • Samo sinhronizirajući: svaki paket se posebno šifrira • moguće ja dešifrovati ako se ima šifrirani paket i ključ; dešifrovanje se može nastaviti iako je prethodni paket izgubljen • različito od Cipher Block Chaining (CBC) kod blok šifratora • Efikasan • Može se izvesti u hardveru ili softveru KPM - Sigurnost mreže 58
Protočni šifratori i nezavisnost paketa • WEP koristi RC 4 • Podsjećanje na ciljeve dizajna: svaki paket se nezavisno šifrira • Ako se za okvir n+1, koristi niz ključeva od tačke gdje se stalo za okvir n, onda nije svaki okvir odvojeno šifriran • potrebno je znati gdje se stalo za okvir n • WEP pristup: inicijalizacija niza ključeva sa ključ + novi IV za svaki paket: ključ+IVpaket generator niza ključeva KPM - Sigurnost mreže niz ključevapaket 59
WEP šifriranje (1) • Pošiljalac izračuna Integrity Check Value (ICV) za podatke • četvero bajtni hash/CRC za integritet podataka • Svaka strana ima 104 -bitni dijeljeni ključ • Pošiljalac pravi 24 -bitni inicijalizacijski vektor (IV), dodaje ga ključu: rezultat je 128 -bitni ključ • Pošiljalac dodaje i key. ID (u 8 -bitnom polju) • 128 -bitni ključ je ulaz u pseudo slučajni generator brojeva koji generiše niz ključeva (keystream) • podaci u okviru + ICV šifirirani sa RC 4: • bajti niza ključeva XOR sa bajtima podataka i ICV • IV i key. ID se dodaju šifriranim podacima i čine sadržaj paketa šifrirano • Ovaj sadržaj se ubacuje u 802. 11 okvir Key IV podaci ICV ID MAC sadržaj KPM - Sigurnost mreže 60
WEP šifriranje (2) Novi IV za svaki okvir 61 KPM - Sigurnost mreže
WEP deširiranje IV Key ID šifrirano podaci ICV MAC sadržaj • Prijemnik izdvaja IV • Ubacuje IV i dijeljeni tajni ključ u generator pseudo slučajnih brojeva, dobiva niz ključeva • XOR-uje niz ključeva sa šifriranim podacima da dešifruje podatke + ICV • Potvrđuje integritet podataka sa ICV • Drugačiji pristup integritetu nego kod MAC (message authentication code) ili potpisa (koristeći PKI). KPM - Sigurnost mreže 62
Potvrda identiteta krajnjih tačaka sa nonce Kako: da dokaže da je Alisa “živa”, Boris šalje Alisi nonce, R. Alisa mora vratiti R, šifrirano dijeljenim tajnim ključem “Ja sam Alisa” R KA-B(R) KPM - Sigurnost mreže Alisa je živa i samo Alisa zna ključ da šifrira nonce, tako da mora da je to Alisa! 63
WEP potvrđivanje identiteta Ne rade sve AP, čak i kad se koristi WEP. AP u okviru najave (beacon ) obavijesti da li je potvrda identiteta neophodna. Radi se prije asocijacije. Zahtjev za potvrdu identiteta nonce (128 bajta) nonce šifriran dijeljenim ključem uspješan zahtjev, ako je dešifrovana vrijednost jednaka nonce 64 KPM - Sigurnost mreže AP
Uklanjanje 802. 11 WEP šifriranja sigurnosna rupa: • 24 -bitni IV, jedan IV po okviru -> IV se počnu ponavljati • IV se šalje nešifriran -> otkriva se ponovljeni IV • napad: • • • Saša navede Alisu da šifrira poznati tekst d 1 d 2 d 3 … Saša vidi: ci = di XOR ki. IV Saša zna ci di, pa može izračunati ki. IV Saša zna niz ključeva za šifriranje k 1 IV k 2 IV k 3 IV … Slijedeći put kad se IV korist, Saša može dešifrovati! KPM - Sigurnost mreže 65
802. 11 i: poboljšana sigurnost • brojni (jači) oblici šifriranja su mogući • omogućava distribuciju ključeva • koristi server za potvrđivanje identiteta odvojen od pristupne tačke (AP) KPM - Sigurnost mreže 66
802. 11 i: četiri faze rada AP: pristupna tačka STA: klijentska stanica žičana mreža AS: server za potvrđivanje identiteta 1 Otkrivanje sigurnosnih mogućnosti 2 STA i AS uzajamno potvrđuju identitet, zajedno prave Master Key (MK). AP služi kao “veza” 3 STA računa Pairwise Master Key (PMK) 4 3 AS računa isti PMK, šalje ga AP-u STA i AP koriste PMK da izračunaju Temporal Key (TK) koji se koristi za šifriranje i integritet poruka KPM - Sigurnost mreže 67
EAP: extensible authentication protocol • EAP: protokol od jednog do drugog kraja (endend) da klijent (mobilni) potvrdi identitet serveru • EAP se šalje po odvojenim “vezama” • mobilni-do-AP (EAP preko LAN) • AP do servera za potvrdu identiteta (RADIUS po UDP) žičana mreža EAP TLS EAP RADIUS EAP over LAN (EAPo. L) IEEE 802. 11 UDP/IP KPM - Sigurnost mreže 68
Sadržaj predavanja Šta je sigurnost mreže? Operativna sigurnost: firewall i IDS Principi kriptografije Integritet poruka Sigurnost bežičnih LAN Sigurnost elektroničke pošte Sigurnost TCP konekcija: TLS/SSL KPM - Sigurnost mreže 69
Sigurna elektronička pošta • Alisa želi poslati povjerljivu e-poštu, m, Borisu. KS m KS K ( ). KS(m ) S . + KB ( ) KB+ + Internet + KB(KS ) Alisa: • napravi slučajan simetrični privatni ključ, KS. • šifrira poruku sa KS (radi efikasnosti) • takođe šifrira KS sa Borisovim javnim ključem. • šalje i KS(m) i KB(KS) Borisu. KPM - Sigurnost mreže 70
Sigurna elektronička pošta • Alisa želi poslati povjerljivu e-poštu, m, Borisu. KS m KS K ( ). . KS(m ) KS ( ) S . + KB ( ) KB+ + - Internet + KB(KS ) KS m . KB ( ) KB- Boris: • koristi svoj privatni ključ da dešifruje KS • koristi KS da dešifruje KS(m) i pročita m KPM - Sigurnost mreže 71
Sigurna elektronička pošta (2) • Alisa želi da omogući potvrdu identiteta pošiljaoca i i inetegritet poruke m . H( ) KA- . KA( ) KA(H(m)) + Internet m - KA+ . + KA( ) H(m ) uporedi m . H( ) H(m ) • Alisa digitalno potpisuje poruku • šalje i poruku (nešifriranu) i digitalni potpis KPM - Sigurnost mreže 72
Sigurna elektronička pošta (2) • Alisa želi da omogući tajnost, potvrdu identiteta pošiljaoca i integritet poruke m . H( ) KA- . KA( ) KA(H(m)) + m KS KS ( ) . + KB ( ) Alisa koristi tri ključa: KB+ svoj privatni, novo napravljeni simetrični ključ i Borisov javni + Internet + KB(KS ) KPM - Sigurnost mreže 73
Sadržaj predavanja Šta je sigurnost mreže? Operativna sigurnost: firewall i IDS Principi kriptografije Integritet poruka Sigurnost bežičnih LAN Sigurnost elektroničke pošte Sigurnost TCP konekcija: SSL KPM - Sigurnost mreže 74
SSL: Secure Sockets Layer • Originalni ciljevi: • Široko korišten sigurnosni protokol • podržavaju ga (skoro) svi Web preglednici i serveri • https • Desetine milijardi $ troše se godišnje preko SSL • Originalno dizajnirao Netscape 1993. • Više verzija: • TLS: transport layer security, RFC 2246 • Omogućavanje Web trgovinskih transakcija • Šifriranje (posebno brojeva kreditnih kartica) • Potvrda identiteta Web servera • Opcionalno provjera identiteta klijenta • Minimalni napor pri poslovanju sa novim trgovcem • Dostupan svim. TCP aplikacijama • Secure socket interfejs • Povjerljivost • Integritet • Potvrdu identiteta KPM - Sigurnost mreže 75
SSL i TCP/IP Aplikacije SSL TCP IP IP Normalne apilikacije Aplikacije sa SSL • SSL nudi aplikacijama API • C i Java SSL biblioteke/klase dostupne KPM - Sigurnost mreže 76
Može se napraviti nešto kao e-pošta: m . H( ) KA- . KA( ) KA(H(m)) + . KS( ) m KS KS . + KB ( ) KB+ + Internet + KB(KS ) • Ali žele se slati nizovi bita i interaktivni podaci • Želi se jedan skup tajnih ključeva za kompletnu konekciju • Želi se dio protokola koji omogućava razmjenu cerifikata: faza rukovanja (handshake) KPM - Sigurnost mreže 77
Skoro SSL: jednostavan siguran kanal • Rukovanje (handshake): Alisa i Boris koriste svoje certifikate i privatne ključeve da uzajamno potvrde identitete i razmjene dijeljenu tajnu • Računanje ključa: Alisa i Boris koriste dijeljenu tajnu da izračunaju skup ključeva • Prenos podataka: Podaci koji se prenose dijele se u niz zapisa • Zatvaranje konekcije: Posebne poruke bezbjedno zatvaraju konekciju KPM - Sigurnost mreže 78
Skoro SSL: Jednostavno rukovanje zdravo certifikat KB +(MS) = EMS • MS = glavna tajna (master secret) • EMS = šifrirana glavna tajna (encrypted MS) KPM - Sigurnost mreže 79
Skoro SSL: Računanje ključa • Korištenje istog ključa za više od jedne kriptografske operacije smatra se lošim • koristiti različite ključeve za MAC i šifriranje • Četiri ključa: • • Kc = ključ za šifriranje podataka klijent -> server Mc = MAC ključ za podatke klijent -> server Ks = ključ za šifriranje podataka server -> klijent Ms = MAC ključ za podatke server -> klijent • Ključevi se računaju iz funkcije za računanje ključeva (KDF) • na osnovu glavne tajne i (moguće) nekih dodatnih slučajnih podataka pravi ključeve KPM - Sigurnost mreže 80
Skoro SSL: Zapisi podataka • Zašto ne šifrirati podatke kao stalni tok (stream) dok se predaju TCP-u? • Gdje staviti MAC? Ako je na kraju, nema provjere integriteta dok se ne obrade svi podaci. • Umjesto ovog, tok se razbija u niz zapisa • Svaki zapis ima svoj MAC • Prijemnik može reagovati na svaki zapis kako stiže • Pitanje: u zapisu, prijemnik treba razlikovati MAC od podataka • žele se koristiti zapisi promjenljive dužina podaci KPM - Sigurnost mreže MAC 81
Skoro SSL: redni brojevi • Napadač može presresti i reprodukovati zapise ili im izmjeniti redoslijed • Rješenje: staviti redne brojeve u MAC: • MAC = MAC(Mx, redni broj||podaci) • Napomena: nema polja za redne brojeve • Napadač i dalje može reprodukovati sve zapise • koristiti slučajni nonce KPM - Sigurnost mreže 82
Skoro SSL: Kontrolne informacije • Napad skraćivanjem (truncation): • napadač ubacuje segment za zatvaranje. TCP konekcije • jedna ili obje strane misle da ima manje podatake nego što ih stvarno ima. • Rješenje: tipovi zapisa, sa jednim tipom za zatvaranje • tip 0 za podatke; tip 1 za zatvaranje • MAC = MAC(Mx, redni broj||tip||podaci) dužina tip podaci KPM - Sigurnost mreže MAC 83
Skoro SSL: pregled zdravo certifikat, nonce KB +(MS) = EMS tip 0, red. br. 1, podaci šifrirano tip 0, red. br. 2, podaci Boris. com. ba odaci . 1, p tip 0, red. br. 3, podaci tip 1, red. br. 4, podaci tip 1, red. br. 2, z atvori KPM - Sigurnost mreže 84
Skoro SSL nije potpun • Koliko su polja dugačka? • Koji protokoli se koriste za šifriranje? • Nema pregovaranja • da omogući da klijent i server imaju podršku za različite protokole • da omogući da klijent i server zajednički izaberu određeni algoritam prije prenosa podataka KPM - Sigurnost mreže 85
Najčešći simetrični šifratori u SSL • AES – Advanced Encryption Standard: blok • DES – Data Encryption Standard: blok • 3 DES – Trostruke snage (? ): blok • RC 2 – Rivest Cipher 2: blok • RC 4 – Rivest Cipher 4: protočni Šifriranje javnim ključem • RSA KPM - Sigurnost mreže 86
SSL komplet šifratora • Komplet šifratora (Cipher Suite) • Algoritam sa javnim ključem • Simetrični algoritam šifriranja • MAC algoritam • SSL podržava razne komplete šifratora • Pregovaranje: klijent i server moraju se složiti oko kompleta šifratora • Klijent ponudi izbor; server bira jedan KPM - Sigurnost mreže 87
Pravi SSL: Rukovanje (1) Namjena 1. Potvrda identiteta servera 2. Pregovori: dogovor oko kriptografskih algoritama 3. Uspostavljanje ključeva 4. Potvrda identiteta klijenta (opcionalno) KPM - Sigurnost mreže 88
Pravi SSL: Rukovanje (2) 1. Klijent šalje spisak algoritama koje podržava, zajedno sa klijentskim nonce 2. Server bira algoritam sa spiska; nazad šalje: izbor + cerifikat + serverski nonce 3. Klijent verificira certifikat, izvlači iz njega javni ključ servera, pravi pre_master_secret, šifrira je serverovim javnim ključem i šalje serveru 4. Klijent i server, nezavisno, računaju ključeve za MAC i šifriranje iz pre_master_secret i nonce-va 5. Klijent šalje MAC svih poruka rukovanja 6. Server šalje MAC svih poruka rukovanja KPM - Sigurnost mreže 89
Pravi SSL: Rukovanje (3) Posljednja dva koraka štite rukovanje od “ometanja” • Obično klijent ponudi više algoritama, neke jače, neke slabije • Man-in-the middle bi mogao obrisati jače algoritme sa spiska • Posljednja dva koraka ovo sprečavaju • Posljednje dvije poruke su šifrirane KPM - Sigurnost mreže 90
Pravi SSL: Rukovanje (4) • Zašto dva slučajna nonce-a? • Pretpostavimo da Saša prisluškuje sve poruke između Alise i Borisa • Kasnije, Saša uspostavi TCP konekciju sa Borisom, pošalje identičan niz zapisa • Boris (Amazon) misli da je Alisa napravila dvije odvojene narudžbe iste stvari • Rješenje: Boris šalje različiti nonce za svaku konekciju, pa su ključevi za šifriranje svaki put različiti • Sašine poruke neće proći provjeru integriteta kod Borisa KPM - Sigurnost mreže 91
Protokol SSL zapisa podaci fragment podataka zaglavlje zapisa šifrirani podaci i MAC fragment podataka MAC zaglavlje zapisa MAC šifrirani podaci i MAC zaglavlje zapisa: tip sadržaja; verzija; dužina MAC: uključuje redne brojeve, MAC ključ Mx fragment: svaki SSL fragment 214 bajta (~16 Kbajta) KPM - Sigurnost mreže 92
Format SSL zapisa 1 bajt tip sadržaja 2 bajta 3 bajta SSL verzija dužina podaci MAC Podaci i MAC su šifrirani (simetričnim algoritmom) KPM - Sigurnost mreže 93
rukovanje: Client. Hello Prava konekcija rver. Hello rukovanje: Se rtificate rukovanje: Ce llo. Done rver. He rukovanje: Se rukovanje: Client. Ke y. Exchange Change. Cipher. Sp ec rukovanje: Finished Sve od ovih tačaka je šifrirano ec Change. Cipher. Sp inished F rukovanje: application_data ta application_da slijedi TCP Fin Alert: warning, close_no tify KPM - Sigurnost mreže 94
Računanje ključeva • Klijentski nonce, serverski nonce i pre-master secret unose se u generator pseudo slučajnih brojeva • rezultat je glavna tajna • Glavna tajna i novi nonce-ovi se unose u drugi generator slučajnih: “ključ blok” • Ključ blok se malo ispretura i izbaci : • • • klijent MAC ključ server MAC ključ klijent ključ za šifriranje server ključ za šifriranje klijent inicijalizacijski vektor (IV) za blok šifratore CBC server inicijalizacijski vektor (IV) za blok šifratore CBC KPM - Sigurnost mreže 95
Napomena • Dio slajdova zasnovan na slajdovima J. Kurose, K. Ross, “Computer Networking: A Top-Down Approach” KPM - Sigurnost mreže 96
Literatura • J. Kurose, K. Ross, “Computer Networking“, poglavlje 8 “Security in Computer Networks” KPM - Sigurnost mreže 97
- Mrezni protokoli
- Jezik mreže protokoli
- Aida model for coca cola
- Komunikacijski proces
- Komunikacijski kvadrat
- Komunikacija i vrste komunikacije
- Komunikacijski proces
- Uprava za veterinarstvo i sigurnost hrane
- Sigurnost na internetu prezentacija
- Sigurnost na internetu prezentacija
- Sigurnost djece na internetu prezentacija
- Sigurnost na internetu prezentacija
- Sigurnost na internetu kviz
- Bài hát chúa yêu trần thế alleluia
- Khi nào hổ con có thể sống độc lập
- đại từ thay thế
- Vẽ hình chiếu vuông góc của vật thể sau
- Công thức tiính động năng
- Tỉ lệ cơ thể trẻ em
- Thế nào là mạng điện lắp đặt kiểu nổi
- Dot
- Lời thề hippocrates
- Vẽ hình chiếu đứng bằng cạnh của vật thể
- Quá trình desamine hóa có thể tạo ra
- độ dài liên kết
- Môn thể thao bắt đầu bằng từ chạy
- Khi nào hổ con có thể sống độc lập
- Hát kết hợp bộ gõ cơ thể
- điện thế nghỉ
- Nguyên nhân của sự mỏi cơ sinh 8
- Trời xanh đây là của chúng ta thể thơ
- Gấu đi như thế nào
- Thiếu nhi thế giới liên hoan
- Tia chieu sa te
- Một số thể thơ truyền thống
- Các châu lục và đại dương trên thế giới
- Thế nào là hệ số cao nhất
- Hệ hô hấp
- Số.nguyên tố
- Ng-html
- Tư thế ngồi viết
- đặc điểm cơ thể của người tối cổ
- Mật thư tọa độ 5x5
- Tư thế worm breton
- ưu thế lai là gì
- Thẻ vin
- Bàn tay mà dây bẩn
- Thể thơ truyền thống
- Các châu lục và đại dương trên thế giới
- Bổ thể
- Từ ngữ thể hiện lòng nhân hậu
- Tư thế ngồi viết
- Diễn thế sinh thái là
- V. c c
- Phép trừ bù
- Ethical hacking disclaimer
- Promotion disclaimer examples
- All opinions expressed disclaimer
- Disclaimer primjer
- Disclaimer short form
- Mutual funds disclaimer
- Disclaimer the views expressed
- Disclaimer prodotto
- Views expressed disclaimer example
- Survey disclaimer example
- For discussion purposes only
- Disclaimer for training material
- Advanced xss
- Menu subject to change disclaimer
- Economics systems
- Color disclaimer examples
- Disclaimer
- The views expressed disclaimer
- Disclaimer for interview
- Activity disclaimer
- Bowed string instrument
- Informay
- Kellar
- Naughty coupons
- Forecast disclaimer
- Disclaimer prodotto
- Disclaimer i am not an expert
- Polycom vsx 8000 price
- Disclaimer for training material
- For discussion purposes only disclaimer
- Disclaimer presentation
- Disclaimer for sensitive content
- Menu subject to change disclaimer
- Views disclaimer
- Confidentiality disclaimer presentation
- Ethical hacking disclaimer
- Ppt disclaimer
- Views expressed disclaimer
- Forward-looking statement disclaimer example
- Disclaimer trust diagram
- Bina ayat kerjasama
- Disclaimer primjer
- Experiment disclaimer