Sigurnost bezicnih racunalnih mreza - PowerPoint PPT Presentation

1 / 39
About This Presentation
Title:

Sigurnost bezicnih racunalnih mreza

Description:

Title: Sigurnost bezicnih racunalnih mreza Author: cagalj Last modified by: Mario Cagalj Created Date: 12/11/2006 7:02:37 PM Document presentation format – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 40
Provided by: cagalj
Category:

less

Transcript and Presenter's Notes

Title: Sigurnost bezicnih racunalnih mreza


1
Kriptografija javnog (asimetricnog)
kljuca(Public-key or Asymmetric Cryptography)
Mario Cagalj mario.cagalj_at_fesb.hr Sveucilište u
SplituSveucilišni studijski centar za strucne
studije 4/3/2012.
2
Kriptografski sustav
Ciphertext
Plaintext
Plaintext
Encryption
Decryption
Message Channel
Key Channel
Ke
Kd
Key Generation
  • Kriptografija simetricnog (tajnog) kljuca Ke
    Kd
  • Kriptografija javnog (asimetricnog) kljuca Ke ?
    Kd

3
Public-key Cryptosystems (1/4)
c
m
m
Encryption
Decryption
Message Channel
Key Channel
PUB
PRB
Key Generation
Source A
Destination B
  • Entitet B generira par kljuceva (PUB, PRB)
  • PUB javni kljuc (public key), PRB privatni
    kljuc (private key)
  • PUB je javna informacija (dostupna je svima, npr.
    entitetu A)
  • Kljuc PRB zna samo entitet B (B cuva PRB
    tajnim, npr. A ne zna PRB)
  • Zastita tajnosti Entitet A zeli poslati tajnu
    poruku m entitetu B
  • A enkriptira m javnim kljucem PUB c E(PUB, m)
  • B dekriptira c koristeci privatni kljuc PRB
    mD(PRB, c) D(PRB, E(PUB, m))
  • Nitko drugi tko ne poznaje PRB ne moze
    dekriptirati sifriranu poruku c

4
Public-key Cryptosystems (2/4)
c
m
m
Encryption
Decryption
Message Channel
Key Channel
PRA
PUA
Key Generation
Source A
Destination B
  • Autentikacija Entitet A zeli poslati
    autenticiranu poruku m entitetu B
  • A enkriptira m koristeci svoj privatni (tajni)
    kljuc PRA c E(PRA, m)
  • B dekriptira poruku c koristeci javni kljuc PUA
    m D (PUA, c)
  • Samo A zna PRA, stoga je samo A mogla pripremiti
    poruku m - source integrity
  • Cijela enkriptirana poruka c sluzi kao digitalni
    potpis (digital signature)
  • Ako bi bilo nemoguce promjeniti poruku m bez
    poznavanja privatnog kljuca PRA, m je takodjer
    autenticiran u smislu data integrity
  • Q Je li osigurana tajnost poruke m u ovo
    primjeru?

5
Public-key Cryptosystems (3/4)
c
c
c
m
m
Encryption
Encryption
Decryption
Decryption
PUB
PRB
PRA
PUA
Key Generation
Source A
Destination B
Key Generation
  • Autentikacija i tajnost Entitet A zeli poslati
    autenticiranu i tajnu poruku m entitetu B
  • Realizacija dvostrukim koristenjem kripto-sustava
    baziranog na javnom kljucu
  • A enkriptira m kako slijedi c E(PRA, m), c
    E(PUB, E(PRA, m))
  • B dekriptira poruku c c D (PRB, c), m D
    (PUA, c)
  • Q Pretpostavite da A i B zamjene uloge.
    Koristeci standardnu notaciju, opisite proceduru
    koju izvrsavaju A i B.

