Komunikacijski protokoli i mree Sigurnost mree Disclaimer The

  • Slides: 97
Download presentation
Komunikacijski protokoli i mreže Sigurnost mreže Disclaimer: The European Commission support for the production

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

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

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

Š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

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)!

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

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 •

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

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

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

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

Š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

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:

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

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

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

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

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

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): - +

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) •

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

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

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

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

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( ) •

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.

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

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

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

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

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:

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

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

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 •

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

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: • •

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

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

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

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

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 š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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 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( )

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

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

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

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

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

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.

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.

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

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

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 •

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

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

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

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

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

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

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

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

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

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”

Literatura • J. Kurose, K. Ross, “Computer Networking“, poglavlje 8 “Security in Computer Networks” KPM - Sigurnost mreže 97