1 / 24

Računarske mreže

Računarske mreže. Protokoli za utvrdjivanje identiteta (autentifikaciju). Protokoli za autentifikaciju. Autentifikacija je tehnika pomo ć u koje proces verifikuje da je njegov komunikacioni partner zaista onaj koji treba da bude, a ne neki la ž ni.

alexis
Download Presentation

Računarske mreže

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

E N D

Presentation Transcript


  1. Računarske mreže Protokoli za utvrdjivanje identiteta (autentifikaciju)

  2. Protokoli za autentifikaciju • Autentifikacija je tehnika pomoću koje proces verifikuje da je njegov komunikacioni partner zaista onaj koji treba dabude, a ne neki lažni. • Proces dokazivanja autentičnosti je veoma složen i zahteva veoma kompleksne protokole zasnovane na kriptografiji • Ne treba mešati pojmove autentifikacije i autorizovanosti. • Autentifikacija je proces dokazivanja verodostojnosti procesa ili osobe. • Autorizovanost znači pravo pristupa, tj. pravo da se učini nešto

  3. Opšti model koji svi protokoli za autentifikaciju koriste je sledeći: • Inicirajući korisnik (realno, proces) recimo, Alisa, želi da uspostavi bezbedni komunikacioni kanal sa drugim korisnikom, Bobom. Bob je bankar sa kojim Alisa želi da posluje. • Alisa otpočinje komunikaciju tako što šalje poruku Bobu ili poverljivom centru za distribuciju ključeva (KDC), koji je uvek pošten. • Zatim sledi razmena poruka u oba smera • Dok se poruke razmenjuju zlošesti uljez, Trudy, može presresti, modifikovati ili odgovoriti na poruke da bi prevarila Alisu i Boba. • Ipak, kada se protokol za autentifikaciju okonča Alisa je sigurna da razgovara sa Bobom i Bob sa Alisom.

  4. Autentifikacija zasnovana na zajedničkom tajnom ključu • Pretpostavimo da Alisa i Bob već poseduju zajednički tajni ključ, KAB. • Protokol funkcioniše na sledći način: • Jedna strana šalje drugoj slučajno odabrani broj, koja ga zatim transformiše na specifičan način i vraća rezultat. • Ovakvi protokoli poznati su pod nazivom challenge-response (izazov-odgovor) protokoli • Koristićemo sledeće oznake: • A, B - oznake za Alisu i Boba • Ri su izazovi, pri čemu i označava onog ko šalje izazov • Ki su ključevi, gde i označava valsnika • Ks ključ za sesiju

  5. Autentifikacija zasnovana na zajedničkom tajnom ključu

  6. Autentifikacija zasnovana na zajedničkom tajnom ključu • U poruci 1, Alisa šalje svoj identitet, A, Bobu. Bob naravno ne može znati da li je to stvarno Alisa ili uljez, Trudy; • Bob bira veliki slučajni broj RB i šalje ga u poruci 2 Alisi (ova poruka je izazov). • Alisa šifrira RB pomoću ključa koji deli sa Bbom, KAB, i šalje šifrirani tekst KAB(RB) u poruci 3 (odgovor) Bobu. • Kada Bob vidi ovu poruku on zna da ona zaista potiče od Alise, jer Trudy ne zna tajni ključ KAB. • Za sada je samo Bob siguran da razgovara sa Alisom, ali Alisa nije sigurna da razgovara sa Bobom. • Zato sada Alisa šalje izazov RA, Bobu u poruci 4. • Bob šifrira RA zajedničkim tajnim ključm KAB i šalje odgovor Alisi u poruci 5. • Kada primi ovu poruku i Alisa je sigurna da razgovara sa Bobom.

  7. Autentifikacija zasnovana na zajedničkom tajnom ključu • Ako nakon uspešne identifikacije Alisa i Bob žele da uspostave poseban ključ za šifriranje samo za tekuću konekciju (sesiju), Alisa može da odabere novi ključ KS i da ga šifrira sa KAB(KS) i pošalje Bobu. • Iza toga se u komunikaciji za šifriranje koristi ključ KS.

  8. Uspostavljanje deljivog ključa: Diffie-Hellmanov protokol • Ovaj protokol omogućava da se generiše (uspostavi) zajednički tajni ključ. • Generisanje zajedničkog tajnog ključa: • Osobe koje žele da generišu zajednički tajni ključ (Alisa i Bob) izaberu dva velika prosta broja n i g takve da za njih važi da su (n-1)/2 i (g-1)/2 takodje prosti brojevi • Alisa bira veliki broj, recimo x, i čuva ga kao tajni; • Slično, Bob bira y i čuva ga kao tajni • Alisa inicira protokol za razmenu ključa tako što šalje Bobu poruku koja sadrži • Bob odgovara tako što šalje poruku koja sadrži

  9. Uspostavljanje deljivog ključa: Diffie-Hellmanov protokol • Alisa primljeni broj stepenuje na x po modulu n, tj. • Bob slično radi sa koji je dobio od Alise, tj • Po zkonu moduo aritmetike oba izračunavanja daće isti rezultat, tj • Koji predstavlja tajni kluč

  10. Uspostavljanje deljivog ključa: Diffie-Hellmanov protokol

  11. Šta može da uradi Trudy? • Trudy može da vidi obe poruke koje su razmenjene. • Trudy znag,nigxmodniz prve porukeigymodnizdruge poruke; • ako bi mogla da na osnovu toga izračunaxiy, mogla bi da otkrijetajni ključ; • Problem je u tome što ne postoji ni jedan algoritam koji bi mogao da odredixna osnovugxmodn.

  12. PRIMER: • Neka je n=47, g=3; • Neka Alisa odabere x=8, a Bob y=10. • Alisa {alje (47, 3, 28), jer je 38mod47=28; • Bob {alje Alisi 310mod47=17 • Alisa ra~una 178mod47=4 • Bob ra~una 2810mod47=4 Alisa i Bob su nezavisno odredili tajni klju~ 4

  13. Problem ipak postoji • kada Bob primi trojku (47,3,28) kako zna da je nju poslala Alisa a ne Trudy? • Nažalost, ne postoji način da se to otkrije! • Trudy može iskoristiti ovo da prevari i Alisu i Boba • Dok Alisa i Bob biraju svoje brojeve x i y, Trudy može odabrati svoj broj z. • Alisa šalje poruku 1 Bobu, koju Trudi presreće i zadržava, a Bobu šalje poruku 2 koja sadrži korektne n i g, ali sa svojim z umesto x; (tj. umesto gxmodnšalje gzmodn). • Trudy šalje poruku 3 Alisi koja sadrži gzmodn. • Kasnije Bob šalje poruku 4 Alisi koju Trudy ponovo presreće izadržava; • Sada svi obavljju izračunavanja: • Alisa izračunava tajni ključ kao gxzmodn, što šini i Trudy za poruku primljenu od Alise • Bob računa gyzmodn i Trudy za poruku primljenu od Boba • Na ovaj način Alisa i Bob su ustanovili tajni ključ sa Trudy. Sada sva komunikacija ide preko Trudy koja poruke može modifikovati, ako želi, i poslati Alisi ili Bobu • Ova vrsta napada poznata je pod imenom • (wo)man-in-the-middle attack

  14. (wo)man-in-the-middle attack

  15. Autentifikacija korišćenjem centra za distribuciju ključeva (KDC) • Druga mogćnost za uspostavljanje tajnog ključa je korišćenje KDC. • U ovom modelu svaki korisnik ima ključ koji deli samo sa KDC; • Autentifikacija i uspostavljanje ključa za sesiju sa drugim korisnikom ide preko KDC

  16. Autentifikacija korišćenjem kriptografije sa javnim ključem • Pretpostavimo da Alisa i Bob znaju javne ključeve jedno drugog; • Oni žele da uspostave sesiju a zatim da koriste šifriranje sa tajnim ključem za tu sesiju jer je ona 100 do 1000 puta brža od kriptografije sa javnim ključem; • Svrha inicijalne razmene je da se izvrši autentifikacija i dogovori tajni ključ za dalju komunikaciju

  17. Autentifikacija korišćenjem kriptografije sa javnim ključem

  18. Šta ovde može da pokuša da uradi Trudy? • Trudy može da generiše poruku 1 i pokuša da prevari Boba da je ona Alisa; • Kada Alisa primi RA, ona zna da ga ona nije generisala i odbiće zahtev • Trudy ne može falsifikovati poruku 3 (koja bi trbalo da bude Alisin odgovor Bobu) jer ona ne zna RB ili KS koje ne može odrediti bez Alisinog tajnog ključa.

  19. SSL - Secure Socket Layer • Kada se web pojavio uglavnom se koristio za distribuciju statičkih dokumenata • Danas se web koristi u finansijskim transakcijama • U takvim uslovima javila se potreba za bezbednim komunikacionim kanalom izmedju dva socket-a • SSL (Secure Socket Layer) protokolkoji je razvila firma Netscape, je trenutno najčešće korišćen metod za obavljanje sigurnih transakcija na mreži • Podržava ga većina Web servera kao i klijenata uključujući Microsoft Internet Explorer i Netscape Navigator • SSL uspostavlja bezbedan komunikacioni kanal i omogućava • Pregovaranje parametara izmedju klijenta i servera • Uzajamno utvrdjivanje identiteta klijenta i servera • Očuvanje tajnosti podataka • Očuvanja integriteta podataka korišćenjem kombinacije šifrovanja javnim ključem, simetričnog šifrovanja, digitalnih sertifikata

  20. Mesto SSL protokola u protokol steku • Kada se protokol HTTP koristi preko SSL-a tada se on naziva Secure HTTP – HTTPS (mada nema nikakvih promena u HTTP) • Standardni port HTTP-a je 80, HTTPS može da koristi port 443 • SSL nije namenjen samo za web aplikacije, ali se tu najčešće koristi • SSL se sastoji od dva podprotokola • Protokol za uspostavljanje bezbedne konekcije • Protokol koji koristi bezbednu konekciju za prenos podataka

  21. SSL za uspostavljanje bezbednog kanala klijent server

  22. SSL za uspostavljanje bezbednog kanala (nast.) • Klijent (Alisa) šalje zahtev serveru za uspostavljanjem konekcije • Navodi verzije SSL protokola koje podržava, algoritme za šifriranje koje podržava i jedan broj (izazov) RA koji će se kasnije koristiti • Server odgovara koja verzija SSL će se koristiti, koji algoritam šifriranja i šalje izazov RB • Bira se najviša verzija koju podržavaju i klijent i server i najjači algoritam šifriranja • Server šalje svoj sertifikat sa svojim javnim ključem • Ako sertifikat nije potpisan od strane dobro-poznatog srtifikatora, server šalje lanac sertifikata koji se može slediti da verifikuje sertifikator • Svi browseri poseduju javne ključevo 100 sertifikatora, pa ako se u lancu sertifikatora koje šalje server nalazi neki koji je povezan sa nekim od javnih ključeva, klijent može da verifikuje serverov javni ključ • U ovoj poruci server može zahtevati sertifikat klijenta

  23. SSL za uspostavljanje bezbednog kanala (nast.) • Server obaveštava da je okončao sa slanjem svojih podataka • Klijent odgovara slanjem 384-bitnog predključa šifriranog serverovim javnim ključem, na osnovu kojeg će obe strane izračunati tajni ključ koji će se koristiti za šifriranje podataka • Tajni ključ se izračunava kompleksnim transformacijama korišćenjem ovog ključa i RA i RB koji su razmenjeni • Klijent obaveštava da se predje na šifriranje sa ustanovljenim ključem • Klijent obaveštava da je okončo sa procedurom uspostavljanja veze • Server obaveštava da prelazi na šifrirane sa novim ključem • Server obaveštava da je okončao sa procedurom uspostavljanja veze • Nakon ovog koraka prelazi se na razmenu podataka koji se šifriranju ustanovljenim ključem

  24. SSL podprotokol za razmenu podataka • Poruke iz browsera se dele na blokove veličine 16KB • Ako se koristi kompresija svaki blok se komprimuje posebno • Svakom bloku se pridodaje ustanovljeni tajni ključ i gradi se sažetak poruke primenom dogovorene funkcije sažetka, obično MD5 (MAC deo na slici) • Ovaj korak omogućava da se na odredištu proveri integritet poruke • Vrši se šifriranje ustanovljenim tajnim ključem • Dodaje se zaglavlje poruci i prenosi preko TCP konekcije

More Related