6
Klasifikacija kriptosustava prema namjeni
  • Enkripcija/dekripcija
  • Posiljalac enkriptira poruku koristeci javni
    kljuc primaoca.
  • Digitalni potpis
  • Posiljalac potpisuje poruku koristeci svoj
    privatni kljuc. Najcesce se ne potpisuje cijela
    poruka vec mali blok podataka (message digest)
    koji se dobije kao one-way funkcija originalne
    poruke.
  • Razmjena kljuceva (key exchange)
  • Dva entiteta (korisnika, racunala) zele
    uspostaviti sesijski (tajni) kljuc za upotrebu u
    simetricnom kriptosustavu
  • Najpoznatiji protokol iz ove kategorije
    Diffie-Hellman Key Exchange Protocol

7
Kriptografija asimetricnog (javnog) kljuca
RSA(Rivest, Shamir and Adleman)
8
RSA u praksi
  • Webmail (Secure Socket Layer - SSL)

9
Modularna aritmetika zbrajanje
  • Primjer zbrajanje modulo 10
  • 5 5 mod 10 0, 3 9 mod 10 2, 9 - 2 mod 10
    9 8 mod 10 7, 4 - 6 mod 10 4 4 mod 10
    8

0 1 2 3 4 5 6 7 8 9
0 0 1 2 3 4 5 6 7 8 9
1 1 2 3 4 5 6 7 8 9 0
2 2 3 4 5 6 7 8 9 0 1
3 3 4 5 6 7 8 9 0 1 2
4 4 5 6 7 8 9 0 1 2 3
5 5 6 7 8 9 0 1 2 3 4
6 6 7 8 9 0 1 2 3 4 5
7 7 8 9 0 1 2 3 4 5 6
8 8 9 0 1 2 3 4 5 6 7
9 9 0 1 2 3 4 5 6 7 8
10
Modularna aritmetika mnozenje (1/3)
  • Primjer mnozenje modulo 10
  • 5 ? 5 mod 10 5, 3 ? 9 mod 10 7
  • Q Samo mnozenje sa 1, 3, 7 ili 9 moze raditi kao
    sifra. Zasto?

? 0 1 2 3 4 5 6 7 8 9
0 0 0 0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6 7 8 9
2 0 2 4 6 8 0 2 4 6 8
3 0 3 6 9 2 5 8 1 4 7
4 0 4 8 2 6 0 4 8 2 6
5 0 5 0 5 0 5 0 5 0 5
6 0 6 2 8 4 0 6 2 8 4
7 0 7 4 1 8 5 2 9 6 3
8 0 8 6 4 2 0 8 6 4 2
9 0 9 8 7 6 5 4 3 2 1
11
Modularna aritmetika mnozenje (2/3)
  • Primjer poruka m 3, tajni kljuc K 7
  • Enkripcija c m ? K 3 ? 7 21 mod 10 1
  • Dekripcija m c ? K-1 1 ? 7-1 1 ? 3 3 mod
    10 3
  • Multiplikativni inverzni broj (multiplicative
    inverse) modulo n broja X (pisano X-1 ) je broj
    za koji vrijedi
  • X ? X-1 1 mod n, (npr., n 10)
  • U nasem primjeru (prethodna tablica) samo brojevi
    1, 3, 7 ili 9 imaju multiplikativne inverzne
    brojeve modulo 10
  • Q Nadjite 9-1 i 1-1 modulo 10.
  • Napomena za vrlo velike brojeve n (npr. 100
    znamenkasti broj) racunanje inverza brute-force
    metodom neizvedivo
  • Euclids Algorithm - efikasan algoritam za
    racunanje inverznih brojeva

12
Modularna aritmetika mnozenje (3/3)
  • Brojevi 1, 3, 7 i 9 su relativno prosti
    (relatively prime) brojevi u odnosu na broj 10
  • Nemaju zajednickih faktora sa brojem 10 (osim
    naravno 1)
  • Euler-ova f(n) funkcija (totient function)
  • Oznacava broj relativno prostih brojeva, u odnosu
    na n, koji su manji od n
  • Velicina funkcije f(n)
  • Ako je n prost broj onda f(n) n 1. Q Zasto?
  • Ako je n produkt dva razlicita prosta broja p i
    q, onda f(n) (p-1)(q-1). Q Je li n prost broj?
    Izvedite izraz za f(n).

