DIGITALNI POTPIS Svrha digitalnog potpisa je garancija identiteta

  • Slides: 31
Download presentation
DIGITALNI POTPIS

DIGITALNI POTPIS

�Svrha digitalnog potpisa je garancija identiteta pošiljaoca i samim time autentičnost poslate poruke �Za

�Svrha digitalnog potpisa je garancija identiteta pošiljaoca i samim time autentičnost poslate poruke �Za razliku od klasičnog potpisa, digitalni potpis je gotovo nemoguće falsifikovati. �Potpisivanjem dokumenata osoba koja ih šalje garantuje autentičnost, integritet i neporicljivost osobi koja ih prima.

�Digitalni potpisi se zasnivaju na rešenjima primenjenim u simetričnim, a češće u asimetričnim kriptografskim

�Digitalni potpisi se zasnivaju na rešenjima primenjenim u simetričnim, a češće u asimetričnim kriptografskim sistemima. �Potpisivanje dokumenata bazira se na matematičkoj funkciji i dva ključa, tajnom i javnom ili samo tajnom ključu.

Digitalni potpis simetričnom kriptografijiom � Sistemi za digitalno potpisivanje dokumenata bazirani na simetričnoj kriptografiji

Digitalni potpis simetričnom kriptografijiom � Sistemi za digitalno potpisivanje dokumenata bazirani na simetričnoj kriptografiji koriste tajni ključ za potpisivanje i verifikaciju poruke. � Ovi sistemi su poznati pod imenom Message Authentication Code (MAC). � Prvo se vrši izračunavanje kontrolne sume izvorne poruke, pa koristi tajni ključ za potpisivanje dobijene kontrolne sume. � Ovako potpisanu poruku može verifikovati samo osoba koja poseduje tajni ključ. � Najpoznatiji tip MACa je HMAC ili Hashed Message Authentication Code.

Digitalni potpis asimetričnom kriptografijiom �Sistemi za digitalno potpisivanje dokumenata bazirani na asimetričnoj kriptografiji poseduju

Digitalni potpis asimetričnom kriptografijiom �Sistemi za digitalno potpisivanje dokumenata bazirani na asimetričnoj kriptografiji poseduju dva različita ključa. �postoje dve tehnike: ◦ potpisivanje cele poruke i ◦ potpisivanje kratkog sadržaja poruke message digest.

�Osnovu digitalnog potpisa čini sadržaj same poruke �Poruka je proizvoljne dužine, a pošiljalac je

�Osnovu digitalnog potpisa čini sadržaj same poruke �Poruka je proizvoljne dužine, a pošiljalac je određenim algoritmom za kriptovanje svodi na fiksnu dužinu (na pr. 512 bita) �Ta svedena poruka odslikava sadržaj polazne, tako da svaka promena u sadržaju dovodi do promene potpisa �Sada se ovaj zapis šifrira tajnim ključem i tako se dobija digitalni potpis koji se šalje zajedno s porukom

�Primalac dešifruje potpis javnim ključem pošiljaoca �Zatim se dešifruje i sama poruka, pa se

�Primalac dešifruje potpis javnim ključem pošiljaoca �Zatim se dešifruje i sama poruka, pa se onda na isti način kako je pošiljalac kreirao digitalni potpis (na osnovu sadržaja poruke) kreira tajnim ključem pošiljaoca digitalni potpis i proverava da li je identičan sa dobijenim

�Osoba koja šalje poruku koristi tajni ključ za kriptovanje cele poruke i na taj

�Osoba koja šalje poruku koristi tajni ključ za kriptovanje cele poruke i na taj način je potpisuje. �Onaj ko primi tako potpisanu poruku, koristi javni ključ da bi dekriptovao primljenu poruku i na taj način sprovodi verifikaciju osobe koja je poslala poruku. �obrnuti postupak u odnosu na postupak koji sprovode asimetrični algoritmi za kriptovanje.

�algoritmi koji su danas u upotrebi, kao RSA, bazirani su na simetričnim matematičkim formulama.

�algoritmi koji su danas u upotrebi, kao RSA, bazirani su na simetričnim matematičkim formulama. �Obrnuti postupak korišćenja ključeva ovde je opravdan jer je cilj verifikacija identiteta osobe koja je poslala poruku, a ne zaštita sadržaja poruke.

