Digitalni potpisi eng digital signature DS omoguavaju utvrivanje

  • Slides: 29
Download presentation
Digitalni potpisi (eng. digital signature - DS) omogućavaju utvrđivanje autentičnosti elektronskog dokumenta, npr. elektronskog

Digitalni potpisi (eng. digital signature - DS) omogućavaju utvrđivanje autentičnosti elektronskog dokumenta, npr. elektronskog pisma, web stranice ili datoteke. Dokument je autentičan ako je poznat njegov autor i ako je moguće dokazati da nije neovlašćeno izmenjen. Provera verodostojnosti (eng. authentication) potpisanih dokumenata omogućena je korišćenjem enkripcije, pri čemu enkripcija predstavlja postupak kodiranja podataka pre slanja kako bi ih samo ovlašćeni primalac mogao dekodirati i razumeti. Uz to što osigurava autentičnost (identitet pošiljaoca utvrđuje se dešifrovanjem sadržaja poruke), digitalni potpis osigurava i integritet (proverom sadržaja poruke utvrđuje se da li se poruka menjala na putu do primaoca) te neporečivost (pošiljalac ne može poreći učešće u transakciji jer jedino on ima pristup do svog privatnog ključa kojim je potpisao poruku).

Digitalni potpis Korišćenjem algoritma digitalnog potpisa potpisnik stvara par ključeva, privatni i javni, ali