13
Modularna aritmetika potenciranje (1/2)
  • Primjer potenciranje modulo 10
  • 311 177147 mod 10 7

xy 0 1 2 3 4 5 6 7 8 9 10 11 12
0 - 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1
2 1 2 4 8 6 2 4 8 6 2 4 8 6
3 1 3 9 7 1 3 9 7 1 3 9 7 1
4 1 4 6 4 6 4 6 4 6 4 6 4 6
5 1 5 5 5 5 5 5 5 5 5 5 5 5
6 1 6 6 6 6 6 6 6 6 6 6 6 6
7 1 7 9 3 1 7 9 3 1 7 9 3 1
8 1 8 4 2 6 8 4 2 6 8 4 2 6
9 1 9 1 9 1 9 1 9 1 9 1 9 1
14
Modularna aritmetika potenciranje (2/2)
  • Zasto su stupci 1 i 5, 2 i 6, 3 i 7 isti?
  • Zbog zanimljivog svojstva f(n) funkcije xy mod n
    x( y mod f(n) ) mod n
  • U slucaju n 10, 1, 3, 7, 9 su relativno
    prosti -gt f(n) 4. Stoga su stupci s te s 4
    jednaki.
  • Vazna napomena Ovo svojstvo f(n) funkcije
    vrijedi za sve primarne brojeve n, te za sve n
    pq, gdje su p i q razliciti prosti brojevi.
  • Za nas (RSA) je interesantan specijalan slucaj y
    1 mod f(n)
  • U ovom slucaju, za svaki x imamo xy x( 1 mod
    f(n) ) x mod n

15
RSA algoritam
  • Ron Rivest, Adi Shamir i Len Adlemam. MIT, 1977.
  • RSA je blok sifra gdje su plaintext i ciphertext
    cijeli brojevi iz 1,..., n-1
  • Tipicna velicina za n je 1024 bita ili 309
    decimalnih znamenki

Generiranje kljuceva Generiranje kljuceva
Odaberi brojeve p i q ( p ? q ) p i q su prosti i razliciti (p ? q)
Izracunaj n pq
Izracunaj f(n) (p-1)(q-1)
Odaberi cijeli broj e e je relativno prost u odnosu na f(n) 1 lt e lt f(n)
Izracunaj d ed mod f(n) 1, d je multiplikativan inverz od e
Javan kljuc (public key) PU e, n
Privatni kljuc (private key) PR d, n
Enkripcija Enkripcija
Plaintext M lt n
Ciphertext C Me mod n
Dekripcija Dekripcija
Ciphertext C
Plaintext M Cd mod n
16
Zašto RSA algoritam radi
  • M lt n
  • PU e, n
  • PR d, n
  • Enkripcija C Me mod n
  • Dekripcija
  • Digitalni potpis poruke M lt n (primjer naseg
    Webmail-a)
  • Entitet A potpise M svojim privatnim kljucem
    d,n S Md mod n
  • Entitet B prima (M, S) te provjerava da li je
    zadovoljeno M Se mod n (M Se mod n Mde
    mod n M)

M Cd mod n
Med mod n
M(ed mod f(n)) mod n
M1 mod n
M
17
RSA Toy Example
  1. Odaberi proste brojeve, p 17 i q 11
  2. Izracunaj n pq 17 x 11 187
  3. Izracunaj f(187) 16 x 10 160. Q Objasnite
    sto predstavalja f(187).
  4. Odaberi e lt f(n), tako da je e relativno prost
    obzirom na f(n) e 7
  5. Odredi d lt 160, tako da ed mod f(n) 1 d 23
    (jer 23 x 7 161 160 1)
  6. PU 7, 187 i PR 23, 187