�Osoba A kreira potpis na osnovu poruke �Ukoliko neka osoba C želi poslati poruku,

�Osoba A kreira potpis na osnovu poruke �Ukoliko neka osoba C želi poslati poruku, a da to izgleda kao da ju je poslala osoba A, onda za kriptovanje mora koristiti tajni ključ osobe A. �Ako osoba C ne poseduje ovakav ključ i pošalje poruku, takva poruka se ne može dešifrovati

�Kako postoji mogućnost da neko drugi pošalje svoj javni ključ predstavljajući se lažno, i

�Kako postoji mogućnost da neko drugi pošalje svoj javni ključ predstavljajući se lažno, i da šalje svoje poruke u ime pravog pošiljaoca, onda se za zaštitu koristi digitalni sertifikat

Digitalni sertifikati �Služe da potvrde identitet, kao lična karta za internet �Pojavile su se

Digitalni sertifikati �Služe da potvrde identitet, kao lična karta za internet �Pojavile su se kompanije za potvrdu identiteta i izdavanja digitalnog sertifikata CA (Certificate Authority) �Korisnik šalje svoje podatke kompaniji i svoj javni ključ �Kompanija formira digitalni potpis za taj ključ i izdaje potvrdu (sertifikat) da je taj ključ stvarno njegov

�Digitalni sertifikat sadrži podatke o identitetu korisnika (ime i prezime, E-mail, adresa), korisnikov javni

�Digitalni sertifikat sadrži podatke o identitetu korisnika (ime i prezime, E-mail, adresa), korisnikov javni ključ i podatke o izdavaocu sertifikata odnosno Sertifikacionom telu �Sertifikaciono telo koje izdaje sertifikat garantuje autentičnost podataka koji se nalaze u sertifikatu. �Digitalni sertifikat je nemoguće falsifikovati jer je potpisan tajnim ključem sertifikacionog tela

Vrste digitalnog sertifikata � Kvalifikovani sertifikat osnovni vid digitalnog sertifikata u vidu digitalnog potpisa

Vrste digitalnog sertifikata � Kvalifikovani sertifikat osnovni vid digitalnog sertifikata u vidu digitalnog potpisa koji je istovetan običnom potpisu. � Web sertifikat u okviru aplikacija za autentifikaciju, kriptovanje/dekriptovanje, potpis i verifikaciju datoteka, elektronske pošte i raznih transakcija. � Sertifikat namenjen za Web servere, a koristi se za konfigurisanje SSL (eng. Secure Sockets Layer) i/ili TLS (eng. Transport Layer Security) protokola na Web serverima (Microsoft IIS, Apache, Sun-Netscape i. Planet, Red Hat Stronghold, Sun ONE, IBM HTTP Server, . . . ). � Namena SSL i TLS protokola je uspostavljanje zaštićenog komunikacionog kanala između Web

�da se na nekoj Web prodavnici kupcima omogući plaćanje kreditnim karticama ili pružanje poverljivih

�da se na nekoj Web prodavnici kupcima omogući plaćanje kreditnim karticama ili pružanje poverljivih informacija, neophodno je da server na kome se nalazi ta Web prezentacija radi kao Secure Web Server. �Uslov koji mora da ispuni pomenuti Web server je da poseduje digitalni sertifikat od nekog CA

Potpisivanje cele ili sažete poruke � Ako su poruke dugačke, korišćenje kriptovanja sa javnim

Potpisivanje cele ili sažete poruke � Ako su poruke dugačke, korišćenje kriptovanja sa javnim ključem za potpisivanje cele poruke je veoma nepraktično. � Mogućnost potpisivanja samo sažetka umesto potpisivanja cele poruke. � Osoba koja šalje poruku kreira skraćenu verziju poruke tj. njen sažetak. Tako formiran sažetak potpisuje i šalje komunikacionim kanalom. � Osoba koja primi tako skraćenu poruku proverava njen potpis. � Za kreiranje sadržaja poruke se koristi heš funkcija za sažimanje. � Ova funkcija, bez obzira na dužinu poruke, formira