Digitalni potpis Korišćenjem algoritma digitalnog potpisa potpisnik stvara par ključeva, privatni i javni, ali moguće je i da se za potpisivanje svih poruka koristi par. Poruka koja se potpisuje (sažima se nekim hash algoritmom - stvara se njen otisak. Osnova sigurnosti digitalnog potpisa je u tajnosti privatnog ključa, dok je javni ključ svima dostupan i omogućava proveru autentičnosti poruke. n Poželjno je da digitalni potpis ima sledeće karakteristike: – Primalac mora da bude u mogućnosti da potvrdi (nostifikuje) potpis – Koristi se da osigura da sadržaj originalne poruke nije promenjen – Potpisnik ne sme da ima mogućnost da se odrekne potpisa.

Osnovne karakteristike digitalnog potpisa Digital Signature Privatni ključ: pošiljalac koristi privatni ključ da potpiše

Osnovne karakteristike digitalnog potpisa Digital Signature Privatni ključ: pošiljalac koristi privatni ključ da potpiše dokument n Javni ključ: primalac koristi javni ključ da dokaže authentičnost dokumenta n Hash algoritam poruke: izvršava matematička izračunavanja na dokumentu i generiše jedinstvenu hash vrednost poruke n Algoritam šifrovanja: prihvata privatni ključ i hash vrednost da bi generisao digitalni potpis ili prihvata javni ključ i digitalni potpis generiše hash vrednost n

Digitalni potpis

Digitalni potpis

Digitalni potpis Osnovu ove metode za potpisivanje čini cela poruka. Osoba koja šalje poruku

Digitalni potpis Osnovu ove metode za potpisivanje čini cela poruka. Osoba koja šalje poruku koristi tajni ključ za šifrovanje cele poruke i na taj način je potpisuje. Osoba koja primi tako potpisanu poruku, koristi javni ključ da bi dešifrovao primljenu poruku i na taj način sprovodi verifikaciju osobe koja je poslala poruku. Treba zapaziti da se prilikom korišćenja tehnike digitalnog potpisa, za šifrovanje koristi tajni, a za dešifrovanje javni ključ, što je obratniti postupak u odnosu na postupak koji se realizuje asimetričnim algoritmima za šifrovanje. Ovo je moguće zato što su algoritmi koji su danas u upotrebi, kao RSA, bazirani na simetričnim matematičkim formulama. Obrnuti postupak korišćenja ključeva ovde je opravdan iz razloga što je cilj verifikacija identiteta osobe koja je poslala poruku, a ne da se zaštiti sadržaj poruke.

Digitalni potpis Ukoliko neka osoba C želi da pošalje poruku, a da to izgleda

Digitalni potpis Ukoliko neka osoba C želi da pošalje poruku, a da to izgleda kao da ju je poslala osoba A, onda za šifrovanje mora da koristi tajni ključ osobe A. Ako osoba C ne poseduje ovakav ključ i pošalje poruku, takva poruka se ne može korektno dešifrovati korišćenjem javnog ključa osobe A. Ako neka osoba C neovlašćeno dođe do šifrovanog sadržaja poslate poruke (uhvati poruku), pokuša da je promeni bilo celu ili neki njen deo, kasnijim dešifrovanjem takve poruke se dobija nečitljiv sadržaj. Na taj način se održava integritet poruke. Ako se poruka koju je poslala osoba A zabeleži na nekom pomoćnom mestu i osoba A kasnije ospori da je poslala poruku, osoba B može naći poruku na snimljenom mestu i pomoću javnog ključa osobe A može formirati duplikat originalne poruke. Znači tehnika potpisivanja cele poruke zadovoljava karakteristiku neodricanja.

 Digitalni potpis -----BEGIN PGP SIGNATURE----i. QA/Aw. UBPfm 2 j. Oevuu. Hf. EKY 5

Digitalni potpis -----BEGIN PGP SIGNATURE----i. QA/Aw. UBPfm 2 j. Oevuu. Hf. EKY 5 EQI LZQCb. BZxaepj 6 NBGXGn. YGk. ABm Mw. HCP 9 UAnj. Tfvv. Rph. IS 9 k. Xwd 7 U Zj. We 7 C+WGk=oaco -----END PGP SIGNATURE----- n RSA je bio prvi javni sistem koji podržava digitalne potpise i šifrovanje asimetričnim (javnim) ključem n Potpis: n Šalje s putem kanala n Verifikacija:

Potpisivanje sažetka poruke Ukoliko su poruke dugačke, korišćenje šifrovanja sa javnim ključem za potpisivanje

Potpisivanje sažetka poruke Ukoliko su poruke dugačke, korišćenje šifrovanja sa javnim ključem za potpisivanje cele poruke je veoma nepraktično. Nepraktičnost se ogleda u tome što veoma velika dužina poruka iziskuje dosta resursa i troši mnogo vremena za šifrovanje. Kao logično rešenje ovog problema javlja se 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. Svaka promena izvorne poruke izaziva promenu u sadržaju, što se odražava na promenu potpisa, čime se minimizuje mogućnost zloupotrebe. Za kreiranje sadržaja poruke se koristi hash- funkcija za sažimanje. Ova funkcija, bez obzira na dužinu poruke, formira sadržaj fiksne dužine.

Hash funkcije Tehnika potpisivanja sadržaja poruke uglavnom koristi neku od dve heš funkcije: MD

Hash funkcije Tehnika potpisivanja sadržaja poruke uglavnom 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. Kako bi garantovala siguran prenos poruke 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 obratno. Formiraje sadržaja treba da bude brzo i jednostavno. Ø Heš funkcija je jednoznačna, tj primena iste heš funkcije na istoj poruci daje isti sažetak.

Hash funkcije Hash funkcija je jednosmerna funkcija koja slika poruku M u (manju) heširanu

Hash funkcije Hash funkcija je jednosmerna funkcija koja slika poruku M u (manju) heširanu poruku H. Ø Ovo može biti i otisak prsta. Ø Ponekad, takođe i pregled poruke. Ø Ø neinvertibilne Ø brze Ø sa niskim stepenom kolizije Ø ako se bit promeni, promeni se i hash vrednost.

Hash Funkcije + digitalni potpis Da bi se dokument potpisao izračunava se hash funkcija,

Hash Funkcije + digitalni potpis Da bi se dokument potpisao izračunava se hash funkcija, šifruje se privatnim ključem, i šalje šifrovanu hash funkciju sa originalnim dokumentom kao plaintext. n Primalac hešira plaintext i koristi javni ključ da proveri da je pošiljalac upravo osoba koja je trebalo da pošalje poruku. n

Opšti model za izgradnju hash funkcije Ulaz proizvoljne dužine x Konstanta fiksne dužine kompresiona

Opšti model za izgradnju hash funkcije Ulaz proizvoljne dužine x Konstanta fiksne dužine kompresiona funkcija f Konstanta fiksne dužine f kompresiona funkcija izlaz x 1 x 2 xn H 0 Ulaz fiksne dužine H 1 Ulaz fiksne dužine Hn = h(x) H (iterativna hash funkcija)

Hash Funkcije + digitalni potpis Nakon kreiranja sadržaja poruke, vrši se šifrovanje (potpisivanje) istog

Hash Funkcije + digitalni potpis Nakon kreiranja sadržaja poruke, vrši se šifrovanje (potpisivanje) istog korišćenjem tajnog ključa osobe koja šalje poruku (osoba A). Obično se za šefrovanje koristi RSA algoritam. Šifrovani sadržaj se upakovan zajedno sa originalnom porukom šalje osobi B. Osoba A primenom heš funkcije formira sažetak koji se potpisuje i upakovan sa porukom šalje osobi B. Osoba B prima originalnu poruku i šifrovani sadržaj zajedno sa potpisom, a nakon prijema vrši razdvajanje. Kada se govori o izvornoj poruci sledeća zapažanja ukazuju na njenu sigurnost: Ako sadržaj dolazi od verifikovanog pošiljaoca, isto tako i poruka dolazi u paketu od verifikovanog pošiljaoca, čime je zadovoljena autentičnost poruke. Zbog karakteristike jednoznačnosti sadržaja, ukoliko je sadržaj prenešen nepromenjen, zaključuje se da je i poruka prenešena nepromenjena čime se zadovoljava integritet.

Algoritam za digitalno potpisivanje (DSA) U avgustu 1991. godine, Američki nacionalni institut za standarde

Algoritam za digitalno potpisivanje (DSA) U avgustu 1991. godine, Američki nacionalni institut za standarde i tehnologiju (engl. National Institute of Standards and Technology, NIST) predložio je algoritam za digitalno potpisivanje (engl. Digital Signature Algorithm, DSA) koji bi se koristio u njihovom standardu za digitalno potpisivanje (engl. Digital Signature Standard, DSS). Prema listu Federal Register: „Predlaže se Savezni standard za obradu informacija (engl. Federal Information Processing Standard, FIPS), kao standard za digitalno potpisivanje (DSS). Predloženi standard definiše algoritam za digitalno potpisivanje sa javnim ključem (DSA), koji odgovara saveznim aplikacijama za digitalno potpisivanje. Predloženi DSS koristi javni ključ da bi primaocu potvrdio integritet podataka i identitet pošiljaoca podataka. DSS može da koristi i treća strana, kako bi se uverila u autentičnost potpisa i podataka koji su s njim povezani.

Algoritam za digitalno potpisivanje (DSA) Predloženi standard usvaja šemu potpisivanja s ključem, koja koristi

Algoritam za digitalno potpisivanje (DSA) Predloženi standard usvaja šemu potpisivanja s ključem, koja koristi par transformacija da bi generisala i verifikovala digitalnu vrednost koja se zove potpis. Medju činiocima koji su razmatrani bili su: nivo ostvarene sigurnosti, jednostavnost hardverske i softverske realizacije, jednostavnost izvoza iz Sjedinjenih Država, primenljivost patenata, uticaj na nacionalnu bezbednost i poštovanje zakona, kao i nivo efikasnosti funkcija za potpisivanje i verifikaciju. Smatralo se da veći broj tehnika obezbeđuje odgovarajuću zaštitu za savezne sisteme. Izabrana tehnika ima sledeće potrebne karakteristike: NIST očekuje da ovaj algoritam bude besplatno dostupan. Šira upotreba ove tehnike, koja je usledila zbog javne dostupnosti, treba da predstavlja ekonomsku dobit za vladu i javnost.

Reakcije na objavu predloga algoritma NIST-ovo objavljivanje predloga standarda pokrenulo je bujicu kritika i

Reakcije na objavu predloga algoritma NIST-ovo objavljivanje predloga standarda pokrenulo je bujicu kritika i optužbi. Nažalost one su bile više političke nego akademske. Mnoge velike kompanije koje su već posedovale licence za algoritam RSA, su istupile protiv DSS-a. Vlada je zatražila da algoritmi sa javnim ključem budu proglašeni standardom. Posle toga, NIST se nije oglasio devet godina. Kompanije, kao što su IBM, Apple, Novell, Lotus, Northern Telecom, Microsoft, DEC i Sun već su potrošile velike svote novca na realizaciju algoritma RSA. One nisu imale interes da njihova ulaganja propadnu. Kritike upućene na račun DSA bile su:

Reakcije na objavu predloga algoritma Ø DSA ne može da se koristi za šifrovanje

Reakcije na objavu predloga algoritma Ø DSA ne može da se koristi za šifrovanje ili distribuciju ključeva. Ø Algoritam DSA razvila je NSA, pa u njemu može da bude klopka. Ø DSA je sporiji od RSA. Ø RSA je de facto standard. Ø Postupak izbora algoritma DSA nije bio javan i nije ostavljeno dovoljno vremena za analizu. Ø DSA može da ugrozi druge patente. Ø Ključ je premali. Ø DSA se zasniva na "Diskretnom problemu logaritmovanja". Ø DSA ne može da se koristi za šifrovanje i distribuciju ključeva. Ø DSA je slučajajn što ga usporava.

Opis algoritma DSA je varijanta algoritma za potpisivanje koji su smislili Šnor (Schnorr) i

Opis algoritma DSA je varijanta algoritma za potpisivanje koji su smislili Šnor (Schnorr) i El Gamal. Algoritam DSA koristi sledeće parametre: p = prost broj dužine L bitova, gde se L nalazi u intervalu od 512 do 1024 bitova i predstavlja umnožak broja 64. (U prvobitnom standardu, veličina p je bila fiksirana na 512 bitova. To je izazvalo mnoge kritike, pa je NIST promenio taj parametar. ) d je 160 -bitni broj izmedju 2 i p-2. b = ad mod p, gde je a bilo koji broj manji od p-1. k. E = broj manji od p-1 uzajamno prost sa njim. r = ak. E mod p. Ovaj algoritam može da koristi i jednosmernu heš funkciju: H(m). Standardom je određena funkcija Secure Hash Algorithm. Prva tri parametra, p, a i b, javni su i mogu da budu zajednički za korisnike u mreži. Privatni ključ je d, a javni ključ je k. E.

Opis algoritma DSA

Opis algoritma DSA

Opis algoritma DSA p q g y x k r (potpis) s (potpis) w

Opis algoritma DSA p q g y x k r (potpis) s (potpis) w u t v Javni ključ: prost broj, od 512 -bitni do 1024 bita (može ga deliti grupa korisnika) 160 -bitni prost faktor od p-1 (može ga deliti grupa korisnika) = h(p-1)/q mod p, gde je h manje od p-1 i h(p-1)/q mod p > 1 (može ga deliti grupa korisnika) x = g mod p (p-bitni broj) Privatni ključ: < q (160 -bitni broj) Potpisivanje: izabran slučajno, manji od q = (gk mod p) mod q = (k-1 (H(m) + xr)) mod q Verifikacija: = s-1 mod q = (H(m) * w) mod q = (rw) mod q = ((gu * yt) mod p) mod q

Prilično dobra privatnost - PGP protokol je dizajnirao Phil Zimmermann 1991. god. n Primene

Prilično dobra privatnost - PGP protokol je dizajnirao Phil Zimmermann 1991. god. n Primene n – Fileovi, koji sadrže arhive samo-dešifrovanja – E-mail – telo poruke i atačmente Slobodno skladištenje dostupno sa MITa (ili odnekud drugo) http: //web. mit. edu/network/pgp. html n Verzije za DOS, Windows, Unix, Linux, Macintosh n

Web poverenje - Pretty Good Privacy (PGP) n Selektovani su najbolji raspoloživi algoritmi kao

Web poverenje - Pretty Good Privacy (PGP) n Selektovani su najbolji raspoloživi algoritmi kao izgrađeni blokovi Digital Signature and Digital Certificates Ladislav Huraj

Web poverenje - Pretty Good Privacy (PGP) n n n Pretty Good Privacy, PGP

Web poverenje - Pretty Good Privacy (PGP) n n n Pretty Good Privacy, PGP (prilično dobra privatnost) besplatan je program za zaštitu sigurnosti elektronske pošte koristi algoritam IDEA za šifrovanje podataka, RSA (s ključevima dužine do 2047 bitova) za upravljanje ključevima i digitalno potpisivanje, i jednosmernu heš funkciju MD 5. Za generisanje slučajnih javnih ključeva PGP-a koristi se probabilističko ispitivanje da li je broj prost. PGP generiše slučajne ključeve za algoritam IDEA, koji se koristi kao simetrični algoritam umesto DES-a. PGP šifruje korisnikov privatni ključ primenom hešovane fraze umesto lozinke. Zaštita PGP-šifrovanih poruka je slojevita. Jedino što kriptoanalitičar može da sazna o šifrovanoj poruci jeste primalac, pod pretpostavkom da zna ID ključa primaoca. Tek pošto primalac dešifruje poruku, on zna ko je potpisao poruku, ako je potpisana. Digital Signature and Digital Certificates Ladislav Huraj

Web poverenje - Pretty Good Privacy (PGP) Najinteresantnije svojstvo PGP-a jeste njegov distribuirani pristup

Web poverenje - Pretty Good Privacy (PGP) Najinteresantnije svojstvo PGP-a jeste njegov distribuirani pristup upravljanju ključevima. Ne postoje sertifikacioni centri, već PGP umesto toga podržava „mrežu poverenja” (engl. „web of trust”). Svaki korisnik generiše i distribuira sopstveni javni ključ. Korisnici jedni drugima potpisuju javne ključeve, praveći povezanu zajednicu korisnika PGP-a. Alisa bi mogla fizički da preda svoj javni ključ Bobu. Bob poznaje Alisu, tako da on potpisuje njen javni ključ. Zatim joj on vraća potpisani ključ i zadržava primerak za sebe. Kada Alisa hoće da komunicira s Kerol, Alisa šalje Kerol primerak ključa koji je Bob potpisao. Digital Signature and Digital Certificates Ladislav Huraj

Web poverenje - Pretty Good Privacy (PGP) Kerol, koja već ima Bobov javni ključ

Web poverenje - Pretty Good Privacy (PGP) Kerol, koja već ima Bobov javni ključ (dobila ga je u nekom prethodnom trenutku) i veruje Bobu kada sertifikuje ključeve drugih ljudi, verifikuje njegov potpis na Alisinom ključu i prihvata ga kao validan. Bob je upoznao Alisu s Kerol. Digital Signature and Digital Certificates Ladislav Huraj

Pretty Good Privacy (PGP) Postoje sertifikati u PGPu, ali svaki korisnik je odgovoran za

Pretty Good Privacy (PGP) Postoje sertifikati u PGPu, ali svaki korisnik je odgovoran za očuvanje svojih sopstvenih javnih ključeva u prstenu ključeva. n Korisnici za sebe odlučuju kome treba da veruju n Ključevi treba da se pošalju potpisani od strane nekog kome korisnici već veruju. n PGP traži od svakog korisnika da potpiše “poverljivi kurs" za svaki javni ključkoji je u prstenu korisničkih javnih ključeva n Postoje dva parametra: – validni – korisnik veruje da ključ pripada onome za koga je rečeno da on određuje ključ, i – poverljiv – mera do koje učesnik veruje glavnom potpisniku. • Parametar poverljivosti je trovrednosni: nimalo, delimično, i kompletno n Digital Signature and Digital Certificates Ladislav Huraj

Pretty Good Privacy (PGP) Ako je sertifikat od strane onog kome korisnik potpuno veruje,

Pretty Good Privacy (PGP) Ako je sertifikat od strane onog kome korisnik potpuno veruje, ključ je validan n Ako je potpisan od strane dva delimično poverljiva korisnika, takođe se smatra validnim n Digital Signature and Digital Certificates Ladislav Huraj

Kombinacija javnih i tajnih ključeva Javni ključ šifrovanja se obično koristi za sinhronizaciju distribucije

Kombinacija javnih i tajnih ključeva Javni ključ šifrovanja se obično koristi za sinhronizaciju distribucije tajnih ključeva. – SSL protokol koristi ovo n A generiše tajni ključ i šalje ga osobi B, šifrovan javnim ključem osobe B. n B dešifruje poruku i ima svoj tajni ključ. n

Kombinovanje javnih i tajnih ključeva

Kombinovanje javnih i tajnih ključeva