Encryption
Decryption
ciphertext 11
887 mod 187
1123 mod 187
plaintext 88
plaintext 88
PU 7, 187
PR 23, 187
18
Sigurnost RSA algoritma
  • Ako napadac moze rastaviti n na faktore p i q
  • Moze izracunati f(n) (p-1)(q-1), te naci
    privatni kljuc d e-1 (mod f(n))
  • Postojeci algoritmi za faktorizaciju ne mogu
    izvrsiti faktorizaciju u polinomnom vremenu ako
    je n dovoljno velik (tezak problem za n veci od
    1024 bitova)
  • Timing Attacks
  • Paul Kocher je pokazao da napadac moze otkriti
    privatni kljuc tako da biljezi koliko vremena
    treba racunalu da dekriptira enkriptiranu poruku.
  • Chosen Ciphertext Attack
  • Napadac bira poruku koju ce enkriptirati
    zrtvinim javnim kljucem te od zrtve prima
    poruku dekriptiranu zrtvinim privatnim kljucem
  • Svojstvo RSA E(PU, M1) x E(PU, M2) E (PU, M2 x
    M2). Q Uvjerite se.
  • Primjer napadac ne zna d te zeli dekriptirati C
    Me mod n. Kako napadac moze dekriptirati C ako
    zrtva ne dekriptira C direktno za napadaca?
  • Izracunaj X (C x 2e) mod n
  • Daj zrtvi X, te od nje primi Y Xd mod n
  • Slijedi Xd ((C mod n) x (2e mod n))d
    ((Me mod n) x (2e mod n))d ((2M)e
    mod n)d (2M) ed mod n 2M mod n
  • Prakticni RSA kriptosustavi dodaju random
    vrijednost plaintext-u prije same enkripcije
    (Optimal Asymmetric Encryption Padding - OAEP)

19
RSA enkripcija u praksi
  • Public Key Cryptography Standard (PKCS)
  • Definira enkodiranje informacija koje ce biti
    potpisivane ili enkriptirane upotrebom RSA
    algoritma
  • PKCS je dizajniran na nacin da sprijecava mnoge
    poznate napade na textbook RSA algoritam
  • PKCS1 v2.0 encoding

message to be encrypted
some 0x00 bytes
hashed label
0x01
random seed
MGF

MGF

masked message
masked seed
0x00
MGF Mask Generating Function (hash function)
20
How to break RSA despite all the protections
  • Assumptions
  • the algorithm is flawless
  • it is implemented as it was designed

Decryption Decryption
Ciphertext C
Plaintext m cd mod n
RSA relies on modular exponentiations for
encryption and decryption
  • Brute force
  • Multiply c by itself d times.
  • If c,d and n are n-bit integers, number of
    multiplications proportional to 2n !
  • It we dont mod out, memory requirements 2n !
  • For security reasons, n must be a large number,
    e.g. n134454746427671370568340195448570911966902
    998629125654163. . .
  • Modular exponentiation is usually implemented
    using a (bit by bit) square and multiply algorithm

21
RSA with square and multiply
Decryption Decryption
Ciphertext C
Plaintext M Cd mod n
C20 C16 x C4 (C8)2 x (C2)2 (C8
x C2)2 ((C4)2 x C2)2 ((C4 x
C))2)2 (((C2)2 x C))2)2 (only 5
multiplications v.s. 19)
C25 C16 x C8 x C (C8)2 x (C4)2 x C
(C8 x C4)2 x C ((C4)2 x (C2)2)2 x C
((C4 x C2))2)2 x C (((C2)2 x
C2))2)2 x C (((C2 x C)2)2)2 x C (only 6
multiplications vs. 24)
2010 101002 (1, 10, 101, 1010, 10100) (1, 2,
5, 10, 20)
2510 110012 (1, 11, 110, 1100, 11001) (1, 3,
6, 12, 25)
22
RSA with square and multiply
Decryption Decryption
Ciphertext C
Plaintext M Cd mod n
Decryption key d d1,,dw
  • x 1
  • for j 1 to w
  • x xx mod N (square)
  • if dj 1
  • then x xC mod N (multiply)
  • end if
  • next j
  • return x