HEŠ funkcije � Heš funkcija (message digest) je jednosmerna funkcija koja obrađuje poruku nefiksne

HEŠ funkcije � Heš funkcija (message digest) je jednosmerna funkcija koja obrađuje poruku nefiksne dužine, M, a vraća heš fiksne dužine h � Heš funkciju možemo predstaviti kao h = H(M) � primena heša je da poruci da jedinstven identifikator ili otisak prsta, kao potpis � Ako osoba A potpiše šifrovanu poruku i pošalje osobi B, osoba B može izračunati heš kako bi dobila M ali samo ako važi H(M)=H(M`)

� efekat kolizije koji dokazuje da postoje dve različite poruke koje će dati isti

� efekat kolizije koji dokazuje da postoje dve različite poruke koje će dati isti heš. M i M` → H(M) = H(M`). � efekat lavine, ako se u originalnoj poruci promeni samo jedan bit, heš te iste poruke će promeniti čak polovinu ukupnog broja bitova u hešu. � Heš algoritmi se koriste, pored potpisivanja dokumenata, radi autentifikacije; šifre korisnika na linux i windows sistemima se čuvaju u obliku heša u datotekama “shadow” i na windows-u u datoteci SAM. � kada se korisnik loguje, kuca svoju šifru i sistem računa heš koji upoređuje sa hešom u ovim datotekama. � Ako je dobijeni heš isti kao heš koji se nalazi u ovim datotekama, korisnik ima legalan pristup računaru.

� verifikacija dokumenata, lozinki na operativnim sistemima, etc. nije postupak dešifrovanja heša jer bi

� verifikacija dokumenata, lozinki na operativnim sistemima, etc. nije postupak dešifrovanja heša jer bi u tom slučaju značilo da ta heš funkcija nije dobra, tj. nema jednosmernu osobinu. � Proces verifikacije se obavlja isključivo ponovnim računanjem heša istog dokumenta i upoređivanjem sa već dobijenim hešom.

�Tehnika potpisivanja sadržaja poruke koristi neku od dve heš funkcije: MD 5 (Message Digest

�Tehnika potpisivanja sadržaja poruke koristi neku od dve heš funkcije: MD 5 (Message Digest 5) sa 128 -bitnim sadržajem i SHA-1 (Secure Hash Algorithm 1) sa 160 -bitnim sadržajem �heš funkcija mora da zadovolji dve stvari: ◦ funkcija sažimanja se obavlja u jednom smeru. ◦ Sadržaj se jedino može formirati na osnovu originalne poruke ne i obrnuto. �formiraje sadržaja treba da je brzo i jednostavno; �heš funkcija je jednoznačna, tj primena iste

Algoritmi � Algoritam MD 4 je jednosmerna heš funkcija koja prizvodi heš od 128

Algoritmi � Algoritam MD 4 je jednosmerna heš funkcija koja prizvodi heš od 128 bitova. � teško pronaći dve poruke koje daju isti heš � MD 4 je pogodan za brže softverske realizacije, zasnovan je na jednostavnom skupu manipulacija bitovima na 32 -bitnim operandima. � MD 4 je jednostavan bez velikih struktura podataka ili komplikovanog programa. � Optimizovan je za mikroprocesore, posebno za intel

� Algoritam MD 5 je poboljšana verzija MD 4 algoritma. � slično organizovan kao

� Algoritam MD 5 je poboljšana verzija MD 4 algoritma. � slično organizovan kao i MD 4 i daje heš takođe 128 bitova � Na početku šifrovanja ulazni karakteri prolaze kroz neke početne operacije a zatim MD 5 obrađuje ulazne podatke u 512 -bitnim blokovima podeljenim na 16 32 -bitnih podblokova. � Izlaz iz algoritma su 4 32 -bitna bloka koji se nadovezuju kako bi napravili 128 -bitni heš. � Otvoreni tekst se najpre dopuni tako da dužina bude za 64 bita kraća od umnoška broja 512. � Dopuna je i bit na kraju poruke i onoliko nula koliko je potrebno. � na sve to se dodaje 64 -bitna reprezentacija dužine poruke pre dodavanja dopunskih bitova.

�Inicijalizuju se 4 promenljive od po 32 bita �A = 0 x 01234567 �B

�Inicijalizuju se 4 promenljive od po 32 bita �A = 0 x 01234567 �B = 0 x 89 abcdef �C = 0 xfedcba 98 �D = x 76543210

� Algoritam SHA pravi heš tako što prvo poruku dopuni tako da joj dužina

� Algoritam SHA pravi heš tako što prvo poruku dopuni tako da joj dužina bude umnožak od 512 bitova. � Samo dopunjavanje je kao kod MD 5, što znači da prvo ide jedinica pa onoliko nula koliko je potrebno da dužina bude za 64 bita kraća od umnoška broja 512 + 64 -bitna reprezentacija dužine poruke pre dopunjavanja. � Inicijalizuje se 5 promenljivih: � A = 0 x 67452301 � B = 0 xefcdab 89 � C = 0 x 98 badcfe � D = 0 x 10325476 � E = 0 xc 3 d 2 e 1 f 0

� Algoritam RIPEMD, RIPEMD 160 je razvijen za RIPE projekat organizacije European Community. �

� Algoritam RIPEMD, RIPEMD 160 je razvijen za RIPE projekat organizacije European Community. � Ovaj algoritam je varijacija algoritma MD 4 i dizajniran je da izdrži kriptoanalitičke napade i da napravi heš od 128 bitova. � Razlika između MD 4 i RIPE-a je u tome što ovde imamo promenjene rotacije i redosled reči poruke, paralelno se izvršavaju dva primerka algoritma koji se razlikuju samo u konstantama. � Nakon svakog bloka izlazi oba primerka se dodaju na promenljive koje se zatim ulančavaju. � Verzija RIPEMD 160 je algoritam koji daje heš od 160 bitova na izlazu.

Upravljanje ključevima �Većina sistema za kriptovanje poseduje više metoda za generisanje ključeva. �ključ se

Upravljanje ključevima �Većina sistema za kriptovanje poseduje više metoda za generisanje ključeva. �ključ se formira obično izborom određene lozinke. �Lozinka se posredstvom nekog algoritma transformiše u ključ. �Na ovaj način se korisniku omogućava pamćenje jednostavne lozinke, umesto pamćenja ključa velike dužine

Kreiranje ključa � korišćenje brojeva i specijalnih karaktera � prostor predviđen za ukucavanje lozinke

Kreiranje ključa � korišćenje brojeva i specijalnih karaktera � prostor predviđen za ukucavanje lozinke promenjive veličine i poželjno koristiti što veći broj karaktera. � produžava vreme koje je potrebno, za otkrivanje ključa. � Neki ključevi se dobijaju uz pomoć pseudo-slučajnog broja uz pomoć generatora slučajnih brojeva. � Ukoliko generator generiše baš slučajne brojeve malo je verovatno da će napadač otkriti ključ predviđajući cifre koje ga čine. � Neki od algoritama koriste ključeve fiksne dužine, kao što je DES algoritam sa ključem od 56 bita, ali najbolja varijanta je kada korisnik može da vrši izbor dužine

�ključevi se po pravilu transportuju preko nezaštićenih komunikacionih linija. �mogu biti „ukradeni“

�ključevi se po pravilu transportuju preko nezaštićenih komunikacionih linija. �mogu biti „ukradeni“

Problemi u korišćenju ključeva �ukoliko n osoba želi da ostvari neku komunikaciju, potrebno je

Problemi u korišćenju ključeva �ukoliko n osoba želi da ostvari neku komunikaciju, potrebno je da raspolaže sa n(n – 1)/2 simetričnih ključeva. �u grupi od n osoba, svaka osoba mora posedovati a i zapamtiti (n – 1) ključeva �ključevi se moraju se prenositi preko sigurne komunikacione linije, ne preko telefona ili interneta.

�rešenje da se ključevi kreiraju dinamički za svaku sesiju i nakon nje uništavaju. �U

�rešenje da se ključevi kreiraju dinamički za svaku sesiju i nakon nje uništavaju. �U tom slučaju se ne zahteva pamćenje ključeva od strane osoba koje komuniciraju