Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
Logika Autentikacije
Momcilo Topalovic
Matematicka gimnazijaNEDELJAV5.0
INFORMATIKE
17. decembar 2018.
Logika Autentikacije Momcilo Topalovic
Kriptografija
I Šta je kriptografija?
A BE
I Zahtevi protokolimaI Tajnost (E ne može da rastumaci poruke poslate izmedu A
i B)I Autentikacija (B je siguran da je poruka poslata od A
stvarno od A)
Logika Autentikacije Momcilo Topalovic
Kriptografija javnog kljuca
I Imamo dva kljuca: privatni (d) i javni (e)
A BE de
I d koristimo za dekripciju (dešifrovanje)I e koristimo za enkripciju (šifrovanje)I B izracunava i e i dI Objavljuje e – svako može da posalje poruku B-uI Ne objavljuje d – niko ne može da rastumaci poruke
poslane njemu
Logika Autentikacije Momcilo Topalovic
RSAGenerisanje kljuceva
I n = pq, gde su p i q prostiI φ = ϕ(n) = (p− 1)(q − 1)
I e : (e, φ) = 1
I d : ed ≡ 1 mod φ
Teorema (Ojler)
Za svako m ∈ N koje je uzajamno prosto sa n važi:
mϕ(n) ≡ 1 mod n
I med ≡n m
Logika Autentikacije Momcilo Topalovic
RSA
I (e, n) koristimo kao javni kljucI (d, n) koristimo kao privatni kljuc
A BE de
mM = [me]n
m = [Md]n
Logika Autentikacije Momcilo Topalovic
Symetricna kriptografija
I Imamo jedan zajednicki kljuc K (poznat samo A-u i B-u)
A BEK K
I K se koristi i za enkripciju i za dekripciju
Logika Autentikacije Momcilo Topalovic
Diffie Hellman Key exchange
I Pretpostavimo da imamo generator g po prostom modulun.
A BE
a b
Ka = ga Kb = gb
Kb Ka
K = Kab K = Kb
a
Logika Autentikacije Momcilo Topalovic
XOR Enkripcija
I Saljemo M = m⊕K, gde je ⊕ bitovno ekskluzivno ili
A BEK K
mM = m⊕K m =M ⊕K
I Ako E sazna neko m1, tada je svako drugo
mi =Mi ⊕K =Mi ⊕M1 ⊕m1
I NE KORISTITI OVO!I NI ono ranije
Logika Autentikacije Momcilo Topalovic
Simboli
I A,B - strane u konverzacijiI S - server kome A i B verujuI X, Y - idealizovane porukeI K,Ka,Kb,Kab,Kas,Kbs - kljuceviI {X}K - predstavlja X enkriptovano sa KI {X}K se dešifruje uz pomoc K−1 u slucaju da je K javni
kljuc, odnosno K ako je u pitanju simetricni kljuc(ocigledno iz konteksta)
Logika Autentikacije Momcilo Topalovic
#
#(X)
I X je nova informacijaI Enkripcija nam ne garantuje da je neka šifra neprobojna,
vec nam samo daje garanciju da je niko nece probiti uskoroI E bi mogao da koristi predefinisane napade
Logika Autentikacije Momcilo Topalovic
|≡
P |≡ X
I P veruje da važi XI Centralna konstrukcijaI P |≡ ’Q poseduje privatni kljuc K−1’I P |≡ ’Q je poslao poruku {X}K ’I P |≡ #(Na)
Logika Autentikacije Momcilo Topalovic
|∼
P |∼ X
I P je poslao X nekadaI P je verovao da tada važi XI P |∼ ’Nedelja informatike je jedina nedelja’I P |∼ {Nedelja informatike je jedina nedelja}KI Q |≡ P |∼ X
Logika Autentikacije Momcilo Topalovic
C
QCX
I Q je video X (potencijalno nakon dekripcije)I Ovo dobijamo analizom protokolaI QC ’Nedelja informatike je jedina nedelja’I QC {Nedelja informatike je jedina nedelja}KI QC {X}K 6=⇒ P CX
I Q ne vidi svoje poruke
Logika Autentikacije Momcilo Topalovic
←→
PK←→ Q
I P i Q imaju zajednicki kljuc KI P i Q mogu da koriste K za simetricnu kriptografijuI Niko osim P , Q ne zna K
I P |≡ P K←→ Q 6=⇒ Q |≡ P K←→ Q
Logika Autentikacije Momcilo Topalovic
|−→
|K−→ P
I P poseduje privatni kljuc K−1
I P je objavio javni kljuc KI Niko osim P ne zna K−1
I Q |≡|K−→ P =⇒ Q može da pošalje poruku {X}K
Logika Autentikacije Momcilo Topalovic
|⇒
S |⇒ X
I S je autoritet da uradi X
I P |≡ S |⇒ AK←→ B
I P |≡ S |⇒ #(AK←→ B)
Logika Autentikacije Momcilo Topalovic
Kvantifikatori
P |≡ S |⇒ AK←→ B
Ustvari znaciP |≡ S |⇒ ∀K.A K←→ B
Primetimo da sledece formule imaju razlicito znacenje
I P |≡ S |⇒ ∀K.Q |⇒ AK←→ B
I P |≡ S |⇒ Q |⇒ ∀X.A K←→ B
Logika Autentikacije Momcilo Topalovic
Stablo dokaza
I Modus PonensP =⇒ Q P
Q
I RSA
n = pq φ = (p− 1)(q − 1)
φ = ϕ(n)
(e, φ) = 1
∃x.ex ≡φ 1
ed ≡φ 1
∀x.(x, n) = 1 =⇒ xed ≡n x (m,n) = 1
med ≡n 1
Logika Autentikacije Momcilo Topalovic
Enkripcija javnim kljucem
P |≡|K−→ Q P C {X}K−1
P |≡ Q |∼ XP veruje da:I Jedino Q zna K−1
I P onda veruje da jedino Q može da enkriptuje X sa K−1
I Primetimo da ovo ne znaci da je Q poslao X direktno P -u
Logika Autentikacije Momcilo Topalovic
Enkripcija simetricnim kljucem
P |≡ P K←→ Q P C {X}KP |≡ Q |∼ X
P veruje da:I Jedino P i QI P zna da on nije poslao {X}KI P onda veruje da je jedino Q može da enkriptuje X sa K
Logika Autentikacije Momcilo Topalovic
Nove poruke
P |≡ #(X) P |≡ Q |∼ XP |≡ Q |≡ X
I Ako je Q poslao X nedavno, onda X još uvek važiI Ako ne bismo imali uslov da je X nastalo skoro, onda ne
bismo imali garanciju da neko nije u meduvremenu probioX
X = PK←→ Q
Logika Autentikacije Momcilo Topalovic
Verovanje
P |≡ Q |⇒ X P |≡ Q |≡ XP |≡ X
Logika Autentikacije Momcilo Topalovic
Delovi poruka
P |≡ X P |≡ YP |≡ (X,Y )
P |≡ (X,Y )
P |≡ XP |≡ Q |≡ (X,Y )
P |≡ Q |≡ X
I Ako P veruje da X i Y , onda veruje da i X ∧ YI Ako P veruje da X ∧ Y , onda veruje da i XI (X,Y ) = (Y,X)
Logika Autentikacije Momcilo Topalovic
Delovi poruka
P |≡ Q |∼ (X,Y )
P |≡ Q |∼ XDa li važi obrnuto?
P |≡ Q |∼ X P |≡ Q |∼ YP |≡ Q |∼ (X,Y )
Ne, zato što bi to znacilo da ih je Q poslao u isto vreme
Logika Autentikacije Momcilo Topalovic
Šta P vidi
I P vidi svaki deo poruke
P C (X,Y )
P CX
I P zna da dešifruje {X}K pod uslovom da zna simetricnikljuc K
P |≡ P K←→ Q P C {X}KP CX
I P zna da dešifruje {X}K pod uslovom da zna privatni kljucK−1
P |≡|K−→ P P C {X}KP CX
P |≡|K−→ Q P C {X}K−1
P CX
Logika Autentikacije Momcilo Topalovic
Deo nove poruke
P |≡ #(X)
P |≡ #(X,Y )
I Ako je neki deo poruke nastao nedavno, onda je i celaporuka nastala nedavno
Logika Autentikacije Momcilo Topalovic
Simetricnost
P |≡ R K←→ T
P |≡ T K←→ R
P |≡ Q |≡ R K←→ T
P |≡ Q |≡ T K←→ R
I Simetricni kljuc je simetrican
Logika Autentikacije Momcilo Topalovic
Cilj
Mi želimo da A i B mogu da uspostave sigurnu komunikaciju
I A |≡ A K←→ B ∧B |≡ A K←→ B
I A |≡ B |≡ A K←→ B ∧B |≡ A |≡ A K←→ B
I ...I ???I A |≡|K−→ B
Logika Autentikacije Momcilo Topalovic
Needham-Schroeder Protokol
A B
S
1:A,B,Na
2:{N
a, B,K
ab, {K
ab, A}K b
s}Kas
3: {Kab, A}Kbs
4: {Nb}Kab
5: {Nb − 1}Kab
Logika Autentikacije Momcilo Topalovic
Needham-Schroeder ProtokolIdealizovani protokol
P1 A→ S : Na
P2 S → A : {Na, AKab←−→ B,#(A
Kab←−→ B), {A Kab←−→ B}Kbs}Kas
P3 A→ B : {A Kab←−→ B}Kbs
P4 B → A : {Nb, AKab←−→ B}Kab
P5 A→ B : {Nb, AKab←−→ B}Kab
Logika Autentikacije Momcilo Topalovic
Needham-Schroeder ProtokolPretpostavke
I Postoje kljucevi Kas i Kbs izmedu, redom, A i S, kao i B i S
A |≡ A Kas←−→ S S |≡ A Kas←−→ S
B |≡ B Kbs←−→ S S |≡ B Kbs←−→ S
I S zna kljuc koji ce dodeliti A-u i B-u
S |≡ A Kab←−→ B
Logika Autentikacije Momcilo Topalovic
Needham-Schroeder ProtokolPretpostavke
I A i B veruju da ce server napraviti novi kljuc koji je dobar
A |≡ (S |⇒ AK←→ B) B |≡ (S |⇒ A
K←→ B)
A |≡ (S |⇒ #(AK←→ B))
I Na, Nb i Kab su nedavno generisani
A |≡ #(Na) B |≡ #(Nb)
S |≡ #(AKab←−→ B) B |≡ #(A
Kab←−→ B)
Logika Autentikacije Momcilo Topalovic
Needham-Schroeder ProtokolAnaliza
I A prima poruku od S koju može da dešifruje
AC {Na, (AKab←−→ B),#(A
Kab←−→ B), {A Kab←−→ B}Kbs}Kas
I Kako A |≡ #(Na)
A |≡ S |≡ A Kab←−→ B A |≡ S |≡ #(AKab←−→ B)
I Kako A veruje S-u
A |≡ A Kab←−→ B A |≡ #(AKab←−→ B)
Logika Autentikacije Momcilo Topalovic
Needham-Schroeder ProtokolAnaliza
I Kako AC {A Kab←−→ B}Kbs
B C {A Kab←−→ B}Kbs
I Kako B |≡ B Kbs←−→ S
B |≡ S |∼ A Kab←−→ B
I Ako bismo imali B |≡ S |≡ A Kab←−→ B (imamo)
B |≡ A Kab←−→ B
Logika Autentikacije Momcilo Topalovic
O cemu nismo pricali?
I Javnim kljucevimaI Zajednickim tajnamaI HašovanjuI Protokolima koji nisu Needham-Schroeder
Logika Autentikacije Momcilo Topalovic
Hvala na pažnji
Logika Autentikacije Momcilo Topalovic