This means that the decryption execution time
depends on the key !!!
23
Simple Timing Attack on RSA
  • Timing attack
  • Measure the time of the decryption execution
  • The measured time corresponds to the number of 1s
    in the key gt i.e., time leaks the Hamming weight
    of the key!!!
  • Attack
  • 2k key search is now reduced to (k over w),
    where w is the measured Hamming weight of the
    key and k is the size of the key. (i.e., key
    combinations with w bits equal to 1)
  • Best case for the attacker w1 gt the search
    space is kThe worst case for the attacker
    wk/2 gt the search space is k!/(k/2)!x(k/
    2)!
  • Example a 21024 now reduced to 2612

24
Simple Power Analysis
  • (E.g., Kocher 1998) Attacker directly uses power
    consumption to learn bits of secret key. Wave
    forms visually examined.
  • Big features like rounds of DES, square vs.
    multiply in RSA exponentiation, and small
    features, like hamming weight of words.
  • Relatively easy to defend against.

25
Experiment SPA on exponentiation
  • Attack on the top-down square and multiply
    exponentiation algorithm during signing or
    decryption
  • Record a power trace of the operation
  • Visually confirm if multiplications were executed
    in each step

26
Experiment SPA on exponentiation
  • If a squaring is followed by another squaring,
    this bit of the exponent is zero
  • If the squaring is followed by a multiplication,
    this bit of the exponent is one

27
Experiment SPA on exponentiation
  • If the squaring is followed by another squaring,
    this bit of the exponent is zero
  • If the squaring is followed by a multiplication,
    this bit of the exponent is one

28
RSA timing attacks over the network
  • Remote timing attacks are practical. by D. Boneh
    and D. Brumley, In proceedings of the 12th Usenix
    Security Symposium, 2003http//crypto.stanford.ed
    u/dabo/papers/ssl-timing.pdf
  • The attack was performed over the campus network
  • The attacks extracts the bits of the factor q
    (npq)
  • time measurement indicates if a bit of q is 1 or
    0

n
measuretime
Attacker
Server
RSAK(n)
29
Kriptografija asimetricnog (javnog) kljuca
Diffie-Hellman kriptografski sustav
30
Diffie-Hellman uvod
  • Prvi algoritam zasnovan na javnom kljucu objavili
    su Diffie i Hellman 1976. godine
  • New Directions in Cryptography. W. Diffie and
    M. Hellman, IEEE Transactions on Information
    Theory, Vol. 22 6, 1976, pp. 644-654
  • Ovaj rad je prvi uveo pojam kriptografije javnog
    kljuca
  • Diffie-Hellman (DH) algoritam omogucuje sigurnu
    uspostavu simetricnog kljuca izmedju dva
    korisnika
  • Diffie-Hellman Key Exchange (Agreement) Protocol
  • Postoje eksenzije za uspostavu simetricnih
    kljuceva izmedju vise od dva korisnika tzv. Group
    Key Agreement
  • DH algoritam se zasniva na problemu odredjivanja
    (racunanja) diskretnog logaritma (discrete
    logarithm problem)

31
Discrete Logarithm Problem
  • Za dani prosti broj p, broj cije potencije modulo
    p generiraju sve cijele brojeve iz skupa
    1,2,..., p-1 nazivamo primitivan korijen
    (primitive root).
  • Ako je g primitivan korijen prostog broja p tada
    su brojevi gi mod p, (i 1, 2, ..., p-1),
    razliciti i daju neku permutaciju niza 1, 2,...,
    p-1
  • Za p 7, g 3 -gt 31 3, 32 2, 33 6, 34
    4, 35 5 , 36 1. Q. Je li g primitivni
    korijen za broj p?
  • Za bilo koji cijeli broj b i primitivni korijen g
    prostog broja p, mozemo naci jedinstveni
    eksponent i takav da
  • b mod p gi mod p ( skraceno b ? gi (mod p) )
  • Eksponent i nazivamo diskretnim logaritmom broja
    b po bazi g, mod p
  • Racunanje diskretnih logaritama modulo prosti
    broj je vrlo tezak problem
  • Za razliku od potenciranja (postoje efikansi
    algoritmi)
  • Diffie-Hellman algoritam koristi ovu cinjenicu

