Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Digitalni potpis i
autentikacioni protokoliautentikacioni protokoli
Digitalni Potpisi
• Do sada samo autentikacija poruka
– Ne bavi se nedostatkom poverenja između učesnika
u komunikaciji
• Digitalni potpisi omogućavaju:
– Provere autora, datuma i vremena potpisa
– Autentičnosti sadržaja poruke
– Da se može proveriti od strane trećeg učesnika da se
razreše osporavanja
• Dakle, uključuju funkciju autentikacije uz
dodatne mogućnosti
Osobine digitalnih potpisa
• Mora da zavisi od potpisane poruke
• Mora da koristi informaciju jedinstvenu za pošiljaoca– Da se spreče falsifikovanja i poricanja
• Mora da bude relativno lak za kreiranje• Mora da bude relativno lak za kreiranje
• Mora da se lako prepoznaje i verifikuje
• Mora biti računarski neprihvatljivo da se falsifikuje– Sa novim porukama za postojeći digitalni potpis
– Sa falsifikovanim digitalnim potpisom za datu poruku
• Da se lako pamti digitalni potpis u memoriji
Direktne šeme koje (delimično)
zadovoljavaju ove zahteve
Direktni digitalni potpisi• Uključuju samo pošiljaoca i primaoca
• Podrazumeva da primalac poseduje pošiljaočev javni ključ
• Digitalni potpisi napravljeni od strane pošiljaoca potpisivanjem cele poruke ili hash funkcije privatnim ključem
• Može se šifrovati korišćenjem javnog ključa primaoca• Može se šifrovati korišćenjem javnog ključa primaoca
• Važno je prvo potpisati pa tek onda šifrovati poruku i potpis
• Sigurnost zavisi od privatnog ključa pošiljaoca
• Problem: učesnici u komunikaciji mogu da tvrde da im je neko ukrao privatni ključ i tako poreknu slanje poruke. Rešenje – obeležavanje poruke vremenom slanja i korišćenje treće strane u komunikaciji (arbitar).
Arbitrirani digitalni potpisi
• Uključuje korišćenje arbitra A
– Proverava bilo koju potpisanu poruku
– Dodaje datum i šalje primaocu
X -> A > A > A > A ----> Y> Y> Y> Y
– Dodaje datum i šalje primaocu
• Zahteva zadovoljavajući nivo poverenja u
arbitra
• Može se primeniti bilo sa simetričnim ili
asimetričnim algoritmima
• Arbitar ili može ili ne može da vidi poruku
Varijanta 1 – Arbitrirani digitalni
potpisi - varijante• Varijanta 1: simetrična enkripcija, arbitar vidi M
– X->A: M||E(Kxa, [IDX||H(M)])
– A->Y: E(Kay, [IDX||M||E(Kxa, [IDX||H(M)])||T])
• Varijanta 2: simetrična enkripcija, arbitar ne vidi M• Varijanta 2: simetrična enkripcija, arbitar ne vidi M
– X->A: IDX||E(Kxy, M)||E(Kxa, [IDX||H(E(Kxy, M))])
– A->Y: E(Kay,[IDX||E(Kxy, M)])||E(Kxa, [IDX||H(E(Kxy, M))||T])
• Varijanta 3: asimetrična enkripcija, arbitar ne vidi M
– X->A: IDX||E(PRx, [IDX||E(PUy, E(PRx, M))])
– A->Y: E(PRa, [IDX||E(PUy, E(PRx, M))||T])
• Varijanta 4: ...
El Gamal digitalni potpis (1)
• Podsećanje teorija brojeva:
– Ako je prost broj q, a njegov primitivni koren α
– α, α2, α3,..., αq-1 mod (q) su različiti
– Proveriti q=19, α=10 – izračunati od 101 mod – Proveriti q=19, α=10 – izračunati od 101 mod
19 do 1018 mod 19
• Onda:
– αm≡1 mod q, akko m ≡ 0 mod (q-1) (1)
– αi≡αj mod q, akko i ≡ j mod (q-1) (2)
El Gamal digitalni potpis (2)
• Globalno poznati elementi su q i α
1.Generiši slučajan broj Xa, 1<Xa<q-1. Xa je
privatni ključ
2.Izračunaj Ya= αXa mod q, Ya je javni ključ 2.Izračunaj Ya= αXa mod q, Ya je javni ključ
zajedno sa q i α
3.Data je poruka M, Odredi m=H(M) – hash i
0 ≤ m ≤ q-1
4.Izaberi slučajan broj K takav da je 1 ≤ K ≤
q-1 i K i q su uzajamno prosti (NZD im je 1)
El Gamal digitalni potpis (3)
5. Izračunaj S1 = αK mod q
6. Izračunaj S2 = K-1(m-XaS1) mod (q-1)
• Digitalni potpis je par (S1, S2)
• Provera:• Provera:
1. Izračunati m=H(M) od poruke koja je
dobijena
2. V1 = αm mod q
3. V2 = YaS1S1
S2 mod q
4. Ako je V1=V2, potpis je dobar
ElGamal potpis - provera
1. V1 = αm mod q, V2 = YaS1S1
S2 mod q
2. αm mod q = YaS1S1S2 mod q
3. αm mod q = αXaS1 S1S2 mod q
4. α mod q = α mod q4. αm- XaS1 mod q = αKS2 mod q
5. m-XaS1 ≡ KS2 mod (q-1) (iz (2))
6. m-XaS1 ≡ K K-1(m-XaS1) mod (q-1)
• Proveriti V1 i V2 za q=19, α=10, Xa=16,
pretpostaviti m=14, K=5
Digital Signature Standard
(DSS)• NIST standard 1991-2009
• RSA i DSS pristup
• DSS koristi algoritam koji isključivo može da se
koristi za potpisivanje, a ne i za enkripciju kao RSA
k – slučajan broj
PUg – globalni javni ključ
DSS
• Globalni javni ključ PUg – deli više korisnika
– p – prost broj dužine 512-1024 bita u inkrementima od po
64
– q – prost delilac broja p-1 sa 160 bita
– g=h(p-1)/qmod p, gde je h ceo broj, 1<h<p-1 i g=h(p-1)/qmod – g=h(p-1)/qmod p, gde je h ceo broj, 1<h<p-1 i g=h(p-1)/qmod
p>1
• Privatan ključ x: pseudoslučajan ceo broj 0<x<q
• Javni ključ y: y=gxmod p
• Sesijski ključ k: pseudoslučajan ceo broj 0<k<q
DSS potpisivanje
DSS provera
DSS
Zakon o elektronskom dokumentu,
elektronskoj identifikaciji i uslugama od
poverenja u elektronskom poslovanju
• Pravilnik o elektronskom potpisu
Zakon o elektronskom dokumentu,
elektronskoj identifikaciji i uslugama od
poverenja u elektronskom poslovanju
• Pravilnik o elektronskom potpisu
Zakon o elektronskom dokumentu,
elektronskoj identifikaciji i uslugama od
poverenja u elektronskom poslovanju
• Sertifikaciona tela ovlašćena za izdavanje
digitalnih sertifikata
Zakon o elektronskom dokumentu,
elektronskoj identifikaciji i uslugama od
poverenja u elektronskom poslovanju
• Pravilnik o vremenskom žigu
Zakon o elektronskom dokumentu,
elektronskoj identifikaciji i uslugama od
poverenja u elektronskom poslovanju
• Pravilnik o vremenskom žigu