36
Logika Autentikacije Momˇ cilo Topalovi´ c Matematiˇ cka gimnazija NEDELJA V5.0 INFORMATIKE 17. decembar 2018. Logika Autentikacije Momˇ cilo Topalovi´ c

Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

Logika Autentikacije

Momcilo Topalovic

Matematicka gimnazijaNEDELJAV5.0

INFORMATIKE

17. decembar 2018.

Logika Autentikacije Momcilo Topalovic

Page 2: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 3: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 4: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 5: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 6: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 7: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 8: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 9: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 10: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

#

#(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

Page 11: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

|≡

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

Page 12: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

|∼

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

Page 13: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 14: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

←→

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

Page 15: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

|−→

|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

Page 16: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

|⇒

S |⇒ X

I S je autoritet da uradi X

I P |≡ S |⇒ AK←→ B

I P |≡ S |⇒ #(AK←→ B)

Logika Autentikacije Momcilo Topalovic

Page 17: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 18: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 19: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 20: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 21: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 22: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

Verovanje

P |≡ Q |⇒ X P |≡ Q |≡ XP |≡ X

Logika Autentikacije Momcilo Topalovic

Page 23: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 24: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 25: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

Š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

Page 26: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 27: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 28: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 29: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 30: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 31: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 32: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 33: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 34: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

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

Page 35: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

O cemu nismo pricali?

I Javnim kljucevimaI Zajednickim tajnamaI HašovanjuI Protokolima koji nisu Needham-Schroeder

Logika Autentikacije Momcilo Topalovic

Page 36: Momcilo Topaloviˇ c´ - csnedelja.mg.edu.rs · Logika Autentikacije Momcilo Topaloviˇ ´c. RSA ... Ne, zato što bi to znacilo da ih jeˇ Qposlao u isto vreme Logika Autentikacije

Hvala na pažnji

Logika Autentikacije Momcilo Topalovic