32
Diffie-Hellman algoritam
Dijeljeni javni elementi Dijeljeni javni elementi
p prosti broj
g g lt p g je primitivni korijen broja p
Korisnik A generira kljuceve Korisnik A generira kljuceve
Odaberi privatan kljuc XA XA lt p
Izracunaj javni kljuc YA YA g XA mod p
Korisnik B generira kljuceve Korisnik B generira kljuceve
Odaberi privatan kljuc XB XB lt p
Izracunaj javni kljuc YB YB g XB mod p
Korisnik A generira tajni (simetricni) kljuc
KAB (YB) XA mod p
Korisnik B generira tajni (simetricni) kljuc
KBA (YA) XB mod p
33
Zasto Diffie-Hellman algoritam radi
  • Korisnik A racuna
  • Korisnik B racuna
  • Dakle A i B se dogovore oko zajednickog tajnog
    kljuca
  • K KAB KBA g XAXB mod p

KAB (YB) XA mod p
(g XB mod p) XA mod p
(g XB) XA mod p
g XBXA mod p
KBA (YA) XB mod p
(g XA mod p) XB mod p
(g XA) XB mod p
g XAXB mod p
34
Diffie-Hellman Toy Example
  • p 353, g 3
  • A izabere privatan (tajan) kljuc XA 97
  • B izabere privatan (tajan) kljuc XB 233
  • A racuna javan kljuc YA 397 mod 353 40
  • B racuna javan kljuc YB 3233 mod 353 248
  • A racuna zajednicki tajni kljuc K 24897 mod 353
    160
  • B racuna zajednicki tajni kljuc K 40233 mod 353
    160
  • Sigurnosni aspekti Potencijalan napadac zna
    slijedece informacije
  • p 353, g 3, YA 40, te YB 248
  • Napadac moze lako otkriti zajednicki kljuc K tako
    da otkrije rjesenje jednadzbe 3a mod 353 40 ili
    jednadzbe 3b mod 353 248
  • Napadac provjerava da li je 3a mod 353 40 za
    razlicite vrijednosti a 1, 2, ..., 95, 96, 97
  • Sa velikim brojevima XA,XB i p, ovaj napad je
    nepraktican

35
Diffie-Hellman Key Exchange Protocol
  • Protokol nije autenticiran -gt Man-In-The-Middle
    (MITM) napad.
  • Q Dajte primjer MITM napada na DH protokol.

36
Diffie-Hellman protokol MITM napad
  • Napadac Malice pripremi za napad dva privatna
    kljuca XM1 i XM2 te izracuna odgovarajuce javne
    kljuceve YM1 i YM2.
  • Alice transmitira YA Bobu.
  • Malice presretne YA te prosljedi YM1 Bobu. Malice
    izracuna KAM (YA) XM2 mod p.
  • Bob primi YM1 te izracuna KBM (YM1) XB mod p.
  • Bob transmitira YB Alice.
  • Malice presretne YB te prosljedi YM2 Alice.
    Malice izracuna KBM (YB) XM1 mod p.
  • Alice primi YM2 te izracuna KAM (YM2) XA mod p.
  • U ovom trenutku Alice i Bob misle da dijele
    zajednicki kljuc, ali zapravo Alice i Malice
    dijele kljuc KAM, dok Bob i Malice dijele kljuc
    KBM, gdje vjerojatno KAM ? KBM.
  • Sada Malice moze dekriptirati i modificirati sve
    poruke koje Alice i Bob salju jedno drugome
    (preko Malice).

37
The Station-to-Station Protocol
  • Rjesava problem neautenticiranog Diffie-Hellman
    protokola
  • Mutual entity authentication, mutual explicit key
    authentication
  • Pretpostavka je da Alice i Bob posjeduju
    autenticirane javne kljuceve PUB odnosno PUA
    (npr., RSA javni kljucevi)

38
RSA i Diffie-Hellman primjene
  • SSL (e.g., Webmail)
  • SSH (secure remote access)
  • IPSec (Internet Key Exchange - IKE)
  • PGP (e-mail)

39
Slef-study CrypTool
  • http//www.cryptool.org
Write a Comment
User Comments (0)
About PowerShow.com