rea d
roo f
´ uc ˇen´ı technick´ Vysoke e v Brnˇ e ˇn´ıch technologi´ı Fakulta informac
DR AF
TN
Lecture notes (preliminary draft)
ot P
Kryptologie a informaˇ cn´ı bezpeˇ cnost
Brno 2005
Dan Cvrˇcek
roo f
ot P
TN
DR AF
rea d
rea d
i
Kryptologie a informaˇ cn´ı bezpeˇ cnost Dan Cvrˇ cek
roo f
2005
DR AF
TN
ot P
Z´ aklad n´ asleduj´ıc´ıho textu byl vytvoˇren jako studijn´ı materi´ al pro kurs Kryptografie a informaˇcn´ı zabezpeˇcenost. P˚ uvodn´ı text byl rozˇs´ıˇren, protoˇze v ˇcesk´em jazyce neexistuje vhodn´ y text, kter´ y by pokr´ yval vˇsechny aktu´ aln´ı oblasti informaˇcn´ı bezpeˇcnosti.
c Dan Cvrˇcek, 2005
Text je chr´ anˇen autorsk´ ym z´ akonem a bez svolen´ı autora jej nelze kop´ırovat, . . . . Sic v´ am ruka upadne.
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
roo f
ot P
TN
DR AF
rea d
Kryptologie a informaˇ cn´ı bezpeˇ cnost
roo f
Dan Cvrˇ cek
rea d
iii
Abstrakt
DR AF
TN
ot P
tak ten dopln´ım, aˇz budu m´ıt po kupˇe cel´ y text...
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
roo f
ot P
TN
DR AF
rea d
DR AF
TN
ot P
roo f
Acknowledgements
rea d
v
Posledn´ı velk´ y text, kter´ y jsem napsal jsem ˇc´ asteˇcnˇe vˇenoval Stopaˇrovi pr˚ uvodci – skvˇel´e trilogii v pˇeti d´ılech od Douglese Adamse. Tentokr´ at bych ho chtˇel vˇenovat i . . . .
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
OBSAH
rea d
vi
roo f
Obsah ´ 1 Uvod 1.1
Poˇc´ atky kryptografie . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2
William Friedman . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2.1
2
ot P
Riverbank publication No. 22 – Kappa and Chi tests (1920) .
1.3
Druh´ a svˇetov´ a v´ alka . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.4
Lucifer/DES
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.5
Kryptologie v Informaˇcn´ı bezpeˇcnost . . . . . . . . . . . . . . . . . .
5
1.5.1
Kryptologie . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.5.2
Informaˇcn´ı bezpeˇcnost . . . . . . . . . . . . . . . . . . . . . .
5
1.6
Protokoly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.7
Digit´ aln´ı podpis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.8
Soukrom´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.9
Dalˇs´ı literatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
Kryptologie
DR AF
2 Z´ aklady kryptologie
TN
I
1
9 11
2.1
O ˇcem vlastnˇe je kryptografie . . . . . . . . . . . . . . . . . . . . . .
11
2.2
Bezpeˇcnostn´ı vlastnosti – c´ıle . . . . . . . . . . . . . . . . . . . . . .
11
2.3
Symetrick´ a kryptografie . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.4
Kryptografie s veˇrejn´ ym kl´ıˇcem . . . . . . . . . . . . . . . . . . . . .
12
2.5
Symetrick´ a v asymetrick´ a kryptografie . . . . . . . . . . . . . . . . .
12
2.5.1
key distribution . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.5.2
computational complexity . . . . . . . . . . . . . . . . . . . .
12
2.5.3
key revocation . . . . . . . . . . . . . . . . . . . . . . . . . .
12
vii
rea d
OBSAH
Kryptografie v protokolech
. . . . . . . . . . . . . . . . . . . . . . .
12
2.7
Teorie pravdˇepodobnosti . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.8
Teorie informace – entropie . . . . . . . . . . . . . . . . . . . . . . .
13
2.9
Sloˇzitost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.9.1
Asymptotick´ a sloˇzitost . . . . . . . . . . . . . . . . . . . . . .
13
2.9.2
Tˇr´ıdy sloˇzitosti . . . . . . . . . . . . . . . . . . . . . . . . . .
14
2.10 Faktorizace cel´ ych ˇc´ısel . . . . . . . . . . . . . . . . . . . . . . . . . .
14
2.11 Klasick´ a kryptografie . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.12 Modern´ı kryptografie . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.12.1 One-time pad . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.12.2 Gener´ atory n´ ahodn´ ych ˇc´ısel – RNG . . . . . . . . . . . . . .
15
2.13 Kryptografick´e u ´toky . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
ot P
roo f
2.6
3 Stavebn´ı bloky kryptografie
3.3
3.4
3.5 3.6
17
3.1.1
Jednosmˇern´e funkce . . . . . . . . . . . . . . . . . . . . . . .
17
3.1.2
Hard-core predik´ aty . . . . . . . . . . . . . . . . . . . . . . .
17
Haˇsovac´ı funkce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
3.2.1
18
SHA-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TN
3.2
Z´ akladn´ı bloky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Autentizaˇcn´ı k´ ody zpr´ av – MAC . . . . . . . . . . . . . . . . . . . .
19
3.3.1
PMAC/OMAC . . . . . . . . . . . . . . . . . . . . . . . . . .
19
3.3.2
HMAC
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
Gener´ atory pseudon´ahodn´ ych ˇc´ısel – PRNG . . . . . . . . . . . . . .
20
3.4.1
ANSI X9.17 PRNG
. . . . . . . . . . . . . . . . . . . . . . .
21
3.4.2
DSA PRNG – NIST . . . . . . . . . . . . . . . . . . . . . . .
22
DR AF
3.1
3.4.3
RSAREF PRNG . . . . . . . . . . . . . . . . . . . . . . . . .
22
3.4.4
Cryptlib PRNG . . . . . . . . . . . . . . . . . . . . . . . . . .
23
Blokov´e ˇsifry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
3.5.1
M´ ody blokov´ ych ˇsifer . . . . . . . . . . . . . . . . . . . . . . .
23
Proudov´e ˇsifry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
4 Kryptoanal´ yza 4.1
17
Virtu´ aln´ı (ne)priv´ atn´ı s´ıt’
4.1.1
27
. . . . . . . . . . . . . . . . . . . . . . . .
27
Autentizace MS-CHAP . . . . . . . . . . . . . . . . . . . . .
28
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
OBSAH
4.3
II
4.1.2
Kryptoanal´ yza MS-CHAP . . . . . . . . . . . . . . . . . . . .
29
4.1.3
MPPE point-to-point encryption . . . . . . . . . . . . . . . .
31
4.1.4
S´ıla a u ´toky na MPPE protokol . . . . . . . . . . . . . . . . .
31
Zarovn´ an´ı zpr´ av pro CBC mod – CBC Padding . . . . . . . . . . . .
32
4.2.1
Sloˇzitost u ´toku . . . . . . . . . . . . . . . . . . . . . . . . . .
33
4.2.2
Pˇr´ıklad u ´toku – RFC2040 . . . . . . . . . . . . . . . . . . . .
33
Enigma – zp´ atky do historie . . . . . . . . . . . . . . . . . . . . . . .
35
4.3.1
36
Jak se Enigma pouˇz´ıv´ a
roo f
4.2
rea d
viii
. . . . . . . . . . . . . . . . . . . . .
Bezpeˇ cnost
5 Ovˇ eˇ rov´ an´ı identity
5.3
41
5.1.1
Digit´ aln´ı podpis . . . . . . . . . . . . . . . . . . . . . . . . .
43
5.1.2
Autentizace dat . . . . . . . . . . . . . . . . . . . . . . . . . .
43
Autentizaˇcn´ı protokoly . . . . . . . . . . . . . . . . . . . . . . . . . .
44
5.2.1
Heslo
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
5.2.2
V´ yzva-odpovˇed’ . . . . . . . . . . . . . . . . . . . . . . . . . .
46
5.2.3
Pˇr´ıklady algoritm˚ u . . . . . . . . . . . . . . . . . . . . . . . .
46
5.2.4
Kerberos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
5.2.5
Diffie-Hellman . . . . . . . . . . . . . . . . . . . . . . . . . .
48
Spr´ ava kl´ıˇc˚ u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
ot P
5.2
6 Autentizace uˇ zivatel˚ u
49
Pouˇz´ıv´ an´ı hesel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
6.1.1
Zv´ yˇsen´ı sloˇzitosti hesel . . . . . . . . . . . . . . . . . . . . . .
50
6.1.2
Osobn´ı identifikaˇcn´ı ˇc´ısla – PIN . . . . . . . . . . . . . . . . .
51
6.1.3
Nˇekolik z´ avˇer˚ u k hesl˚ um a PIN˚ um . . . . . . . . . . . . . . .
51
Autentizaˇcn´ı tokeny . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
6.2.1
Karty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
6.2.2
Autentizaˇcn´ı kalkul´atory . . . . . . . . . . . . . . . . . . . . .
53
6.3
Tˇr´ı faktorov´ a autentizace . . . . . . . . . . . . . . . . . . . . . . . .
55
6.4
Biometrick´ a autentizace . . . . . . . . . . . . . . . . . . . . . . . . .
55
6.4.1
58
6.2
DR AF
6.1
41
Autentizace zpr´ av . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TN
5.1
39
Komerˇcn´ı vs. forenzn´ı biometrie
. . . . . . . . . . . . . . . .
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
6.4.2
ix
rea d
OBSAH
Biometrie a kryptografie . . . . . . . . . . . . . . . . . . . . .
7 Bezpeˇ cnost WiFi
59
7.1
Bezpeˇcnostn´ı mechanismy WLAN
. . . . . . . . . . . . . . . . . . .
59
7.2
60
7.3
Jak funguje WEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ Utoky na WEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4
Autentizace 802.1x . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
7.5
Pl´ anov´ an´ı u ´toku . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
7.6
Zv´ yˇsen´ı bezpeˇcnosti . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
roo f
III
Praktick´ y podpis
ot P
8 Digit´ aln´ı podpis
61
65 67
Elektronick´ y a digit´ aln´ı podpis . . . . . . . . . . . . . . . . . . . . .
68
8.2
Infrastruktury veˇrejn´ ych kl´ıˇc˚ u – PKI . . . . . . . . . . . . . . . . . .
69
8.2.1
Standardy . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
8.2.2
V´ yvoj syst´emu . . . . . . . . . . . . . . . . . . . . . . . . . .
70
8.2.3
Struktura PKI . . . . . . . . . . . . . . . . . . . . . . . . . .
71
8.2.4
Platnost certifik´ at˚ u. . . . . . . . . . . . . . . . . . . . . . . .
75
8.2.5
Probl´emy X.509 . . . . . . . . . . . . . . . . . . . . . . . . .
75
8.2.6
Pˇr´ıpadov´e studie . . . . . . . . . . . . . . . . . . . . . . . . .
77
8.2.7
Soukrom´ y kl´ıˇc . . . . . . . . . . . . . . . . . . . . . . . . . .
78
8.2.8
Where to go . . .
79
TN
8.1
. . . . . . . . . . . . . . . . . . . . . . . . .
9 Z´ akon o elektronick´ em podpisu 9.2 9.3 9.4
Z´ akon o elektronick´em podpisu . . . . . . . . . . . . . . . . . . . . .
DR AF
9.1
IV
58
81 82
Bezpeˇcn´ y podpis . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
85
Novela ZEPu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
86
Vyhl´ aˇska k ZEPu . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
87
Soukrom´ı
89
10 Soukrom´ı a reputace
91
11 Anonymitn´ı syst´ emy
92
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
11.1 Anonymitn´ı syst´emy . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ cn´ık . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.1 Utoˇ
93
11.2 Mix – z´ akladn´ı blok . . . . . . . . . . . . . . . . . . . . . . . . . . .
95
11.3 Datagram vs Spojen´ı . . . . . . . . . . . . ´ 11.4 Utoky na anonymizaˇcn´ı syst´emy . . . . . ´ 11.4.1 Utok na datagramov´ y syst´em . . . ´ 11.4.2 Utok na toky dat . . . . . . . . . .
. . . . . . . . . . . . . . .
96
. . . . . . . . . . . . . . .
97
. . . . . . . . . . . . . . .
97
. . . . . . . . . . . . . . .
99
Implementace Kryptografie
12 Spr´ ava kl´ıˇ c˚ u
ot P
13 Bezpeˇ cn´ a zaˇ r´ızen´ı
roo f
V
OBSAH
rea d
x
94
101 103 104
13.1 Metody hackov´ an´ı bezpeˇcn´eho hardwaru . . . . . . . . . . . . . . . . 107 13.1.1 Lok´ aln´ı neinvazivn´ı u ´toky . . . . . . . . . . . . . . . . . . . . 107 13.1.2 Lok´ aln´ı semiinvazivn´ı u ´toky . . . . . . . . . . . . . . . . . . . 107 13.1.3 Lok´ aln´ı invazivn´ı u ´toky . . . . . . . . . . . . . . . . . . . . . 108
TN
13.1.4 Vzd´ alen´e u ´toky – bezpeˇcnostn´ı API . . . . . ´ 13.2 Utoky na HSM . . . . . . . . . . . . . . . . . . . . . ´ 13.2.1 Utoky s nulov´ ym kl´ıˇcem (XOR to Null Key) ´ 13.2.2 Utok na import kl´ıˇcov´e ˇc´ asti . . . . . . . . .
. . . . . . . . . 108 . . . . . . . . . 109
. . . . . . . . . 109 . . . . . . . . . 109
13.3 Generov´ an´ı a verifikace PIN˚ u . . . . . . . . . . . . . . . . . . . . . . 111
DR AF
13.3.1 Funkce pro verifikaci PINu . . . . . . . . . . . . . . . . . . . 111 ´ 13.3.2 Utoky s decimalizaˇcn´ı tabulkou . . . . . . . . . . . . . . . . . 112 ´ 13.3.3 Utoky na form´ aty otevˇren´ ych PIN blok˚ u – CPB . . . . . . . 114 ´ 14 Utoky postrann´ımi kan´ aly
117
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
rea d
1
roo f
Kapitola 1
´ Uvod • je 7. prosince 1941
ot P
• 1:28AM – je zachycena 9 minutov´ a r´ adiov´ a zpr´ ava na trace Tokyo-Washington. • 1:37AM – zamˇestnanec ve sluˇzbˇe na odposlouch´ avac´ı stanici zaˇc´ın´ a pˇrepisovat zpr´ avu na d´ alnopisn´em pˇr´ıstroji k odesl´ an´ı do Washingtonu. • m´ıstnost 1649, ministerstvo n´ amoˇrnictva, Washington, oddˇelen´ı OP-20-GY – b´ıl´ a, ˇzlut´ a a r˚ uˇzov´ a kopie jsou pˇrijaty d´ alnopisem a rozdˇeleny podle pouˇz´ıvan´eho kl´ıˇce.
TN
• pouˇzit´ a ˇsifra je rozpozn´ ana jako PURPLE, jedn´ a se o nejkvalitnˇejˇs´ı japonskou ˇsifru, kter´ a byla ale oddˇelen´ım OP-20-G zlomena a byly vytvoˇreny kopie ˇsifrovac´ıch rotorov´ ych stroj˚ u. • Francis M. Brotherhood nastavil pˇrep´ınaˇce na deˇsifrovac´ım stroji podle kl´ıˇce pro den 7. prosinec. Bˇehem nˇekolika minut obdrˇz´ı otevˇren´ y text. • Zpr´ ava je pˇrirozenˇe v japonˇstinˇe, takˇze je pˇrenesena do oddˇelen´ı OP-20-O, kde pr´ avˇe slouˇz´ı noˇcn´ı smˇenu pˇrekladatel — je 5 AM.
DR AF
• Text pˇreloˇzen´e zpr´ avy zn´ı ”Velvyslanec laskavˇe pˇredloˇz´ı . . . naˇsi odpovˇed’ . . . v 1:00 PM”. Ta zmiˇ novan´ a odpovˇed’ byla z Japonska zasl´ ana jiˇz dˇr´ıve ”. . . japonsk´ a vl´ ada je nucena s l´ıtost´ı t´ımto ozn´ amit americk´e vl´ adˇe, ˇze vzhledem k postoji americk´e vl´ ady nem˚ uˇze jinak, neˇz povaˇzovat za nemoˇzn´e dos´ ahnout dohody dalˇs´ım vyjedn´ av´ an´ım.” • Je 7AM a je nedˇele, za ˇctyˇri hodiny je zpr´ ava doruˇcena vel´ıc´ım d˚ ustojn´ık˚ um. Toho dne je pˇrepaden Pearl-Harbor. Tento pˇr´ıbˇeh dokumentuje jednu z nejv´ıce citovan´ ych epizod druh´e svˇetov´e v´ alky. D˚ uvod˚ u pro to je hned nˇekolik – spojen´e st´ aty byly naprosto pˇrekvapeny u ´tokem za strany Japonska a hledali proto pˇr´ıˇciny. V
´ Kapitola 1. Uvod
rea d
2
r´ amci tohoto snaˇzen´ı byla mimo jin´e objevena i skuteˇcnost, ˇze informace o ukonˇcen´ı m´ırov´ ych jedn´ an´ı ze strany Japonska byla odpovˇedn´ ym osob´ am zn´ ama jeˇstˇe pˇred ofici´ aln´ım doruˇcen´ım depeˇse.
roo f
Tento pˇr´ıbˇeh tak´e ukazuje na jeden z nejvˇetˇs´ıch u ´spˇech˚ u US – zlomen´ı ˇsifry PURPLE a vytvoˇren´ı kopie stroje, kter´ a umoˇzn ˇovala rychl´e deˇsifrov´ an´ı zpr´ av. Podobnˇe jako v pˇr´ıpadˇe Anglie, kter´ a zlomila ˇsifry ENIGMA a pozdˇeji Lorenz nemˇel nepˇr´ıtel tuˇsen´ı o faktu, ˇze ˇsifra uˇz nezaruˇcuje bezpeˇcnost pˇren´ aˇsen´ ych dat. I kdyˇz se bav´ıme o tom, ˇze spojenc´ı byli u ´spˇeˇsn´ı proti st´ at˚ um Osy, tak podobn´ a situace byla i v opaˇcn´em smˇeru . . .
1.1
Poˇ c´ atky kryptografie
Historie - Egypt, Indie, Rome
ot P
krypto a steganografie
Modern´ı kryptografie spojena se dvˇema jm´eny: Herbert Osborn Yardley and William F. Friedman a dvac´ at´ ymi lety minul´eho stolet´ı. Dalˇs´ı v´ yznamnou postavou je Claude Shannon a hlavnˇe jeho ˇcl´ anek o pˇrenosu dat pˇres kan´ al se ˇsumem.
1.2
TN
Otevˇren´ y v´ yzkum byl otevˇren nezam´ yˇslen´ ym publikov´ an´ım standardu DES.
William Friedman
Na poˇc´ atku dvac´ at´ ych let pracoval v Geneva pobl´ıˇz Chicago. Plukovn´ık George Fabyan zde mˇel laboratoˇre pro v´ yzkum v oblasti biologie, chemie a akustiky. Mimo jin´e tak´e vˇeˇril, ˇze Shakespeare byl pseudonym pro Bacona. Proto financoval kryptoanalytick´ y v´ yzkum, nebo pˇresnˇeji srovn´ avac´ı anal´ yzu text˚ u obou autor˚ u
1.2.1
DR AF
Friedman p˚ uvodnˇe studoval genetiku (poch´ az´ı z Kishinev, Ukrajina). Pozdˇeji se oˇzenil s Elizabeth Smith, se kterou bˇehem nˇekolika m´ alo let posunul cryptology o des´ıtky let kupˇredu. V roce 1921 se rozeˇsel s Fabyanem a vstoupil do Signal Corps, kde se stal v roce 1929 ˇs´efem MI8. Byl hlavn´ı postavou za u ´spˇechy US kryptologie bˇehem druh´e svˇetov´e v´ alky.
Riverbank publication No. 22 – Kappa and Chi tests (1920)
Relativn´ı frekvence nalezen´ı stejn´eho p´ısmene na stejn´e pozici ve dvou nez´ avisl´ ych textech (the character coincidence) – index shody (coincidence index) – IC. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´ svˇ ´ va ´lka 1.3. Druha etova
Kappa(T, T ) =
rea d
′
M X δ(tµ , t′µ ) µ=1
3
M
δ(x, y) = 1 if x = y a δ(x, y) = 0 jinak
roo f
Chi znaˇc´ı ”skal´ arn´ı souˇcin” (cross-product sum – Solomon Kullback, 1935). V n´ asleduj´ıc´ı rovnici je mi absolutn´ı frekvence v´ yskytu znaku i v textu M . P ( i=1 mi m′i ) Chi(T, T ) = M2 ′
ot P
Kappa-Chi teorem pak zn´ı:
M −1 1 X Kappa(T (ρ) , T ′ ) = Chi(T, T ′ ) M ρ=0
Pˇr´ıklad v´ ypoˇctu:
1.3
DR AF
TN
Indeedthereexistsaparticularinvariantofatextundermono Astonishinglygivenamonoalphabeticallyencryptedcryptot + + alphabeticencryptionwhichisdiscussedinthefollowingand extitiseasiertosaywhetheritisinEnglishFrenchorGermant + + ++ arelatedinvariantofapairoftextswhichiseveninvariantun hantodecryptitThisisalsotrueforplaintextthereisarelia + + derapolyalphabeticencryptionofbothtexts blemethodtotestasufficientlylongtextfor + M=206, delta=9 kappa=4.4
Druh´ a svˇ etov´ a v´ alka
Druh´ a svˇetov´ a v´ alka byla obrovsk´ ym utrpen´ım pro celou zemi. D´ıky tomu, ˇze nepˇr´atelsk´e strany bojovali o sv´e pˇreˇzit´ı, tak byly schopn´e investovat vˇsechny sv´e prostˇredky do rozvoje tˇech oblast´ı, kter´e slibovali pˇrin´est v´ yhodu ve v´ aleˇcn´em stˇretnut´ı. D´ıky tomu doˇslo k mohutn´emu rozvoji technick´ ych obor˚ u a kryptologie nebyla Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´ Kapitola 1. Uvod
rea d
4
v´ yjimkou. Zvl´ aˇstn´ı v´ yznam mˇela tato doba pro kryptoanal´ yzu – vˇzdy je jednoduˇsˇs´ı upˇr´ıt s´ıly k nˇeˇcemu co pˇrinese konr´etn´ı v´ ysledek (zlomen´ı ˇsifry), neˇz k nˇeˇcemu, co je neviditeln´e (udrˇzen´ı tajemstv´ı). D´ıky tomu pˇrinesla druh´ a svˇetov´ a v´ alka velk´e mnoˇzstv´ı pˇr´ıklad˚ uu ´spˇeˇsn´e kryptoanal´ yzy a je dodnes zdrojem pouˇcen´ı. Ne, ˇze bychom dnes byli schopni dˇelat opravdu skvˇelou kryptoanal´ yzu, ale d´ıky n´ asledk˚ um, kter´e v t´e dobˇe zlomen´ı ˇsifry mˇelo.
roo f
Mnoˇzina ˇsifer se stupˇ novanou sloˇzitost´ı – kryptoanal´ yzu zaˇcneme od nejjednoˇsˇs´ı a koncepˇcn´ı vlastnosti n´ avrhu pouˇzijeme pˇri kryptoanal´ yze st´ ale sloˇzitˇejˇs´ıch variant. K´ odov´e knihy – d´ıky neexistenci poˇc´ıtaˇc˚ u bylo tˇreba k´ odov´ a slova ˇradit podle abecedy. Vedlejˇs´ımi efekty bylo, ˇze slova, kter´ a byla bl´ızko sebe v abecedˇe mˇela podobn´e k´ ody a podle odhadu celkov´e velikosti a urˇcit´eho k´ odov´eho ˇc´ısla m˚ uˇzeme odhadnou prvn´ı p´ısmena dan´eho slova.
ot P
Poln´ı ˇsifry vyˇzadovaly urˇcitou netrivi´ aln´ı zruˇcnost. Pokud tyto poˇzadavky byly pˇr´ıliˇs vysok´e, tak vedli k ignorov´ an´ı ˇsifer v˚ ubec – velitel´e je v˚ ubec nepouˇz´ıvali, nebo pˇri jejich pouˇz´ıv´ an´ı dˇelali chyby. Chyby pak vytv´ aˇrej´ı nepravidelnosti, kter´e mohou m´ıt dva efekty. Bud’ zvyˇsuj´ı n´ aroky na kryptoanal´ yzu, nebo (a to plat´ı pro vˇetˇsinu pˇr´ıpad˚ u) je moˇzn´e je pouˇz´ıt k z´ısk´ an´ı informac´ı, ke kter´ ym by se u ´toˇcn´ık jinak nedostal.
TN
Pouˇz´ıv´ an´ı ˇsifer, jejichˇz bezpeˇcnost byla zaloˇzena na utajen´ı jejich mechanismu nemaj´ı ˇsanci na dlouhodob´ yu ´spˇech pˇri vˇetˇs´ım nasazen´ı. Dˇr´ıve nebo pozdˇeji dojde k prozrazen´ı mechanismu a to vede ke kolapsu cel´eho syst´emu. Proto dnes kryptologie stoj´ı na Kerckhoffovˇe principu, kdy je ˇsifra bezpeˇcn´ a tak dlouho, dokud je v bezpeˇc´ı kl´ıˇc. St´ atn´ı organizace mohou pouˇz´ıvat princip utajen´ı, ale je to jen dalˇs´ı vrstva ochrany pˇridan´ a ke kvalitn´ı ˇsifˇre.
DR AF
Pro bezpeˇcnost kryptografick´eho sch´ematu je z´ asadn´ı zp˚ usob jeho pouˇz´ıv´ an´ı. ENIGMA byla velmi silnou ˇsifrou. Mˇela svoje slab´ a m´ısta, ale bez chyb v jej´ım pouˇz´ıv´ an´ı by nebylo moˇzn´e z´ıskat dostatek informac´ı pro u ´spˇeˇsnou kryptoanal´ yzu nejsilnˇejˇs´ıch verz´ı. ENIGMA byl syst´em vyv´ıjen´ y od konce dvac´ at´ ych let a byl postupnˇe zesilov´ an. V t´eto dobˇe se podaˇrilo vytvoˇrit kopie ˇsifrovac´ıch stroj˚ u a syst´em ˇsifrov´ an´ı byl korektnˇe pochopen. Anglick´ a kryptoanal´ yza byla pozdˇeji postavena na vlastnosti, kdy urˇcit´e p´ısmeno nemohlo b´ yt nikdy zaˇsifrov´ ano samo na sebe. Bylo pouˇz´ıv´ ano hled´ an´ı ˇc´ ast´ı vˇet – cribs – kter´e urˇcitˇe byly souˇc´ ast´ı zpr´ avy a po nalezen´ı spr´ avn´e pozice (ˇz´ adn´e p´ısmeno se nesmˇelo shodovat s pˇr´ısluˇsn´ ym p´ısmenem v ˇsifrov´em textu) se hledal kl´ıˇc. Podrobnosti je moˇzn´e naj´ıt na www.bletchleypark.gov.uk.
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
1.4
5
rea d
1.4. Lucifer/DES
Lucifer/DES
IBM vytvoˇrila n´ avrh ˇsifry, kterou pot´e NSA upravila. Standardem se v´ ysledn´ a ˇsifra stala v roce 1976. Jaka standard fungova DES aˇz do roku 2001. ˇ Sifra se stala absolutn´ım pr˚ ulomem v kryptologii. D´ıky ˇspatn´e dohodˇe mezi
roo f
NSA a NIST nebyla ˇsifra pouˇzita jen pro hardwarovou implementaci (schovan´ a v bezpeˇcn´em pouzdru), ale publikov´ ana s u ´pln´ ym popisem jako otevˇren´ y standard. Spoleˇcnˇe s asymetrickou kryptografi´ı to byl hlavn´ı impuls pro rozvoj kryptologie v otevˇren´em prostˇred´ı a literatuˇre. ...
1.5.1
Kryptologie v Informaˇ cn´ı bezpeˇ cnost Kryptologie
• language theory • number theory • algebra – theory of groups
• complexity theory
TN
• combinatorial logic
ot P
1.5
• ergodic theory – group statistical properties • theory of information • ...
Informaˇ cn´ı bezpeˇ cnost
DR AF
1.5.2
• communication protocols • software engineering
• programming languages • data formats
• operating systems • random numbers
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´ Kapitola 1. Uvod
rea d
6
• distributed systems • computer architectures . . .
See things differently from designers Protokoly
roo f
1.6
Hlavn´ımi dvˇema c´ıli jsou • authentication • secure data exchange
ot P
Na protokoly existuje velk´e mnoˇzstv´ı r˚ uzn´ ych u ´tok˚ u – pˇrehr´ an´ı (replay), odraz (reflection), muˇz uprostˇred (man-in-the-middle), vkl´ ad´ an´ı chyb (fault-injection). Uk´ azka – Needham-Schroeder protokol s veˇrejn´ ym kl´ıˇcem A→ B: A, B, (NA , A)P KB B→ A: B, A, (NA , NB )P KA
TN
A→ B: A, B, (NB )P KB
Autentizaˇcn´ı protokoly jsou zaloˇzeny na tˇrech implicitn´ıch sd´ılen´ ych tajemstvt´ıch. Podle toho, co mus´ı splnit uˇzivatele rozdˇelujeme tajemstv´ı na: • what you know • what you have
1.7
DR AF
• what you are
Digit´ aln´ı podpis
problem areas cryptographic protocols engineering procedural/administrative archiving Does asymmetric cryptography really helps?
1.8
Soukrom´ı
big brother v citizens
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
1.9. Dalˇ s´ı literatura
rea d
1.9
7
Dalˇ s´ı literatura
Bohuˇzel, v ˇcesk´em jazyce neexistuje kvalitn´ı uˇcebn´ı text. Pro ty, kteˇr´ı maj´ı o bezpeˇcnost a kryptografii z´ ajem tak doporuˇcuji n´ asleduj´ıc´ı knihy, kter´e jsou zhruba seˇrazeny od praktiˇctˇejˇs´ıch k nejteoretiˇctˇejˇs´ım.
roo f
• R. Anderson. Security Engineering: A Guide to Building Dependable Distributed Systems. Wiley Computer Publishing, 2001. • B. Schneier. Beyond Fear: Thinking Sensibly About Security in an Uncertain World. Springer-Verlag New York Inc., 2003.
• B. Schneier. Secrets and Lies: Digital Security in a Networked World. Hungry Minds Inc, 2004.
ot P
• H. X. Mel. Cryptography Decrypted. Addison Wesley, 2001.
• B. Schneier. Applied Cryptography: Protocols, Algorithms and Source Code in C. John Wiley & Sons, 1995. • A. J. Menezes, P. van Oorschot, S. A. Vanston. Handbook of Applied Cryptography. CRC Press, 1996. Nebo http://www.cacr.math.uwaterloo.ca/hac/
TN
• D. Kahn. The Codebreakers: The Comprehensive History of Secret Communication from Ancient Times to the Internet. Simon & Schuster, 1996. • F. L. Bauer. Decrypted Secrets: Methods and Maxims of Cryptology. SpringerVerlag Berlin and Heidelberg, 2002. • O. Goldreich. Foundations of Cryptography: Basic Tools Vol 1. Cambridge University Press, 2001.
DR AF
• O. Goldreich. Foundations of Cryptography: Basic Applications Vol 2. Cambridge University Press, 2004.
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
roo f
ot P
TN
DR AF
rea d
roo f
rea d
9
ot P
ˇ ast I C´
DR AF
TN
Kryptologie
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
roo f
ot P
TN
DR AF
rea d
rea d
11
roo f
Kapitola 2
Z´ aklady kryptologie
Oˇ cem vlastnˇ e je kryptografie
ot P
2.1
we will have parties A (Alice), and B (Bob) cryptography enables two parties to securely communicate protocol distributed algorithm goals v threats, we need to think about Eve security as strong as the weakest link
2.2
Bezpeˇ cnostn´ı vlastnosti – c´ıle
TN
confidentiality Eve shouldn’t find out the content
integrity Eve shouldn’t be able to change the content authentication Eve shouldn’t be able to masquerade as Alice non-repudiation one can prove all Alice/Bob has done
2.3
DR AF
Q: what is the difference between authentication and non-repudiation
Symetrick´ a kryptografie
Alice and Bob share a key Eve doesn’t know key – a random string of k bits how many bits is enough? • number of people 5 × 109
• mass of the earth 5.98 × 1027 grams • visible space – 1.7 × 1077 hydrogen atoms
currently, 128 bits of randomness is assumed secure
2.4
Kryptografie s veˇ rejn´ ym kl´ıˇ cem
Alice and Bob each generate public and secret key
roo f
only public keys are exchanged – Eve may know them
rea d
´klady kryptologie Kapitola 2. Za
12
key size 1024-2048 bits
problem is to link keys to users ⇒ one still has to ensure integrity – how much easier is it compared to confidentiality?
Symetrick´ a v asymetrick´ a kryptografie
2.5.1
key distribution
2.5.2
computational complexity
2.5.3
key revocation
Kryptografie v protokolech
A→B B→A A→B
: A, B, (NA , A)P KB : B, A, (NA , NB )P KA : A, B, (NB )P KB
TN
2.6
attack goes as follows: A → I: A, I, (NA , A)P KI
...
I, A, (NA , NB )P KA A, I, (NB )P KI
I(A) → B: B → I(A):
DR AF
I → A: A → I:
2.7
ot P
2.5
I(A) → B:
A, B, (NA , A)P KB B, A, (NA , NB )P KA
A, B, (NB )P KB
Teorie pravdˇ epodobnosti
Jedn´ım z nejˇcastˇeji pouˇz´ıvan´ ych fakt˚ u je ˇreˇsen´ı tzv. narozeninov´eho probl´emu. ˇ a definice je n´ Cist´ asleduj´ıc´ı. Mˇejme urnu s m kuliˇckami, kter´e jsou oˇc´ıslovan´e 1 aˇz m. Nyn´ı budeme postupnˇe tahat celkem n kuliˇcek s n´ avratem (taˇzenou kuliˇcku vrac´ıme zp´ atky do urny. Jak´ a je Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
13
rea d
2.8. Teorie informace – entropie
pravdˇepodobnost alespoˇ n jedn´e shody – kuliˇcka se stejn´ ym ˇc´ıslem je taˇzena alespoˇ n dvakr´ at? √ n Nejdˇr´ıve definujeme funkci P (m, n): P (m, n) = 1− m! ı, jestliˇze n = m, n! m . Nyn´ pak pro m → ∞ plat´ı, ˇze −n2 ) 2m
roo f
P (m, n) ≈ 1 − exp( tak´e plat´ı, ˇze
P (m, n) = 1 − exp(
2.8
p √ −m ) = ((πm)/2) = 1.25 m 2m
Teorie informace – entropie
ot P
ˇ Reknˇ eme, ˇze X = x1 , x2 , . . . , xn je n´ ahodn´ a promˇenn´ a, pro kterou d´ ale plat´ı, ˇze P (X = xi ) = pi a Σi pi = 1. Entropy je definov´ ana jako H(X) = −Σpi lg pi = Σpi lg(1/pi ). Pouˇz´ıvan´ a konvence pro hraniˇcn´ı hodnoty je, ˇze pi lg(1/pi ) = 0 pr´ avˇe kdyˇz plat´ı, ˇze pi = 0. Nˇekter´e z´ akladn´ı vlastnosti: • H(X) ∈ h0, lg ni
TN
• H(X) = 0 pr´ avˇe kdyˇz existuje pi : pi = 1 • H(X) = lg n pr´ avˇe kdyˇz ∀i : pi = 1/n
2.9
Sloˇ zitost
Algoritmus je dobˇre definovan´ a v´ ypoˇcetn´ı procedura (postup). Algoritmus m´ a vstupn´ı promˇenn´e a vˇzdy se v koneˇcn´em ˇcase zastav´ı a vr´ at´ı v´ ystupn´ı hodnoty.
DR AF
Velikost dat, tj. vstupu a v´ ystupu algoritmu je minim´ aln´ı poˇcet bit˚ u potˇrebn´ y pro reprezentaci hodnot pˇr´ısluˇsn´ ych dat. Z hlediska sloˇzitosti n´ as zaj´ım´ a sloˇzitost ˇcasov´ a a prostorov´ a. V obou pˇr´ıpadech je moˇzn´e spoˇc´ıtat: nejhorˇs´ı pˇr´ıpad a pr˚ umˇernou hodnotu. Aby bylo moˇzn´e abstraktnˇe uvaˇzovat o sloˇzitosti definujeme asymptotick´e ohraniˇcen´ı. Tj. hranice pro nekoneˇcn´e mnoˇzstv´ı hodnot, nebo nekoneˇcnou velikost dat.
2.9.1
Asymptotick´ a sloˇ zitost
asymptotic upper bound f (n) = O(g(n)) if there exists a positive constant c and integer n0 such that 0 ≤ f (n) ≤ cg(n), for all n ≥ n0 Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´klady kryptologie Kapitola 2. Za
rea d
14
asymptotic lower bound f (n) = Ω(g(n)) . . . 0 ≤ cg(n) ≤ f (n), for all n ≥ n0
asymptotic tight bound f (n) = Θ(g(n)) constants c1 , c2 , . . . c1 g(n) ≤ f (n) ≤ c2 g(n), for all n ≥ n0
2.9.2
roo f
o-notation f (n) = o(g(n)) if for any positive constant c . . . 0 ≤ f (n) < cg(n), for all n ≥ n0
Tˇ r´ıdy sloˇ zitosti
Druhou oblast´ı, kde n´ as zaj´ım´ a definice sloˇzitosti je definice sloˇzitosti probl´em˚ u, coˇz je abstraktnˇejˇs´ı pojem, neˇz u algoritm˚ u. V tomto pˇr´ıpadˇe n´ as zaj´ım´ a jen nˇekolik z´ akladn´ıch mnoˇzin sloˇzitosti. Hranic´ı je pro n´ as algoritmus s polynomi´ aln´ım ˇcasem k O(n ), kde k je konstanta nez´ avisl´ a na n, coˇz je velikost vstupn´ıch dat.
ot P
yv´ ame algoritAlgoritmus, kter´ y nen´ı moˇzn´e ohraniˇcit pomoc´ı funkce O(nk ) naz´ mem s exponenci´ aln´ım ˇcasem. Pozn: ˇr´ıkali jsme, ˇze hranice pro odhad sloˇzitosti jsou asymptotick´e, kter´ a z n´ asleln n ln n 100 ) a O(n )) je lepˇs´ı pro rozumnˇe mal´e hodnoty vsduj´ıc´ıch sloˇzitost´ı (O(n tupn´ıch dat? Z´ akladn´ı tˇr´ıdy sloˇzitosti jsou:
TN
complexity class P -– polynomial time complexity
complexity class NP -– polynomial time complexity, given a certificate complete NP problems -– e.g. subset sum problem
2.10
DR AF
Zcela samostatnou kapitolou, kter´ a uˇz je mimo r´ amec tohoto dokumentu jsou randomizovan´e probl´emy.
Faktorizace cel´ ych ˇ c´ısel
Libovoln´e cel´e ˇc´ıslo n je moˇzn´e rozepsat na souˇcin prvoˇc´ısel n = pe11 pe22 . . . pekk , kde pi jsou prvoˇc´ısla. V souˇcasn´e dobˇe je hled´ an´ı souˇcinu prvoˇc´ısel pov´ aˇzov´ ano ze sloˇzit´ y probl´em, tedy probl´em tˇr´ıdy N P . Specifickou podtˇr´ıdou probl´emu je RSA probl´em. RSA probl´em je definov´ an jako hled´ an´ı rozkladu pro n = p.q, kde p a q jsou ˇ prvoˇc´ısla. Sifra postaven´ a na obt´ıˇznosti tohoto probl´emu je n´ asleduj´ıc´ı. Mˇejme n = p.q, d´ ale pak e takov´e, ˇze gcd(e, (p − 1)(q − 1)) = 1. Zlomen´ı ˇsifry znamen´ a, ˇze pro cel´e ˇc´ıslo c najdeme m takov´e, ˇze me ≡ c(modn). Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´ kryptografie 2.11. Klasicka
Klasick´ a kryptografie
crypto-world.info CryptoWorld 9-12/04, nebo roˇcn´ık 2000
rea d
2.11
15
jako otevˇren´ y text, ale jsou prom´ıchan´e.
2.12
Modern´ı kryptografie
roo f
substituce – ˇsifry, kter´e zamˇen ˇuj´ı znaky za jin´e podle definovan´ ych abeced. Bud’ m´ ame jen jednu abecedu (monoalfabetick´e), nebo v´ıce abeced, kter´e stˇr´ıd´ ame (polyalfabetick´e). Pˇr´ıklad monoalfabetick´e ˇsifry je Caesarova ˇsifra, pro polyalfabetick´e jsou to Vigenere a Beaufort. ˇ permutace – prohazov´ an´ı znak˚ u, jejich pozic. Sifrov´ y text obsahuje stejn´e znaky
ot P
pouˇz´ıv´ an´ı poˇc´ıtaˇc˚ u – obrovsk´ y n´ arust poˇctu operac´ı, kter´e jsme schopni prov´ adˇet pˇri ˇsifrov´ an´ı. ˇsifry st´ ale pouˇz´ıvaj´ı dva p˚ uvodn´ı principy. Substituce je realizov´ ana pomoc´ı Sbox˚ u, permutace jsou pak pevnˇe definovan´e v n´ avrhu ˇsifry. Kerckhoff˚ uv princip – kryptosyst´em by mˇel b´ yt bezoeˇcn´ y i v pˇr´ıpadˇe, kdy vˇsechno ohlednˇe konstrukce a fungov´ an´ı syst´em˚ u je veˇrejnˇe zn´ am´e – kromˇ e kl´ıˇ ce. security through obscurity . . .
One-time pad
TN
2.12.1
ˇ Sifra s bezpeˇcnostn´ı dok´ azanou na u ´rovni teorie informace. Alice a Bob se pˇredem ˇ dohodnou na dlouh´e n´ ahodn´e sekvenci a. Sifrov´ an´ı prob´ıh´ a tak, ˇze kaˇzd´ a zpr´ ava je xorov´ ana s jeˇstˇe nikdy nepouˇzitou ˇc´ ast´ı sekvencea. D˚ ukaz o bezpeˇcnosti ˇsifry je zaloˇzen na n´ asleduj´ıc´ıch pˇredpokladech: • a a ani ˇz´ adn´ a jej´ı ˇc´ ast nen´ı nikdy pouˇzita dvakr´ at
DR AF
• a je opravdu n´ ahodn´ a – toto bylo poruˇseno bˇehem WWII, kdy n´ ahodn´e sekvence generovaly sekret´ aˇrky na psac´ıch stroj´ıch. Ty pˇrirozenˇe pouˇz´ıvaly nˇekter´ a p´ısmena ˇcastˇeji a souˇcasnˇe vytv´ aˇrely sekvence, kter´e se ˇcasto opakovaly. Poruˇsen´ı prvn´ıho principu umoˇzn ˇuje z´ıskat ˇc´ asteˇcnou znalost o otevˇren´ ych textech M1 a M2 , a to M1 ⊕ M2 . Vzhledem k tomu, ˇze pˇrirozen´ y jazyk obsahuje velkou redundanci, tak tato ˇc´ asteˇcn´ a znalost umoˇzn ˇuje rekonstruovat oba p˚ uvodn´ı texty.
2.12.2
Gener´ atory n´ ahodn´ ych ˇ c´ısel – RNG
Vˇzdy potˇrebujeme nˇejak´e n´ ahodn´e bity, ˇc´ısla, nebo sekvence. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
rea d
´klady kryptologie Kapitola 2. Za
16
Generov´ an´ı n´ ahodn´ ych ˇc´ısel je moˇzn´e dˇelat hardwarovˇe za pouˇzit´ı fyzik´ aln´ıch zdroj˚ u n´ ahodnosti, nebo programovˇe pomoc´ı nˇejak´eho deterministick´eho algoritmu.
Gener´ atory pseudon´ ahodn´ ych ˇc´ısel (pseudorandom number generators – PRNG). Z´ akladn´ı pravidlo pro rozezn´ an´ı n´ ahodn´e sekvence je:
roo f
Libovoln´ a koneˇcn´ a sekvence je n´ ahodn´ a, jestliˇze neexistuje ˇza ´dn´ a kratˇs´ı sekvence, kter´ a by ji plnˇe popisovala v nˇejak´em jednoznaˇcn´em matematick´em z´ apisu. I pro RNG je moˇzn´e prov´ adˇet anal´ yzu bezpeˇcnosti jejich n´ avrhu, kdy hodnot´ıme vlastnosti PRNG n´ avrhu a jeho principy fungov´ an´ı. Druhou moˇznost´ı testov´ an´ı kvality gener´ ator˚ u, tentokr´ at TRNG je statistick´e testov´ an´ı v´ ysledn´ ych n´ ahodn´ ych sekvenc´ı.
• Von Neumann metoda • xor
2.13
Kryptografick´ eu ´ toky
ot P
Jestliˇze m´ ame k dispozici kvalitn´ı RNG, kter´ y je pouze vych´ ylen tak, ˇze generuje vˇetˇs´ı mnoˇzstv´ı nul, neˇz jedniˇcek, tak m˚ uˇzeme pouˇz´ıt jednu z nˇekolika metod.
TN
Kryptografick´e u ´toky a kryptoanal´ yzu budeme podrobnˇeji prob´ırat pozdˇeji. V t´eto chv´ıli si pouze definujeme tˇr´ıdy moˇzn´ ych u ´tok˚ u. pasivn´ı – napˇr. pro sch´emata veˇrejn´e kryptografie, kdy u ´toˇcn´ık zn´ a veˇrejn´ y kl´ıˇc • key-oblivious (nez´ avisl´e na kl´ıˇci) -– v´ ybˇer ˇcist´eho textu pro u ´tok je nez´ avisl´ y na zn´ am´em veˇrejn´em kl´ıˇci • key-dependent (z´ avisl´e na kl´ıˇci)
DR AF
aktivn´ı – u ´toˇcn´ık se v tomto pˇr´ıpadˇe st´ av´ a aktivn´ım u ´ˇcastn´ıkem protokolu/sch´ematu • volen´ y otevˇren´ y text (chosen plaintext) • volen´ y ˇsifrov´ y text (chosen ciphertext) – je tˇreba dalˇs´ıho pˇr´ıstupu k vˇeˇst´ırnˇe
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
rea d
17
roo f
Kapitola 3
Stavebn´ı bloky kryptografie
3.1
Z´ akladn´ı bloky
ot P
Vˇsechny postupy v kryptografii, vˇsechny algoritmy je moˇzn´e vytvoˇrit z nˇekolika m´ alo z´ akladn´ıch funkc´ı. Tyto funkce velmi pˇeknˇe definoval Oded Goldreich ve sv´e knize Foundations of Cryptography. Dva z´ akladn´ı stavebn´ı bloky jsou jednosmˇern´e funkce a hard-core predik´ aty. Tyto dva z´ akladn´ı bloky umoˇzn ˇuj´ı vytvoˇrit vˇsechny dalˇs´ı typy funkc´ı, kter´e bˇeˇznˇe pouˇz´ıv´ ame - blokov´e ˇsifry, proudov´e ˇsifry, algoritmy s veˇrejn´ ym kl´ıˇcem, . . . .
3.1.1
TN
Pokusme si nejdˇr´ıv ˇr´ıci nˇeco o dvou jiˇz zm´ınˇen´ ych primitiv´ ach na kter´ ych stoj´ı cel´ a modern´ı kryptografie.
Jednosmˇ ern´ e funkce
DR AF
Z´ akladem souˇcasn´e kryptografie je rozd´ıl v´ ypoˇcetn´ı obt´ıˇznost´ı mezi efektivn´ımi algoritmy, kter´e m˚ uˇze pouˇz´ıvat vlastn´ık urˇcit´eho tajemstv´ı a n´ aroˇcnost´ı stejn´ ych algoritm˚ u pro u ´toˇcn´ıka, kter´ y potˇrebn´e tajemstv´ı nezn´ a. Napˇr. u ˇsifrovac´ıch funkc´ı je tˇreba, aby opr´ avnˇen´ y pˇr´ıjemce mohl zpr´ avu rychle odˇsifrovat, ale u ´toˇcn´ık toto nesm´ı b´ yt schopen efektivnˇe udˇelat bez znalosti kl´ıˇce. Jednosmˇern´ a funkce je zvl´ aˇstnˇe konstruovan´ a funkce kterou je, velmi volnˇe ˇreˇceno, snadn´e vypoˇc´ıtat, ale velmi obt´ıˇzn´e invertovat. Obt´ıˇzn´ ym invertov´ an´ı m´ ame na mysli situaci, kdy je tˇreba zkouˇset vˇsechny moˇzn´e vstupy, abychom nalezli ten, kter´ y d´ av´ a konkr´etn´ı v´ ystupn´ı hodnotu.
3.1.2
Hard-core predik´ aty
Je moˇzn´e vytvoˇrit z jednosmˇern´ ych funkc´ı...
3.2
rea d
Kapitola 3. Stavebn´ı bloky kryptografie
18
Haˇ sovac´ı funkce
roo f
Pˇrehled z´ akladn´ıch mnoˇzin funkc´ı, kter´e pouˇz´ıv´ ame pro kryptografii zaˇcneme haˇsovac´ımi funkcemi. Haˇsovac´ı funkce jsou jiˇz funkce, kter´e jsou pˇr´ımo pouˇz´ıv´ any v aplikac´ıch, kter´e obsahuj´ı nˇejak´e kryptografick´e funkce. V principu se jedn´ a o jednosmˇern´e funkce, kter´e ovˇsem mus´ı splˇ novat pˇresnˇe definovan´e podm´ınky. Z´ akladn´ı haˇsovac´ı funkce mapuj´ı ˇretˇezce o libovoln´e d´elce na ˇretˇezce o konstantn´ı d´elce. Pˇr´ıkladem mohou b´ yt kontroln´ı souˇcty, napˇr. CRC. Kryptografick´e haˇsovac´ı funkce (oznaˇcme je na n´ asleduj´ıc´ıch ˇr´ adc´ıch f (.)) musej´ı nav´ıc splˇ novat n´ asleduj´ıc´ı ˇctyˇri podm´ınky: 1. je to jednosmˇern´ a funkce
2. je obt´ıˇzn´e naj´ıt dva vstupy, kter´e se mapuj´ı na stejnou v´ ystupn´ı hodnotu
ot P
3. jestliˇze m´ ame danou v´ ystupn´ı hodnotu y, tak je obt´ıˇzn´e naj´ıt vzor x, pro kter´ y plat´ı, ˇze y = f (x) 4. jestliˇze m´ ame urˇcit´ y vzor x1 , je obt´ıˇzn´e naj´ıt jin´ y vzor x2 , pro kter´ y by platilo, ˇze f (x1 ) = f (x2 ).
SHA-1
DR AF
3.2.1
TN
V souˇcasn´e dobˇe existuje ˇrada kryptografick´ ych haˇsovac´ıch funkc´ı, ale je pravdou, ˇze ty nejˇcastˇeji pouˇz´ıvan´e proch´ azej´ı kriz´ı zapˇr´ıˇcinˇenou vynikaj´ıc´ımi kryptografick´ ymi v´ ysledky v posledn´ıch dvou letech. Z nejbˇeˇznˇeji pouˇz´ıvan´ ych funkc´ı je tou nejstarˇs´ı MD5, kter´ a m´ a v´ ystup dlouh´ y 128 bit˚ u. D´ıky narozeninov´emu paradoxu je tedy efektivn´ı bezpeˇcnost haˇsovac´ı funkce 64 bit˚ u, coˇz je pro bˇeˇzn´e aplikace st´ ale dostaˇcuj´ıc´ı. Druhou funkc´ı je SHA-1, kter´ a m´ a v´ ystup dlouh´ y 160 bit˚ u. Tato funkce m´ a ovˇsem dalˇs´ı varianty SHA-256, SHA-384 a SHA-512, kde ˇc´ıslo oznaˇcuje d´elku v´ ystupu. Jako dalˇs´ı m˚ uˇzeme jmenovat RIPEMD, coˇz je haˇsovac´ı funkce poch´ azej´ıc´ı z Evropy.
Funkce SHA-1 je je definov´ ana standardem !!!!!!! na z´ akladˇe p˚ uvodn´ı definice SHA, ve kter´e byly nalezeny bezpeˇcnostn´ı probl´emy. N´ asleduj´ıc´ı obr´ azek zn´ azorˇ nuje vnitˇrn´ı strukturu funkce SHA-1, abychom demonstrovali jak takov´ a funkce m˚ uˇze vnitˇrnˇe vypadat. Jak jsem se uˇz zm´ınili, tak v´ ystup SHA=1 tvoˇr´ı 160 bitov´ a ˇc´ısla. Jak´ ykoliv vstupn´ı blok se tedy rozdˇel´ı na ˇc´ ast´ı po 20 bajtech. Pro vnitˇrn´ı zpracov´ an´ı je tˇechto 20 bajt˚ u rozdˇeleno na pˇet 32 bitov´ ych slov, kter´e se zpracov´ avaj´ı samostatnˇe. Kdyˇz se d˚ ukladnˇe pod´ıv´ ame na obr´ azek, tak se slovem se prov´ ad´ı bud’ jednoduch´ a rotace, nebo se xoruje s dalˇs´ımi bloky a konstantami, nebo se aplikuje jednoduch´ a neline´ arn´ı funkce D, kter´ a se neust´ ale mˇen´ı. Aˇckoliv je operace XOR rozklreslena ve ˇstyˇrech Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
19
rea d
ˇn´ı ko ´ dy zpra ´v – MAC 3.3. Autentizac
bloc´ıch, tak je moˇzn´e ji nakreslit jako jeden XOR se ˇctyˇrmi vstupy. Velmi podstatnou ˇc´ ast´ı kaˇzd´eho kola je posun mezi slovy. Slovo A se po skonˇcen´ı stane slovem B, B se stane slovem C, atd. !!!!!!!!SHA 1 !!!!!!!!!!!!!
roo f
Zpracov´ an´ı kaˇzd´ ych 160 bit˚ u vstupu se skl´ ad´ a z celkem osmdes´ ati opakov´ an´ı bloku z obr. !!!!. Pro z´ avˇereˇcnou ilustraci se pod´ıvejme, jak bude vypadat v´ ystup SHA-1 pro dvˇe vˇety, kter´e se liˇs´ı jen v jednom p´ısmenku: SHA1(”The quick brown fox jumps over the lazy dog”) = 2fd4e1c67a2d28fced849ee1bb76e7391b93eb12 SHA1(”The quick brown fox jumps over the lazy cog”) = de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3
Autentizaˇ cn´ı k´ ody zpr´ av – MAC
ot P
3.3
TN
MAX (message authentication code) je velmi kr´ atk´ a zpr´ ava (o velikosti v´ ystupu haˇsovac´ı funkce, kter´ y umoˇzn ˇuje autentizovat obsah urˇcit´e zpr´ avy. Obvykle je z´ akladem v´ ypoˇctu haˇsovac´ı funkce, kter´ a se aplikuje nˇekolikr´ at a vstupem je kromˇe samotn´e zpr´ avy jeˇstˇe urˇcit´e tajemstv´ı. Toto tajemstv´ı zaruˇcuje, ze MAC nem˚ uˇze spoˇc´ıtat nikdo jin´ y, neˇz ten kdo zn´ a toto tajemstv´ı – tajemstv´ı/ heslo je obvykle nˇejak spojeno se zpr´ avou. Alternativnˇe m˚ uˇze b´ yt MAC zaloˇzen na blokov´e ˇsifˇre, V tomto pˇr´ıpadˇe m´ ame dvˇe moˇznosti jak pouˇz´ıt hsslo – bud’ bude pouˇzito jako kl´ıˇc, kter´ ym se zpr´ ava ˇsifruje, nebo je opˇet nˇejak´ ym zp˚ usobem zkombinov´ ano se zpr´ avou a hodnota kl´ıˇce je nemˇenn´ aa je souˇc´ ast´ı specifikace dan´eho algoritmu pro v´ ypoˇcet MAC.
3.3.1
DR AF
MAC je pro zpr´ avy schopen zajistit dvˇe funkce. Jednak ho je moˇzn´e pouˇz´ıt k ovˇeˇren´ı autentiˇcnosti zpr´ avy a jednak umoˇzn ˇuje ovˇeˇrit integritu pˇrijat´e zpr´ avy – tj. jestli nebyla od okamˇziku vytvoˇren´ı MAC nˇejak zmˇenˇena.
PMAC/OMAC
ˇ OMAC jsou funkce zaloˇzen´e na blokov´e ˇsifˇre, napˇr. DES, nebo AES. Sifra je pouˇzita v m´ odu CBC. Tento m´ od znemoˇzn ˇuje paraleln´ı zpracov´ an´ı, takˇze jeden procesor mus´ı zpracovat celou zpr´ avu, abychom z´ıskali MAC hodnotu. Na rozd´ıl od tohoto, PMAC je paralelizovateln´ y MAC a sch´ema v´ ypoˇctu je takov´e, ˇze kl´ıˇc generuje n´ ahodnou sekvenci, kter´ a je xorov´ ana se zpr´ avou. Jelikoˇz xor je komutativn´ı funkce, m˚ uˇzeme v tomto pˇr´ıpadˇe v´ ypoˇcet paralelizovat. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
3.3.2
rea d
Kapitola 3. Stavebn´ı bloky kryptografie
20
HMAC
Jedna z obvyklejˇs´ıch funkc´ı, kter´ a je definov´ ana v RFC 2104. Z´ akladn´ı vzorec v´ ypoˇctu je n´ asleduj´ıc´ı. HM ACK (m) = (K ⊕ opad||h((K ⊕ ipad]||m))
roo f
Na zpracov´ an´ı jednoho bloku je moˇzn´e aplikovat nˇekolik iterac´ı haˇsovac´ı funkce.
K diskusi, jestli je lepˇs´ı pouˇz´ıvat blokov´e ˇsifry, nebo haˇsovac´ı funkce je vhodn´e uv´est, ˇze jsou znaˇznˇe rychlejˇs´ı oproti blokov´ ym ˇsifr´ am. U haˇsofac´ıch funkc´ı se uv´ ad´ı rychlost menˇs´ı neˇz 1 Pro blokov´e ˇsifry se uv´ ad´ı rdhlost 4 bity za sekundu. u haˇsovac´ıch funkc´ı pak pouze 1 bit.
Gener´ atory pseudon´ ahodn´ ych ˇ c´ısel – PRNG
ot P
3.4
TN
Jakmile se rozhodneme zaˇc´ıt pouˇz´ıvat kryptografii, tak nutnˇe zaˇcneme potˇrebovat n´ ahodn´ a data – a ne jak´ akoliv n´ ahodn´ a data, ale opravdu nepˇredv´ıdateln´ a. V poˇc´ıtaˇc´ıch jsou obvykle implementov´ any velice jednoduch´e gener´ atory n´ ahodn´ ych dat – tzv. gener´ atory pseudon´ ahodn´ ych dat (PRNG). Pˇr´ıdavn´e jm´eno pseudon´ ahodn´ y se pouˇz´ıv´ a proto, ˇze tato data jsou generov´ ana pomoc´ı nˇejak´e funkce a nejsou tedy u ´plnˇe n´ ahodn´ a. PRNG naprosto postaˇcuj´ı pro bˇeˇzn´e poˇc´ıtaˇcov´e aplikace, i pro u ´ˇcely r˚ uzn´ ych simulaˇcn´ıch program˚ u. V kryptografii bychom ovˇsem s tˇemito jednoduch´ ymi gener´ atory pˇr´ıliˇs dlouho nevystaˇcili, takˇze bylo postupnˇe definov´ ano nˇekolik kryptograficky bezpeˇcn´ ych PRNG, z nichˇz nˇekter´e si nyn´ı pop´ıˇseme.
DR AF
Z´ akladn´ı struktura PRNG je na obr. !!!!. Na vstupu je nepˇredv´ıdateln´ y bin´ arn´ı ˇretˇezec a po zpracov´ an´ı v PRNG, kter´ y kromˇe nˇejak´e funkce (tato obsahuje alespoˇ n jednu kryptografickou funkci) obsahuje i vnitˇrn´ı stav, je vytvoˇrena pseudon´ ahodn´ a bin´ arn´ı sekvence. Jak vid´ıte, tak bezpeˇcnost PRNG je zaloˇzena na tˇrech pˇredpokladech: • nepˇredv´ıdatelnost vstupu
• bezpeˇcnosti (jednosmˇernosti) vnitˇrn´ı funkce PRNG • d˚ uvˇernosti vnitˇrn´ıho stavu PRNG
Kvalita PRNG je podle definice odvozena od obt´ıˇznosti odliˇsit v´ ystup PRNG od n´ ahodn´e sekvence – u ´toˇcn´ık tedy ve chv´ıli u ´toku dostane k dispozici dva bin´ arn´ı ˇretˇezce, z nichˇz jeden je v´ ystupem PRNG a druh´ y je n´ ahodn´ a sekvence. Vzhledem k tomu, ˇze bezpeˇcnost PRNG je zaloˇzena na v´ yˇse uveden´ ych tˇrech bodech, tak u ´toˇcn´ık m˚ uˇze zvolit jeden z n´ asleduj´ıc´ıch tˇr´ı pˇr´ıstup˚ u: Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
21
rea d
´tory pseudona ´hodny ´ch c ˇ´ısel – PRNG 3.4. Genera
1. Pˇr´ımy kryptoanalytick´ yu ´tok – u ´toˇcn´ık analyzuje vnitˇrn´ı funkci a pˇr´ım´ ym u ´tokem na kryptografickou bezpeˇcnost t´eto funkce bude schopen rozliˇsit v´ ystup PRNG od n´ ahodn´e sekvence.
roo f
´ 2. Utok zaloˇzen´ y na vstupu – u ´toˇcn´ık bude kontrolovat vstup do PRNG a vhodnou manipulac´ı dos´ ahne stavu, kdy je opˇet schopen rozliˇsit PRNG od n´ ahodn´e sekvence.
3.4.1
ANSI X9.17 PRNG
ot P
3. Rozˇs´ıˇren´ı kompromitace stavu – v tomto pˇr´ıpadˇe se u ´toˇcn´ık bude snaˇzit vyuˇz´ıt znalosti vnitˇrn´ıho stavu pro identifikaci v´ ystupu PRNG. V´ ysledek u ´toku m˚ uˇze ´ b´ yt v nˇekolika podob´ ach. Utoˇcn´ık m˚ uˇze b´ yt schopen postupovat zp´ atky v ˇcase a rozˇsiˇrovat znalost vnitˇrn´ıho stavu od urˇcit´eho okamˇziku zp´ atky. M˚ uˇze b´ yt schopen doc´ılit trval´e kompromitace vnitˇrn´ıho stavu, kdy PRNG nen´ı schopen obnovit d˚ uvˇernost vnitˇrn´ıho stavu a u ´toˇcn´ık bude zn´ at vnitˇrn´ı stav neomezenˇe. Jestliˇze se podaˇr´ı zjistit vnitˇrn´ı stav ve dvou ˇcasov´ ych bodech, tak m˚ uˇze postupovat od tˇechto bod˚ u dovnitˇr intervalu a odhalit vnitˇrn´ı stav po celou dobu mezi tˇemito dvˇema okamˇziky. Posledn´ı moˇznost´ı je, ˇze se u ´toˇcn´ık bude pokouˇset o iterativn´ı h´ ad´ an´ı a postupnˇe zpˇresˇ novat svoji znalost aˇz do u ´pln´e kompromitace vnitˇrn´ıho stavu.
TN
Vnitˇrn´ı funkce tohoto gener´ atoru (jak je zobrazena na obr. !!!!) je zaloˇzena na pouˇzit´ı algoritmu 3DES (algoritmus DES, kdy jsou pouˇzity 3 kl´ıˇce, prvn´ım se blok dat zaˇsifruje, druh´ ym kl´ıˇcem se odˇsifruje a tˇret´ım se opˇet zaˇsifruje). Nepˇredv´ıdateln´ y vstup se pouˇz´ıv´ a jako sem´ınko (seedi ) a krom tohoto vstupu je dalˇs´ım zdrojem n´ ahodnosti aktu´ aln´ı ˇcasov´e raz´ıtko.
DR AF
Posledn´ı v´ ystup je xorov´ an s Ti zaˇsifrovanou hodnotou ˇcasov´eho raz´ıtka, toto je opˇet zaˇsifrov´ ano a v´ ysledek je uloˇzen jako aktu´ aln´ı sem´ınko. Tj. sem´ınko je bud’ vloˇzeno zvenˇc´ı jako n´ ahodn´ a data, nebo je poˇc´ıtano z posledn´ıho v´ ystupu a aktu´ aln´ıho ˇcasu. Sem´ınko je pak xorov´ ano s hodnotou Ti a v´ ysledek je zaˇsifrov´ an. Tento PRNG tedy poskytuje 64 bitov´e bloky pseudon´ ahodn´ ych dat. Pokud je tˇreba z´ıskat vˇetˇs´ı mnoˇzstv´ı dat, tak je tˇreba popsan´ y v´ ypoˇcet opakovat. Jak funguj´ı na tento PRNG jednotliv´e typy u ´tok˚ u? ´ Utok rozˇ s´ıˇ ren´ım vnitˇ rn´ıho stavu Jestliˇze se u ´toˇcn´ıkovi podaˇr´ı zjistit hodnotu K kl´ıˇce, kter´ y je pouˇz´ıv´ an ve funkci 3DES, tak se bezpeˇcnost PRNG nikdy neobnov´ı. Backtracking Backtracking funguje, podobnˇe jako posun dopˇredu za pˇredpokladu znalosti kl´ıˇce. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
rea d
Kapitola 3. Stavebn´ı bloky kryptografie
22
Meet-in-the-middle Pˇredpokl´ adejme, ˇze zn´ ame seedi a seedi+8 . Jestliˇze se pokus´ıme uhodnout ˇctveˇrice Ti+1 , . . . , Ti+4 a Ti+5 , . . . , Ti+8 a na jejich z´ akladˇe spoˇc´ıtat aln´ıch hodhodnoty vnitˇrn´ıho stavu seedi+4 vytvoˇren´ım dvou mnoˇzin potenci´ not, tak pokud se n´ am to podaˇr´ı, tak spr´ avn´ a hodnota bude v obou mnoˇzin´ ach. Celkovˇe tedy sniˇzujeme entropii na polovinu.
DSA PRNG – NIST
roo f
3.4.2
Tento PRNG je znaˇcnˇe rychlejˇs´ı na v´ ypoˇcet oproti pˇredchoz´ımu X9.17. Ve struktuˇre funkce je pouze jeden v´ yskyt haˇsovac´ı funkce, kter´ a m˚ uˇze b´ yt implementov´ ana bud’ pomoc´ı SHA-1, nebo 3DESu. Zbytek funkce jsou v podstatˇe jen dva souˇcty, kter´e maj´ı za u ´kol aktualizovat vnitˇrn´ı stav Xi a kombinovat vnitˇrn´ı stav se n´ ahodn´ ym vstupem Wi , pokud existuje.
Wi = Wi−1 − outputi1 − 1
ot P
Vzhledem k velmi jednoduch´e aritmetice uvnitˇr funkce je moˇzn´e vhodnˇe volit n´ ahodn´ y vstup a t´ım doc´ılit opakov´ an´ı v´ ystupu:
TN
Tak´e je moˇzn´e ze zn´ am´ ych hodnot v´ ystupu a vnitˇrn´ıch stav˚ u dopoˇc´ıt´ avat pˇredchoz´ı v´ ystupy:
outputi = Xi+2 − Xi−2 − outputi
Jestliˇze shrneme pˇredchoz´ı u ´toky, tak tento PRNG nelze urˇcitˇe doporuˇcit jako univerz´ aln´ı kryptografick´ y gener´ ator pseudon´ ahodn´ ych dat.
3.4.3
RSAREF PRNG
DR AF
RSAREF je (ale hlavnˇe byla) velmi popul´ arn´ı kryptografick´ a knihovna. Jako prvn´ı implementovala RSA a byla vytvoˇrena firmou RSA. Knihovna jako takov´ a byla relativnˇe jednoduch´ a na pouˇz´ıv´ an´ı, naps´ ana v jazyce C a dodnes se celkem hodnˇe pouˇz´ıv´ a. V r´ amci t´eto knihovny byl implementov´ an i gener´ ator pseudon´ ahodn´ ych ˇc´ısel. y je upravov´ an jednak po vstupu dalˇs´ıho PRNG m´ a vlastn´ı vnitˇrn´ı stav Ci , kter´ n´ ahodn´eho ˇretˇezce Xi a tak´e inkrementov´ an s kaˇzd´ ym nov´ ym spuˇstˇen´ım gener´ atoru. PRNG je postaven na funkci MD5, takˇze v´ ystupem je vˇzdy 128 bit˚ u. Na tento PRNG je moˇzn´e aplikovat u ´tok se zvolen´ ym vstupem, kter´ y umoˇzn ˇuje zkr´ atit cyklus, po kter´em se v´ ystup zaˇcne opakovat. Je moˇzn´e relativnˇe u ´spˇeˇsnˇe Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
3.5. Blokov´ eˇ sifry
rea d
23
pouˇz´ıt i u ´tok s iterativn´ım h´ ad´ an´ım a backtracking. Podstatn´ ym pozorov´ an´ım je, ˇze ’ vnitˇrn´ı stav je ovlivˇ nov´ an zp˚ usobem, kter´ y zajiˇst uje komutivitu vstupu – nez´ aleˇz´ı, v jak´em poˇrad´ı je vstup vkl´ ad´ an, v´ ysledek bude vˇzdy stejn´ y.
3.4.4
Cryptlib PRNG
3.5
roo f
TBD
Blokov´ eˇ sifry
3.5.1
M´ ody blokov´ ych ˇ sifer
ot P
Blokov´e ˇsifry, jak napov´ıd´ a jejich n´ azev, ˇsifruj´ı text po menˇs´ıch bloc´ıch. Velikost ˇ tˇechto blok˚ u se r˚ uzn´ı, ale typicky je 64, 80, 128 bit˚ u. Sifrov´ an´ı prob´ıh´ a tak, ˇze se vezme pˇr´ısluˇsn´ a ˇc´ ast ˇcist´eho textu, zaˇsifruje se a v´ ysledek se uloˇz´ı do v´ ystupn´ıho souboru. Jestliˇze bychom ale zpracov´ avali bloky samostatnˇe, tak by u ´toˇcn´ık mohl zaˇsifrovan´e bloky vymˇen ˇovat, mazat, nebo nahrazovat jin´ ymi. Jestliˇze bychom napˇr. zaˇsifrovali pˇr´ıkaz k bankovn´ımu pˇrevodu, tak u ´toˇcn´ıky by mohl blok obsahuj´ıc´ı ˇc´ astku nahradit jin´ ym blokem – s jinou ˇc´ astkou. Je moˇzn´e se proti tomuto br´ anit? Moˇzn´e to je t´ım, ˇze jednotliv´e bloky k sobˇe logicky sv´ aˇzeme. K tomu slouˇz´ı r˚ uzn´e m´ ody pouˇz´ıv´ an´ı blokov´ ych ˇsifer.
TN
Jestliˇze budou bloky textu zpracov´ av´ any nez´ avisle, tak u ´toˇcn´ık m˚ uˇze volnˇe manipulovat s bloky textu, jako se skl´ adankou. M´ od, kter´ y toto umoˇzn ˇuje se naz´ yv´ a ECB (electronic code book). Tento m´ od je vhodn´e pouˇz´ıvat pˇri ˇsifrov´ an´ı kr´ atk´ ych zpr´ av, nebo jestliˇze bychom chtˇeli vytvoˇrit obdobu k´ odov´e knihy.
DR AF
Asi nejzn´ amˇejˇs´ım m´ odem, kter´ y uˇz propojuje jednotliv´e bloky je CBC (cipher block chaining) a dalˇs´ı dva z´ akladn´ı m´ ody jsou OFB (output feedback) a CFB (cipher feedback). Kaˇzd´ y m´ od m´ a specifick´e vlastnosti, jin´e slabiny, jin´e pˇrednosti a pro kaˇzdou aplikaci je tˇreba uv´ aˇzit, kter´ y m´ od by mˇel b´ yt pouˇzit. Pro popis ˇsifrovac´ıch m´ od˚ u budeme pouˇz´ıvat n´ asleduj´ıc´ı konvenci z´ apisu: c0 , c1 , . . . , cj , . . . znaˇc´ı bloky ˇsifrov´eho textu. x1 , x2 , . . . , xj , . . . oznaˇcuj´ı bloky ˇcist´eho textu. IV je inicializaˇcn´ı vektor, Ij je blok vstupuj´ıc´ı do ˇsifry a Oj je v´ ystup ˇsifry. EK je oznaˇcen´ı ˇsifry s kl´ıˇcem K a ⊕ je operace xor. CBC – Cipher block chaining
N´ azev tohoto m´ odu je moˇzn´e pˇreloˇzit jako v´ az´ an´ı ˇsifrov´eho bloku a nejkratˇs´ı popis je pomoc´ı n´ asleduj´ıc´ıch rovnic: c0 = IV ;
cj = EK (cj−1 ⊕ xj )
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
Kapitola 3. Stavebn´ı bloky kryptografie
rea d
24
Prvn´ı (nult´ y) blok ˇsifrov´eho textu je roven inicializaˇcn´ımu vektoru. V re´ aln´ ych sch´ematech se IV definuje jako konstanta uˇz ve standardu, coˇz umoˇzn ˇuje vynechat jeho pˇrenos pˇri komunikaci, ale tak´e sniˇzuje bezpeˇcnost ˇsifrovac´ıho sch´ematu. Kaˇzd´ y dalˇs´ı blok je zaˇsifrov´ an tak, ˇze se nejdˇr´ıve provede bitov´ y xor pˇredch´ azej´ıc´ıho ˇsifrov´eho bloku a bloku ˇcist´eho textu. V´ ysledek t´eto operace je pak zaˇsifrov´ an a v´ ysledek je nov´ ym ˇsifrov´ ym blokem.
roo f
Cel´ a ˇsifrov´ a zpr´ ava se zmˇen´ı, jestliˇze se zmˇen´ı inicializaˇcn´ı vektor, nebo prvn´ı blok ˇcist´eho textu. Jestliˇze tedy standardem zafixujeme inicializaˇcn´ı vektor, tak m˚ uˇzeme velmi snadno zjistit, jak moc se shoduj´ı zaˇc´ atky dvou otevˇren´ ych text˚ u – pouze se znalost´ı jejich zaˇsifrov´ an´ı.
ot P
Pro spr´ avn´e deˇsifrov´ an´ı urˇcit´eho bloku je tˇreba m´ıt spr´ avn´ y pˇredch´ azej´ıc´ı zaˇsifrovan´ y blok. Chyba v jin´ ych bloc´ıch nem´ a na spr´ avnost deˇsifrov´ an´ı vliv. Nav´ıc, velikost chyby m˚ uˇzeme snadno odhadnout. Jestliˇze dojde pˇri pˇrenosu zpr´ avy k jednobitov´e an´ı bude n´ asleduj´ıc´ı: chybˇe v bloku cj , tak chyba pˇri deˇsifrov´ • zmˇen´ı se polovina bit˚ u v bloku xj (toto vypl´ yv´ a z kryptoanal´ yzy, aby ˇsifra byla kvalitn´ı, je tˇreba aby zmˇena jednoho bitu na vstupu zp˚ usobila zmˇenu poloviny bit˚ u na v´ ystupu), y byl zmˇenˇen • dojde k jednobitov´e zmˇenˇe v bloku xj+1 a to pˇresnˇe toho bitu, kter´ v cj .
OFB – Output feedback
TN
Podobn´e v´ ysledky jsou i u ostatn´ıch m´ od˚ u. Zaj´ımav´e je, ˇze tyto vlastnosti je moˇzn´e pouˇz´ıt k u ´toku. Obzvl´ aˇstˇe dobˇre pˇri ˇsifrov´ an´ı s´ıt’ov´ ych protokol˚ u, kde je velk´e mnoˇzstv´ı dat, jejichˇz zmˇena niˇcemu nevad´ı. M˚ uˇzeme tak napˇr. c´ılenˇe zmˇenit IP adresy, nebo r˚ uzn´e pˇr´ıznaky, kter´e ovlivˇ nuj´ı zp˚ usob zpracov´ an´ı dat po jejich deˇsifrov´ an´ı.
DR AF
Tento m´od m˚ uˇze m´ıt dvˇe verze. V prvn´ı verzi, kter´ a je definov´ ana v normˇe ISO10116, je velikost v´ ystupn´ıho bloku rovna velikosti bloku ˇsifry. Druh´ a verze, jeˇz byla specifikov´ ana ve FIPS81 umoˇzn ˇuje vytv´ aˇret z kaˇzd´eho bloku pr´ avˇe r bit˚ u, kde r je menˇs´ı, nebo rovno velikosti bloku ˇsifry. N´asleduj´ıc´ı rovnice jsou pro jednoduchost pro jen pˇr´ıpad s maxim´ aln´ı d´elkou v´ ystupu.
I1 = IV, Oj = EK (Ij ), cj = xj ⊕ Oj , Ii+1 = Oi Kdyˇz se pod´ıv´ ame na rovnice, tak zjist´ıme, ˇze vstup pro ˇsifrov´ an´ı v˚ ubec nez´ aleˇz´ı na ˇcist´em textu, ale pouze na inicializaˇcn´ım vektoru a kl´ıˇci. Jin´ ymi slovy, ˇsifra funguje jako gener´ ator pseudon´ ahodn´eho ˇretˇezce, kter´ y se xoruje s otevˇren´ ym textem. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
3.5. Blokov´ eˇ sifry
rea d
25
A jak v tomto pˇr´ıpadˇe ovlivn´ı chyba pˇri pˇrenosu ˇsifrov´eho textu otevˇren´ y text po deˇsifrov´ an´ı? D´ıky tomu, ˇze generovan´ y proud se xoruje pˇri deˇsifrov´ an´ı se ˇsifrovan´ ym textem, tak jednobitov´ a chyba/zmˇena ˇsifrov´eho textu zapˇr´ıˇcin´ı zmˇenu pr´ avˇe jednoho bitu v deˇsifrovan´em textu.
roo f
Jestliˇze dojde ke ztr´ atˇe bit˚ u, nebo cel´ ych blok˚ u, tak uˇz nen´ı moˇzn´e prov´est resynchronizaci a eliminovat tak chybu. CFB – Cipher feedback
Posledn´ım ze ˇctyˇr z´ akladn´ıch m´ od˚ u je CFB – zpˇetn´ a vazba pˇres ˇsifrov´ y text. V tomto pˇr´ıpadˇe je vstupem ˇsifry aˇz v´ ysledek operace xor na pˇredchoz´ı v´ ystupn´ı blok ˇsifry s otevˇren´ ym textem (ˇsifrov´ y text) – jak m˚ uˇzete vidˇet v n´ asleduj´ıc´ıch rovnic´ıch.
ot P
I1 = IV, Oj = EK (Ij ), cj = xj ⊕ Oj , Ij+1 = cj
Tento m´ od je samosynchronizuj´ıc´ı podobnˇe jako CBC. A jak´ y je vliv chyby v ˇsifrov´em textu na otevˇren´ y text po deˇsifrov´ an´ı? Zmˇena jednoho bitu v bloku cj zp˚ usob´ı. • zmˇenu toho sam´eho bitu v xj a
TN
• zmˇemu poloviny bit˚ u v xj+1 .
V tomto, stejnˇe jako v pˇredchoz´ım m´ odu (OFB) se pouˇz´ıv´ a pouze ˇsifrov´ an´ı, deˇsifrov´ an´ı nen´ı potˇreba. Toto m˚ uˇze b´ yt v´ yhodn´e v pˇr´ıpadˇe, kdy m´ ame omezen´e prostˇredky pro implementaci ˇsifry. A jeˇ stˇ e dalˇ s´ı m´ ody . . .
DR AF
Celkov´ y poˇcet m´ od˚ u pro ˇsifrov´ an´ı je ovˇsem mnohem vˇetˇs´ı. Mezi dalˇs´ı nejzn´ amˇejˇs´ı jsou napˇr. m´ ody zaloˇzen´e na ˇc´ıtaˇci, nebo zpˇetnou vazbou pˇres kl´ıˇc. Napˇr. pro ˇsifru AES bylo navrˇzeno pˇres dvacet r˚ uzn´ ych m´ od˚ u. CTR (counter mode) m´ od, ˇc´ıtaˇcov´ y, spoˇc´ıv´ a v tom, ˇze m´ısto vazby s pˇredchoz´ım blokem je pouˇzita vazba s hodnotou inkrement´ aln´ıho ˇc´ıtaˇce. Takˇze napˇr. druh´ y blok je v´ az´ an s ˇc´ıslem 2, tˇret´ı blok s ˇc´ıslem 3, atd. Je to vlastnˇe zjednoduˇsen´ y OFB m´ od, kter´ y umoˇzn ˇuje paraleln´ı zpracov´ an´ı dat, nebo zpracov´ an´ı (ˇsifrov´ an´ı/deˇsifrov´ an´ı) blok˚ u mimo poˇrad´ı. M´ od KFB (key feedback) v´ aˇze bloky k sobˇe tak, ˇze v´ ystup ˇsifrov´ an´ı bloku xj je pouˇzit jako kl´ıˇc pro ˇsifrov´ an´ı bloku xj+1 . Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
Kapitola 3. Stavebn´ı bloky kryptografie
rea d
26
ABC m´ od (accumulated block chaining) je n´ aroˇcnˇejˇs´ı na v´ ypoˇcet, protoˇze pro ˇsifrov´ an´ı bloku xj je tˇreba pouˇz´ıt bloky xj−1 , xj a cj . Posledn´ım pˇr´ıkladem, kter´ y si kr´ atce zm´ın´ıme je IGE (infinite garble extension), kter´ y je poˇc´ıt´ an podle n´ asleduj´ıc´ıch rovnic:
TN
ot P
Proudov´ eˇ sifry
DR AF
3.6
roo f
y0 = f (r0 ), x0 = r0 , yi = E(xi ⊕ yi−1 ) ⊕ xi−1
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
rea d
27
Kryptoanal´ yza
roo f
Kapitola 4
ot P
Jestliˇze se dnes vyuˇcuje kryptoanal´ yza, tak se obvykle zaˇc´ın´ a obdob´ım druh´e svˇetov´e v´ alky. Do jist´e m´ıry je to pochopiteln´e, protoˇze v t´e dobˇe dos´ ahli kryptologov´e obrovsk´ ych u ´spˇech˚ u. Nav´ıc je toto obdob´ı uˇz dostateˇcnˇe v minulosti, takˇze vˇetˇsina informac´ı uˇz je dostupn´ a a kryptoanalytick´e u ´spˇechy se tak daj´ı velice dobˇre vykl´ adat.
Virtu´ aln´ı (ne)priv´ atn´ı s´ıt’
DR AF
4.1
TN
Na druhou stranu, i v ned´ avn´e minulosti se podaˇrilo dos´ ahnout obrovsk´ ych pokrok˚ u v kryptoanal´ yze, kter´e mˇeli i praktick´ y dopad na mnoh´e obecnˇe pouˇz´ıvan´e aplikace. Moˇzn´ a jim ale st´ ale chyb´ı urˇcit´e tajemno a tuˇsen´ı obrovsk´ ych dopad˚ u, kter´e jsou spojeny s v´ alkou a tak se obvykle na prvn´ı str´ anky novin nedostanou. V t´eto kapitole se tedy budeme vˇenovat nˇekolika pˇr´ıklad˚ um kryptoanal´ yzy z ned´ avn´e minulosti a na z´ avˇer se pˇreci jen lehce zm´ın´ıme i o Enigmˇe a pˇr´ıˇcin´ ach jej´ıho tot´ aln´ıho selh´ an´ı. Naˇs´ım c´ıle bude uk´ azat, ˇze kryptoanal´ yza nen´ı jen vˇec´ı tajn´ ych a tajemn´ ych oddˇelen´ı utajen´ ych nˇekde v hlubin´ ach arm´ adn´ıch, ˇci jin´ ych st´ atn´ıch agentur, ale ˇze se jedn´ a o oblast skuteˇcnˇe aktu´ aln´ı, kter´ a ovlivˇ nuje bezpeˇcnost vaˇs´ı elektronick´e poˇsty, internetov´eho spojen´ı s obchodn´ım partnerem, nebo kdo vlastnˇe poslouch´ a vaˇse telefonn´ı hovory.
Firma Microsoft, jakoˇzto dodavatel vˇseobecnˇe pouˇz´ıvan´ ych operaˇcn´ıch syst´em˚ u m´ a velk´ y z´ ajem o rozˇsiˇrov´ an´ı jejich moˇznost´ı a jednou z mnoha oblast´ı, kter´e se dostali na st˚ ul tˇem spr´ avn´ ym manaˇzer˚ um byly virtu´ aln´ı priv´ atn´ı s´ıtˇe. V´ ysledkem byla implementace konkr´etn´ıho protokolu, kter´ y je dostupn´ y pˇr´ımo z operaˇcn´ıho syst´emu. Virtu´ aln´ı priv´ atn´ı s´ıt’ ˇreˇs´ı jeden z velk´ ych probl´em˚ u Internetu, kter´ ym je veˇrejnost dat, kter´e jsou pˇres nˇej pos´ıl´ ana. Data jsou transportov´ ana od odesilatele k pˇr´ıjemci v otevˇren´e podobˇe, takˇze kdokoliv ˇsikovn´ y, kdo si pˇripoj´ı poˇc´ıtaˇc na m´ısto, pˇres kter´e data proch´ azej´ı, tak si je m˚ uˇze prohl´ednout. Tato jednoduchost je trochu zhorˇsena t´ım, ˇze nikdo dopˇredu na sto procent nev´ı, kudy se budou data pos´ılat, ale na druhou
´za Kapitola 4. Kryptoanaly
rea d
28
roo f
stranu m˚ uˇze b´ yt toto nepˇr´ıjemn´e i pro odesilatele a pˇr´ıjemce. Jedn´ım z pouˇz´ıvan´ ych ˇreˇsen´ı je vytvoˇren´ı tzv. virtu´ aln´ı priv´ atn´ı s´ıtˇe (virtual private network – VPN). Virtu´ aln´ı priv´ atn´ı s´ıtˇe je tvoˇrena jak´ ymisi tunely, kter´e se podle potˇreby vytv´ aˇrej´ı mezi uˇzivateli dan´e virtu´ aln´ı priv´ atn´ı s´ıtˇe. Slovo tunel se pro spojen´ı pouˇz´ıv´ a proto, ˇze data je moˇzn´e ˇc´ıst, nebo nepozorovanˇe mˇenit jen na koncov´ ych bodech tohoto spojen´ı. Vˇsechny tyto vlastnosti jsou samozˇrejmˇe zajiˇstˇeny kryptografick´ ymi protokoly.
4.1.1
Autentizace MS-CHAP
ot P
Firma Microsoft pro tento u ´ˇcel navrhla a implementovala protokol PPTP (pointto-point tunelling protocol), coˇz je doslovnˇe tunelovac´ı protokoly pro dva body. Protokol pouˇz´ıv´ a port 1723, nedefinuje ˇz´ adn´e specifick´e kryptografick´e algoritmy a jeho prvn´ı verze byla implementov´ ana v operaˇcn´ıch syst´emech Window 98, Me a Windows NT. Cel´ y protokol m´ a dvˇe ˇc´ asti – autentizaci a vytvoˇren´ı ˇsifrovan´eho spojen´ı (tunelu). V n´ asleduj´ıc´ıch ˇr´ adc´ıch n´ as bude zaj´ımat hlavnˇe ˇc´ ast autentizaˇcn´ı.
TN
Protokol PPTP umoˇzn ˇuje tˇri zp˚ usoby autentizace. Prvn´ım je posl´ an´ı hesla v ˇcist´e podobˇe. To mimo jin´e znamen´ a, ˇze kdo poslouch´ a vaˇse spojen´ı, tak z´ısk´ a okamˇzitˇe heslo a bezpeˇcnost vˇsech protokol˚ u, kter´e jsou na hesle postaveny je t´ım p´ adem zanedbateln´ a. Druhou moˇznost´ı je posl´ an´ı heˇse zpr´ avy. Z pohledu u ´toˇcn´ıka je toto t´emˇeˇr totoˇzn´e s prvn´ı moˇznost´ı, s jedin´ ym rozd´ılem – pˇri u ´toku mus´ı pouˇz´ıt speci´ aln´ı program, kter´ y nahrad´ı p˚ uvodn´ı zpracov´ an´ı zadan´eho hesla uˇz pˇripravenou hodnotou heˇse.
DR AF
Tˇret´ı moˇznost´ı je pouˇz´ıt protokol MS-CHAP (Microsoft Challenge Authentication Protocol), coˇz je protokol typu v´ yzva odpovˇed’. Pro rozumn´e zajiˇstˇen´ı bezpeˇcnosti vytv´ aˇren´e VPN je MS-CHAP jedinou rozumnou volbou, takˇze se j´ı budeme podrobnˇeji zab´ yvat. Jak uˇz napov´ıd´ a n´ azev protokolu, tak klient nem˚ uˇze zaslat autentizaˇcn´ı zpr´ avu s´ am, ale mus´ı nejdˇr´ıve poˇz´ adat server o zasl´ an´ı v´ yzvy. Uk´ azka cel´eho protokolu je na n´ asleduj´ıc´ım obr´ azku XXXX ´ Uvodn´ı zpr´ ava klienta: c0 21 01 00 00 13 03 05 c2 23 80 2B – urˇcen´ı protokolu (LCP packet), 1B – typ zpr´ avy v protokolu (konfiguraˇcn´ı ˇz´ adost), 1B identifikace ???, 1B – d´elka dat (0), 1B – typ konfigurace (autentizace), 1B – voliteln´ a d´elka pro CHAP (05), 2B identifikace protokolu pro dalˇs´ı zpr´ avy (CHAP), 1B – verze protokolu (MS-CHAP) V´ yzva serveru: c2 23 01 00 00 0d 08 cf 4f 0e 72 89 04 3b (2) chap packet, (1) challenge, (1) ID, (2) length, (1) challenge length, (8) challenge Odpovˇed’ klienta: c2 23 02 00 00 53 31 41 . . . 31 19 . . . 0f 01 A d m i n i s t r a tor Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´ln´ı (ne)priva ´tn´ı s´ıt’ 4.1. Virtua
rea d
29
(2) chap packet, (1) response, (1) ID, (2) length, (24) LANMAN, (24) NT response, (1) NT compatib. flag, (13) account name ————–
roo f
Jak je vidˇet, tak posledn´ı zpr´ ava – odpovˇed’ klienta obsahuje dva ˇretˇezce dlouh´e 24 bajt˚ u. Neˇz se dostaneme k tomu, jak se spoˇc´ıtaj´ı, mus´ıme se nejdˇr´ıve zm´ınit o dvou algoritmech/hodnot´ ach. Tˇemi jsou Lan Manager hash (LM hash) a Windows NT hash. Tyto hodnoty jsou z´ akladem pro dva zm´ınˇen´e dlouh´e ˇretˇezce.
ot P
I pˇri autentizaci pomoc´ı MS-CHAP protokolu je tˇreba zadat heslo, kter´e se d´ ale zpracov´ av´ a (s´ıla hesla tedy st´ale urˇcuje s´ılu cel´e autentizace). Pro v´ ypoˇcet hodnoty ’ LM hash se toto heslo uprav´ı na d´elku 14 bajt˚ u a to bud oˇr´ıznut´ım pˇrebyteˇcn´ ych p´ısmen, nebo pˇrid´ an´ım nul na konec zadan´eho hesla. D´ ale se pˇrevedou vˇsechna mal´ a ˇ p´ısmena hesla na velk´ a. Retˇezec, kter´ y m´ a ted’ pˇresnˇe ˇctrn´ act znak˚ u je rozdˇelen na dvˇe poloviny a ty jsou pouˇzity jako kl´ıˇc pro zaˇsifrov´ an´ı konstanty (ta je souˇc´ ast´ı definice algoritmu) algoritmem DES. Oba v´ ysledky ˇsifrov´ an´ı spoj´ıme opˇet do jednoho ˇretˇezce a dostaneme tak LM hash, kter´ y m´ a ˇsestn´ act bajt˚ u.
TN
LM hash, nebo l´epe ˇreˇceno postup jeho v´ ypoˇctu ovˇsem silnˇe sniˇzuje bezpeˇcnost p˚ uvodn´ıho hesla. Hlavn´ım probl´emem je zde moˇznost pouˇzit´ı tzv. slovn´ıkov´eho u ´toku, kdy se postupnˇe zkouˇs´ı vˇsechna slova z pˇredem pˇripraven´eho slovn´ıku. Vzhledem k tomu, ˇze p˚ uvodn´ı heslo je rozdˇeleno na dvˇe ˇc´ asti, tak n´ am staˇc´ı h´ adat pouze dvakr´ at sedmiznakov´ a hesla, m´ısto jednoho ˇctrn´ actiznakov´eho. Nav´ıc, pokud je heslo kratˇs´ı neˇz osm znak˚ u, tak to okamˇzitˇe zjist´ıme, protoˇze druh´ a polovina LM hash bude m´ıt pˇredem zn´ amou hodnotu. Takto m˚ uˇzeme pomoc´ı velice jednoduch´ ych v´ ypoˇct˚ u odhadnout n´ aroˇcnost pˇr´ım´eho slovn´ıkov´eho u ´toku – jestliˇze je heslo kratˇs´ı neˇz osm znak˚ u, je ˇsance mnohem vyˇsˇs´ı, neˇz u delˇs´ıch hesel.
4.1.2
DR AF
NT hash se snaˇz´ı vyvarovat chyb, kter´e byly uˇcinˇeny v n´ avrhu v´ ypoˇctu LM hash. Hesla jsou uˇz opravdu aˇz o ˇctrn´ acti znac´ıch a jsou tak tak´e zpracov´ av´ ana (Microsoft tvrd´ı, ˇze d´elka hesla m˚ uˇze b´ yt aˇz 255 znak˚ u, ale d´ıky omezen´ım grafick´eho rozhran´ı nen´ı moˇzn´e heslo delˇs´ı neˇz ˇctrn´ act znak˚ u zadat). Heslo je pˇr´ım´ ym vstupem pro algoritmus MD4, z nˇehoˇz opˇet z´ısk´ ame ˇsestn´ act bajt˚ u. Obecnˇe m˚ uˇzeme ˇr´ıci, ˇze NT hash je mnohem silnˇejˇs´ı v porovn´ an´ı s LM hash. Probl´em, kter´ y st´ ale z˚ ust´ av´ a je, ˇze nen´ı pouˇzita ˇz´ adn´ a s˚ ul, takˇze stejn´ a hesla vedou ke stejn´ ym hodnot´ am hashe. Nav´ıc, pro zachov´ an´ı kompatibility se starˇs´ımi verzemi jsou hodnoty obou hash˚ u pos´ıl´ any v r´amci protokolu spoleˇcnˇe a klient je ten, kter´ y vyb´ır´ a, kter´ a z hodnot se m´ a pˇri autentizaci pouˇz´ıt.
Kryptoanal´ yza MS-CHAP
V´ yˇse zm´ınˇen´e u ´toky jsou velmi jednoduchou aplikac´ı obecn´ ych princip˚ u. MS-CHAP je ovˇsem moˇzn´e podrobit mnohem d˚ ukladnˇejˇs´ı a nebezpeˇcnˇejˇs´ı kryptoanal´ yze. NejDan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´za Kapitola 4. Kryptoanaly
dˇr´ıve se ale vrat’me k popisu autentizaˇcn´ı protokolu jako celku. 1. Klient poˇsle v´ yzvu k pˇrihl´ aˇsen´ı. 2. Server vygeneruje n´ ahodn´ ych osm bajt˚ u, kter´e poˇsle klientovi.
rea d
30
roo f
3. Klient si vybere, kterou hash hodnotu bude poˇc´ıtat. V´ ypoˇctem z´ısk´ a ˇsestn´ act bajt˚ u, kter´e jsou po doplnˇen´ı pˇeti nulov´ ymi bajty z´ akladem k ˇsifrov´ an´ı pomoc´ı algoritmu DES. Dvacetjedna znak˚ u je 168 bit˚ u, coˇz je 3x 56 bit˚ u, coˇz je pˇresnˇe mnoˇzstv´ı pro tˇri DES kl´ıˇce. Tyto tˇri kl´ıˇce jsou pouˇzity k troj´ımu zaˇsifrov´ an´ı osmibajtov´e v´ yzvy od serveru. 4. Server pˇrijme dvacetˇctyˇri bajt˚ u autentizaˇcn´ı odpovˇedi a podle pˇr´ıznaku, kter´ y nastavil klient vypoˇcte pˇr´ısluˇsnou hodnotu hashe a porovn´ a, jestli je autentizaˇcn´ı odpovˇed’ v poˇr´ adku.
ot P
Cel´ y postup nen´ı aˇz tak sloˇzit´ y, ale pro pˇresn´e vyjadˇrov´ an´ı pouˇzijme n´ asleduj´ıc´ı konvenci: act bajt˚ u, • P0 . . . P13 jsou jednotliv´e bajty hesla. Jestliˇze je heslo kratˇs´ı neˇz ˇctrn´ tak pˇr´ısluˇsn´ y poˇcet posledn´ıch bajt˚ u bude m´ıt nulovou hodnotu. • H0 . . . H15 jsou bajty LM hashe.
TN
• K0 . . . K20 budeme pouˇz´ıvat pro bajty kl´ıˇce, kter´ ym se ˇsifruje autentizaˇcn´ı v´ yzva. • S je konstanta, kter´ a je souˇc´ ast´ı definice protokolu. • C je autentizaˇcn´ı v´ yzva n´ ahodnˇe generovan´ a serverem. • R0 . . . R23 je koneˇcn´ a autentizaˇcn´ı odpovˇed’.
DR AF
C´ılem u ´toˇcn´ıka je tedy ze znalosti C a R naj´ıt heslo P . Postup, kter´ y je moˇzn´e pouˇz´ıt se skl´ ad´ a z n´ asleduj´ıc´ıch krok˚ u. 1. R se skl´ ad´ a ze tˇr´ı samostatn´ ych v´ ysledk˚ u ˇsifrov´ an´ı. Kl´ıˇce, kter´e jsou k tomuto u ´ˇcelu pouˇzity jsou K0 ...K6 , K7 ...K13 a K14 K15 0 0 0 0 0. V prvn´ım kroku najdeme bajty K14 a K15 zkouˇsen´ım vˇsech 216 kl´ıˇc˚ u a porovn´ an´ım v´ ysledku ˇsifrov´ an´ı s autentizaˇcn´ı odpovˇed´ı - bajty R16 . . . R23 2. Druh´a polovina hesla se pouˇzije k zaˇsifrov´ an´ı konstanty C a v´ ysledkem jsou bajty K8 aˇz K15 . Jelikoˇz posledn´ı dva bajty (K14 a K15 ) uˇz zn´ ame, m˚ uˇzeme je pouˇz´ıt k eliminaci moˇzn´ ych ˇreˇsen´ı. 3. Pro kandid´ aty vyzkouˇs´ıme vˇsech 256 moˇzn´ ych hodnot pro K7 (posledn´ı chybˇej´ıc´ı bajt pro prostˇredn´ı ˇc´ ast autentizaˇcn´ı odpovˇedi). Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´ln´ı (ne)priva ´tn´ı s´ıt’ 4.1. Virtua
rea d
31
4. Prvn´ıch sedm p´ısmen hesla mus´ıme vyzkouˇset pokusem, ale K7 m˚ uˇzete opˇet 8 pouˇz´ıt pro rychl´ y v´ ybˇer kandid´ at˚ u (jeden z 2 ). V t´eto f´ azi, pokud uˇzivatel pouˇzije uˇz zn´ am´e znalosti.
4.1.3
MPPE point-to-point encryption
roo f
Protokol MPPE je dalˇs´ı protokol z d´ılny firmy Microsoft, kter´ y navazuje na MSCHAP autentizaˇcn´ı protokol. Z´ akladn´ım pˇredpokladem tohoto protokolu je sd´ılen´ y ˇ symetrick´ y kl´ıˇc mezi dvˇema stranami, kter´e spolu chtˇej´ı komunikovat. Sifrou, kter´ a se pouˇz´ıv´ a je RC4, a to ve dvou variant´ ach – 40 a 128 bit˚ u.
Protokol je implementov´ an nad PPP (point-to-point protocol) kompresn´ım protokolem, kter´ y slouˇz´ı k domluvˇe na parametrech ˇsifrov´ an´ı. Ustaven´ı kl´ıˇce prob´ıh´ a jedn´ım z n´ asleduj´ıc´ıch postup˚ u.
ot P
1. RC4 - 40 bitov´ y kl´ıˇ c Pomoc´ı hashovac´ı funkce SHA z´ısk´ ame 64 bitov´ y kl´ıˇc z hodnoty LM hash. 24 nejv´ yznamnˇejˇs´ıch bit˚ u nahrad´ıme konstantou 0xD1269E. 2. RC4 - 128 bitov´ y kl´ıˇ c Spoj´ıme dva ˇretˇezce – NT hash a osmibajtovou v´ yzvu z protokolu MS-CHAP. Opˇet pomoc´ı algoritmu SHA z´ısk´ ame kl´ıˇc, tentokr´ at 128 bit˚ u.
4.1.4
TN
Samotn´e ˇsifrov´ an´ı dat je prov´ adˇeno pomoc´ı algoritmu RC4 s ustaven´ ym kl´ıˇcem, kter´ y je pouˇzit pro prvn´ıch 256 bajt˚ u dat. To je velikost bloku, po kter´em se vˇzdy znovu vytvoˇr´ı nov´ y kl´ıˇc.
S´ıla a u ´toky na MPPE protokol
Vzhledem k tomu, ˇze symetrick´ y ˇsifrovac´ı kl´ıˇc je opˇet ustaven deterministick´ ym postupem pouze z hesla, je s´ıle kl´ıˇce rovna s´ıle hesla. Budou tedy pro nˇej platit vˇsechny omezen´ı, kter´ a jsou spojena s pouˇz´ıv´ an´ım hesel.
DR AF
Druh´ ym probl´emem je pouˇz´ıv´ an´ı ˇsifry RC4, kter´ a je proudovou ˇsifrou – funguje tedy obdobnˇe jako OFB m´ od blokov´ ych ˇsifer – xoruje se pseudon´ ahodn´ y ˇretˇezec s daty, kter´e chceme ˇsifrovat. U 40 bitov´eho kl´ıˇce nav´ıc plat´ı, ˇze je poˇr´ ad stejn´ y, nemˇen´ı se s nov´ ym pˇrihl´ aˇsen´ım. To znamen´ a, ˇze pokud u ´toˇcn´ık z´ısk´ a dva, nebo v´ıce zaˇsifrovan´ ych proud˚ u dat, tak d´ıky velk´e redundanci komunikaˇcn´ıch protokol˚ u m˚ uˇze velice snadno rekonstruovat velk´e ˇc´ asti p˚ uvodn´ıch dat. Nebo naopak je moˇzn´e rekonstruovat pseudon´ ahodn´ y ˇretˇezec a pak rychle deˇsifrovat vˇsechny n´ asleduj´ıc´ı pˇren´ aˇsen´ a data. Pokud chce u ´toˇcn´ık naopak vytvoˇrit zmˇeny v datech, tak nen´ı probl´em, protoˇze je moˇzn´e pouˇz´ıt tzv. bit-flipping u ´tok. U proudov´ ych ˇsifer samozˇrejmˇe plat´ı, ˇze zmˇena jednoho bitu v ˇsifrov´em textu zp˚ usob´ı zmˇenu pr´ avˇe jednoho bitu v deˇsifrovan´em Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´za Kapitola 4. Kryptoanaly
rea d
32
textu. Takto je moˇzn´e mˇenit vˇse od obsahu stavov´ ych informac´ı v protokolov´ ych hlaviˇck´ ach, aˇz po konkr´etn´ı ˇc´ asti pˇren´ aˇsen´eho textu, pokud v´ıme, v kter´em m´ıstˇe se co nach´ az´ı.
ot P
roo f
Tyto u ´toky jsou jeˇstˇe umocnˇeny dalˇs´ı vlastnost´ı protokolu MPPE – resynchronizace na ˇz´ adost klienta. Klient m˚ uˇze kdykoliv poˇz´ adat o resynchronizace, coˇz je v podstatˇe n´ avrat k p˚ uvodn´ımu kl´ıˇci, kter´ y byl ustaven pˇred samotn´ ym otevˇren´ım ˇsifrovan´eho kan´ alu. Tuto ˇz´ adost m˚ uˇze udˇelat kdokoliv, kdo se dostane mezi klienta a server. Pˇr´ısluˇsn´ y paket se pouze poˇsle serveru, kter´ y provede resynchronizaci a to ozn´ am´ı klientovi nastaven´ı pˇr´ısluˇsn´eho bitu v n´ asleduj´ıc´ım paketu. Klient pak uˇz nijak neovˇeˇruje, jestli o resynchronizaci s´ am ˇz´ adal, nebo ne. Abychom to osvˇetlili na pˇr´ıkladu – jestliˇze m´ a u ´toˇcn´ık k dispozici omezen´e mnoˇzstv´ı pamˇeti / kr´ atk´ y pseudon´ahodn´ y ˇretˇezec, napˇr. 10 kB, tak po pˇrenosu tohoto mnoˇzstv´ı dat poˇz´ ad´ a za klienta o resynchronizaci a dalˇs´ı data jsou ˇsifrov´ ana (xorov´ ana) stejn´ ym pseudon´ a´ hodn´ ym ˇretˇezcem od zaˇc´ atku. Utoˇcn´ık tak m˚ uˇze doc´ılit ˇsifrov´ an´ı dat pˇredem zvolen´ ym ˇretˇezcem.
Protokol MPPE m´ a kromˇe tˇechto probl´em˚ u i nˇekolik dalˇs´ıch. Mezi nˇe patˇr´ı moˇznost u ´spˇeˇsn´eho pasivn´ıho monitorov´ an´ı komunikace, nebo snadn´ yu ´nik citliv´ ych informac´ı z klientsk´eho poˇc´ıtaˇce.
4.2
Zarovn´ an´ı zpr´ av pro CBC mod – CBC Padding
TN
Konference EuroCRYPT’02 pˇrinesla krom jin´eho pˇr´ıspˇevek od Serge Vaudenay – CBC Padding: Security flaws in SSL, IPSEC, WTLS, . . . . Jedn´ a se o jeden z nejkr´ asnˇejˇs´ıch pˇr´ıklad˚ u modern´ı kryptoanal´ yzy, kter´ a vyuˇz´ıv´ a kombinace teoretick´e vlastnosti kryptografick´eho protokolu s chybami re´ aln´ ych implementac´ı.
DR AF
Velk´a vˇetˇsina souˇcasn´ ych kryptografick´ ych protokol˚ u, kter´e pouˇz´ıvaj´ı blokov´e ˇsifry vyˇzaduj´ı urˇcit´e pˇreform´ atov´ an´ı dat pˇred t´ım, neˇz se mohou ˇsifrovat. Toto plat´ı napˇr. pro SSL/TLS protokol, IPSEC, WTLS (TLS pro bezdr´ atov´e s´ıtˇe), abychom jmenovali nˇekolik nejpouˇz´ıvanˇejˇs´ıch. Hlavn´ım d˚ uvodem je, ˇze blokov´e ˇsifry um´ı ˇsifrovat pouze zpr´ avy o velikosti cel´ ych n´ asobk˚ u velikosti sv´eho bloku. Napˇr. u al´ goritmu DES je to osm bajtu, u ˇsifry AES ˇsestn´ act bajt˚ u. Uprava zpr´ avy obvykle spoˇc´ıv´ a v tom, ˇze se na konec dopln´ı potˇrebn´ y poˇcet bajt˚ u s hodnotami, kter´e jednoznaˇcnˇe umoˇzn´ı odliˇsit zarovn´ an´ı od zpr´ avy. Jednou z moˇznost´ı je, ˇze se doln´ı jeden aˇz osm/ˇsestn´ act (velikost bloku) bajt˚ u s hodnotami 1 pˇri jednom bajtu, 2 pˇri dvou bajtech, atd. Jestliˇze je d´elka p˚ uvodn´ı zpr´ avy pˇresnˇe n´ asobkem velikosti bloku, tak se pˇrid´ a zarovn´ avac´ı ˇretˇezec pr´ avˇe o d´elce jednoho bloku. Vˇetˇsina implementac´ı zmiˇ novan´ ych protokol˚ u na www, nebo jin´ ych serverech spr´ avnˇe deˇsifrovala data a pot´e ovˇeˇrila spr´ avnost zarovn´ avac´ıho bloku. Ponˇekud nespr´ avnˇe ovˇsem implementace obsahovaly dvˇe r˚ uzn´e chybov´e zpr´ avy – chyba pˇri Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
33
rea d
´n´ı zpra ´v pro CBC mod – CBC Padding 4.2. Zarovna
deˇsifrov´ an´ı, chybn´ y form´ at. Pr´ avˇe tuto druhou zpr´ avu rozpoznal Serge Vaudenay jako skryt´ y kan´ al, kter´ y je moˇzn´e pouˇz´ıt k elegantn´ımu u ´toku na ˇsifru.
4.2.1
Sloˇ zitost u ´toku
4.2.2
ot P
roo f
Matematick´ y vzorec pro v´ ypoˇcetn´ı n´ aroˇcnost u ´toku je O(N bW ), kde N je poˇcet blok˚ u zpr´ avy, b znaˇc´ı d´elku bloku pouˇzit´e ˇsifry ve slovech a W zastupuje mnoˇzstv´ı vˇsech moˇzn´ ych hodnot jednoho slova. Jelikoˇz to jeˇstˇe nemus´ı b´ yt u ´plnˇe jasn´e, tak demonstrujme hodnoty na pˇr´ıkladˇe. Pˇri u ´tok˚ u na zpr´ avu, kter´ a m´ a d´elku 8000 bajtu a pouˇzit´ı napˇr. algoritmu DES budeme m´ıt poˇcet blok˚ u N = 1000, kaˇzd´ y blok se bude skl´adat z osmi slov (b = 8) a kaˇzd´e slovo (bajt) m´ a osm bit˚ u a tud´ıˇz 256 moˇzn´ ych hodnot – W = 256. Jelikoˇz O (big-O) je nejhorˇs´ı odhad sloˇzitosti, tak rozˇsifrov´ an´ı 21 zpr´ avy bude trvat m´enˇe neˇz N bW = 1000.8.256 = 2048000 ≈ 2 operac´ı, coˇz je pro poˇc´ıtaˇc probl´em ˇreˇsiteln´ y v ˇra´du sekund, nebo jeˇstˇe rychleji. Pro srovn´ an´ı, nalezen´ı kl´ıˇce algoritmu DES vyˇzaduje ˇr´ adovˇe 254 operac´ı, pˇriˇcemˇz rozd´ıl v exponentu o jedniˇcku znamen´ a dvojn´ asobek ˇcasu.
Pˇ r´ıklad u ´toku – RFC2040
TN
Zm´ınˇen´ y standard RFC2040 definuje algoritmus pro symetrick´e ˇsifrov´ an´ı dat – konkr´etnˇe variantu RC5-CBC-PAD, tedy ˇsifru RC5 v m´ odu CBC se zarovn´ an´ım posledn´ıho bloku. V tomto pˇr´ıpadˇe m´ ame opˇet blok a osmi slovech, z nichˇz kaˇzd´e m´ a osm bit˚ u, tedy 256 hodnot. Zarovn´ an´ı je definov´ ano zp˚ usobem, kter´ y jsme jiˇz popsali v´ yˇse. Zpr´ ava je doplnˇena n slovy, kde 1 ≤ n ≤ b, kaˇzd´e s hodnotou n. Jestliˇze se pokus´ıme o ponˇekud form´ alnˇejˇs´ı z´ apis, kter´ y bude za chv´ıli uˇziteˇcn´ y, tak zpr´ ava se skl´ ad´ a z x1 , x2 , . . . , xN ˇ blok˚ u. Sifrov´ an´ı prob´ıh´ a n´ asleduj´ıc´ım postupem.
DR AF
1. y1 = C(IV ⊕ x1 ), kde IV je inicializaˇcn´ı vektor, kter´ y je bud’ souˇc´ asti zpr´ avy, nebo je obecnˇe zn´ am. 2. yi = C(yi−1 ⊕ xi ), pro i ≥ 2
Deˇsifrov´ an´ı prob´ıh´ a standardn´ım postupem: deˇsifrov´ an´ı, kontrola zarovn´ an´ı, odebr´an´ı zarovn´ an´ı od zpr´ avy. Pokud pˇri kontrole zarovn´ an´ı dojde k chybˇe, tedy zarovn´ an´ı neodpov´ıd´ a definici, tak velk´e mnoˇzstv´ı implementac´ı vr´ at´ı konkr´etn´ı chybu – ”nespr´ avn´e zarovn´ an´ı”. Tuto vlastnost nyn´ı pouˇzijeme jako ”vˇeˇst´ırnu” (z angl. oracle). Pozn: nepravdˇ epodobn´ yu ´ tok Pˇredpokl´ adejme, ˇze se stane, ˇze dva ˇsifrov´e bloky yi , yj jsou shodn´e. Potom plat´ı (podle rovnice v´ yˇse), ˇze Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
rea d
´za Kapitola 4. Kryptoanaly
34
yi = yj C(yi−1 ⊕ xi ) = C(yj−1 ⊕ xj ) yi−1 ⊕ xi = yj−1 ⊕ xj yi−1 ⊕ yj−1 = xi ⊕ xj
p ≈ 1−e
−N 2 2m
roo f
Takˇze kdyˇz to zkr´ at´ıme, tak ˇsifrov´e bloky, kdyˇz se zxoruj´ı, vytvoˇr´ı hodnotu, kter´ a je shodn´ a se xorovanou hodnotou blok˚ u ˇcist´eho textu xi a xj . S vyuˇzit´ım redundance dat, kter´a byla ˇsifrov´ ana tak m˚ uˇzeme ˇc´ asteˇcnˇe nebo plnˇe odkr´ yt dva bloky (kaˇzd´ y o osmi aˇz ˇsestn´ acti bajtech) p˚ uvodn´ıch dat. Nev´ yhodou je pravdˇepodobnost, ˇze se y teor´em: dva stejn´e bloky yi , yj vyskytnou. Pro toto plat´ı narozeninov´ −N 2
= 1 − e 2.88
ot P
Rozumnou pravdˇepodobnost – 39 procent z´ısk´ ame bohuˇzel (pokud jsme u ´toˇcn´ık) aˇz pro data o d´elce 32 GB.
Vaudenay ovˇsem pˇriˇsel s mnohem efektivnˇejˇs´ım u ´tokem. Na u ´vod pˇredpokl´ ad´ ame existenci vˇeˇst´ırny O, kter´ a vrac´ı 1, jestliˇze deˇsifrovan´ y text m´ a spr´ avn´e zarovn´ an´ı. Jinak vrac´ı 0. Pro definici O potˇrebujeme zn´ at pouze inicializaˇcn´ı vektor IV a ˇsifrov´ y text C.
TN
Cel´ yu ´tok prob´ıh´ a od konce zpr´ avy. Nejprve chceme z´ıskat posledn´ı slovo bloku y z C. Pro to potˇrebujeme (a vytvoˇr´ıme si) ˇretˇezec n´ ahodn´ ych slov r (v naˇsem pˇr´ıpadˇe bajt˚ u), r = r1 . . . rb a budeme se snaˇzit podvrhnout ˇsifrov´ y text r || y.
DR AF
Pouˇzijeme vˇeˇst´ırnu O(r || y) s postupnou zmˇenou slova rb a to tak dlouho, dokud nevr´ at´ı 1. V t´eto chv´ıli v´ıme, ˇze deˇsifrov´ an´ı vy´ ustilo ve spr´ avn´e zarovn´ an´ı. Toto zarovn´ an´ı bylo nejsp´ıˇse v d´elce jednoho bajtu (pravdˇepodobnost 2−8 ), protoˇze pravdˇepodobnost, ˇze by toto zarovn´ an´ı bylo dvoubajtov´e je 2−16 , trojbajtov´e 2−24 , atd. Jestliˇze ˇr´ık´ ame deˇsifrov´ an´ı, tak mysl´ıme rovnici C −1 (y) ⊕ r. I kdyˇz pravdˇepodobnost, ˇze bychom trefili zarovn´ an´ı delˇs´ı neˇz jeden bajt je velmi mal´ a, tak to m˚ uˇzeme snadno ovˇeˇrit napˇr. t´ım, ˇze postupnˇe mˇen´ıme jeden bit u slova rb−1 , pak rb−2 , . . . dokud bude vˇeˇst´ırna O vracet 1.
Takˇze se n´ am podaˇrilo urˇcit posledn´ı slovo bloku a = C −1 (y) a jeho hodnota je ab = rb ⊕ 0x01. Pokud by to n´ ahodou byly dvˇe slova, tak jejich hodnota by byla ab = rb ⊕ 0x02 a ab−1 = rb−1 ⊕ 0x02. Urˇcen´ı dalˇs´ıch slov je uˇz ted’ relativnˇe jednoduch´e. Pro deˇsifrov´ an´ı bloku aj napˇred uprav´ıme ˇretˇezec r tak, ˇze slova j + 1 aˇz b uprav´ıme podle n´ asleduj´ıc´ı rovnice: rk = ak ⊕ (b − j + 2). Uprav´ıme je tak, aby po deˇsifrov´ an´ı zaruˇcily spr´ avn´e zarovn´ an´ı. No a ted’ uˇz jen budeme slovo rb upravovat tak dlouho, dokud vˇeˇst´ırna O nevr´ at´ı jedniˇcku. Slovo ai = ri ⊕ (b − j + 2). Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
35
rea d
´tky do historie 4.3. Enigma – zpa
ˇ Pˇ r´ıklad v´ ypoˇ ctu. Reknˇ eme, ˇze m´ ame ˇsifru, kter´ a m´ a blok z osmi slov a kaˇzd´e slovo je osmibitov´e (napˇr. DES, nebo RC4). Potom plat´ı, ˇze: b = 8, W = 256 yi = C(yi−1 ⊕ xi ) ⇒ xi = C −1 (yi ) ⊕ yi−1
roo f
Mˇejme potom 16 bajt˚ u ˇsifrov´eho textu, k nˇemuˇz bychom chtˇeli naj´ıt otevˇren´ y text. C = 3c 68 74 6d 6c 3e 3c 68 || 65 c1 14 3e 03 50 12 f 5
Zvolme si tedy n´ ahodn´ y ˇretˇezec o d´elce bloku r = 00 00 00 00 00 00 00 00. A r = r1 r2 r3 r4 r5 r6 r7 r8 . Pro posledn´ı slovo – a8 budeme zkouˇset deˇsifrovat vol´an´ım vˇeˇst´ırny se slovem r8 proch´ azej´ıc´ım od 0 do 255. O(65 c1 14 3e 03 50 12 f 5 || 00 00 00 00 00 00 00 r8 )
ot P
ˇ Reknˇ eme, ˇze jsme se trefili hned pro r8 = 0 a tedy a8 = 01 ⊕ 00 = 01, zarovn´ an´ı tedy bude jednobajtov´e a dalˇs´ı slovo – a7 uˇz bude ˇc´ ast´ı ˇcist´eho textu. Nastav´ıme r8 = a8 ⊕ 2 = 03 a zaˇcneme zkouˇset s mˇen´ıc´ım se r7 . O(65 c1 14 3e 03 50 12 f 5 || 00 00 00 00 00 00 r7 03)
4.3
TN
Tentokr´ at n´ am vˇeˇst´ırna vr´ at´ı jedniˇcku pro r7 = 6f , a7 = r7 ⊕ 02 = 6d. Podobnˇe se n´ am vˇeˇst´ırna zastav´ı na r3 = 6a, r4 = 72, r5 = 64 r6 = 74 r7 = 63 r8 = 72. Pomoc´ı operace xor pak dostaneme n´ asleduj´ıc´ı slova posledn´ıho bloku: a3 = 6a ⊕ 3 = 69, a4 = 72 ⊕ 4 = 76, a5 = 64 ⊕ 5 = 61, a6 = 74 ⊕ 6 = 72, a7 = 63 ⊕ 7 = 64 a a8 = 72 ⊕ 8 = 7a. Kdyˇz se pod´ıv´ ame na ASCII tabulku, tak posledn´ıch sedm bajt˚ u ˇcist´eho textu je tedy: ”zdravim”.
Enigma – zp´ atky do historie
DR AF
Abychom se nezab´ yvali jen souˇcasnost´ı, budeme vˇenovat tuto ˇc´ ast rotorov´ ym ˇsifrovac´ım stroj˚ um. T´ım nejzn´ amˇejˇs´ım, alespoˇ n v Evropˇe, byla Enigma. Tento ˇsifrovac´ı pˇr´ıstroj byl vyvinut na konci dvac´ at´ ych let. Nejprve byl urˇcen k norm´ aln´ımu komerˇcn´ımu prodeji, ale velmi rychle ho st´ at zak´ azal prod´ avat a zaˇcal ho pouˇz´ıvat pro zabezpeˇcen´ı vlastn´ı komunikace. Prvn´ı verze byly relativnˇe jednoduch´e a pˇredevˇs´ım polsk´e tajn´e sluˇzby dok´ azaly j´ı ˇsifrovanou komunikaci luˇstit. Tento pˇr´ıpad je typick´ a uk´ azka, kdy postupn´e zdokonalov´ an´ı ˇsifrovac´ıho postupu umoˇzn ˇuje nepˇr´ıteli luˇstit st´ ale sloˇzitˇejˇs´ı varianty s vyuˇzit´ım uˇz existuj´ıc´ıch znalost´ı. Po vypovˇezen´ı v´ alky se velmi brzy stalo luˇstˇen´ı vojensk´e verze Enigmy jednou z priorit anglick´e vl´ ady. T´ ym, kter´ y se zab´ yval kryptoanal´ yzou z´ıskal trval´e u ´toˇciˇstˇe v Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´za Kapitola 4. Kryptoanaly
rea d
36
Bletchley Park (www.bletchley-park.gov.uk), v Milton-Keynes, coˇz je asi 150km na sever od Lond´ yna. Hlavn´ımi postavami t´ ymu, kter´ y se zab´ yval Enigmou byli Dillwyn Knox a Alan Turing.
roo f
D´ıky spolupr´ aci s polsk´ ymi emigranty mˇeli k dispozici jak repliku ˇsifrovac´ıho stroje (exempl´ aˇre dalˇs´ıch verz´ı se jim podaˇrilo z´ıskat bˇehem v´ alky), tak v´ ysledky dosavadn´ı kryptoanal´ yzy. Anglie ovˇsem potˇrebovala luˇstit ˇsifrov´e texty relativnˇe rychle a pro to bylo tˇreba vytvoˇrit nov´e postupy. Nejdˇr´ıve se museli rozhodnout, jakou strategii pouˇzij´ı a v z´ asadˇe mˇeli tˇri moˇznosti. • Kryptoanal´ yza pouze s pouˇzit´ım ˇsifrov´eho textu. Je to nejobt´ıˇznˇejˇs´ı postup a nevyuˇz´ıv´ a ˇz´ adn´ ych speci´ aln´ıch znalost´ı.
ot P
´ • Utok s diskriminanty. V t´e dobˇe pouˇz´ıvali nˇemci syst´em, kdy na zaˇc´ atku kaˇzd´e zpr´ avy byly pˇren´ aˇseny ˇsifrovanˇe tˇri znaky, kter´e urˇcovali posledn´ı nastaven´ı Enigmy. Tyto tˇri znaky byly ovˇsem pˇren´ aˇseny dvakr´ at za sebou. ´ • Utok s pouˇzit´ım pravdˇepodobn´e fr´ aze. K tomuto bylo tˇreba zn´ at slovo, ˇc´ ast textu, kter´ y se urˇcitˇe vyskytuje v ˇsifrov´em textu – tento text se naz´ yval crib. Nakonec se t´ ym rozhodl pro tˇret´ı moˇznost, coˇz se uk´ azalo jako velmi ˇst’astn´e, protoˇze syst´em s opakuj´ıc´ımi se diskriminanty byl bˇehem nˇekolika mˇes´ıc˚ u zmˇenˇen a cel´e u ´sil´ı by se pˇri t´eto volbˇe stalo bezcenn´ ym.
TN
Metoda s “crib” je zaloˇzena na jedn´e konkr´etn´ı vlastnosti Enigmy - kaˇzd´ y znak se po ˇsifrov´ an´ı nutnˇe zmˇen´ı. Nen´ı tedy moˇzn´e, aby se napˇr. “a” zaˇsifrovalo opˇet jako “a”. Jestliˇze tedy m´ ame konkr´etn´ı kousek textu – crib, tak posouv´ ame tento crib po ˇsifrov´em textu tak dlouho, dokud se neshoduje ani jedno z jeho p´ısmen se ˇsifrov´ ym textem.
4.3.1
DR AF
Po nalezen´ı takov´eho m´ısta se se zn´ am´ ym poˇrad´ım rotor˚ u a jejich pozic´ı hledalo nastaven´ı steckeru, kter´e by umoˇznilo transformaci ˇsifrov´eho textu na otevˇren´ y text. 20 Poˇcet testovan´ ych moˇznost´ı byl 10 . N´ aroˇcnost kryptoanal´ yzy hodnˇe souvisela s d´elkou crib.
Jak se Enigma pouˇ z´ıv´ a
Z´ akladn´ı postup pro pouˇz´ıv´ an´ı Enigmy se skl´ ad´ a z n´ asleduj´ıc´ıch krok˚ u: 1. nejdˇr´ıve je tˇreba nastavit Enigmu do z´ akladn´ıho nastaven´ı, kter´e je pˇredem dohodnuto pro dan´ y den; 2. zvol´ı se tˇr´ıp´ısmenn´ a poˇc´ ateˇcn´ı pozice rotor˚ u (indicator), od kter´e se zaˇsifruje tˇr´ıp´ısmenn´ y kl´ıˇc zpr´ avy; Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
37
rea d
´tky do historie 4.3. Enigma – zpa
3. rotory se nastav´ı na pozici indik´ atoru – ta je tak´e d´ ana dopˇredu a s n´ı se zaˇsifruje dvakr´ at za sebou kl´ıˇc zpr´ avy;
4. pot´e se rotory Enigmy nastav´ı na kl´ıˇc zpr´ avy a zaˇcne se ˇsifrovat samotn´ a zpr´ ava;
roo f
5. jak preambule (zaˇsifrovan´ y kl´ıˇc zpr´ avy), tak zpr´ ava jsou pˇred´ any radio oper´ atorovi, kter´ y je poˇsle pˇr´ıjemci.
ˇ Sifrovan´ a zpr´ ava se z´ısk´ a odeˇc´ıt´ an´ım p´ısmen, u nichˇz se pˇri stisku ˇcist´eho textu rozsv´ıt´ı dioda. Postup je tedy do znaˇcn´e m´ıry manu´ aln´ı a m˚ uˇze snadno doch´ azet k chyb´ am – to se tak´e velmi ˇcasto st´ avalo. Kupodivu tyto chyby vˇetˇsinou znesnadˇ novali kryptoanal´ yzu. !!!!!!!obrazky!!!!!!!!
DR AF
TN
ot P
!!!!!!!Purple!!!!!!!!!!
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
roo f
ot P
TN
DR AF
rea d
roo f
rea d
39
ot P
ˇ ast II C´
DR AF
TN
Bezpeˇ cnost
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
roo f
ot P
TN
DR AF
rea d
rea d
41
Ovˇ eˇ rov´ an´ı identity
roo f
Kapitola 5
ot P
´ Uplnˇ e na zaˇc´ atku je tˇreba si definovat tˇri z´ akladn´ı pojmy, kter´e jsou stˇeˇzejn´ı pro ovˇeˇrov´ an´ı identity. Tˇemito pojmy jsou: Autentizace je proces ovˇeˇrov´ an´ı identity (s poˇzadovanou z´ arukou). Autentizace je vlastnˇe verifikac´ı, protoˇze uˇzivatel zad´ av´ a svoji identitu (napˇr. pˇrihlaˇsovac´ı jm´eno) a souˇcasnˇe s t´ım tajnou informaci, kter´ a slouˇz´ı k ovˇeˇren´ı zadan´e identity. Nˇekdy se pouˇz´ıv´ a pro to sam´e pojem autentifikace, kter´ y ale my pouˇz´ıvat nebudeme.
TN
Identifikace je naopak proces, kdy se snaˇz´ıme urˇcit identitu sami hled´ an´ım v pˇredem dan´e mnoˇzinˇe uˇzivatel˚ u. Jin´ ymi slovy jde o hled´ an´ı. Narozd´ıl od autentizace uˇzivatel nezad´ av´ a identitu. Syst´em proch´ az´ı datab´ azi z´ aznam˚ u vˇsech uˇzivatel˚ u v syst´emu. Tyto z´ aznamy mohou b´ yt bud’ tajn´e informace (napˇr. heslo), nebo data, kter´e pˇri identifikaci nen´ı moˇzn´e podvrhnout (napˇr. otisk palce, nebo jin´ a biometrick´ a informace).
DR AF
Autorizace je proces, kter´ y obvykle n´ asleduje po autentizaci. V t´e chv´ıli je moˇzn´e na z´ akladˇe identity pˇriˇradit opr´ avnˇen´ı pro pr´ aci v syst´emu a specifikovat co dan´ y uˇzivatel m˚ uˇze, pˇr´ıp. nem˚ uˇze. Ovˇeˇrovat m˚ uˇzeme nejen identitu uˇzivatel˚ u, ale i p˚ uvod dat. V tomto pˇr´ıpadˇe ovˇeˇrujeme, ˇze data jsou autentick´ a, tj. ˇze zn´ ame autora ˇci odes´ılatele dan´ ych dat.
5.1
Autentizace zpr´ av
Autentizace zpr´ av velmi souvis´ı s ovˇeˇrov´ an´ım integrity. Obvykle ovˇeˇren´ı integrity je jedn´ım z krok˚ u, kter´ y je tˇreba udˇelat, abychom dok´ azali autentiˇcnost zpr´ avy a t´ım urˇcili jej´ıho autora, nebo odes´ılatele.
ˇova ´n´ı identity Kapitola 5. Ovˇ er
rea d
42
Tou nejjednoduˇsˇs´ı formou je pouˇz´ıv´ an´ı bezpeˇcnostn´ıch k´ od˚ u, kter´e jsou schopny detekovat, nebo opravit zmˇeny, ke kter´ ym ve zpr´ avˇe doˇslo. Pˇr´ıkladem m˚ uˇze b´ yt pouˇzit´ı CRC (cyclic redundancy code), Reed-Solomonova k´ odu, . . . . Tyto k´ ody jsou ovˇsem schopny odhalit pouze n´ ahodn´e chyby, nikoliv chyby, nebo zmˇeny, kter´e byly vytvoˇreny u ´myslnˇe.
roo f
Na detekci u ´mysln´ ych chyb je jiˇz tˇreba pouˇz´ıt kryptografii. Moˇznost´ı, kter´e m´ ame pro pˇren´aˇsen´e zpr´ avy je nˇekolik:
1. Sd´ılen´ y tajn´ y symetrick´ y kl´ıˇc – odes´ılatel a pˇr´ıjemce si dopˇredu vymˇen´ı symetrick´ y kl´ıˇc a dohodnou se na ˇsifrovac´ım algoritmu, kter´ y budou pouˇz´ıvat pro zabezpeˇcen´ı zpr´ av. Kaˇzd´ a zpr´ ava je odes´ılatelem zaˇsifrov´ ana, coˇz umoˇzn´ı pˇr´ıjemci zjistit zmˇeny.
ot P
2. Pˇrenesen´ı haˇse bezpeˇcn´ ym (autentizovan´ ym) kan´ alem – data jsou pˇren´ aˇsena nezajiˇstˇen´ a, ale pˇred odesl´ an´ım je spoˇc´ıt´ an haˇs zpr´ avy. Tento haˇs je pˇrenesen zvl´ aˇstn´ım komunikaˇcn´ım kan´ alem, kter´ y m˚ uˇze m´ıt mnohem niˇzˇs´ı pˇrenosovou rychlost, ale mˇel by b´ yt autentizovan´ y. Pˇr´ıjemce po pˇrijet´ı zpr´ avy spoˇc´ıt´ a jej´ı haˇs a porovn´ a j´ı s haˇs´ı, kterou z´ıskal od odes´ılatele.
TN
3. Kl´ıˇcovan´ y haˇs/MAC (message authentication code) – toto je urˇcit´ a kombinace pˇredchoz´ıch dvou moˇznost´ı. Opˇet je tˇreba, aby existoval sd´ılen´ y kl´ıˇc. Kl´ıˇcovan´ y haˇs/MAC jsou haˇsovac´ı funkce, kdy se ke zpr´ avˇe pˇrid´ av´ a tajn´ y kl´ıˇc, kter´ y zajist´ı, ˇze nikdo bez znalosti tohoto kl´ıˇce nen´ı schopen spoˇc´ıtat spr´ avnou hodnotu. Odes´ılatel pˇred odesl´ an´ım spoˇc´ıt´a kl´ıˇcovan´ y haˇs/MAC zpr´ avy a ten poˇsle spoleˇcnˇe se zpr´avou. V tomto pˇr´ıpadˇe nen´ı potˇreba zvl´ aˇstn´ı kan´ al pro haˇs kaˇzd´ a zpr´ avy.
DR AF
4. Digit´aln´ı podpis – je nejsloˇzitˇejˇs´ı moˇznost´ı z hlediska implementace, ale klade nejmenˇs´ı n´ aroky na bezpeˇcnost komunikaˇcn´ıch kan´ al˚ u. Odes´ılatel si vytvoˇr´ı veˇrejn´ y a soukrom´ y kl´ıˇc. Veˇrejn´ y kl´ıˇc pˇred´ a pˇr´ıjemci autentizovan´ ym kan´ alem. Z kaˇzd´e zpr´ avy spoˇc´ıt´ a odes´ılatel haˇs, kterou podep´ıˇse sv´ ym soukrom´ ym kl´ıˇcem. V´ ysledek je spolu se zpr´ avou posl´ an pˇr´ıjemci.
P ˇr´ıklad autentizace dat Jestliˇze existuje bezpeˇcn´ y kan´ al, kter´ y m´ a ovˇsem malou kapacitu (napˇr. telefonn´ı spojen´ı), m˚ uˇzeme pouˇz´ıt n´ asleduj´ıc´ı postup. Samotn´ a data jsou zasl´ ana nezabezpeˇcen´ ym kan´ alem, u kter´eho vyˇzadujeme spolehlivost, aby data byla doruˇcena. Napˇr. m˚ uˇzeme pouˇz´ıt email. S odesl´ an´ım zpr´ avy spoˇc´ıt´ a odes´ılatel haˇs. Nyn´ı pˇrich´ az´ı ke slovu jiˇz zm´ınˇen´ y autentizovan´ y kan´ al. Takˇze odes´ılatel sdˇel´ı pˇr´ıjemci haˇs napˇr. bˇehem telefonn´ıho hovoru. Po kontrole haˇse je zpr´ ava autentizovan´ a a je ovˇeˇrena jej´ı integrita. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´v 5.1. Autentizace zpra
rea d
5.1.1
43
Digit´ aln´ı podpis
roo f
Pro digit´ aln´ı podpis existuje nˇekolik vhodn´ ych parametr˚ u. Asi nejˇcastˇeji se pouˇz´ıv´ a algoritmus RSA, kter´ y je nejstarˇs´ım (st´ ale bezpeˇcn´ ym) asymetrick´ ym algoritmem. V roce 1994 byla ve Spojen´ ych st´ atech vyhl´ aˇsena soutˇeˇz o standard pro digit´ aln´ı podpis. Algoritmus, kter´ y vyhr´ al tuto soutˇeˇz se jmenuje DSA (digital signature algorithm). Podstatou algoritmu je modifikovan´ y algoritmus El-Gamal, zaloˇzen´ y na probl´emu v´ ypoˇctu diskr´etn´ıho algoritmu nad tˇelesem Zp . Toto jsou dva dnes nejˇcastˇeji pouˇz´ıvan´e algoritmy, k nimˇz existuj´ı varianty pracuj´ıc´ı na tˇelesy eliptick´ ych kˇrivek EC-RSA, EC-DSA. Eliptick´ a kˇrivka spolu urˇcuje bezpeˇcnost algoritmu, ale je moˇzn´e ji snadno mˇenit.
ot P
Algoritmus RSA byl publikov´ an v roce 1977 a to s prvoˇc´ısly p a q dlouh´ ymi 64 a 65 bit˚ u (129 bitov´ y modul). Soukrom´ y kl´ıˇc z t´eto publikace byl zlomen v roce 1994. Na konci roku 1999 byl zlomen kryptosyst´em RSA s modulem dlouh´ ym 512 bit˚ u. V tomto pˇr´ıpadˇe bylo pouˇzito nˇekolik set poˇc´ıtaˇc˚ u po dobu ˇctyˇr mˇes´ıc˚ u.
Autentizace dat
DR AF
5.1.2
TN
V souˇcasn´e dobˇe pouˇz´ıvan´e d´elky kl´ıˇc˚ u RSA a DSA algoritmu nad tˇelesem zbytkov´ ych tˇr´ıd (klasick´e varianty) o d´elce 1024 aˇz 2048 bit˚ u. N´ asleduj´ıc´ı tabulka ukazuje orientaˇcn´ı ˇcasy potˇrebn´e pro v´ ypoˇcet podpis˚ u a jejich verifikaci pro r˚ uzn´ y d´elky modulu a exponentu, kter´e tvoˇr´ı veˇrejn´ y kl´ıˇc. ˇ Cas Operace Modul Exponent RSA podpis 1024 bit˚ u 1024 bit˚ u 25 ms RSA podpis 2048 bit˚ u 2048 bit˚ u 170 ms RSA verifikace 1024 bit˚ u 32 bit˚ u 3 ms RSA verifikace 2048 bit˚ u F4 38 ms RSA generov´ an´ı kl´ıˇce 1024 bit˚ u 1560 ms RSA generov´ an´ı kl´ıˇce 2048 bit˚ u 14400 ms EC-DSA (GF (p)) podpis 160 bit˚ u 160 bit˚ u 24 ms EC-DSA (GF (p)) verifikace 160 bit˚ u 160 bit˚ u 50 ms
Nejˇcastˇejˇs´ı aplikace podepisov´ an´ı dat v souˇcasn´e dobˇe je autentizace instalaˇcn´ıch soubor˚ u pro operaˇcn´ı syst´emy fy. Microsoft. Pro autentizaci k´ odu jsou v z´ asadˇe tˇri hlavn´ı d˚ uvody. 1. Chceme a potˇrebujeme zajistit integritu dat. 2. Chceme zjistit a ovˇeˇrit autora k´ odu. 3. Jestliˇze vˇeˇr´ıme autorovi k´ odu (firmˇe) a tak´e Microsoftu, tak se chceme ujistit, ˇze nedoˇslo ke zmˇenˇe k´ odu mezi okamˇzikem podeps´ an´ı k´ odu a jeho staˇzen´ım na n´ aˇs poˇc´ıtaˇc. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
rea d
ˇova ´n´ı identity Kapitola 5. Ovˇ er
44
!!! nˇekolik obr´ azk˚ u z ovˇeˇrov´ an´ı !!! !!! pˇrihodit popis postupu pro Java programy !!!
roo f
Metoda se jmenuje Microsoft Authenticate a je zaloˇzena na asymetrick´ ych kryptografick´ ych algoritmech. Cel´ y spustiteln´ y soubor je digit´ alnˇe podeps´ an v´ yrobcem pˇred distribuc´ı souboru. Po staˇzen´ı souboru na poˇc´ıtaˇc je podpis uˇzivatelov´ ym operaˇcn´ım syst´emem ovˇeˇren. Pokud je ovˇeˇren´ı u ´spˇeˇsn´e, tak je program spuˇstˇen. Jestliˇze verifikace neuspˇeje – kdykoliv v pr˚ ubˇehu operace – tak je uˇzivatel dot´ az´ an na rozhodnut´ı, jestli se m´ a program spustit.
I kdyˇz je mechanismus zaloˇzen na bezpeˇcn´ ych kryptografick´ ych algoritmech, tak nezaruˇcuje 100% bezpeˇcnost. M´ıst, kde m˚ uˇze doj´ıt k probl´emu je nˇekolik. Nejpravdˇepodobnˇejˇs´ı je, ˇze samotn´ y operaˇcn´ı syst´em je napˇr. virem “upraven” tak, ˇze nezobraz´ı spr´ avnˇe v´ ysledek verifikace.
ot P
V roce 2001 se podaˇrilo nezn´ am´emu u ´toˇcn´ıkovi z´ıskat podpis na dva sv´e veˇrejn´e kl´ıˇce od firmy Verisign. Tato firma moment´ alnˇe patˇr´ı Microsoftu a operaˇcn´ı syst´emy povaˇzuj´ı podpisy Verisignu za bezpeˇcn´e. Obˇe firmy jsou pˇredn´ımi hr´ aˇci v oblasti operaˇcn´ıch syst´em˚ u a bezpeˇcnosti, takˇze kdo jin´ y by mˇel m´ıt adekv´ atn´ı bezpeˇcnostn´ı mechanismy . . . . ´ cn´ıkovi se podaˇrilo vyd´ Utoˇ avat se za zamˇestnance Microsoftu a tak z´ıskal certi-
5.2
TN
fik´ at pro Microsoft. Soukrom´ ymi kl´ıˇci k tˇemto certifik´ at˚ um pak mohl podepsat libovolnou aplikaci, nebo k´ od a operaˇcn´ı syst´em by jej nainstaloval bez jedin´e ot´ azky a bez jedin´eho varov´ an´ı. Dokonce nen´ı obt´ıˇzn´e si pˇredstavit, ˇze by podpisy vyd´ aval za nˇejak´ y poplatek hacker˚ um, nebo firm´ am, kter´e by chtˇely sv´ ym konkurent˚ um nainstalovat na poˇc´ıtaˇce vlastn´ı k´ od. T´ım by kompletnˇe podlomil cel´ y syst´em Authenticode.
Autentizaˇ cn´ı protokoly
DR AF
Protokoly v kryptografii je moˇzn´e rozdˇelit na dvˇe z´ akladn´ı skupiny: Protokoly pro ustaven´ı kl´ıˇ ce c´ılem je vytvoˇrit a distribuovat tajemstv´ı (sd´ılen´e tajemstv´ı). Obvykle se jedn´ a o kl´ıˇc, ale m˚ uˇze to b´ yt zdroj pro gener´ ator pseudon´ ahodn´ ych ˇc´ısel, nonce, apod. Autentizaˇ cn´ı protokoly tyto protokoly pouˇz´ıvaj´ı existuj´ıc´ı sd´ılen´ a tajemstv´ı a jejich c´ılem je ujistit jednu stranu o identitˇe druh´e strany, se kterou chce komunikovat. N´ as budou nyn´ı pˇredevˇs´ım autentizaˇcn´ı protokoly. Ty je moˇzn´e d´ ale dˇelit podle mnoha krit´eri´ı, vyberme si nyn´ı zp˚ usob, jak´ ym se autentizuje. Autentizace m˚ uˇze b´ yt jednosmˇern´ a. Tento pˇr´ıpad se pouˇz´ıv´ a napˇr. kdyˇz se pˇripojujete bezpeˇcnˇe k Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
ˇn´ı protokoly 5.2. Autentizac
rea d
45
nˇejak´emu webov´emu serveru. V tomto pˇr´ıpadˇe server nemus´ı zaj´ımat vaˇse identita, jestliˇze poskytuje informace volnˇe, podstatn´e je zajistit autentiˇcnost poskytovan´ ych dat. Jestliˇze napˇr. banka potˇrebuje ovˇeˇrit vaˇsi identitu pro operace s vaˇs´ım u ´ˇctem, tak spust´ı dalˇs´ı autentizaˇcn´ı protokol – obvykle zaloˇzen´ y na hesle, ˇcipov´e kartˇe, nebo speci´ aln´ı SIM kartˇe ve vaˇsem mobiln´ım telefonu.
roo f
Obvykl´ y postup v internetov´em bankovnictv´ı je tedy spuˇstˇen´ı dvou jednosmˇern´ ych autentizac´ı. Obousmˇern´ a autentizace je schopna vz´ ajemnˇe ovˇeˇrit identitu obou komunikuj´ıc´ıch stran. Pokud je na z´ akladˇe autentizace otevˇreno sezen´ı, kter´e samo zajiˇstuje nepˇreruˇsitelnost, tak staˇc´ı prov´est autentizaci jen jednou. Jsou ale situace, kdy takov´e sezen´ı neexistuje.
ot P
V pˇr´ıpadˇe, ˇze nejsme schopni vytvoˇrit nepˇreruˇsiteln´e sezen´ı, je tˇreba autentizace neust´ ale opakovat. Jako pˇr´ıklad si m˚ uˇzeme uv´est autentizaci pomoc´ı ˇcipov´e karty !!! asi lepˇs´ı pˇr´ıklad!!!. Jelikoˇz nejsme schopni zabr´ anit vytaˇzen´ı ˇcipov´e karty ze ˇcteˇcky, je tˇreba pravidelnˇe kontrolovat, ˇze dan´ a ˇcipov´ a karty je st´ ale ve ˇcteˇcce a ˇze se ji nikdo nepokusil vyt´ ahnout, ani vymˇenit. Abychom nez˚ ustali jen u jedn´e klasifikace, tak uved’me dalˇs´ı krit´erium. Protokol m˚ uˇze b´ yt iniciov´ an v´ yzvou, kdy napˇr. server ˇz´ ad´ a klienta, aby se autentizoval, nebo klient s´ am zapoˇcne protokol. Zkusme tedy kr´ atce popsat nˇekolik typu autentizaˇcn´ıch protokol˚ u.
Heslo
TN
5.2.1
DR AF
Autentizace pomoc´ı hesla je nejjednoduˇsˇs´ım zp˚ usobem autentizace v souˇcasn´e dobˇe. Pˇresto je pouˇz´ıv´ an ve velk´em mnoˇzstv´ı aplikac´ı. Pˇr´ıkladem m˚ uˇze b´ yt napˇr. SMTP a POP3 protokoly pro pˇripojov´ an´ı k emailov´ ym server˚ um, ICQ pro komunikaci pˇres Internet, . . . . Protokol spoˇc´ıv´ a v tom, ˇze Alice prostˇe poˇsle Bobovi heslo. Bob m´ a nˇekde v datab´ azi uloˇzena hesla vˇsech sv´ ych komunikaˇcn´ıch partner˚ u a po pˇr´ıjmu hesla si nejde pˇr´ısluˇsn´ y z´ aznam patˇr´ıc´ı Alici a porovn´ a zaslan´e heslo s origin´ alem ve sv´em z´ aznamu. Lehk´e zes´ılen´ı autentizace spoˇc´ıv´ a v zasl´ an´ı hesla haˇse m´ısto hesla samotn´eho. Bob potom porovn´ av´ a haˇse hesel. Zes´ılen´ı nen´ı pˇr´ıliˇs velk´e – u ´toˇcn´ık, kter´ y by se chtˇel vyd´ avat za Alici uˇz nem˚ uˇze pouˇz´ıt norm´ aln´ı pˇrihlaˇsovac´ı mechanismy, ale je potˇreba hacknout samotn´ y protokol, do kter´eho se vloˇz´ı uˇz v´ ystup pouˇz´ıvan´e haˇsovac´ı funkce. Heslo m˚ uˇze b´ yt samozˇrejmˇe odposlechnuto a jelikoˇz Bob (v tomto pˇr´ıpadˇe) zn´ a heslo Alice, tak jej m˚ uˇze pouˇz´ıt pro vyd´ av´ an´ı se za Alici. Z tˇechto d˚ uvod˚ u je vhodn´e tento protokol pouˇz´ıvat pouze pro lok´ aln´ı autentizaci, kde heslo proch´ az´ı po bezpeˇcn´em spojen´ı (ide´ alnˇe pouze pro autentizaci lok´ alnˇe na poˇc´ıtaˇci). Pokud se potˇrebujete pˇrihl´ asit napˇr. k emailov´emu serveru, je dobr´e pˇred t´ım vytvoˇrit bezpeˇcn´ y tunel, kter´ y by heslo transparentnˇe ˇsifroval. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
5.2.2
rea d
ˇova ´n´ı identity Kapitola 5. Ovˇ er
46
V´ yzva-odpovˇ ed’
Mnohem bezpeˇcnˇejˇs´ı jsou protokoly v´ yzva-odpovˇed’ (challenge-response). Protokoly v tomto pˇr´ıpadˇe sest´ avaj´ı minim´ alnˇe ze dvou zpr´ av. Prvn´ı je v´ yzva ovˇeˇrovatele (Bob) v protokolu, kter´ a je n´ asledov´ ana odpovˇed´ı prokazatele (toho, kdo se pˇrihlaˇsuje – Alice). Pro bezpeˇcnost protokolu je nutn´e splnit dvˇe z´ akladn´ı podm´ınky:
roo f
1. v´ yzva mus´ı b´ yt “ˇcerstv´ a”, tj. je tˇreba zabr´ anit, aby se nemohla opakovat;
2. odpovˇed’ je vypoˇctena na z´ akladˇe v´ yzvy a to tak, aby nebylo moˇzn´e ze zn´ am´ ych odpovˇed´ı odvodit odpovˇedi na nov´e v´ yzvy.
ot P
Protokoly v´ yzva-odpovˇed’ je moˇzn´e prov´ adˇet i pˇres nezabezpeˇcen´ y kan´ al, protoˇze odposlech v´ yzvy, ani odpovˇedi nepom˚ uˇze u ´toˇcn´ıkovi k ˇz´ adn´e dalˇs´ı faleˇsn´e autentizaci. Nav´ıc, Bob nemus´ı zn´ at tajemstv´ı, kter´e Alice pouˇz´ıv´ a pro autentizaci – napˇr. pˇri pouˇzit´ı asymetrick´e kryptografie. Jak jsem jiˇz zm´ınili, podstatn´e je zajistit ˇcerstvost zpr´ av v protokolech. K tomuto u ´ˇcelu je moˇzn´e pouˇz´ıt jeden ze tˇr´ı druh˚ u ˇcasovˇe z´ avisl´ ych promˇenn´ ych:
TN
• n´ ahodn´e ˇc´ıslo – ˇc´ıslo je nepˇredv´ıdateln´e (at’ jiˇz je generov´ ano n´ ahodnˇe, nebo pseudon´ ahodnˇe). Takov´e ˇc´ıslo zajiˇst’uje unik´ atnost a ˇcerstvost. Bohuˇzel, obvykle nen´ı jednoduch´e n´ ahodn´ a ˇc´ısla generovat, obvykl´ y postup je na z´ akladˇe urˇcit´eho zrnka - ˇc´ısla znaˇc´ıme r. • sekvenˇcn´ı ˇc´ıslo – monot´ onn´ı sekvence ˇc´ısel. Obˇe strany mus´ı uchov´ avat naposledy pouˇzit´e ˇc´ıslo. Opˇet jednoznaˇcnˇe identifikuj´ı zpr´ avy a umoˇzn ˇuj´ı detekci pˇre hr´ avac´ıch u ´tok˚ u. Znaˇc´ıme je n.
5.2.3
DR AF
• ˇcasov´ a zn´ amka – obˇe strany mus´ı udrˇzovat ˇcasovou synchronizaci. V tomto pˇr´ıpadˇe ˇ dos´ ahneme unik´ atnosti a pˇresn´eho urˇcen´ı ˇcasu vytvoˇren´ı zpr´ avy. Casov´ e zn´ amky znaˇc´ıme t.
Pˇ r´ıklady algoritm˚ u
Ukaˇzme si nyn´ı nˇekolik pˇr´ıklad˚ u jednoduch´ ych autentizaˇcn´ıch protokol˚ u. Nejdˇr´ıve nˇekolik protokol˚ u zaloˇzen´ ych na symetrick´e kryptografii. V tˇechto protokolech pˇredpokl´ ad´ ame, ˇze Alice a Bob maj´ı sd´ılen´ y symetrick´ y kl´ıˇc K. N´ asleduj´ıc´ı protokoly jsou definov´ any v protokolu ISO/IEC 9798-2. Jednosmˇ ern´ a autentizace s ˇ casovou zn´ amkou Nejjednoduˇsˇs´ı protokol - pouze jedna zpr´ ava zaˇsifrovan´ a sd´ılen´ ym kl´ıˇcem, obsahuj´ıc´ı ˇcasovou zn´ amku. A→B:
EK (tA , ”B”)
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
ˇn´ı protokoly 5.2. Autentizac
rea d
47
Jednosmˇ ern´ a autentizace s n´ ahodn´ ym ˇ c´ıslem Jestliˇze se Alice autentizuje k Bobovi, tak Bob je ten, kdo mus´ı generovat n´ ahodn´e ˇc´ıslo, aby se ujistil, ˇze je opravdu n´ ahodnˇe vygenerov´ ano. A ← B : rB A → B : EK (rB , ”B”)
roo f
Obousmˇ ern´ a (vz´ ajemn´ a) autentizace s n´ ahodn´ ymi ˇ c´ısly jiˇz vyˇzaduje v´ ymˇenu celkem tˇr´ı zpr´ av, kdy obˇe strany vygeneruj´ı vlastn´ı n´ ahodn´e ˇc´ıslo. A ← B : rB A → B : EK (rA , rB , ”B”) A ← B : EK (rB , rA )
ot P
Obousmˇ ern´ a autentizace nad jednosmˇ ernou funkc´ı O nˇeco sloˇzitˇejˇs´ı je n´ asleduj´ıc´ı protokol definovan´ y v ISO/IEC 9798-4. V tomto pˇr´ıpadˇe nen´ı pouˇz´ıv´ ana ˇsifrovac´ı funkce, ale pouze jednosmˇern´ a. Obousmˇern´ a autentizace pak bude vypadat takto. A ← B : rB A → B : rA , hK (rA , rB , ”B”) A ← B : hK (rB , rA ”A”) Funkce hK je MAC.
TN
Pojd’me se nyn´ı pod´ıvat na nˇekolik algoritm˚ u postaven´ ych nad asymetrickou kryptografi´ı. Jestliˇze Bob zn´ a veˇrejn´ y kl´ıˇc Alice, tak m˚ uˇze prov´est n´ asleduj´ıc´ı jednosmˇern´ y autentizaˇcn´ı protokol. A ← B : h(rB ), ”B”, EKA (rB , ”B”) A → B : rB ˇ ast prvn´ı zpr´ K jeho proveden´ı je potˇreba veˇrejn´eho kl´ıˇce Alice KA . C´ avy, h(rB ),
DR AF
m´ a za u ´kol pˇresvˇedˇcit Alici, ˇze Bob zn´ a ˇc´ıslo rB a nepokouˇs´ı se jen podvrhnout zaˇsifrovanou zpr´ avu. Nyn´ı jeˇstˇe uvedeme tˇri protokoly nad asymetrickou kryptografi´ı, kdy je tˇreba vymˇenit i pˇr´ısluˇsn´ y certifik´ at. Protokoly jsou definov´ any v ISO/IEC 9798-3. Jednosmˇ ern´ a autentizace s ˇ casovou zn´ amkou mu, ˇze ˇcerstvost zpr´ avy m˚ uˇze Bob ovˇeˇrit lok´ alnˇe. A→B:
je velmi jednoduch´ y, d´ıky to-
certA , tA , ”B”, EK −1 (tA , ”B”) A
Jednosmˇ ern´ a autentizace s n´ ahodn´ ym ˇ c´ıslem v´ yzvu a odpovˇed’. A ← B : rB A → B : certA , rA , ”B”, EK −1 (rA , rB , ”B”)
opˇet vyˇzaduje dvˇe zpr´ avy –
A
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
rea d
ˇova ´n´ı identity Kapitola 5. Ovˇ er
48
Obousmˇ ern´ a autentizace s n´ ahodn´ ym ˇ c´ıslem vyˇzaduje dvˇe v´ yzvy a dvˇe odpovˇedi, coˇz je moˇzn´e opˇet prov´est ve tˇrech zpr´ av´ ach. A ← B : rB A → B : certA , rA , ”B”, EK −1 (rA , rB , ”B”) A A ← B : certB , ”A”, EK −1 (rB , rA , ”A”) A
Kerberos
roo f
5.2.4
Kerberos je nejzn´ amˇejˇs´ı syst´em pro spr´ avu kl´ıˇc˚ u a autentizaci zaloˇzen´ y na symetrick´e kryptografii. Syst´em byl navrˇzen a implementov´ an poprv´e na MIT jako ˇc´ ast projektu Athena. Pˇredpokladem syst´emu je bezpeˇcn´ a symetrick´ a ˇsifrovac´ı funkce E. Nejjednoduˇsˇs´ı sch´ema obsahuje uˇzivatele, sluˇzbu a d˚ uvˇeryhodn´ y autentizaˇcn´ı server.
ot P
C´ılem protokolu je autentizace Alice ke zdroji R, kter´ y m˚ uˇze reprezentovat souborov´ y server, tisk´ arnu, nebo jinou sluˇzbu poskytovanou syst´emem. Kl´ıˇce generuje, nebo vyb´ır´ a autentizaˇcn´ı server T . Volitelnˇe je moˇzn´e syst´em pouˇz´ıt k distribuci sd´ılen´eho tajemstv´ı mezi uˇzivateli syst´emu. Kaˇzd´ y subjekt v Kerberosu ovˇsem mus´ı nutnˇe sd´ılet symetrick´ y kl´ıˇc s autentizaˇcn´ım serverem T – KAT , KRT . Zjednoduˇsen´ y pˇr´ıklad protokolu. Pˇredpokl´ adejme, ˇze L znaˇc´ı ˇcasovou platnost l´ıstku. Samotn´ y l´ıstek vydan´ y Alici pro pˇr´ıstup ke sluˇzbˇe R m´ a formu ticketB = EKBT (k, ”A”, L) a autentizaˇcn´ı token je auth = EK (”A”, TA ).
5.2.5
”A”, ”B”, nA ticketB , EKAT (k, nA , L, BB”) ticketB , auth EK (TA ) plus popis!!!!
Diffie-Hellman
TN
A→T : A←T : A→R: A←R: !!! obrazek
5.3
DR AF
!!! i s n´ asleduj´ıc´ım pˇrehodit do samostatn´e kapitoly - Spr´ ava kl´ıˇc˚ u!!!
Spr´ ava kl´ıˇ c˚ u
Goal key transmission key agreement key actualisation (parties share a long-term key K) authentication of one or both parties Number of parties two-party protocols protocols with trusted third party
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
rea d
49
roo f
Kapitola 6
Autentizace uˇ zivatel˚ u
ot P
Syst´emy pro autentizaci uˇzivatel˚ u maj´ı samozˇrejmˇe za u ´kol ovˇeˇrit identitu uˇzivatel˚ u ve vztahu k poˇc´ıtaˇci, nebo informaˇcn´ımu syst´emu. Vzhledem k omezen´ ym schopnostem lidsk´e pamˇeti a v´ ypoˇct˚ u z hlavy mus´ı b´ yt pouˇziteln´ y autentizaˇcn´ı mechanismus takov´ y, aby autentizace byla: • tak jednoduch´ a jak je to jen moˇzn´e pro opr´ avnˇen´e uˇzivatele – limity jsou hlavnˇe lidsk´ a pamˇet’, takˇze napˇr. pˇri pouˇzit´ı hesel je tˇreba vyˇzadovat hesla relativnˇe kr´ atk´ a;
TN
• tak obt´ıˇzn´ a jak jen je moˇzn´e pro neopr´ avnˇen´e uˇzivatele – opˇet u hesel je tˇreba zabr´ anit slovn´ıkov´emu u ´toku, h´ ad´ an´ı, takˇze hesla by mˇela b´ yt pokud moˇzno dlouh´ a a komplikovan´ a. Podobn´e krit´erium m˚ uˇzeme definovat u biometrick´e autentizace – snadn´e pouˇz´ıv´ an´ı, ale obt´ıˇzn´e vytvoˇren´ı faleˇsn´ ych biometrik (otisk˚ u prst˚ u, speci´ aln´ıch oˇcn´ıch ˇcoˇcek, apod.)
6.1
DR AF
Jak´ ykoliv autentizaˇcn´ı mechanismus mus´ı vyˇreˇsit tˇri okruhy probl´em˚ u. Je tˇreba bezpeˇcnˇe uloˇzit vzory, se kter´ ymi se porovn´ avaj´ı informace zadan´e uˇzivateli bˇehem autentizace, je tˇreba navrhnout korektn´ı verifikaˇcn´ı proces – tj. proces, kter´ ym se prov´ ad´ı toto porovn´ an´ı a je tˇreba zajistit dostateˇcnou kvalitu autentizaˇcn´ıch informac´ı (hesla, PINy, . . . ).
Pouˇ z´ıv´ an´ı hesel
Pˇri pouˇz´ıv´ an´ı hesel je moˇzn´e implementovat jejich uloˇzen´ı bud’ v ˇcist´e formˇe, nebo naopak v neˇciteln´e podobˇe. V prvn´ı pˇr´ıpadˇe spol´eh´ ame na ochranu dat, kterou poskytuje operaˇcn´ı syst´em (kontrola pˇr´ıstupu pro z´ apis a ˇcten´ı). Souˇcasnˇe m´ ame absolutn´ı d˚ uvˇeru v administr´ atora operaˇcn´ıho syst´emu, protoˇze ten m´ a obvykle moˇznost z´ıskat
Kapitola 6. Autentizace uˇ zivatel˚ u
rea d
50
pˇr´ıstup k libovoln´ ym dat˚ um v syst´emu. Vzhledem ke spol´eh´ an´ı se na ochranu poskytovanou OS nen´ı vhodn´e soubory s autentizaˇcn´ımi informacemi kop´ırovat.
Pˇri neˇciteln´em ukl´ ad´ an´ı hesel m˚ uˇzeme pouˇz´ıt bud’ haˇsovac´ı funkc´ı, nebo ˇsifrov´ an´ı. D´ ale se budeme vˇenovat jen pˇr´ıpadu, kdy jsou hesla ˇsifrov´ ana. V tomto pˇr´ıpadˇe se do jist´e m´ıry zpomaluje verifikace pˇri autentizaci uˇzivatel˚ u, coˇz se m˚ uˇze st´ at probl´emem pˇri velk´e z´ atˇeˇzi syst´emu.
userid;
salt;
roo f
Nedoporuˇcuje se ˇsifrovat “pouze” hesla, protoˇze pˇri shodˇe hesel se shoduj´ı i zaˇsifrovan´e hodnoty. Pro eliminaci tohoto efektu se pouˇz´ıv´ a tzv. s˚ ul (salt), coˇz je relativnˇe kr´ atk´ a informace, jej´ıˇz jedinou u ´lohou je odliˇsit ˇsifrovan´e hodnoty stejn´ ych hesel. Tato s˚ ul je uchov´ av´ ana spoleˇcnˇe se ˇsifrovanou hodnotou hesla. Kaˇzd´ y ˇr´ adek tabulky hesel pak obsahuje: f (salt, password)
ot P
ˇ Sifrov´ an´ı se prov´ ad´ı s konstantn´ım IV (pokud je potˇreba ho pouˇz´ıvat), kdy se ˇsifruje ˇretˇezec vytvoˇren´ y konkatenac´ı hesla a salt.
TN
Bohuˇzel i s t´ımto zes´ılen´ım maj´ı syst´emy zaloˇzen´e na heslech probl´emy a vytv´ aˇrej´ı velk´ y bezpeˇcnostn´ı probl´em – hlavn´ım d˚ uvodem jsou uˇzivatel´e. Jiˇz v roce 1984 vznikla studie, kter´ a sledovala bezpeˇcnost hesel – Gramp & Morris. Jejich c´ılem byly syst´emy vyˇzaduj´ıc´ı alespoˇ n ˇsestip´ısmenn´ a hesla, kde alespoˇ n jeden znak musel b´ yt nealfabetick´ y. Na soubory se ˇsifrovan´ ymi hesly zkouˇsely jednoduch´ y slovn´ıkov´ y u ´tok, kde slovn´ık sest´ aval ze 20 nejˇcastˇejˇs´ıch ˇzensk´ ych jmen n´ asledovan´ ych ˇc´ıslem – celkem tedy 200 slov ve slovn´ıku. Ve vˇsech syst´emech nalezli alespoˇ n jedno heslo tohoto tvaru! Pˇred t´ım i potom byly provedeny (a jsou prov´ adˇeny) pokusy s h´ ad´ an´ım hesel. V roce 1979 Bellova spoleˇcnost provedla experiment s lousk´ an´ım hesel s u ´spˇeˇsnosti 6/7. V roce 1990 analyzoval DV Klein celkem 13797 soubor˚ u s hesly (/etc/passwd). ´ echem zde je povaˇzov´ Tentokr´ at byl u ´spˇeˇsnost 1/4. Uspˇ ano nalezen´ı alespoˇ n jednoho hesla do syst´emu.
Zv´ yˇ sen´ı sloˇ zitosti hesel
DR AF
6.1.1
Postupem bylo navrˇzeno nˇekolik metod, jejichˇz c´ılem bylo zv´ yˇsit sloˇzitost hesla pro u ´toˇcn´ıka. Tady se zm´ın´ıme o dvou z nich: pravideln´ a zmˇena hesla a vstupn´ı fr´ aze. Velmi ˇcasto se pouˇz´ıv´ a ve velk´ ych informaˇcn´ıch syst´emech pˇr´ıstup vynucuj´ıc´ı pravidelnou zmˇenu hesla samotn´ ymi uˇzivateli. Obvykl´ a politika ˇr´ık´ a: heslo je tˇreba zmˇenit jednou za 3 mˇes´ıce. Pamatujte, ˇze syst´em si pamatuje historii vaˇsich pˇredchoz´ıch hesel, takˇze je tˇreba si vˇzdy zvolit zcela nov´e heslo. Bohuˇzel, syst´em nen´ı dokonal´ y a obvykle si pamatuje jen nˇekolik posledn´ıch hesel pro kaˇzd´eho uˇzivatele. V´ ysledkem m˚ uˇze b´ yt napˇr. n´ asleduj´ıc´ı situace MyPassword09 je heslo platn´e od z´ aˇr´ı, MyPassword12 je heslo platn´e od prosince, atd. Ve chv´ıli, Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´n´ı hesel 6.1. Pouˇ z´ıva
rea d
51
kdy uˇzivatel´e zjist´ı poˇcet hesel, kter´e si syst´em pamatuje, tak se vr´ at´ı k prvn´ımu a zaˇcnou hesla opakovat: passwd123 → qwre21 → jr7 ∗ &d → passwrd123 → . . .
roo f
Druhou moˇznost´ı je pouˇz´ıv´ an´ı autentizaˇcn´ıch fr´ az´ı pro tvorbu hesla. Tento pˇr´ıstup se snaˇz´ı zjednoduˇsit zapamatov´ an´ı hesel uˇzivatel˚ um a z´ aroveˇ n zt´ıˇzit h´ ad´ an´ı hesel neopr´ avnˇen´ ym uˇzivatel˚ um. Hlavn´ım pˇredpokladem u ´spˇechu metody je, ˇze si uˇzivatel´e lehce pamatuj´ı cit´ aty, u ´ryvky, u ´vodn´ı vˇety z nˇejak´ ych umˇeleck´ ych dˇel, nebo tˇreba sc´eny z televizn´ıch seri´ al˚ u ˇci film˚ u. Jako pˇr´ıklad si m˚ uˇzeme uv´est napˇr. n´ asleduj´ıc´ı vˇetu: aˇz budu star´ ym muˇzem budu star´e knihy ˇc´ıst a mlad´e v´ıno lisovat.
6.1.2
ot P
Tuto fr´ azi m˚ uˇzeme pˇrev´est na n´ asleduj´ıc´ı heslo: absmbskˇcmvl, nebo napˇr. ab80bskˇcmvl, ˇci podobnou variantu, podle toho, v kolika se budete c´ıtit staˇr´ı.
Osobn´ı identifikaˇ cn´ı ˇ c´ısla – PIN
TN
PINy poskytuj´ı jinou moˇznost pos´ılen´ı bezpeˇcnosti. V tomto pˇr´ıpadˇe omezujeme poˇcet pokus˚ u, kter´e m´ ame k dispozici pro uh´ adnut´ı hodnoty PINu. Pokud se v tˇechto pokusech netref´ıme, tak syst´em PIN zablokuje a je nutn´e pouˇz´ıt nˇejak´ y sloˇzitˇejˇs´ı mechanismus na odblokov´ an´ı PIN a uvolnˇen´ı dalˇs´ıch pokus˚ u. T´ımto mechanismem m˚ uˇze b´ yt mnohem delˇs´ı PIN, nebo napˇr. osobn´ı kontakt se z´ akaznick´ ym centrem vyˇzaduj´ıc´ı pˇredloˇzit napˇr. identifikaˇcn´ı doklady pˇred t´ım, neˇz je PIN uvolnˇen. D´ıky tomuto omezen´ı je moˇzn´e znaˇcnˇe zjednoduˇsit formu a d´elku PINu v porovn´ an´ı s heslem. Obvykl´ y PIN je sloˇzen pouze z ˇc´ıslic a jeho d´elka b´ yv´ a 4-8 znak˚ u. V mnoha pˇr´ıpadech si uˇzivatel´e mohou PIN sami mˇenit podle potˇreby. U n´ as je to obvykl´e napˇr. u mobiln´ıch telefon˚ u, v jin´ ych zem´ıch je moˇzn´e mˇenit PIN i pro kreditn´ı a debetn´ı karty.
6.1.3
DR AF
Bohuˇzel, tento mechanismus, mechanismus omezen´ı poˇctu pokus˚ u, nen´ı moˇzn´e obecnˇe pouˇz´ıt pro hesla, protoˇze by re´ alnˇe hrozil u ´tok odm´ıtnut´ı sluˇzby. Jestliˇze by v´ am chtˇel nˇekdo znemoˇznit pˇr´ıstup do syst´emu, prostˇe by nˇekolikr´ at zadal chybn´e heslo. Nutn´ ym pˇredpokladem pro fungov´ an´ı mechanismu u PIN˚ u je nutnost fyzick´eho vlastnictv´ı autentizaˇcn´ıho pˇredmˇetu, bez kter´eho nen´ı k ˇcemu se autentizovat. T´ımto pˇredmˇetem m˚ uˇze to b´ yt mobiln´ı telefon, SIM karta, nebo kreditn´ı karta.
Nˇ ekolik z´ avˇ er˚ u k hesl˚ um a PIN˚ um
Pro ˇclovˇeka je obecnˇe velice obt´ıˇzn´e si pamatovat n´ ahodnˇe generovan´ a hesla. Takov´ a hesla maj´ı nejvyˇsˇs´ı entropii, ale protoˇze si je lid´e nepamatuj´ı, tak si je budou zapisovat a pˇrilepovat pobl´ıˇz m´ıst, kde je potˇrebuj´ı, nebo d´ avat do penˇeˇzenky. Pokud jde o Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
Kapitola 6. Autentizace uˇ zivatel˚ u
rea d
52
obt´ıˇznost h´ ad´ an´ı hesel (slovn´ıkov´ ych u ´tok˚ u), tak o nˇeco m´enˇe obt´ıˇzn´e je to u hesel, kter´ a jsou generovan´ a z fr´ az´ı. Tato hesla je ale moˇzn´e si mnohem snadnˇeji zapamatovat a eliminujeme tak v jejich pˇr´ıpadˇe nebezpeˇc´ı u ´tok˚ u zaloˇzen´ ych na vnitˇrn´ım nepˇr´ıteli – nˇekom, kdo m´ a fyzick´ y pˇr´ıstup do m´ıst, kde norm´ aln´ı uˇzivatel´e hesla pouˇz´ıvaj´ı.
6.2
roo f
Dalˇs´ı d˚ uleˇzit´ y poznatek je, ˇze jak´ekoliv ˇskolen´ı uˇzivatel˚ u nem´ a t´emˇeˇr ˇz´ adn´ y vliv na jejich chov´ an´ı a t´ım na bezpeˇcnost hesel!
Autentizaˇ cn´ı tokeny
ot P
Dalˇs´ı moˇznost´ı pro autentizaci je pouˇz´ıv´ an´ı autentizaˇcn´ı token˚ u. Jsou to, jednoduˇse ˇreˇceno, jednoduch´ a zaˇr´ızen´ı, kter´e mohou uˇzivatel´e nosit neust´ ale s sebou a jejich vlastnictv´ı je nutn´e pro to, aby se mohli autentizovat do informaˇcn´ıho syst´emu. Tokeny maj´ı bud’ specifick´e fyzick´e vlastnosti (tvar, odpor, kapacitu, . . . ), nebo obsahuj´ı specifick´e tajn´e informace (napˇr. kvalitn´ı heslo, nebo kryptografick´ y kl´ıˇc), nebo jsou dokonce schopny prov´ adˇet specifick´e, obvykle kryptografick´e v´ ypoˇcty.
TN
Pˇri v´ yrobˇe autentizaˇcn´ıch token˚ u mus´ı jejich v´ yrobce ˇreˇsit z´ akladn´ı ekonomick´e dilema – pomˇer ceny v´ yroby ku cenˇe padˇel´ an´ı. Ide´ aln´ı je, kdyˇz je moˇzn´e tokeny vyr´ abˇet automatizovanˇe, ve velk´ ych s´eri´ıch, protoˇze tak doc´ıl´ı n´ızk´ ych v´ yrobn´ıch a n´ aslednˇe i prodejn´ıch cen. Naopak, jestliˇze je zaˇr´ızen´ı pˇr´ıliˇs jednoduch´e, tak jeho padˇel´ an´ı m˚ uˇze vyˇzadovat tak´e pˇr´ıliˇs n´ızk´e n´ aklady, coˇz m´ a za n´ asledek ned˚ uvˇeryhodnost zaˇr´ızen´ı.
DR AF
Typick´ y pˇr´ıstup v re´ aln´e svˇetˇe je udrˇzet n´ aklady na v´ yrobu co nejniˇzˇs´ı, takˇze pokud se veˇrejnˇe objev´ı nov´e u ´toky sniˇzuj´ıc´ı cenu padˇel´ an´ı, tak v´ yrobce vylepˇs´ı odolnost tokenu, ale pr´ avˇe jen o tolik, aby zv´ yˇsil cenu u ´toku na p˚ uvodn´ı hodnotu a to za co nejmenˇs´ı zv´ yˇsen´ı v´ yrobn´ıch n´ aklad˚ u. Typick´ ym pˇr´ıkladem jsou ˇcipov´e karty a jejich ochrana proti r˚ uzn´ ym u ´tok˚ um za pomoci skryt´ ych kan´ al˚ u. Dalˇs´ım velmi d˚ uleˇzit´ ym aspektem je, jestli u ´spˇeˇsn´ y u ´tok na jeden fyzick´ y token umoˇzn´ı vytvoˇrit velk´e mnoˇzstv´ı padˇelk˚ u (napˇr. dekod´ery satelitn´ıch televizn´ıch kan´ al˚ u), nebo jen jeden takov´ y. V prvn´ım pˇr´ıpadˇe ani velmi vysok´ a cena u ´toku nemus´ı u ´toˇcn´ıky zastavit, protoˇze zisk z v´ yroby velk´eho mnoˇzstv´ı padˇelan´ ych token˚ u snadno pokryje poˇc´ ateˇcn´ı n´ aklady. V tomto pˇr´ıpadˇe je d˚ uleˇzit´ y ˇcas potˇrebn´ y k proveden´ı u ´toku na token a ˇcas, po kter´ y je moˇzn´e padˇelky pouˇz´ıvat (napˇr. u dekod´er˚ u satelitn´ı TV jsou dekod´ery pravidelnˇe vymˇen ˇov´ any). Posledn´ım d˚ uleˇzit´ ym momentem je moˇznost potrest´ an´ı u ´toˇcn´ık˚ u/padˇelatel˚ u. Jde ale v podstatˇe jen o dalˇs´ı moˇzn´e navyˇsen´ı n´ aklad˚ u pro u ´tok. N´ aklad˚ u, kter´e se mohou realizovat, ale nemusej´ı, ale se kter´ ymi u ´toˇcn´ık mus´ı poˇc´ıtat. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
ˇn´ı tokeny 6.2. Autentizac
rea d
6.2.1
53
Karty
Karty jsou asi nejˇcastˇejˇs´ı autentizaˇcn´ım tokenem souˇcasnosti. T´emˇeˇr kaˇzd´ y, kdo m´ a bankovn´ı u ´ˇcet, tak k nˇemu vlastn´ı alespoˇ n jednu kartu. Kaˇzd´ y kdo m´ a mobiln´ı telefon, tak vlastn´ı kartu ve formˇe SIM karty. ´ Karty m˚ uˇzeme dˇelit na nˇekolik typ˚ u podle jejich obsahu a schopnost´ı. Uplnˇ e ne-
roo f
jjednoduˇsˇs´ı jsou karty s magnetick´ ym prouˇzkem. Magnetick´ y prouˇzek obsahuje (obvykle) nemˇennou informaci, kterou lze, pokud chceme pˇrepsat. Informace je zaps´ ana ve 2-3 ˇr´ adc´ıch o XXX bitech, kter´e obsahuj´ı....
ot P
Sloˇzitˇejˇs´ımi a draˇzˇs´ımi kartami jsou ˇcipov´e karty. Ty mohou b´ yt v nˇekolika form´ ach, od pouh´e pamˇeti, aˇz po 32bitov´ y procesor bˇeˇz´ıc´ı na 30 MHz. Karty mohou m´ıt viditeln´e kontakty, nebo mohou b´ yt bezkontaktn´ı. V tomto pˇr´ıpadˇe je komunikace a nap´ ajen´ı prov´ adˇen´ı pomoc´ı siln´eho elektromagnetick´eho pole. Bezkontaktn´ı karty jsou mnohem sloˇzitˇejˇs´ı z hlediska technologie, ale jsou mnohem pˇr´ıjemnˇejˇs´ı pro uˇzivatele – nemus´ı je vytahovat z penˇeˇzenky. V pˇr´ıpadˇe bezkontaktn´ıch karet je tˇreba pˇredevˇs´ım vyˇreˇsit stabiln´ı nap´ ajen´ı umoˇzn ˇuj´ıc´ı ˇcinnost procesoru. Urˇcitou nev´ yhodou ovˇsem m˚ uˇze b´ yt jejich uˇzivatelsk´ a pˇr´ıvˇetivost – u ´toˇcn´ık m˚ uˇze komunikovat s kartou bez vˇedom´ı jeho vlastn´ıka. ˇ Cipov´ e karty je tak´e moˇzn´e pouˇz´ıvat ve dvou m´ odech – podle vlastn´ıka ˇcteˇcky/ve-
TN
rifik´ atoru. Jestliˇze verifik´ ator patˇr´ı uˇzivateli, coˇz je pˇr´ıpad mobiln´ıch telefon˚ u, tak ˇcipov´ a karta slouˇz´ı jako d˚ uvˇeryhodn´ y hardware, kter´ y chr´ an´ı z´ ajmy toho, kdo ho vydal, coˇz je v tomto pˇr´ıpadˇe mobiln´ı oper´ ator. Pokud je verifik´ ator naopak souˇc´ ast´ı zaˇr´ızen´ı, kter´e nen´ı pod kontrolou uˇzivatele, tak slouˇz´ı jako bezpeˇcn´ y hardware pro ochranu z´ ajm˚ u uˇzivatele. Bohuˇzel se v tomto mus´ı uˇzivatel spolehnout na tvrzen´ı vydavatele karty, ˇze funguje tak, jak m´ a. Prvn´ımi ˇcipov´ ymi kartami byly pamˇet’ov´e karty, kter´e obsahovaly pouze statick´e pamˇeti – pouˇz´ıvali se napˇr. jako telefonn´ı karty a d´ıky jejich jednoduchosti bylo moˇzn´e koupit nekoneˇcn´e karty, kter´e byly samozˇrejmˇe mnohem sloˇzitˇejˇs´ı.
6.2.2
DR AF
Souˇcasn´e ˇcipov´e karty jsou v podstatˇe miniaturn´ı poˇc´ıtaˇc bez periferi´ı. Obsahuj´ı tˇri typy pamˇet´ı, kter´e funguj´ı jako BIOS, pevn´ y disk a pamˇet’ poˇc´ıtaˇce – jsou to v poˇrad´ı ROM (read only memory) o velikosti des´ıtek aˇz stovek kilobajt˚ u, kter´ a obsahuje operaˇcn´ı syst´em karty, EEPROM o velikosti des´ıtek kilobajt˚ u a RAM o velikosti maxim´ alnˇe nˇekolika m´ alo kilobajt˚ u. Souˇcasnˇe obsahuj´ı univerz´ aln´ı procesor (pˇr´ıp. koprocesory), kter´ y m˚ uˇze b´ yt 8bitov´ y aˇz 32bitov´ y u SIM karet.
Autentizaˇ cn´ı kalkul´ atory
Autentizaˇcn´ı kalkul´ atory jsou specializovan´ a zaˇr´ızen´ı, kter´ a vyˇzaduj´ı speci´ aln´ı infrastrukturu, kterou nab´ız´ı v´ yrobce pˇr´ısluˇsn´eho kalkul´ atoru. Tato z´ avislost umoˇzn ˇuje Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
Kapitola 6. Autentizace uˇ zivatel˚ u
rea d
54
mnohem flexibilnˇejˇs´ı obchodn´ı model, ale tak´e omezuje obecn´e nasazen´ı a vytv´ aˇr´ı z´ avislost na konkr´etn´ım v´ yrobci, coˇz m˚ uˇze b´ yt t´ımto v´ yrobcem v dlouhodob´em horizontu vyuˇz´ıv´ ano.
roo f
Samotn´e kalkul´ atory mohou b´ yt zaloˇzeny na tajemstv´ı, kter´e je uloˇzeno v kalkul´ atoru a v autentizaˇcn´ım serveru, nebo na synchronizovan´ ych hodin´ ach. Dalˇs´ı d˚ uleˇzitou vlastnost´ı kalkul´ ator˚ u je zp˚ usob komunikace s uˇzivatelem. Rozhran´ı m˚ uˇze b´ yt jak klasick´e – kl´ avesnice a display, tak speci´ aln´ı – optick´e, komunikuj´ıc´ı s poˇc´ıtaˇcem pˇres obrazovku kombinovan´e s displayem, nebo napˇr. pomoc´ı infraˇcerven´eho portu
Kalkul´ atory obvykle implementuj´ı nˇejak´ y protokol v´ yzva-odpovˇed’, ale pokud je kalkul´ ator zaloˇzen na ˇcasov´e synchronizaci, tak je protokol jednostrann´ y. V prvn´ım ’ pˇr´ıpadˇe je odpovˇed kalkul´ atoru odvozena z v´ yzvy a tajn´e informace uloˇzen´e v kalkul´ atoru. Pro pˇr´ıstup ke kalkul´ atoru m˚ uˇze b´ yt implementov´ ana kontrola pomoc´ı PINu.
TN
ot P
U ˇcasovˇe synchronizovan´ ych token˚ u vytv´ aˇr´ı token autentizaˇcn´ı informaci s´ am. Tato informace je platn´ a jen pro kr´ atk´ y ˇcasov´ y okamˇzik, bˇehem kter´eho je tˇreba ji pouˇz´ıt. Hodnota je ovˇsem z´ avisl´ a nejen na ˇcase, ale tak´e na konkr´etn´ım kalkul´ atoru. Autentizaˇcn´ı server je schopen vypoˇc´ıtat samostatnˇe stejnou hodnotu a po jejich porovn´ an´ı pˇr´ıpadnˇe uˇzivatele autentizuje. Aby toto mohl efektivnˇe udˇelat, mus´ı se uˇzivatel identifikovat – napˇr. uˇzivatelsk´ ym jm´enem. Tyto tokeny mus´ı ˇreˇsit probl´em pˇr´ıpadn´ ych nepˇresnost´ı hodin v kalkul´ atoru a serveru. Tento probl´em se obvykle ˇreˇs´ı zvˇetˇsov´ an´ı poˇctu platn´ ych autentizaˇcn´ıch v´ yzev s rostouc´ım ˇcasem od posledn´ı proveden´e autentizace. Jak´e jsou tedy v´ yhody a nev´ yhody autentizaˇcn´ıch token˚ u? - uˇzivatel´e mohou vyˇzadovat potˇrebovat tr´enink, nebo speci´ aln´ı ˇctec´ı zaˇr´ızen´ı - bez tokenu se uˇzivatel nem˚ uˇze autentizovat
DR AF
- sloˇzitost (a t´ım i cena) tokenu mus´ı b´ yt dostateˇcn´ a, aby odolala u ´tok˚ um - m˚ uˇze pˇrestat fungovat, nebo se pokazit – toto je relativnˇe obt´ıˇzn´e zjistit + m˚ uˇze obsahovat relativnˇe velk´e mnoˇzstv´ı dalˇs´ıch informac´ı + je obt´ıˇzn´e jej zkop´ırovat
+ je snadn´e (obvykle) zjistit ztr´ atu
+ je moˇzn´e s jejich pomoc´ı implementovat bezpeˇcn´e autentizaˇcn´ı protokoly Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
6.3
55
rea d
ˇ´ı faktorova ´ autentizace 6.3. Tr
Tˇ r´ı faktorov´ a autentizace
Toto je sice kr´ atk´ a ˇc´ ast, ale velmi d˚ uleˇzit´ a. Pop´ıˇseme si zde jak funguje tˇr´ıfaktorov´ a autentizace, coˇz je maximum, ˇceho m˚ uˇzeme v oblasti autentizace dos´ ahnout. Autentizaˇcn´ı metody jsou zaloˇzeny na tom co vlastn´ıme (kl´ıˇc, karta, kalkul´ ator), na tom co zn´ ame (PIN, heslo), nebo na tom, co jsme (biometrick´e informace).
roo f
Tˇr´ıfaktorov´ a autentizace pouˇz´ıv´ a jednu metodu z kaˇzd´e ze tˇr´ı uveden´ ych skupin. Sch´ema syst´emu by mˇelo b´ yt takov´e, ˇze biometrick´ a informace je zpracov´ ana, nebo sejmuta tokenem a PIN/heslo je zadan´ a do zaˇr´ızen´ı pod kontrolou autentizaˇcn´ıho serveru a mimo jin´e slouˇz´ı k zah´ ajen´ı autentizace v autentizaˇcn´ım serveru. K t´eto autentizace je zapotˇreb´ı spolupr´ ace tokenu, kter´ a je podm´ınˇena u ´spˇeˇsn´ ym ovˇeˇren´ım biometrick´e informace.
6.4
ot P
!!! obrazek!!!
Biometrick´ a autentizace
Biometrie – automatizovan´e metody identifikace, nebo autentizace zaloˇzen´e na mˇeˇriteln´ ych fyziologick´ ych, nebo behavior´ aln´ıch charakteristik´ ach lidsk´eho tˇela.
TN
Biometrick´ a autentizace je znaˇcnˇe specifick´ a. Hlavn´ı rozd´ıl od ostatn´ıch autentizaˇcn´ıch metod je v tom, ˇze z´ıskan´e informace nejsou nikdy stejn´e. Jestliˇze tedy napˇr. u hesla m˚ uˇzeme kontrolovat spr´ avnost pˇresnou shodou s informac´ı, kter´ a je uloˇzen´ a v datab´ azi, tak u biometrick´ ych metod mus´ıme zajistit korektn´ı ovˇeˇren´ı pˇri ne zcela shodn´ ych vzorc´ıch.
DR AF
Prvn´ım procesem, kter´ y je tˇreba prov´est po zaveden´ı biometrick´e autentizace je registrace. Kaˇzd´ y uˇzivatel se mus´ı zaregistrovat do syst´emu a vytvoˇrit registraˇcn´ı vzorek dat. Tento vzorek mus´ı b´ yt co nejkvalitnˇejˇs´ı, protoˇze proti nˇemu se ovˇeˇruj´ı vzorky z´ıskan´e pˇri vˇsech n´ asleduj´ıc´ıch pokusech o autentizaci. Registrace tedy prob´ıh´ a na speci´ aln´ım pracoviˇsti za ide´ aln´ıch podm´ınek a nejl´epe s pomoc´ı vyˇskolen´e osoby. Je postupnˇe sejmuto nˇekolik vzork˚ u, kter´e jsou zpracov´ any a v´ ysledkem je registraˇcn´ı vzorek, kter´ y obsahuje informace o variabilitˇe sejmut´ ych vzork˚ u. Druh´ ym procesem je verifikace/identifikace. To uˇz je proces bˇeˇzn´eho pouˇz´ıv´ an´ı syst´emu, kdy je sejmut autentizaˇcn´ı vzorek a porovn´ an s registraˇcn´ım vzorkem. Jestliˇze se jedn´ a o verifikaci, tak syst´em najde pˇr´ısluˇsn´ y registraˇcn´ı podle identifikaˇcn´ı informace – napˇr. login. Pokud se naopak jedn´ a o identifikaci, tak je vzorek porovn´ av´ an proti cel´e datab´ azi registraˇcn´ıch vzork˚ u a je hled´ ana shoda. To m˚ uˇze samozˇrejmˇe v´est k nalezen´ı nˇekolika kandid´ at˚ u. N´ asleduj´ıc´ı seznam obsahuje v bodech popis modelu biometrick´e autentizace: • Registrace:
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
Kapitola 6. Autentizace uˇ zivatel˚ u
rea d
56
– poˇc´ ateˇcn´ı z´ısk´ an´ı biometrick´ ych dat – tento krok je kl´ıˇcov´ y pro kvalitu autentizace a urˇcuje jej´ı chybovost;
– vytvoˇren´ı registraˇcn´ıho vzorku – extrakce d˚ uleˇzit´ ych charakteristik ze z´ıskan´ ych vzork˚ u. Napˇr. u otisku prst˚ u to m˚ uˇze b´ yt extrakce miniatur, nebo extrakce kapil´ ar, podle pouˇzit´e technologie;
roo f
– uloˇzen´ı registraˇcn´ıho vzorku – vzorek m˚ uˇze b´ yt uloˇzen v r˚ uzn´ ych m´ıstech syst´emu. M˚ uˇze to b´ yt na kartˇe, kterou dostane uˇzivatel, m˚ uˇze to b´ yt ve ˇcteˇcce, kter´ a sn´ım´ a autentizaˇcn´ı vzorky, nebo to m˚ uˇze b´ yt na poˇc´ıtaˇci uˇzivatele, nebo i v centr´ aln´ım autentizaˇcn´ım serveru. Kaˇzd´ a moˇznost je vhodn´ a pro jin´e prostˇred´ı a m´ a svoje v´ yhody i nev´ yhody. • Verifikace/identifikace:
ot P
– z´ısk´ an´ı biometrick´ ych dat – v tomto pˇr´ıpadˇe je uˇz proces plnˇe automatick´ ya nen´ı potˇreba pˇr´ıtomnost oper´ atora, i kdyˇz je tato pˇr´ıtomnost v´ıt´ ana, pokud chceme m´ıt co nejvˇetˇs´ı jistotu ohlednˇe ˇzivosti vzorku; – extrakce charakteristiky – tento krok je podobn´ y jako bˇehem registrace, ale extrakce je provedena pouze z pr´ avˇe z´ıskan´eho vzorku; – porovn´ an´ı aktu´ aln´ı charakteristiky s registraˇcn´ı – zde hraje velkou u ´lohu nastaven´ı mez´ı pro korelaci a urˇcen´ı shody;
TN
– koneˇcn´e rozhodnut´ı – v´ ysledek je jednobitov´ y: ano, nebo ne. Metod biometrick´e autentizace je obrovsk´e mnoˇzstv´ı a nov´e metody st´ ale pˇrib´ yvaj´ı. Pˇred t´ım, neˇz si podrobnˇeji pop´ıˇseme nˇekter´e z nich, tak se jeˇstˇe zmiˇ nme o mˇeˇren´ı chybovosti biometrick´ ych metod.
DR AF
Otisky prst˚ u – je jedna z nejstarˇs´ıch metod (starˇs´ı byly snad jen policejn´ı metody zaloˇzen´e na mˇeˇren´ı velikost´ı lidsk´eho tˇela – v´ yˇska, obvod hlavy, vzd´ alenost nosu od brady, . . . ). Sn´ım´ an´ı otisk˚ u je uˇz velmi dlouho pouˇz´ıv´ ano polici´ı po cel´em svˇetˇe k identifikaci osob (v´ıce viz. forenzn´ı vs komerˇcn´ı biometrie). Pˇri sn´ım´ an´ı je moˇzn´e pouˇz´ıt kontrastn´ı materi´ al (napˇr. inkoust), nebo se m˚ uˇzeme obej´ıt bez nˇeho. Velkou oblast´ı rozvoje v posledn´ıch nˇekolika letech jsou ˇcteˇcky otisk˚ u. V souˇcasn´e dobˇe existuje velk´e mnoˇzstv´ı princip˚ u, kter´e je moˇzn´e pouˇz´ıt pro sejmut´ı ˇ otisk˚ u. Cteˇcky mohou b´ yt optick´e (nejstarˇs´ı princip), kapacitn´ı (kˇrem´ıkov´e, kter´e mˇeˇr´ı kapacitu k˚ uˇze v jednotliv´ ych bodech a podle toho urˇcuj´ı veden´ı kapil´ ar), ultrazvukov´e, . . . . Velkou v´ yhodou otisk˚ u prst˚ u je relativnˇe n´ızk´ a chybovost FAR m˚ uˇze dos´ ahnout hodnot pod 0,1 % pˇri souˇcasn´e hodnotˇe FRR okolo 5 %. Rychlost ovˇeˇren´ı se pohybuje od milisekund do mal´ ych sekund. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´ autentizace 6.4. Biometricka
rea d
57
Oˇ cn´ı duhovka – podle m´eho n´ azoru jedna z nejefektivnˇejˇs´ıch a nejelegantnˇejˇs´ıch metod. Z´ akladem je unik´ atnost duhovky kaˇzd´eho ˇclovˇeka, kter´ a je obdobn´ a unik´ atnosti otisku prstu. Z´ısk´ av´ an´ı vzorku se prov´ ad´ı ˇcernob´ılou kamerou ze vzd´ alenosti zhruba 10 cm. Velikost vzorku (Irisicode) je 256 bajt˚ u, ale vzhledem k tomu, ˇze porovn´ an´ı je pouh´e poˇc´ıt´ an´ı Hammingovy vzd´ alenosti, tak je moˇzn´e ovˇeˇrit miliony vzork˚ u bˇehem nˇekolika m´ alo vteˇrin.
roo f
Pˇresnost t´eto metody je velice dobr´ a a je pouˇziteln´ a i pro identifikaci. FAR je t´emˇeˇr nulov´ a, FRR je kolem hodnoty 3 %.
Oˇ cn´ı pozad´ı – je dalˇs´ı velice pˇresn´ a metoda, kter´ a m´ a ale nepˇr´ıjemnou psychologickou vlastnost. Z´ısk´ av´ an´ı vzorku je tˇreba prov´ adˇet pˇriloˇzen´ım oka pˇred ˇcoˇcku, kter´ a je prosv´ıcena slab´ ym infraˇcerven´ ym laserov´ ym paprskem. Tento zp˚ usob m˚ uˇze b´ yt pro nˇekter´e lidi nepˇr´ıjemn´ y a je negativnˇe vn´ım´ an (podobnˇe jako napˇr. sn´ım´ an´ı otisk˚ u prst˚ u, kter´e je v podvˇedom´ı spojeno se zloˇcinci).
Rozpozn´ av´ an´ı tv´ aˇ re – TBD
ot P
Velikost charakterstiky je 96 bajt˚ u a pˇresnost je opˇet velmi vysok´ a zvl´ aˇstˇe ohlednˇe FAR, hodnoty u FRR jsou o nˇeco horˇs´ı.
TN
Geometrie ruky geometrie ruky bohuˇzel nen´ı unik´ atn´ı, i kdyˇz je moˇzn´e je mˇeˇrit tˇr´ırozmˇerovˇe. D´ıky tomu je moˇzn´e tuto metodu pouˇz´ıt pouze pro verifikaci, nebo pro vylepˇsen´ı vlastnost´ı nˇejak´e dalˇs´ı biometrick´e metody. V´ yhodou je velikost vzorku, kter´ a je pod 10 bajty. Rychlost verifikace je pod hranic´ı jedn´e vteˇriny, pˇresnost je ale velmi ˇspatn´ a a FAR, stejnˇe tak jako FRR jsou nad 10 %. Jako zaj´ımavost m˚ uˇzeme uv´est pouˇzit´ı t´eto metody v olympijsk´e vesniˇcce v Atlantˇe 1996. Rozpozn´ av´ an´ı hlasu – TBD
DR AF
Dynamika podpisu je hodnˇe pouˇz´ıv´ ana napˇr. ve ˇsv´ ycarsk´ ych bank´ ach, vlastnˇe v bank´ ach obecnˇe. Pˇri pouˇzit´ı t´eto metody nen´ı d˚ uleˇzit´ y jen samotn´ y podpis, ale tak´e zp˚ usob, jak´ ym je vytvoˇren. Metoda mˇeˇr´ı dynamiku pˇri podepisov´ an´ı. Vstupn´ım zaˇr´ızen´ım je tablet, nebo speci´ aln´ı ˇcteˇcka ve formˇe tuˇzky. Velikost charakteristiky podpisu je zhruba 20 kilobajt˚ u a vypoˇc´ıt´ av´ ana je ze 3 aˇz 10 podpis˚ u. Verifikace je opˇet pod 1 sekundou. Pˇresnost metody je ovˇsem velmi n´ızk´ a a nedostateˇcn´ a pro vˇetˇsinu aplikac´ı. FAR a FRR jsou v mal´ ych des´ıtk´ ach procent a pˇri autentizaci je velmi ˇcasto br´ an ohled pouze na dynamiku a samotn´ y podpis je naprosto opom´ıjen. Dynamika psan´ı na kl´ avesnici – TBD !!! obr slajd 23 a slajd 24!!
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
6.4.1
rea d
Kapitola 6. Autentizace uˇ zivatel˚ u
58
Komerˇ cn´ı vs. forenzn´ı biometrie
roo f
Rozd´ıl mezi komerˇcn´ı a forenzn´ı biometrickou autentizac´ı je ten d˚ uvod, kv˚ uli kter´emu bimetrick´ a autentizace pˇr´ıliˇs nefunguje pro kontrolu pohybu osob napˇr. pˇres hranice. Jestliˇze jsme si v´ yˇse specifikovali ˇcasy potˇrebn´e pro verifikaci v r´ amci max. sekund, tak to byly ˇcasy pro komerˇcn´ı verifikaci. Forenzn´ı biometrick´ a identifikace trv´ a hodiny, aˇz dny – na coˇz si moˇzn´ a vzpomenete z televize. A to nen´ı jedin´ y rozd´ıl. Hlavn´ı je ovˇsem pˇr´ıstup k autentizaci/identifikaci. Jestiˇze jsem si jiˇz ˇrekli, ˇze autentizace je automatick´ y proces, tak to nen´ı pravda v pˇr´ıpadˇe forenzn´ı identifikace. V tomto pˇr´ıpadˇe je tˇreba pˇr´ıtomnosti a spolupr´ ace expert˚ u nejen pro hled´ an´ı shody s registraˇcn´ımi vzorky z datab´ aze, ale tak´e pro samotn´e sn´ım´ an´ı biometrick´eho vzorku.
ot P
Jestliˇze jsou politici pˇresvˇedˇceni o tom, ˇze biometrick´e metody lze u ´spˇeˇsnˇe nasadit napˇr. na letiˇst´ıch, tak je to jen na z´ akladˇe dojmu pˇresnosti, kter´eho nabyly ze zkuˇsenost´ı s forenzn´ımi biometrick´ ymi metodami, jak je pouˇz´ıv´ a policie. Biometriky ovˇsem naprosto selh´ avaj´ı pro automatickou autentizaci, kde je potˇreba prov´est ovˇeˇren´ı bˇehem maxim´ alnˇe sekund. N´ asleduj´ıc´ı tabulka srovn´ av´ a rozd´ıly mezi forenzn´ı a komerˇcn´ı biometrickou autentizac´ı/identifikac´ı:
6.4.2
TN
Komerˇ cn´ı biometrick´ e metody n´ızk´ a pˇresnost plnˇe automatick´ a, pˇr´ısluˇsenstv´ı k PC registraci je moˇzn´e zopakovat, pokud se nepovede pouze charakteristiky jsou ukl´ad´ any autentizace bˇehem vteˇrin uˇzivatel´e nepotˇrebuj´ı t´emˇeˇr ˇz´ adn´e znalosti o syst´emu miniaturizace cena je tlaˇcena konkurenc´ı st´ ale n´ıˇz
Forenzn´ı biometrick´ e metody vyˇsˇs´ı pˇresnost, v mnoha pˇr´ıpadech pouˇziteln´ a pro manu´ aln´ı zpracov´ an´ı odborn´ıkem registrace je vˇec´ı jednoho pokusu jsou ukl´ ad´ any i origin´ aln´ı biometrick´ a data identifikace trv´ a i nˇekolik dn´ı je tˇreba uˇzivatel˚ u s pˇresn´ ymi a d˚ ukladn´ ymi znalos velikost je naprosto nepodstatn´ a relativnˇe drah´e, cena nen´ı nejd˚ uleˇzitˇejˇs´ım faktorem
Biometrie a kryptografie
DR AF
Otevˇrenou ot´ azkou pro v´ yzkum je moˇznost propojen´ı svˇeta biometrick´ ych metod s kryptografi´ı. Z´ akladn´ım probl´emem pouˇzit´ı biometrick´ ych dat jako kl´ıˇc˚ u je to, ˇze nejsou tajn´e – napˇr. otisky nech´ av´ ame vˇsude, je moˇzn´e udˇelat fotografii oka, . . . . Pˇresto jsou pracoviˇstˇe, kter´ a se snaˇz´ı zjistit, jak pouˇz´ıt biometriky pro zajiˇstˇen´ı kl´ıˇc˚ u. TBD
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
rea d
59
Bezpeˇ cnost WiFi
roo f
Kapitola 7
ot P
ˇ Bezdr´ atov´e s´ıtˇe jsou vdˇeˇcn´ ym c´ılem pro hackery. Sest d˚ uvod˚ u, proˇc by nˇekdo mˇel ’ hackovat WiFi s´ıt : • je to sranda a fakt dobr´ a z´ abava – coˇz je ale ostatnˇe pravda u kaˇzd´eho hackov´ an´ı; • je moˇzn´e z´ıskat anonymn´ı pˇr´ıstup do s´ıtˇe a je velice obt´ıˇzn´e zjistit, kde se u ´toˇcn´ık skr´ yv´ a – pokud tedy v˚ ubec nˇekdo zjist´ı, ˇze nˇejak´ yu ´toˇcn´ık existuje; • neleg´ aln´ı pouˇz´ıv´ an´ı WiFi s´ıtˇe je urˇcitou moˇznost´ı, jak si zajistit soukrom´ı, prostˇe proto, ˇze nikdo netuˇs´ı, ˇze nˇekdo s´ıt’ neleg´ alnˇe pouˇz´ıv´ a;
TN
• z r˚ uzn´ ych technick´ ych d˚ uvod˚ u je u ´tok na WiFi s´ıtˇe atraktivn´ı – je ˇcasto snadn´e proniknout do dalˇs´ıch ˇc´ ast´ı s´ıtˇe, WiFi nab´ız´ı velmi vysokou rychlost pˇripojen´ı, nen´ı potˇreba ˇz´ adn´e speci´ aln´ı hardwarov´e vybaven´ı, kvalitn´ı n´ astroje jsou dostupn´e volnˇe na Internetu; • m˚ uˇzete to dˇelat z domu – oportunistick´e crackov´ an´ı, proˇc si nepˇreˇc´ıst emaily m´eho souseda;
7.1
DR AF
• je snadn´e instalovat vlastn´ı AP, kter´ y je moˇzn´e pouˇz´ıvat jako zadn´ı vr´ atka do soukrom´e s´ıtˇe, napˇr. pro hromadn´e u ´toky.
Bezpeˇ cnostn´ı mechanismy WLAN
Bezdr´ atov´e s´ıtˇe (WLAN) podle z´ akladn´ıch standard˚ u 802.11 (WiFi) maj´ı k dispozici jen nˇekolik bezpeˇcnostn´ıch mechanism˚ u, kter´e nejsou schopny zajistit vysokou bezpeˇcnost. SSID (Service Set Identifier) – kaˇzd´ y pˇr´ıstupov´ y bod (AP) m´ a jm´eno, kter´e je tˇreba zn´ at, bohuˇzel toto jm´eno je pˇr´ıstupov´ ym bodem vys´ıl´ ano komukoliv, kdo o to m´ a z´ ajem, takˇze nen´ı v˚ ubec tajemstv´ım.
ˇnost WiFi Kapitola 7. Bezpec
rea d
60
Filtrov´ an´ı MAC (Medium Access Controller) – toto je trochu lepˇs´ı metoda, spr´ avce s´ıtˇe definuje mnoˇzinu adres, kter´e maj´ı pˇr´ıstup do s´ıtˇe. V tomto pˇr´ıpadˇe tedy mus´ı u ´toˇcn´ık chv´ıli poslouchat provoz ve WiFi s´ıti a pot´e pouˇz´ıt jednu z MAC adres, kter´ a m´ a pˇr´ıstup povolen.
7.2
roo f
WEP (Wired Equivalent Privacy) – je mechanismus umoˇzn ˇuj´ıc´ı ˇsifrov´ an´ı dat po’ s´ılan´ ych pˇres WiFi s´ıt na linkov´e u ´rovni. Bohuˇzel, mechanismus nen´ı dostateˇcnˇe dobr´ y a existuje ˇrada u ´tok˚ u, kter´e dˇr´ıve, nebo pozdˇeji uspˇej´ı.
Jak funguje WEP
WEP je zaloˇzen na proudov´e ˇsifˇre RC4. WEP m´ a celkem tˇri pracovn´ı reˇzimy: u ´plnˇe bez ˇsifrov´ an´ı, ˇsifrov´ an´ı se 40bitov´ ym kl´ıˇcem a ˇsifrov´ an´ı se 128bitov´ ym kl´ıˇcem.
ot P
Blokov´e ˇsifry funguj´ı tak, ˇze se generuje proud pseudon´ ahodn´ ych dat, kter´ y se xor-uje s otevˇren´ ym textem. Proud pseudon´ ahodn´ ych dat je vytv´ aˇren pomoc´ı deterministick´e, jednoznaˇcnˇe definovan´e funkce (v tomto pˇr´ıpadˇe RC4) a cel´ a bezpeˇcnost sch´ematu spoˇc´ıv´ a v n´ ahodnosti sem´ınka, ze kter´eho se pseudon´ ahodn´ a data zaˇcnou generovat.
TN
Jestliˇze chcete pouˇz´ıvat WEP, tak mus´ıte kl´ıˇc pˇredem distribuovat vˇsem poˇc´ıtaˇc˚ um, kter´e se budou potenci´ alnˇe k WiFi s´ıti pˇripojovat. D´ıky tomu je obt´ıˇzn´e prov´ adˇet zmˇenu kl´ıˇce, jakmile se jednou zaˇcne WEP pouˇz´ıvat v ˇsifrovac´ım reˇzimu, protoˇze vˇsechny poˇc´ıtaˇce si mus´ı kl´ıˇc vymˇenit ve stejn´ y okamˇzik – jinak ztrat´ı moˇznost pˇripojen´ı k s´ıti. Nav´ıc, co potˇrebujeme nastavit, a na ˇcem se mus´ı domluvit poˇc´ıtaˇc s AP pˇri pouˇzit´ı RC4, je inicializaˇcn´ı vektor. Pˇripomeˇ nme si, ˇze pˇri pouˇzit´ı proudov´e ˇsifry je moˇzn´e c´ılenˇe mˇenit jednotliv´e bity ˇsifrovan´eho textu jejich prost´ ym pˇrevracen´ım z jedniˇcky na nulu a zp´ atky. Po deˇsifrov´ an´ı budou zmˇenˇeny pˇresnˇe tyto bity.
DR AF
WEP sice pouˇz´ıv´ a kontrolu integrity pomoc´ı CRC k´ odu, ale pro ten plat´ı moˇznost stejnˇe jednoduch´e zmˇeny, jako u jednotliv´ ych bit˚ u samotn´e zpr´ avy. Tento fakt umoˇzn ˇuje u ´toky typu man-in-the-middle, kdy u ´toˇcn´ık m˚ uˇze napˇr. jen zmˇenit IP adresu pˇr´ıjemce, nebo pˇr´ıznak v paketu na s´ıt’ov´e vrstvˇe. Jelikoˇz proud pseudon´ ahodn´ ych dat je generov´ an pokaˇzd´e ze stejn´eho kl´ıˇce, tak jedinou informac´ı, kter´ a jej mˇen´ı je inicializaˇcn´ı vektor, kter´ y m´ a 24 bit˚ u. Tento IV je pˇren´ aˇsen v otevˇren´em textu. Jestliˇze si uvˇedom´ıme, ˇze 24 bit˚ u je jen 16 milion˚ u r˚ uzn´ ych hodnot, tak je cel´ a bezpeˇcnost WEPu zaloˇzena na hodnˇe slab´em z´ akladˇe. Nav´ıc protokol umoˇzn ˇuje, aby kter´ akoliv strana kdykoliv poˇz´ adala o reinicializaci. Pˇri maxim´ aln´ı velikosti TCP paketu 1500B a rychlosti 11Mbps je moˇzn´e cel´ y prostor IV vyˇcerpat za 5 hodin. V nˇekter´ ych pˇr´ıpadech ale nen´ı tˇreba vyˇcerp´ avat Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´ 7.3. Utoky na WEP
rea d
61
cel´ y prostor IV, protoˇze napˇr. nˇekter´e karty Lucent pouˇz´ıvaj´ı IV vˇzdy roven nule!
7.3
´ Utoky na WEP
roo f
Zkusme si ted’ trochu podrobnˇeji – ale opravdu jen trochu – vysvˇetlit ˇctyˇri typy u ´tok˚ u na WiFi s´ıtˇe a WEP.
Pasivn´ı u ´ tok spoˇc´ıv´ a v pouh´em poslouch´ an´ı dat v s´ıti a vyuˇz´ıv´ an´ı ˇspatn´ ych implementac´ı tohoto ˇspatn´eho protokolu. Aktivn´ı u ´ tok s vkl´ ad´ an´ım dat znamen´ a vkl´ ad´ an´ı speci´ aln´ıch paket˚ u, nebo zmˇena paket˚ u pomoc´ı pˇrevracen´ı bit˚ u.
ot P
Aktivn´ı u ´ tok z obou stran je vlastnˇe tak trochu speci´ aln´ı forma pˇredchoz´ıho ´ u ´toku. Utoˇcn´ık se snaˇz´ı odhadnout obsah hlaviˇcek paket˚ u a vhodn´ ymi zmˇenami zajistit, aby byl paket doruˇcen na jinou adresu. Staˇc´ı pˇrepsat adresu adres´ ata a vˇsechno ostatn´ı – odˇsifrov´ an´ı, smˇerov´ an´ı, doruˇcen´ı nechat na p˚ uvodn´ı s´ıti. Tabulkov´ y u ´ tok je kryptoanalytick´ y u ´tok. K jeho proveden´ı je tˇreba nasb´ırat a pot´e zpracovat zhruba 15 GB dat. Pot´e je moˇzn´e deˇsifrovat libovoln´ y paket – ’ prostˇe cokoliv, co proch´ az´ı pˇres WiFi s´ıt .
TN
´ Utok FMS – Fuhler, Mantin, Shamir je opˇet kryptoanalytick´ yu ´tok objeven´ y v roce 2001. Z´ akladem u ´toku je poznatek, ˇze nˇekter´e inicializaˇcn´ı vektory prozrazuj´ı u RC4 v ˇsifrov´em textu nˇekter´e bity kl´ıˇce. Pˇresnˇeji ˇreˇceno, prvn´ı bajt v proudu pseudon´ ahodn´ ych dat pouˇz´ıv´ a jeden bajt kl´ıˇce. Jelikoˇz tak´e v´ıme jak´ a je hodnota prvn´ıho bajtu zpr´ avy/paketu ve WiFi s´ıt´ıch (hlaviˇcka SNAP). Pomoc´ı t´eto znalosti jsme schopni ze ˇsifrov´eho textu ”odxorovat” otevˇren´ y text – pr´ avˇe zm´ınˇenou hlaviˇcku a z´ıskat tak bajt pseudon´ ahodn´ ych dat pro hled´ an´ı kl´ıˇce RC4.
DR AF
Slabina v RC4 spolu se znalost´ı otevˇren´eho textu umoˇzn ˇuje urˇcovat kl´ıˇc s pravdˇepodobnost´ı 5-13 %. Celkem pro anal´ yzu potˇrebujeme 6 aˇz 8 milion˚ u paket˚ u, jin´ ymi slovy asi 2 hodiny. Tento u ´toky byl jeˇstˇe optimalizov´ an a v t´eto verzi je potˇreba teoreticky jen p˚ ul milionu paket˚ u. Praktick´e implementace ukazuj´ı ˇze je v mnoha pˇr´ıpadech potˇreba dokonce jen tˇretina tohoto mnoˇzstv´ı. A nez´ aleˇz´ı na tom, jestli m´ a kl´ıˇc 40 bit˚ u, nebo 128 bit˚ u.
7.4
Autentizace 802.1x
!!!! dodˇelat !!!!
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
rea d
ˇnost WiFi Kapitola 7. Bezpec
62
Pˇrestoˇze je tato autentizace teoreticky bezpeˇcn´ a, tak je moˇzn´e naj´ıt ˇspatn´e implementace. I pro tuto autentizaci existuje nˇekolik implementac´ı. Jednou z nich je EAP-LEAP autentizaˇcn´ı algoritmus od Cisco. Bohuˇzel m´ a podobn´e probl´emy jako MS-CHAPv2. Struˇcn´ y popis algoritmu je n´ asleduj´ıc´ı: 1. AP pos´ıl´ a klientovi v´ yzvu obsahuj´ıc´ı osm n´ ahodn´ ych bajt˚ u
roo f
2. klient pouˇzije funkci MD4 pro vytvoˇren´ı 3DES kl´ıˇc˚ u z vlasn´ıho hesla 3. kaˇzd´ y kl´ıˇc je pouˇzit pro samostatn´e zaˇsifrov´ an´ı v´ yzvy
Vzpomenete si jeˇstˇe na MS-CHAP z pˇredch´ azej´ıc´ıho text?
7.5
Pl´ anov´ an´ı u ´ toku
ot P
I pˇri 802.1x je st´ ale moˇzn´e pouˇz´ıt u ´tok man-in-the-middle. A to i pˇri pouˇzit´ı bezpeˇcn´eho mechanismu – napˇr. RADIUS serveru.
Na to aby u ´toˇcn´ık mohl za´ utoˇcit na vaˇs´ı bezdr´ atovou s´ıt’ bude obvykle postupovat v nˇekolika kroc´ıch. Jako nult´ y krok m˚ uˇzeme povaˇzovat nalezen´ı a instalaci n´ astroj˚ u, kter´e jsou pro takov´ yu ´tok vhodn´e. Obecnˇe je m˚ uˇzeme rozdˇelit do asi ˇctyˇr skupin.
TN
L´ am´ an´ı WEPu N´ astroje pro l´ am´ an´ı WEPu a n´ astroje umoˇzn ˇuj´ıc´ı vklad´ an´ı platn´ ych paket˚ u, kter´e jsou pak opˇet zaˇsifrov´ any. Generov´ an´ı r´ amc˚ u 802.11 N´ astroje v t´eto skupinˇe um´ı generovat obecn´e pakety, kter´e nen´ı tˇreba ˇsifrovat. C´ılem je DoS u ´tok na bezdr´ atovou s´ıt’. Vkl´ ad´ an´ı ˇ sifrovan´ ych dat N´ astroje pro jednoduch´e u ´toky, kter´e jsou zaloˇzeny na zachyt´ av´ an´ı paket˚ u a jejich opakovan´e vys´ıl´ an´ı do s´ıtˇe.
DR AF
Spr´ ava pˇ r´ıstupov´ ych bod˚ u N´ astroje pro z´ısk´ av´ an´ı maxima moˇzn´ ych informac´ı o bezdr´ atov´e s´ıti. Seznam nˇekter´ ych n´ astroj˚ u, kter´e jsou pouˇz´ıv´ any pro u ´toky – rozhodnˇe nen´ı u ´pln´ y: • l´ am´ an´ı WEPu – wepcrack, dweputils, wep tools, wepattack • vkl´ ad´ an´ı paket˚ u – reinj
• l´ am´ an´ı 802.1x – asleap-imp, leap, leapcrack • generov´ an´ı r´ amc˚ u – airjack, file2air, libwlan, fakeAP, void11, wnet Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´ˇ ˇnosti 7.6. Zvy sen´ı bezpec
rea d
63
• vkl´ ad´ an´ı ˇsifrovan´ ych paket˚ u – wepwedgie • spr´ ava pˇr´ıstupov´ ych bod˚ u – ap-utils
Tak, jakmile se dostaneme za nult´ y krok, tak bychom mohli zaˇc´ıt pracovat na konkr´etn´ım u ´toku.
roo f
• Zjiˇstˇen´ı informac´ı o s´ıti – pˇredbˇeˇzn´e z´ısk´ an´ı informac´ı o m´ıstˇe a s´ıti, v tomto bodˇe je moˇzn´e pouˇz´ıt Google, soci´ aln´ı inˇzen´ yrstv´ı. C´ılem je z´ıskat maximum informac´ı pˇred t´ım, neˇz u ´toˇcn´ık vyjde do ter´enu. • Zv´ aˇzen´ı konkr´etn´ıho m´ısta – v tomto pˇr´ıpadˇe uˇz u ´toˇcn´ık fyzicky navˇst´ıv´ı m´ısto, kde je um´ıstˇena c´ılov´ a s´ıt’. Hled´ a pozice ant´en, pokud nˇekde existuj´ı vnˇejˇs´ı AP, nebo pokud uˇz nˇekdo provedl warchalking.
ot P
• Naˇcasov´ an´ı u ´toku – pˇri obhl´ıdce si vytipuje vhodn´ y den a ˇcas, napˇr. podle pohybu ˇ osob a potenci´ aln´ıho mnoˇzstv´ı dat v s´ıti. C´ım vˇetˇs´ı provoz, t´ım snadnˇejˇs´ı je ztratit se v datech pˇri u ´toku. • ”tich´e” mapov´ an´ı s´ıtˇe – v t´eto chv´ıli jiˇz u ´toˇcn´ık pouˇz´ıv´ a n´ astroje pro anal´ yzu dat v s´ıti, hled´ an´ı MAC adres, mˇeˇren´ı mnoˇzstv´ı dat, nahr´ an´ı dostateˇcn´eho mnoˇzstv´ı dat pro pˇr´ıpadnou pozdˇejˇs´ı kryptoanal´ yzu.
7.6
TN
´ • Utok na vybran´e uzly, poˇc´ıtaˇce – v t´eto chv´ıli m´ a jiˇz u ´toˇcn´ık vˇse co potˇrebuje pro zneuˇzit´ı s´ıtˇe pro neopr´avnˇen´ y pˇr´ıstup, odposlech dat v s´ıti, nebo podvrˇzen´ı dat.
Zv´ yˇ sen´ı bezpeˇ cnosti
DR AF
Pro zajiˇstˇen´ı bezpeˇcnosti je moˇzn´e pouˇz´ıt nˇekolik pˇr´ıstup˚ u. V podstatˇe vˇsechny spoˇc´ıvaj´ı v implementaci mechanism˚ u nad linkovou vrstvou – tedy na s´ıt’ov´e, nebo aplikaˇcn´ı u ´rovni. • Autentizace – pro autentizaci je moˇzn´e vyuˇz´ıt nˇekter´ y z mnoha existuj´ıc´ıch syst´em˚ u. Nejˇcastˇeji pouˇz´ıvan´ ym je syst´em RADIUS, pouˇz´ıv´ an´ı LDAP technologi´ı, nebo NoCat. • Bezdr´ atov´e VPN – vytvoˇren´ı VPN je nejˇcastˇejˇs´ım pˇr´ıstupem, i kdyˇz m˚ uˇze vyˇzadovat urˇcit´e znalosti od uˇzivatel˚ u. Moˇznostmi jsou IPSec, PPTP, GRE, L2TP, ... • Bezdr´ atov´e IDS – detekci pr˚ unik˚ u je moˇzn´e opˇet dˇelat na nˇekolika u ´rovn´ıch: – ud´ alosti na u ´rovni RF/fyzick´e u ´rovni, Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
rea d
ˇnost WiFi Kapitola 7. Bezpec
64
– ud´ alosti, pakety pro kontrolu a spr´ avu WiFi,
– ud´ alosti realizovan´e pakety patˇr´ıc´ımi k protokol˚ um 802.1x/EAP, – WEP pakety,
DR AF
TN
ot P
roo f
– konektivita, n´ ahl´e odpojov´ an´ı opr´ avnˇen´ ych uˇzivatel˚ u, zmˇeny v mnoˇzstv´ı dat v s´ıti.
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
roo f
rea d
65
ot P
ˇ ast III C´
DR AF
TN
Praktick´ y podpis
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
roo f
ot P
TN
DR AF
rea d
rea d
67
Digit´ aln´ı podpis
roo f
Kapitola 8
ot P
Elektronick´ y podpis je moˇzn´e vn´ımat bud’ jako ˇcistˇe kryptografickou z´ aleˇzitost, kter´ a patˇr´ı na stoly matematik˚ u a kryptolog˚ u. Tak´e je moˇzn´e jej vn´ımat jako technologick´ y, administrativn´ı, manaˇzersk´ y probl´em, kter´ y je velice sloˇzit´e uspokojivˇe vyˇreˇsit. Jestliˇze se tedy na elektronick´ y podpis pod´ıv´ ame v co nejˇsirˇs´ım smyslu, tak je tˇreba jmenovat n´ asleduj´ıc´ı okruhy:
TN
• Kryptografie – oblast, kter´ a je asi nejl´epe vyˇreˇsena. Kryptografie je celkem dobˇre ohraniˇcen´ a oblast, je abstraktn´ı a je moˇzn´e ji preciznˇe ˇreˇsit pomoc´ı abstrakn´ıch metod. Nar´ aˇz´ıme zde bohuˇzel na probl´em neexistence d˚ ukaz˚ u pro z´ akladn´ı pˇredpoklady, tyto jsou ale dostateˇcnˇe star´e.
DR AF
• Spr´ ava kl´ıˇc˚ u – v t´eto oblasti je uˇz tˇreba ˇreˇsit dalˇs´ı okruhy probl´em˚ u, kter´e jsou daleko rozs´ ahlejˇs´ı. Probl´emy, kter´e sem spadaj´ı je generov´ an´ı n´ ahodn´ ych ˇc´ısel a kl´ıˇc˚ u, distribuce kl´ıˇc˚ u, revokace kl´ıˇc˚ u, uloˇzen´ı kl´ıˇc˚ u. Tato oblast m´ a dvˇe ˇc´ asti – teoretickou a implementaˇcn´ı/inˇzen´ yrskou. Teoreticky je moˇzn´e navrhnout protokoly, ovˇeˇrit jejich spr´ avnost, ale uˇz bohuˇzel nen´ı moˇzn´e dˇelat d˚ ukladnou form´ aln´ı verifikaci. Inˇzen´ yrsk´ a ˇc´ ast je mnohem sloˇzitˇejˇs´ı, je tˇreba prakticky implementovat protokoly, je tˇreba naimplementovat zaˇr´ızen´ı pro bezpeˇcn´e prov´ adˇen´ı operac´ı, atd. • Bezpeˇcnostn´ı politika – dalˇs´ı oblast´ı je definov´ an´ı bezpeˇcnostn´ı politiky, prov´ adˇec´ıch smˇernic a dalˇs´ıch dokument˚ u, kter´e maj´ı popsat postupy pro pr´ aci s elektronick´ ym podpisem. Jedn´a se o dokumenty, kter´e jsou ps´ any voln´ ym jazykem a je velmi obt´ıˇzn´e napsat je tak, aby byly jednoznaˇcn´e, u ´pln´e a bezesporn´e. Tyto vlastnosti je nav´ıc velice obt´ıˇzn´e ovˇeˇrovat. • Administrativn´ı bezpeˇcnost – oblast spojen´ a s vynucov´ an´ım administrativn´ıch opatˇren´ı, mezi kter´ a patˇr´ı rozdˇelen´ı pravomoc´ı, pˇr´ıstup˚ u do budov a m´ıstnost´ı. Stejnˇe jako trest˚ u za neplnˇen´ı povinnost´ı a zneuˇz´ıv´ an´ı pr´ av.
´ln´ı podpis Kapitola 8. Digita
rea d
68
• Fyzick´ a bezpeˇcnost – administrativn´ı bezpeˇcnost´ı definujeme, kdo m´ a kam pˇr´ıstup a fyzick´ a bezpeˇcnost m´ a zajistit dodrˇzov´ an´ı tˇechto pravidel. Patˇr´ı sem zajiˇstˇen´ı perimetr˚ u a pl´ aˇst’˚ u budov, pouˇz´ıv´ an´ı z´ amk˚ u a pˇr´ısluˇsn´ ych pˇr´ıstupov´ ych k´ od˚ u, atd.
roo f
• Archivace – jakmile zaˇcneme podpis pouˇz´ıvat pro podepisov´ an´ı pr´ avnˇe z´ avazn´ ych dokument˚ u, tak mus´ıme zajistit, ˇze podpisy budou platn´e po dobu platnosti tˇechto dokument˚ u. To mohou b´ yt des´ıtky let a urˇcitˇe doba delˇs´ı, neˇz je platnost kl´ıˇce a pˇr´ısluˇsn´eho certifik´ atu. Je tedy tˇreba vyˇreˇsit archivaci takov´ ych dokument˚ u a zajistit jejich ovˇeˇritelnost po celou dobu jejich platnosti.
8.1
ot P
• Pr´ avn´ı str´ anka – je samostatn´ a ot´ azka zakotven´ı elektronick´eho podpisu v pr´ avn´ım ˇr´ adu dan´eho st´ atu. Na jednu stranu je tento probl´em minoritn´ı, protoˇze jestliˇze se strany smluvnˇe dohodnou na pouˇz´ıv´ an´ı elektronick´eho podpisu, tak nen´ı potˇreba ˇz´ adn´ a obecn´ a pr´ avn´ı u ´prava. Na druhou stranu, jestliˇze existuje z´ akon, kter´ y je tˇreba dodrˇzovat napˇr. pro pouˇz´ıv´ an´ı elektronick´eho podpisu ve vztahu ke st´ atn´ı spr´ avˇe, tak v t´e chv´ıli hodnˇe z´ aleˇz´ı na kvalitˇe tohoto z´ akona.
Elektronick´ y a digit´ aln´ı podpis
TN
Existuje jasn´e rozdˇelen´ı v´ yznam˚ u pojm˚ u digit´ aln´ı a elektronick´ y podpis. Toto rozdˇelen´ı poch´ az´ı z Evropsk´e direktivy. • Elektronick´ y podpis – je jak´ akoliv informace identifikuj´ıc´ı odes´ılatele zpr´ avy. Mohou to b´ yt i podpisy, jak je pouˇz´ıv´ ame napˇr. v emailech – prost´e textov´e ˇretˇezce obsahuj´ıc´ı jm´eno, bez jak´ekoliv kryptografick´e bezpeˇcnosti. • Digit´aln´ı podpis – podpis zaloˇzen´ y na kryptografii a mus´ı zajiˇst’ovat nˇekolik bezpeˇcnostn´ıch vlastnost´ı, napˇr. nepadˇelatelnost.
DR AF
V dalˇs´ım textu tedy jiˇz budeme pˇresnˇe a budeme se bavit pouze o digit´ aln´ıch podpisech. No a neˇz se dostaneme d´ ale, tak si projdˇeme n´ asleduj´ıc´ı tabulku. Pojem Rukou psan´ y podpis Digit´ aln´ı podpis zpr´ava pap´ır s nˇejakou napsanou zpr´ avou elektronick´ a data podpis rukou napsan´ a ”ˇcm´ aranice” zpr´ ava vytvoˇren´ a na z´ akladˇe k pro podepisov´ an´ı schopnost mozku, praxe, zruˇcnost soukrom´ y kl´ıˇc pro ovˇeˇrov´ an´ı podpisu znalost podpisu, zkuˇsenost, zrak, podpisov´ y vzor certifik´ at veˇrejn´eho kl´ıˇce V tabulce jsou porovn´ any ˇctyˇri pojmy podstatn´e pro popis podpisu. Sloupec pro digit´aln´ı podpis je znaˇcnˇe zjednoduˇsen´ y, protoˇze nezmiˇ nuje zaˇr´ızen´ı, kter´e je schopn´e prov´ adˇet operace, ani infrastrukturu, kter´ a mus´ı existovat, aby podepisov´ an´ı a ovˇeˇrov´an´ı podpisu bylo moˇzn´e prov´ adˇet bezpeˇcnˇe. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
69
rea d
ˇejny ´ch kl´ıc ˇ˚ 8.2. Infrastruktury ver u – PKI
8.2
roo f
Jeden fakt, na kter´ y mus´ım upozornit a kter´ y asi nejv´ıc oddˇeluje ruˇcn´ı podpis od digit´ aln´ıho podpisu je to, ˇze aˇckoliv je straˇsnˇe jednoduch´e padˇelat ruˇcn´ı podpis, tak pˇresto vyjadˇruje v˚ uli dan´e osoby, osoby se podepisuje. U digit´ aln´ıho podpisu je to mnohem sloˇzitˇejˇs´ı, protoˇze digit´ aln´ı podpis nem˚ uˇzeme vytvoˇrit sami, potˇrebujeme k tomu nˇejak´e zaˇr´ızen´ı. Tato dereference zast´ır´ a v˚ uli ˇclovˇeka a v mnoha aplikac´ıch je obt´ıˇzn´e v˚ uli prok´ azat – tˇreba proto, ˇze zaˇr´ızen´ı podepisuje bez z´ asahu ˇclovˇeka.
Infrastruktury veˇ rejn´ ych kl´ıˇ c˚ u – PKI
PKI jsou dosti sloˇzit´e technologie, kter´e se skl´ adaj´ı nejen z programov´eho vybaven´ı, ale i hardwarov´e sloˇzky, kter´a m´ a zajistit dostateˇcnou bezpeˇcnost prov´ adˇen´ı kryptografick´ ych operac´ı.
ot P
Prvn´ı PKI produkty off-the-shelf se objevili v devades´ at´ ych letech v dobˇe dot-com boomu. Co bylo pro tyto technologie pˇr´ıznaˇcn´e byla astronomick´ a cena, absolutnˇe ˇz´ adn´e aplikace. Pˇripomeˇ nme, ˇze jde jen o infrastrukturu, kter´ a m´ a k nˇeˇcemu slouˇzit, ale my poˇr´ ad tak nˇejak nev´ıme k ˇcemu. T´ım m´enˇe jsme to vidˇeli v devades´ at´ ych letech. D´ıky tˇemto skuteˇcnostem se nepodaˇrilo PKI prodat a t´emˇeˇr vˇsechny velk´e spoleˇcnosti v USA zkrachovaly. Jedinou v´ yjimkou je Verisign, kter´ y byl pohlcen Microsoftem, kter´ y pro nˇej naˇsel uplatnˇen´ı v r´ amci sv´ ych vlastn´ıch aplikac´ı a operaˇcn´ıch syst´em˚ u.
8.2.1
Standardy
TN
V souˇcasn´e dobˇe existuje relativnˇe velk´e mnoˇzstv´ı produkt˚ u, kter´e je moˇzn´e ˇ koupit: Verisign, Entrust, RSA, IBM, ... V Cesk´e republice existuje 1.CA provozovan´ a firmou PVT, kter´ a je prvn´ı akreditovanou certifikaˇcn´ı autoritou v republice. PKI je pouˇz´ıv´ ano i vˇetˇsinou bank, ty ale pouˇz´ıvaj´ı vlastn´ı syst´em postaven´ ym na nˇekter´em z komerˇcn´ıch produkt˚ u.
DR AF
´ Uplnˇ e nejdˇr´ıv se zkusme pod´ıvat na z´ akladn´ı standardy, na kter´ ych m˚ uˇze b´ yt PKI postaveno. X.509 To je syst´em, o kter´em se t´emˇeˇr v´ yhradnˇe mluv´ı, kdyˇz nˇekdo vzpomene PKI ve spojen´ı se st´ atn´ı spr´ avou, nebo legislativou. Syst´em m´ a hierarchickou (stromovou) strukturu, kter´ a je ˇr´ızena z jednoho m´ısta. Je tˇeˇzk´e se do syst´emu dostat, jakmile se to ale povede, tak je penetrace masivn´ı. PGP Je syst´em, kter´ y moˇzn´ a pouˇz´ıv´ ate sami. Kaˇzd´ y uˇzivatel si definuje a spravuje vlastn´ı dom´enu d˚ uvˇeryhodnosti pomoc´ı spr´ avy vlastn´ıho key-ringu. Je snadnˇejˇs´ı se dostat dovnitˇr – staˇc´ı nˇekoho pˇremluvit, aby v´ as pˇredstavil jako sv´eho pˇr´ıtele. Takov´e naruˇsen´ı bezpeˇcnosti je ale lok´ aln´ı a nem´ a vliv na bezpeˇcnost syst´emu Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´ln´ı podpis Kapitola 8. Digita
rea d
70
jako takov´eho. To by vyˇzadovalo znaˇcn´e u ´sil´ı, vzhledem k decentralizovan´e povaze syst´emu.
roo f
SPKI/SDSI – je syst´em hodnˇe podobn´ y PGP. Hlavn´ı obmˇenou je zde pouˇz´ıv´ an´ı jmen. Jm´ena nejsou definov´ ana ani podle X.400, jako celosvˇetovˇe unik´ atn´ı (pˇr´ıpad X.509), ani jako jen emailov´e adresy. SPKI definuje jm´ena v kontextu, takˇze jm´eno ˇ m˚ uˇze v´ ypadat jako j´ a→Pavel→Snek→m´ ama→sousedka. Jm´eno nalevo od ˇsipky definuje kontext pro jm´eno napravo od ˇsipky. Takˇze j´ a v´ım, kdo je Pavel, Pavel m´ a ˇ k´ amoˇse Sneka, jehoˇz m´ ama v´ı, kdo je jej´ı sousedka. V´ yhoda je, ˇze Pavel nemus´ı ˇ zn´ at jak se jmenuje Snekova sousedka, ale kdyby j´ı chtˇel nˇeco napsat, tak m˚ uˇze a bude pˇresnˇe vˇedˇet, s k´ ym mluv´ı. Kdyˇz se pod´ıv´ ame na X.509, tak pod touhle pˇeknou kr´ atkou zkratkou najdeme obrovsk´e mnoˇzstv´ı standard˚ u, jestliˇze se pokus´ıme syst´em naimplementovat. N´ asleduj´ıc´ı obr´ azek obsahuje nˇekolik z nich.
ot P
!!!obr. slajd 7 !!!
Standard popisuj´ı podm´ınky a postupy pro implementace v nˇekolika oblastech: • PKI – struktura a z´ akladn´ı zpr´ avy pro ˇcinnost PKI: X.509, PKCS#10, PKCS#12, (PKCS#6 a #9)
TN
• Email – popis struktury emailov´ ych zpr´ av je opˇet souˇc´ ast´ı ˇrady standard˚ u, kter´e nemus´ı b´ yt vz´ ajemnˇe kompatibiln´ı (CMS, S/MIME drafts, RFCs) • Algoritmy – jak´ ym zp˚ usobem poˇc´ıtat podpisy, ˇsifry, haˇse, . . . : PKCS#1, P1363, FIPS, ANSI, . . . • Komunikaˇcn´ı protokoly – jestliˇze budeme cht´ıt PKI pouˇz´ıvat pro jak´ ykoliv dalˇs´ı protokol, je opˇet tˇreba definovat strukturu a chov´ an´ı: X.509, SSL, RFCs, . . .
8.2.2
V´ yvoj syst´ emu
DR AF
Pˇri prvn´ı definici certifikaˇcn´ı autority a tedy PKI pˇrevl´ adly idealistick´e pˇredstavy fungov´ an´ı cel´eho syst´emu. Z´ akladn´ı pˇredstava byla, ˇze bude na svˇetˇe existovat jedna certifikaˇcn´ı autorita, kter´ a bude vyd´ avat certifik´ aty pro vˇsechny uˇzivatele Internetu a naprosto vˇsichni ji budu uzn´ avat a d˚ uvˇeˇrovat ji. Tyto pˇredstavy st´ aly za prvn´ı verz´ı standardu X.509 a standardu PEM – privacy enhanced mail. Jelikoˇz mˇela existovat jen jedna certifikaˇcn´ı autorita, tak nebylo tˇreba definovat ˇz´ adn´e rozˇs´ıˇren´ı, kter´e by ji obsahovalo. Certifik´ aty tak byly velice jednoduch´e, stejnˇe tak jako cel´ a struktura syst´emu. Potom ovˇsem pˇriˇslo uvˇedomˇen´ı, ˇze jedna centr´ aln´ı certifikaˇcn´ı se nikdy neuskuteˇcn´ı. S t´ım pˇriˇsla definice standardu PKCS #6 a X.509 ve verzi 2 a 3. Standardy, Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
71
rea d
ˇejny ´ch kl´ıc ˇ˚ 8.2. Infrastruktury ver u – PKI
kter´e uˇz zaˇc´ınaj´ı pracovat s r˚ uzn´ ymi rozˇs´ıˇren´ımi certifik´ at˚ u. Nˇekter´e z nich uˇz pˇr´ımo uvaˇzuj´ı vloˇzen´ı definice politiky do certifik´ atu. Postupnˇe tak´e vznikla PKIX Working Group, kter´ a se snaˇz´ı o vytvoˇren´ı homogenn´ıho syst´emu standard˚ u obklopuj´ıc´ıch X.509. (http://www.ietf.org/html.charters/pkix-charter.html )
roo f
No a jelikoˇz t´ema zaˇcalo b´ yt zaj´ımav´e i z politick´eho hlediska, tak postupnˇe vznikly n´ arodn´ı PKI sch´emata odvozen´ a od n´ arodn´ıch z´ akonu, kter´e zavedly digit´ aln´ı certifik´ aty jako bezpeˇcnostn´ı mechanismus pro elektronickou komunikaci. V souˇcasn´e dobˇe je ovˇsem cel´ y syst´em standard˚ u st´ ale jeˇstˇe nekompletn´ı a bohuˇzel i znaˇcnˇe rozs´ ahl´ y. Souˇcasnˇe jsou nˇekter´e aspekty pokryty nˇekolika standardy, kter´e nejsou vz´ ajemnˇe kompatibiln´ı. PKIX pokryla vˇetˇsinu oblast´ı za cenu neskuteˇcn´eho mnoˇzstv´ı standard˚ u. Tyto jsou ale vˇsechny velmi nov´e a v mnoha produktech jeˇstˇe nejsou implementov´ any. Jako pˇr´ıklad m˚ uˇzeme uv´est ˇz´ adost o revokaci, ˇz´ adosti o certifik´ at pro jin´e algoritmy, neˇz je RSA, specifikace vlastnost´ı certifik´ atu, atd.
ot P
Unifikovan´ y model, kter´ y by se mohl do nˇekolika let st´ at z´ akladem vˇsech novˇe implementovan´ ych PKI je zaloˇzen na struktuˇre poprv´e pouˇzit´em v nov´em tvaru ˇz´ adost´ı o certifik´ at – CRMF (certificate request message format). Kompletn´ı sada standard˚ u by mˇela b´ yt po jeden´ acti letech dokonˇcena na konci pˇr´ıˇst´ıho roku.
TN
Bohuˇzel, rozsah a sloˇzitost standard˚ u je nyn´ı obrovsk´ a. Naopak, implementace mus´ı b´ yt co nejjednoduˇsˇs´ı – pr´ avˇe tak, aby fungovaly. Dalˇs´ım probl´emem pro norm´ aln´ı uˇzivatele je monopol MS v oblasti operaˇcn´ıch syst´em˚ u, kter´e maj´ı z´ akladn´ı spr´ avu certifik´ atu jako svou souˇc´ ast. Kvalita implementace se postupnˇe zlepˇsuje, ale d´ıky probl´em˚ um s bezpeˇcnostn´ı syst´emu je st´ ale nen´ı moˇzn´e pouˇz´ıvat profesion´ alnˇe – tj. pro vˇeci, kde jde o pen´ıze. . .
8.2.3
DR AF
Co se t´ yk´ a implementac´ı, tak nejsilnˇejˇs´ı je hlas penˇez, kter´ y je u ´zce souvisl´ y s poˇzadavky uˇzivatel˚ u. A jeden z nejsilnˇejˇs´ıch je zpˇetn´ a kompatibilita. Pokud jde o snadnost pouˇz´ıv´ an´ı, tak staˇc´ı uv´est jeden pˇr´ıklad – import certifik´ at˚ u. Aˇckoliv by to mˇel b´ yt celkem jednoduch´ y postup, tak producenti certifik´ at˚ u, ale i v´ yrobci software nejsou schopni se dohodnout na form´ atu a definuj´ı nesmysln´e mnoˇzstv´ı form´ at˚ u, kter´e jsou identick´e, nebo se liˇs´ı v naprost´ ych implementaˇcn´ıch drobnostech: DER, BER, 509, p7c, crt, data jsou bin´ arn´ı, nebo v base64 k´ odov´ an´ı, pˇr´ıpadnˇe s jeˇstˇe dalˇs´ımi informacemi, kter´e jsou uloˇzeny jen pro u ´ˇcely jak´ehosi komfortu.
Struktura PKI
O struktuˇre jsme se jiˇz trochu zm´ınili. Z´ akladn´ım principem je vytvoˇren´ı hierarchick´e stromov´e struktury – certifikaˇcn´ıho stromu. Tato struktura m´ a v koˇreni tzv. koˇrenovou certifikaˇcn´ı autoritu. Haˇs jej´ıho veˇrejn´eho kl´ıˇce je zveˇrejnˇen zp˚ usobem, kter´ y umoˇzn ˇuje dostateˇcnˇe d˚ uvˇeryhodn´e ovˇeˇren´ı. M˚ uˇze b´ yt napˇr. souˇc´ ast´ı p´ısemn´e Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´ln´ı podpis Kapitola 8. Digita
rea d
72
smlouvy uzavˇren´e pˇri vyd´ an´ı certifik´ atu uˇzivatel˚ um, ale tak´e dalˇs´ım certifikaˇcn´ım autorit´ am, kter´e jsou n´ıˇze ve stromov´e struktuˇre. Bezpeˇcn´e pˇred´ an´ı tohoto haˇse je z´ akladem bezpeˇcnosti cel´eho syst´emu.
roo f
Kaˇzd´a certifikaˇcn´ı autorita, kter´ a se chce pˇripojit do certifikaˇcn´ıho stromu se dohodne s certifikaˇcn´ı autoritou na pravidlech vyd´ av´ an´ı certifik´ at˚ u a nakonec si vygeneruje vlastn´ı soukrom´ y kl´ıˇc. Pro pˇr´ısluˇsn´ y veˇrejn´ y kl´ıˇc si nech´ a vytvoˇrit certifik´ at od certifikaˇcn´ı autority, pod kterou se nov´ a certifikaˇcn´ı autorita pˇripoj´ı do certifikaˇcn´ıho stromu. Podle obr´ azku !!!slajd 15, lecture 8!!! si CA1 1 nech´ a vytvoˇrit certifik´ at od Croot , CA22 od CA12 , atd. V praxi jsou certifikaˇcn´ı stromy relativnˇe n´ızk´e, protoˇze certifikaˇcn´ı autority vyd´ avaj´ıc´ı certifik´ aty pro dalˇs´ı certifikaˇcn´ı autority obvykle nevyd´ avaj´ı certifik´ aty pro uˇzivatele – coˇz znaˇcnˇe sniˇzuje moˇznost ekonomick´e n´ avratnosti.
ot P
Jestliˇze tedy napˇr. CA23 bude vyd´ avat certifik´ aty pro uˇzivatele, tak ovˇeˇrov´ an´ı certifik´ at˚ u tˇechto uˇzivatel˚ u bude prob´ıhat v n´ asleduj´ıc´ıch kroc´ıch.
TN
1. Je ovˇeˇrena platnost certifik´ atu dan´eho uˇzivatele. Tento krok sest´ av´ a minim´ alnˇe z n´ asleduj´ıc´ıch krok˚ u: (a) najdeme v certifik´ atu jm´eno CA a najdeme pˇr´ısluˇsn´ y certifik´ at CA (v tomto pˇr´ıpadˇe CA23 ) a ovˇeˇr´ıme, ˇze se jedn´ a o certifik´ at CA atu (b) ovˇeˇr´ıme podpis na certifik´ atu pomoc´ı veˇrejn´eho kl´ıˇce CA23 (z certifik´ nalezen´eho v (a) ), kter´ a certifik´ at vydala (c) je ovˇeˇreno jm´eno v certifik´ atu, zda odpov´ıd´ a jm´enu, kter´e je oˇcek´ av´ ano, (d) je ovˇeˇrena ˇcasov´ a platnost certifik´ atu podle u ´daj˚ u v nˇem uloˇzen´ ych, (e) pokud neplat´ı (d), tak se pokus´ıme naj´ıt rozˇs´ıˇren´ı certifik´ atu urˇcuj´ıc´ı dodateˇcn´e obdob´ı, ve kter´em je moˇzn´e certifik´ at ovˇeˇrovat, (f) najdeme odkaz na CRL (obvykle je souˇc´ ast´ı certifik´ atu), z´ısk´ ame jej a ovˇeˇr´ıme, ˇze s´eriov´e ˇc´ıslo ovˇeˇrovan´eho certifik´ atu v nˇem nen´ı, (g) projdeme vˇsechna rozˇs´ıˇren´ı, kter´ a jsou oznaˇcena jako kritick´ a a ovˇeˇr´ıme, ˇze jsou splnˇena.
DR AF
2. Pˇrejdeme k certifik´ atu CA2 3, najdeme certifik´ at nadˇrazen´e CA – CA12 a provedeme stejn´ y postup, jako v pˇredchoz´ım bodu. 3. Pˇrejdeme k certifik´ atu CA12 a opˇet zopakujeme postup z prvn´ıho bodu, tentokr´ at pro certifik´ at CA12 4. Pˇrejdeme k certifik´ atu CAroot , spoˇcteme haˇs veˇrejn´eho kl´ıˇce v nˇem uloˇzen´eho a porovn´ ame jej s haˇs´ı, kterou jsem z´ıskali napˇr. ve smlouvˇe pˇri z´ısk´ an´ı naˇseho certifik´ atu. Tuto haˇs/certifik´ at m˚ uˇzeme po prvn´ım ruˇcn´ım ovˇeˇren´ı naimportovat do lok´ aln´ıho bezpeˇcn´eho u ´loˇziˇstˇe a v dalˇs´ıch ovˇeˇrov´ an´ıch postup automatizovat. Posloupnost certifik´ at˚ u Uˇzivatel:CA23 :CA12 :CAroot naz´ yv´ ame certifikaˇcn´ı cestou. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
73
rea d
ˇejny ´ch kl´ıc ˇ˚ 8.2. Infrastruktury ver u – PKI
roo f
Z´ akladn´ı strukturou v PKI je strom, jak´ ym zp˚ usobem ale umoˇznit ovˇeˇren´ı certifik´ at˚ u, kter´e jsou vyd´ any certifikaˇcn´ımi autoritami v jin´em certifikaˇcn´ım stromˇe? Jedn´ım z pˇr´ıstup˚ u pro ˇreˇsen´ı tohoto projektu je tzv. kˇr´ıˇzov´ a certifikace. C´ılem je umoˇznit ovˇeˇren´ı certifik´ at˚ u, kter´e poch´ azej´ı ze stromu s jinou koˇrenovou autoritou – tj. urˇcit´ y uˇzivatel nem´ a haˇs veˇrejn´eho kl´ıˇce t´eto jin´e koˇrenov´e CA. Na obr. !!kriz. certifikace!!! provedou certifikaˇcn´ı autority CA12 a CA21 vz´ ajemn´e podeps´ an´ı vlastn´ıch veˇrejn´ ych kl´ıˇc˚ u – vytvoˇr´ı nov´e certifik´ aty. Prvn´ı bude vydan´ y CA12 a bude obsahovat veˇrejn´ y kl´ıˇc CA21 , druh´ y bude vydan´ y CA21 a bude obsahovat veˇrejn´ y kl´ıˇc CA12 .
ot P
Pˇredstavme si, ˇze jsme klienty CA31 a budeme se snaˇzit ovˇeˇrit certifik´ at vydan´ y PCS CA23 . Prvn´ı ˇc´ ast procesu bude analogick´ a postupu popsan´emu v´ yˇse. M´ısto haˇse pro CA12 ovˇsem pouˇzijeme certifik´ at vydan´ y pˇri kˇr´ıˇzov´e certifikaci PCS CA21 a pˇri ovˇeˇrov´ an´ı budeme d´ ale pokraˇcovat aˇz do koˇrenov´e autority CA11 . Tak bude certifik´ at u ´spˇeˇsnˇe ovˇeˇren.
TN
Kaˇzd´ a certifikaˇcn´ı autorita (ˇr´ıkejme ted’ chv´ıli pro vˇetˇs´ı pˇresnost Poskytovatel certifikaˇcn´ıch sluˇzeb) se skl´ ad´ a z nˇekolika funkˇcn´ıch blok˚ u. Prvn´ım blokem je samotn´ y poˇc´ıtaˇc, kter´ y vyd´ av´ a certifik´ aty, CRL, OCSP zpr´ avy, apod. Tento blok se fyzicky m˚ uˇze skl´ adat (a obvykle se skl´ ad´ a) z nˇekolika ˇc´ ast´ı, kter´e slouˇz´ı ke generov´ an´ı r˚ uzn´ ych dat. Poˇc´ıtaˇc pro vyd´ av´ an´ı zpr´ av OCSP (on-line certificate status protocol) pro on-line ovˇeˇrov´ an´ı platnosti certifik´ at˚ u je nejm´enˇe bezpeˇcn´ y, protoˇze mus´ı m´ıt on-line spojen´ı s vnˇejˇs´ım svˇetem. Vyd´ av´ an´ı CRL a certifik´ at˚ u je obvykle moˇzn´e prov´ adˇet na stejn´em poˇc´ıtaˇci, protoˇze zde nen´ı vyˇzadov´ an on-line pˇr´ıstup. Pˇresto jsou ˇcasto pouˇz´ıv´ any r˚ uzn´e kl´ıˇce pro podepisov´ an´ı certifik´ at˚ u a CRL.
DR AF
Druhou logickou ˇc´ ast´ı poskytovatele certifikaˇcn´ıch sluˇzeb (PCS) jsou registraˇcn´ı autority (RA), kter´e zajiˇst’uj´ı styk se z´ akazn´ıky. RA pˇrij´ımaj´ı ˇz´ adosti o certifik´ aty, ovˇeˇruj´ı identitu ˇzadatel˚ u a srovn´ avaj´ı ji s identitou zadanou v elektronick´e ˇz´ adosti o certifik´ at, vyb´ıraj´ı poplatky, uzav´ıraj´ı smlouvy, apod. RA po ovˇeˇren´ı elektronick´e ˇz´ adosti o certifik´ at podep´ıˇs´ı danou ˇz´ adost sv´ ym soukrom´ ym kl´ıˇcem a poˇslou na zpracov´ an´ı do CA. T´ım, ˇze registraˇcn´ıch autorit je relativnˇe velk´e mnoˇzstv´ı, nen´ı moˇzn´e zajistit stejnou bezpeˇcnost soukrom´ ych kl´ıˇc˚ u, jako u CA. D´ a se ˇr´ıci, ˇze RA jsou slab´ ym ˇcl´ ankem PKI, protoˇze zajiˇst’uj´ı korektnost vyd´ av´ an´ı certifik´ at˚ u (sice jen pro ˇc´ ast uˇzivatel˚ u), coˇz je kl´ıˇcov´e pro d˚ uvˇeryhodnost PKI jako takov´eho. Posledn´ı ˇc´ ast´ı PCS jsou u ´loˇziˇstˇe certifik´ at˚ u, coˇz jsou veˇrejnˇe pˇr´ıstupn´e servery, kter´e umoˇzn ˇuj´ı uˇzivatel˚ um PKI pˇr´ıstup k certifik´ at˚ um, CRL, pˇr´ıp. dalˇs´ı uˇziteˇcn´e informace (napˇr. text certifikaˇcn´ı politiky). Certifik´ aty mohou b´ yt nˇekolika typ˚ u. Uˇz jsme uvedli z´ akladn´ı rozdˇelen´ı na certifik´aty klient˚ u a certifik´ aty pro vyd´ av´ an´ı certifik´ at˚ u – speci´ aln´ım typem je certifik´ at podepsan´ y kl´ıˇcem, jehoˇz veˇrejn´ a ˇc´ ast je v samotn´em certifik´ atu (tzv self-signed cerDan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´ln´ı podpis Kapitola 8. Digita
rea d
74
tificate), kter´ y si m˚ uˇzeme vytvoˇrit jako uˇzivatel´e pro svou vlastn´ı potˇrebu, nebo jej vytv´ aˇrej´ı koˇrenov´e certifikaˇcn´ı autority. U klient˚ u je moˇzn´e dˇelit certifik´ aty na certifik´ aty uˇzivatel˚ u, nebo server˚ u (napˇr. pro SSL servery). D´ ale je moˇzn´e je dˇelit podle urˇcen´ı – na certifik´ aty pro ˇsifrov´ an´ı, podepisov´ an´ı, neodm´ıtnutelnost odpovˇednosti, . . . . Dalˇs´ı dˇelen´ı je pak napˇr. podle aplikac´ı, ve kter´ ych se m˚ uˇze pouˇz´ıvat.
roo f
Jak v˚ ubec vypad´ a ˇz´ adost o certifik´ at? Jak jiˇz bylo ˇreˇceno, tak existuje nˇekolik form´ at˚ u ˇz´ adost´ı. Zm´ın´ıme se pouze o form´ atu CRMF (certificate request message format). Z´ akladn´ı rozdˇelen´ı zpr´ avy je na PKI hlaviˇcku, PKI tˇelo, ochrana ˇz´ adosti a extra certifik´ aty, kter´e usnadˇ nuj´ı ovˇeˇren´ı certifik´ at˚ u v certifikaˇcn´ı cestˇe. Hlaviˇcka obsahuje verzi pouˇzit´eho form´ atu, identifikaci odes´ılatele ˇz´ adosti a pˇr´ıjemce ˇz´ adosti, ˇcas odesl´ an´ı, identifikace algoritmu pouˇzit´eho pro ochranu certifik´ atu, ˇc´ıslo transakce (pouˇzit´e v pˇr´ıpadˇe spojen´ı nˇekolika zpr´ av, kter´e patˇr´ı k jedn´e instanci protokolu). Posledn´ı dvˇe ˇc´ asti hlaviˇckou jsou n´ ahodnˇe vygenerovan´ a ˇc´ısla odes´ılatele a pˇr´ıjemce.
ot P
Hlavn´ı ˇc´ ast zpr´ avy – tˇelo – je sloˇzeno ze tˇr´ı ˇc´ ast´ı. Je to samotn´ a ˇz´ adost o certifik´ at, kter´ a se skl´ ad´ a z jednotliv´ ych datov´ ych poloˇzek, kter´e maj´ı b´ yt souˇc´ ast´ı vydan´eho certifik´ atu. Druhou ˇc´ ast´ı je d˚ ukaz vlastnictv´ı soukrom´eho kl´ıˇce k veˇrejn´emu kl´ıˇci, pro kter´ y ˇz´ ad´ ame certifik´ at. Tato ˇc´ ast m´ a zabr´ anit nˇekter´ ym u ´tok˚ um, kter´e vyuˇz´ıvali existence certifik´ atu na veˇrejn´ y kl´ıˇc, ke kter´emu nemˇeli pˇr´ısluˇsn´ y soukrom´ y kl´ıˇc.
TN
Na d˚ ukaz uk´ azky kryptografick´ ych zpr´ av zabezpeˇcen´ ych kryptografi´ı s veˇrejn´ ym kl´ıˇcem si jeˇstˇe kr´ atce pop´ıˇseme form´ at podepsan´e zpr´ avy. Zpr´ ava je rozdˇelena na dvˇe logick´e ˇc´ asti – typ obsahu a obsah. Typ obsahu urˇcuje, o jak´ y typ zpr´ avy se jedn´ a (ˇcist´ a data, podepsan´ a, ˇsifrovan´ a, s MACem, . . . ).
DR AF
Obsah se skl´ ad´ a opˇet z verze form´ atu, charakteristik pouˇzit´ ych kryptografick´ ych algoritm˚ u, mnoˇziny certifik´ at˚ u a CRL pro usnadnˇen´ı ovˇeˇrov´ an´ı certifikaˇcn´ı cesty a informace o tˇech, kdo dokument podepsali. Informace o kaˇzd´em podepisuj´ıc´ım obsahuje jeho jm´eno, popis algoritmu pro podpis, dalˇs´ı atributy popisuj´ıc´ı podpis a samozˇrejmˇe samotn´ y podpis.
Lok´ aln´ı u ´ loˇ ziˇ stˇ e certifik´ at˚ u
Pro efektivn´ı pr´ aci s certifik´ aty je vhodn´e uchov´ avat jednou ovˇeˇren´e certifik´ aty v lok´ aln´ı u ´loˇziˇsti. To sam´e samozˇrejmˇe plat´ı pro certifik´ aty koˇrenov´ ych autorit. Jelikoˇz certifik´ aty jsou nejˇcastˇeji pouˇz´ıv´ any pro bezpeˇcn´ y pˇr´ıstup k www str´ ank´ am, tak v´ yrobci prohl´ıˇzeˇc˚ u (a operaˇcn´ıch syst´em˚ u) n´ am serv´ıruj´ı z´ akladn´ı mnoˇzinu ovˇeˇren´ ych koˇrenov´ ych certifik´ at˚ u jako souˇc´ ast instalace pˇr´ısluˇsn´eho software. Tuto mnoˇzinu m˚ uˇzeme sami rozˇsiˇrovat jak importem dalˇs´ıch koˇrenov´ ych certifik´ at˚ u, tak i importem certifik´ at˚ u, kter´ ym sami d˚ uvˇeˇrujeme. A to jak certifikaˇcn´ıch autorit, tak jednotliv´ ych uˇzivatel˚ u. Ten posledn´ı pˇr´ıpad ovˇsem vyˇzaduje znaˇcnou m´ıru vlastn´ı iniciativy a Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
75
rea d
ˇejny ´ch kl´ıc ˇ˚ 8.2. Infrastruktury ver u – PKI
uˇzivatel se s´ am st´ av´ a garantem d˚ uvˇeryhodnosti j´ım naimportovan´ ych certifik´ at˚ u.
8.2.4
Platnost certifik´ at˚ u
roo f
D˚ uleˇzit´ ym faktorem pˇri pouˇz´ıv´ an´ı certifik´ at˚ u je urˇcen´ı jejich ˇcasov´e platnosti. Pokud budeme pouˇz´ıvat data s delˇs´ı ˇcasovou platnost´ı, tak existuj´ı dva z´ akladn´ı mechanismy pro uˇcen´ı platnosti certifik´ atu. 1. Explicitnˇe uveden´ y ˇcasov´ y interval platnosti, kter´ y je pˇr´ımo souˇc´ ast´ı certifik´ atu. Tato platnost je d´ ana dvˇema ˇcasov´ ymi u ´daji – poˇc´ atkem platnosti a koncem platnosti – kter´e jsou uvedeny s pˇresnost´ı na sekundy a s urˇcen´ ym ˇcasov´ ym p´ asmem.
ot P
2. Seznam certifik´ at˚ u, kter´e jsou podle prvn´ıho bodu platn´e, ale kter´e byly z nˇejak´eho d˚ uvodu revokov´ any – CRL. CRL pak obsahuje pro kaˇzd´ y certifik´ at v nˇem uveden´ y nov´ y okamˇzik ukonˇcen´ı jeho platnosti. Z hlediska zp˚ usobu zjiˇstˇen´ı ˇcasov´e platnosti certifik´ atu existuj´ı dva pˇr´ıstupy:
TN
• konservativn´ı – v tomto pˇr´ıpadˇe ovˇeˇrovatel ˇz´ ad´ a o on-line ovˇeˇren´ı platnosti certifik´ atu pokaˇzd´e, kdyˇz ovˇeˇruje podpis. Certifik´ at je implicitnˇe neplatn´ y – a to aˇz do okamˇziku, kdy je z´ısk´ an explicitn´ı d˚ ukaz jeho platnosti. Nejˇcastˇeji pouˇz´ıvan´ ym protokolem je zde OCSP protokol; • liber´ aln´ı – tento pˇr´ıstup vyuˇz´ıv´ a kombinaci obsahu certifik´ atu a CRL pro urˇcen´ı platnosti certifik´ atu. Jin´ ymi slovy – certifik´ at je implicitnˇe platn´ y a tento pˇredpoklad konˇc´ı aˇz ve chv´ıli, kdy se objev´ı v CRL, nebo vyprˇsela jeho p˚ uvodn´ı ˇcasov´ a platnost.
DR AF
Konzervativn´ı pˇr´ıstup je znaˇcnˇe n´ aroˇcn´ y na komunikaci, v´ ykon zaˇr´ızen´ı produkuj´ıc´ı d˚ ukazy platnosti certifik´ at˚ u na stranˇe CA, ale i zajiˇstˇen´ı bezpeˇcnosti tohoto zaˇr´ızen´ı. Je proto vhodn´ y jen v pˇr´ıpadech, kdy je rychl´e ovˇeˇren´ı platnosti nutn´e pro eliminaci z´ avaˇzn´ ych rizik (existence rychl´ ych transakc´ı, reprezentuj´ıc´ıch velk´e hodnoty). Probl´em revokace je jedn´ım ze dvou z´ akladn´ıch probl´em˚ u, kter´e urˇcuj´ı sloˇzitost PKI syst´em˚ u. T´ım druh´ ym je nutnost prok´ azat vlastnictv´ı veˇrejn´eho kl´ıˇce.
8.2.5
Probl´ emy X.509
Cel´ a technologie zaloˇzen´ a na standardu X.509 je zat´ıˇzena celou ˇradou probl´em˚ u, kter´ a je dan´ a snahou o vytvoˇren´ı hierarchick´eho syst´emu s jedn´ım stˇredem – koˇrenovou certifikaˇcn´ı autoritou. C´ılem pˇr´ısluˇsn´ ych PKI je vytvoˇrit elektronick´ y syst´em, Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´ln´ı podpis Kapitola 8. Digita
rea d
76
kter´ y by automatizoval pr´ aci s certifik´ aty veˇrejn´ ych kl´ıˇc˚ u. Takov´ y syst´em se ale mus´ı vypoˇr´ adat s nutnost´ı komunikace s velk´ ym mnoˇzstv´ım uˇzivatel˚ u, coˇz do znaˇcn´e m´ıry pˇretˇeˇzuje koncept s jedn´ım d˚ uvˇeryhodn´ ym centrem. Z d˚ uvod˚ u pˇr´ıstupnosti syst´emu pro uˇzivatele jsou vytv´ aˇreny dalˇs´ı lok´ aln´ı centra, kter´ a nemohou b´ yt tak dobˇre zabezpeˇcena jako koˇrenov´ a autorita, ale pˇritom mohou bezpeˇcnost a d˚ uvˇeru v PKI syst´em jako celek.
roo f
Hlavn´ım probl´emem PKI je sloˇzitost. Ta je d´ ana nˇekolika faktory. Jednak je to faktor implementaˇcn´ı sloˇzitosti algoritm˚ u a kryptografick´ ych mechanism˚ u. PKI syst´em pouˇz´ıv´ a velk´e mnoˇzstv´ı kryptografick´ ych algoritm˚ u a obrovsk´e mnoˇzstv´ı r˚ uzn´ ych protokol˚ u. Je sice moˇzn´e sn´ıˇzit mnoˇzstv´ı protokol˚ u, ale cenou je zv´ yˇsen´ı sloˇzitosti jednotliv´ ych zpr´ av. D´ıky nutnosti maxim´ aln´ıho zabezpeˇcen´ı certifikaˇcn´ıch a registraˇcn´ıch autorit je nutn´e prov´est verifikaci implementac´ı, coˇz pˇri rozsahu nutn´eho k´ odu opˇet nen´ı trivi´ aln´ı z´ aleˇzitost´ı.
TN
ot P
Druh´ ym probl´emem je technologie. Jiˇz jsme si popsali probl´em revokace certifik´ at˚ u. Implicitnˇe pˇredpokl´ ad´ ame, ˇze certifik´ aty plat´ı a je na uˇzivatel´ıch, aby si pravidelnˇe aktualizovali informace o platnosti certifik´ at˚ u. Jedn´ a ze o tzv. pull model. V tomto modelu se klienti mus´ı starat o z´ısk´ an´ı informac´ı o platnosti kl´ıˇc˚ u/certifik´ at˚ u a to pravidelnˇe a pokud moˇzno v co nejkratˇs´ıch intervalech – i kdyˇz k pˇredˇcasn´emu zneplatnˇen´ı certifik´ atu v˚ ubec nemus´ı doj´ıt. Opaˇcn´ ym modelem je push model, kdy vlastn´ık kl´ıˇce, nebo ten kdo vytvoˇril certifik´ at s´ am iniciuje propagaci informace o zneplatnˇen´ı kl´ıˇce/certifik´ atu a to ve chv´ıli, kdy je to relevantn´ı. Tento model je mnohem m´enˇe n´ aroˇcnˇejˇs´ı na komunikaˇcn´ı prostˇredky a z´ aroveˇ n minimalizuje ˇcasov´e prodlen´ı mezi revokaci kl´ıˇce/certifik´ atu a rozˇs´ıˇren´ım informace o t´eto ud´ alosti. Nutn´ ym pˇredpokladem ovˇsem je, ˇze pˇr´ısluˇsn´ a entita je schopn´ a adresovat vˇsechny uˇzivatele jeho kl´ıˇce/certifik´ atu, coˇz nen´ı pˇr´ıpad PKI podle X.509. Je nutn´e pouˇz´ıvat bezpeˇcn´ a zaˇr´ızen´ı (HSM), kter´e opˇet zvyˇsuj´ı technologickou sloˇzitost syst´emu. Mnoho dalˇs´ıch technologick´ ych probl´em˚ u je spojeno s podstatou standardu X.509, kter´ ym se nen´ı moˇzn´e vyhnout.
DR AF
Administrace PKI je opˇet samostatn´ ym zdrojem potenci´ aln´ıch probl´em˚ u, protoˇze spr´ ava kl´ıˇc˚ u v PKI je velmi sloˇzit´ a a je tˇreba udrˇzet procedury pro bezpeˇcnou pr´ aci s kl´ıˇci a dalˇs´ımi citliv´ ymi u ´daji. Je tˇreba tak´e definovat a udrˇzovat administrativn´ı opatˇren´ı pˇri pr´ aci se zaˇr´ızen´ımi, kter´ a obsahuj´ı soukrom´e kl´ıˇce registraˇcn´ıch autorit a certifikaˇcn´ıch autorit, kter´e determinuj´ı bezpeˇcnost PKI syst´emu. Posledn´ım okruhem probl´em˚ u jsou vˇeci, kter´e s podstatou PKI souvis´ı jen okrajovˇe – napˇr. soukrom´ı. Centralizovan´e technologie jako PKI poruˇsuj´ı nˇekter´e obecn´e bezpeˇcnostn´ı poˇzadavky na zajiˇstˇen´ı soukrom´ı uˇzivatel˚ u t´ım, ˇze veˇsker´e z´ aznamy jsou centralizov´ any a umoˇzn ˇuj´ı tak pˇr´ıstup k dat˚ um velk´eho mnoˇzstv´ı uˇzivatel˚ u na jednom m´ıstˇe.
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
77
rea d
ˇejny ´ch kl´ıc ˇ˚ 8.2. Infrastruktury ver u – PKI
Procesem, kter´ y je jedn´ım z nejproblematiˇctˇejˇs´ıch v PKI je registrace. Registrace uˇzivatel˚ u a zpracov´ an´ı jejich ˇz´ adost´ı o certifik´ at mus´ı b´ yt fyzicky na lehce dostupn´em m´ıstˇe. Tento poˇzadavek implikuje nutnost existence des´ıtek registraˇcn´ıch m´ıst, pokud se napˇr. jedn´ a o PKI funguj´ıc´ı v r´ amci cel´eho st´ atu. ˇ Rekli jsme si, ˇze bezpeˇcnost syst´emu PKI je zaloˇzena na bezpeˇcnosti soukrom´ ych
roo f
kl´ıˇc˚ u certifikaˇcn´ı autority, ale tak´e vˇsech registraˇcn´ıch autorit. Nutn´ ym d˚ usledkem velk´eho mnoˇzstv´ı RA je, ˇze bezpeˇcnost jejich soukrom´ıch kl´ıˇc˚ u ani z daleka nedosahuje bezpeˇcnosti kl´ıˇc˚ u CA – st´ avaj´ı se tak nejslabˇs´ım ˇcl´ ankem, kter´ y urˇcuje bezpeˇcnost PKI. Za registraci je zodpovˇedn´ yu ´ˇredn´ık a takov´ ych u ´ˇredn´ık˚ u jsou des´ıtky. Zkuste si sami odpovˇedˇet, jak obt´ıˇzn´e by bylo podplacen´ı u ´ˇredn´ıka pro pˇrehl´ednut´ı nˇejak´eho detailu napˇr. pˇri ovˇeˇrov´ an´ı identity ˇzadatele o certifik´ at.
8.2.6
Pˇ r´ıpadov´ e studie
ot P
M˚ uˇzeme sice tvrdit, ˇze d˚ uleˇzitost RA je mnohem niˇzˇs´ı, neˇz d˚ uleˇzitost CA, ale jen do urˇcit´e m´ıry – z´ aleˇz´ı na tom, jak´ y c´ıl m´ a pˇr´ıpadn´ y u ´toˇcn´ık. Pro mˇe osobnˇe je velmi tˇeˇzk´e si pˇredstavit motivaci u ´toˇcn´ıka, kter´ y by chtˇel zniˇcit konkr´etn´ı PKI jako celek, ale velmi snadno si pˇredstav´ım u ´toˇcn´ıka, kter´ y by chtˇel m´ıt certifik´ aty nˇekolika lid´ı, za kter´e by se mohl vyd´ avat.
TN
V t´eto ˇc´ asti si uvedeme dvˇe mal´e pˇr´ıpadov´e studie spr´ avy kl´ıˇc˚ u. Autentizace bankovn´ıch klient˚ u
Autentizace klient˚ u v˚ uˇci bance je typickou situac´ı 1:n – velk´e mnoˇzstv´ı entit komunikuje s jednou entitou uprostˇred. Jestliˇze budeme cht´ıt zav´est spr´ avu kl´ıˇc˚ u, tak m´ ame n´ asleduj´ıc´ı dvˇe moˇznosti.
DR AF
ˇ sen´ı 1 Banka vyd´ Reˇ a kaˇzd´emu sv´emu klientovi autentizaˇcn´ı kalkul´ ator. Tento kalkul´ ator je inicializov´ an tajn´ ym kl´ıˇcem, nebo sem´ınkem pro gener´ ator pseudon´ ahodn´ ych dat, kter´e bude uloˇzeno jak v bance, tak v pˇr´ısluˇsn´em kalkul´ atoru. Autentizace prob´ıh´ a na z´ akladˇe jednor´ azov´eho hesla, kter´e je generov´ ano pˇresnˇe definovan´ ym algoritmem v kalkul´ atoru a stejnˇe tak v bance. Toto heslo je jednor´ azov´e a m˚ uˇze m´ıt nav´ıc omezenu i ˇcasovou platnost – v tomto pˇr´ıpadˇe jsou banka a kalkul´ ator ˇcasovˇe synchronizov´ any. V tomto ˇreˇsen´ı pouˇz´ıv´ ame jen symetrickou kryptografii, cel´ y syst´em je velmi jednoduch´ y, uˇzivatel potˇrebuje klasick´ y poˇc´ıtaˇc bez jak´ ychkoliv u ´prav a poskytnut´ y autentizaˇcn´ı kalkul´ ator. ˇ sen´ı 2 Banka se rozhodne pro pouˇzit´ı certifik´ Reˇ at˚ u. Uˇzivatel, jestliˇze chce pouˇz´ıvat veˇrejnou kryptografii pro pˇr´ıstup k bankovn´ım sluˇzb´ am mus´ı banku navˇst´ıvit alespoˇ n dvakr´ at. Poˇcet n´ avˇstˇev je moˇzn´e sn´ıˇzit na jednu, ale jedn´ım z efekt˚ u m˚ uˇze Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´ln´ı podpis Kapitola 8. Digita
rea d
78
roo f
b´ yt, ˇze PIN k u ´loˇziˇsti certifik´ atu je prozrazen pˇr´ısluˇsn´emu u ´ˇredn´ıkovi banky, aby mohl prov´est pˇr´ısluˇsn´e inicializaˇcn´ı procesy. Rozsah kryptografick´ ych algoritm˚ u, kter´e jsou pouˇz´ıv´ any je znaˇcnˇe rozs´ ahl´ y. Aby bylo dosaˇzeno bezpeˇcnosti srovnateln´e s pˇredchoz´ım ˇreˇsen´ım, mus´ı b´ yt certifik´ at a soukrom´ y kl´ıˇc z´ akazn´ıka uloˇzen v ˇcipov´e kartˇe. To implikuje nutnost instalace speci´ aln´ıho software a ovladaˇc˚ u pro pˇr´ısluˇsn´e ˇcteˇcky ˇcipov´ ych karet.
Druh´ ym sc´en´ aˇrem je situace, kdy existuje komunikace n:m – neexistuje ˇz´ adn´e siln´e centrum a uˇzivatel´e komunikuj´ı v podstatˇe kaˇzd´ y s kaˇzd´ ym. Pˇri pouˇzit´ı pouze symetrick´e kryptografie se sloˇzitost syst´emu znaˇcnˇe zv´ yˇs´ı – napˇr. VISA syst´em. V tomto pˇr´ıpadˇe m˚ uˇze PKI ˇreˇsit probl´em spr´ avy kl´ıˇc˚ u za urˇcit´ ych pˇredpoklad˚ u. Existuje jak´esi administrativn´ı centrum s alespoˇ n omezenou dostupnost´ı a transakce nejsou ˇcasovˇe kritick´e.
Soukrom´ y kl´ıˇ c
ot P
8.2.7
Soukrom´ y kl´ıˇc, a speci´ alnˇe soukrom´ y kl´ıˇc urˇcen´ y pro podepisov´ an´ı dat je velmi unik´ atn´ı z hlediska zach´ azen´ı. U ostatn´ıch kl´ıˇc˚ u m˚ uˇzeme minim´ alnˇe uvaˇzovat o zaveden´ı key-escrow – coˇz je mechanismus, kdy je kl´ıˇc uˇzivatel˚ u uloˇzen u nˇejak´e d˚ uvˇeryhodn´e tˇret´ı strany, kter´ a se k nˇemu m˚ uˇze dostat za splnˇen´ı speci´ aln´ıch podm´ınek. Takovou podm´ınkou m˚ uˇze b´ yt napˇr. pˇr´ıkaz soudu k odposlechu ˇsifrovan´e komunikace. Pot´e m˚ uˇze tato tˇret´ı strana odˇsifrovat vˇse, co uˇzivatel zaˇsifroval.
TN
U soukrom´eho kl´ıˇce pro podepisov´ an´ı toto neplat´ı, protoˇze se j´ım ˇz´ adn´ a data neˇsifruj´ı. Vytvoˇren´e podpisy je moˇzn´e ovˇeˇrit pomoc´ı veˇrejnˇe zn´ am´eho veˇrejn´eho kl´ıˇce a syst´emem key-escrow bychom tady nic nez´ıskali – snad kromˇe moˇznost´ı impersonace dan´eho uˇzivatele (tˇret´ı strana by mohla podepisovat m´ısto nˇeho). Jestliˇze se vr´ at´ıme k PKI, tak ale existuje nˇekolik zaj´ımav´ ych ot´ azek. Co by se mˇelo ud´at,
DR AF
• . . . kdyˇz se soukrom´ y kl´ıˇc ztrat´ı? Napˇr. se n´ am podaˇr´ı zform´ atovat disk, na kter´em m´ ame kl´ıˇc uloˇzen, nebo ztrat´ıme pˇr´ısluˇsnou ˇcipovou kartu. V t´eto chv´ıli nem˚ uˇzeme kl´ıˇc pouˇz´ıt napˇr. k podeps´ an´ı ˇz´ adosti o revokaci certifik´ atu. Je tedy tˇreba, aby existoval jin´ y mechanismus zaloˇzen´ y napˇr. na jednor´ azov´em hesle. To m´ a samozˇrejmˇe implikace i pro pˇr´ısluˇsnou funkˇcnost PCS – napˇr. existence hotline, kam je moˇzn´e heslo nadiktovat. • . . . kdyˇz je kl´ıˇc kompromitov´ an? Prvn´ı ot´ azkou je, kdy v˚ ubec k t´eto situaci dojde. Pokud u ´toˇcn´ık nepˇrevr´ at´ı kancel´ aˇr vzh˚ uru nohama, tak prvn´ım probl´emem je v˚ ubec zjistit, ˇze se nˇekdo dostal napˇr. do pevn´eho disku poˇc´ıtaˇce na kter´em je kl´ıˇc uloˇzen. Druh´ ym krokem je uvˇedomˇen´ı PCS o tom, ˇze je kl´ıˇc pravdˇepodobnˇe kompromitov´ an chceme revokovat pˇr´ısluˇsn´ y certifik´ at. PCS pak mus´ı aktualizovat Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
79
rea d
ˇejny ´ch kl´ıc ˇ˚ 8.2. Infrastruktury ver u – PKI
svou datab´ azi vydan´ ych certifik´ at˚ u a vydat nov´ y CRL (obvykle se vyd´ av´ a jednou za 24 hodin). No a nakonec by si vˇsichni uˇzivatel˚ u mˇeli st´ ahnout CRL a vylouˇcit pˇr´ısluˇsn´ y certifik´ at ze sv´ ych lok´ aln´ıch u ´loˇziˇst’. Kdyˇz se to vezme kolem a kolem, tak to m˚ uˇze b´ yt docela dlouh´ a doba.
roo f
• . . . zmˇen´ım zamˇestnavatele. Tady to je podobn´ y probl´em jako v pˇredchoz´ım bodˇe – pokud m´ ame certifik´ at vydan´ y t´ımto zamˇestnavatelem. Napˇr. zamˇestnanci Microsoftu mohou ˇz´ adat o podeps´ an´ı k´ odu od PCS Verisign. Takˇze vˇcasn´ a revokace by mˇela zabr´ anit zneuˇzit´ı kl´ıˇc˚ u vyhozen´eho zamˇestnance. • . . . je deponov´ an, uloˇzen u tˇret´ı strany - napˇr. z d˚ uvodu z´ alohov´ an´ı kl´ıˇc˚ u. V t´eto chv´ıli se m˚ uˇzeme zaˇc´ıt pt´ at, zda podpis dan´ ym soukrom´ ym kl´ıˇcem opravdu zajiˇst’uje neodm´ıtnutelnost odpovˇednosti.
ot P
• . . . je poˇzadov´ an soudem? Mohlo by k tomu v˚ ubec doj´ıt? Nemˇel by b´ yt kl´ıˇc vyjmut napˇr. z povolen´ı k domovn´ım prohl´ıdk´ am? • . . . jsem mimo kancel´ aˇr a nˇekdo z´ısk´ a pˇr´ıstup k m´emu soukrom´emu kl´ıˇci a j´ a to nezjist´ım tˇreba po dobu 3-4 t´ ydn˚ u? • ...
Where to go . . .
TN
8.2.8
Z hlediska technologie se m˚ uˇzeme celkem legitimnˇe pt´ at, kam d´ al. Jestli je PKI nad X.509 tou spr´ avnou cestou. Prvn´ı odpovˇed’ je jasn´e ano – m´ısta, kde se nyn´ı nejv´ıce pouˇz´ıv´ a vyˇzaduj´ı existenci hierarchie (napˇr. st´ atn´ı u ´ˇrady). Existuje relativnˇe velk´e mnoˇzstv´ı syst´em˚ u a PKI je pouˇz´ıv´ ano relativnˇe hodnˇe. Na druhou stranu nikdy nedoˇslo k situaci, kter´ a by umoˇznila vytvoˇren´ı certifikaˇcn´ıho stromu, kter´ y by byl, ˇreknˇeme glob´ aln´ı.
DR AF
Z hlediska ˇcistˇe technologick´eho uˇz odpovˇed’ tak jist´ a nen´ı a pro pouˇz´ıv´ an´ı obyˇcejn´ ym uˇzivatelem existuj´ı syst´emy, kter´e jsou v´ yhodnˇejˇs´ı. At’ uˇz by to bylo pouˇz´ıv´ an´ı jin´e formy jmen (SPKI/SDSI), nebo vytvoˇren´ı pavuˇciny d˚ uvˇery, kdy je kaˇzd´ y uˇzivatel odpovˇedn´ y za zajiˇstˇen´ı bezpeˇcnosti sv´e komunikace. Doˇslo tak´e k podstatn´e zmˇenˇe infrastruktury a Internet umoˇzn ˇuje on-line spojen´ı uˇzivatel˚ u t´emˇeˇr 24/7. Coˇz d´ av´ a moˇznost pouˇz´ıvat efektivnˇejˇs´ı mechanismy napˇr. pro revokaci certifik´ at˚ u, neˇz je CRL. Z m´eho pohledu je mechanismus CRL zastaral´ ya potˇrebuje bud’ d˚ ukladnou revizi, nebo by mˇel b´ yt nahrazen nˇeˇc´ım u ´plnˇe jin´ ym. Kˇr´ıˇzov´ a certifikace, tak jak byla pops´ ana v´ yˇse nikdy nedos´ ahla efektivity, kter´ a se od n´ı oˇcek´ avala a certifikaˇcn´ı stromy jsou st´ ale izolovan´e. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´ln´ı podpis Kapitola 8. Digita
rea d
80
DR AF
TN
ot P
roo f
Je d˚ uleˇzit´e si uvˇedomit, ˇze nen´ı naˇs´ım c´ılem pouˇz´ıvat certifik´ aty, ale z´ıskat aktu´ aln´ı a spr´ avn´e informace o aktu´ aln´ım stavu. Certifik´ aty jsou pouze jedn´ım ze zp˚ usob˚ u, jak toho doc´ılit.
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
rea d
81
roo f
Kapitola 9
Z´ akon o elektronick´ em podpisu
ot P
ˇ a republika byla jednou z prvn´ıch Evropsk´ Cesk´ ych zem´ı pˇri schvalov´ an´ı z´ akona o elektronick´em podpisu. Hlavn´ım c´ılem z´ akona je umoˇznit pouˇz´ıvat digit´ aln´ı podpis ve st´ atn´ı spr´ avˇe a v komunikaci obˇcan˚ u a pr´ avnick´ ych subjekt˚ u se statn´ı spr´ avou. Digit´ aln´ı podpis je samozˇrejmˇe moˇzn´e pouˇz´ıvat ve vztaz´ıch mezi soukrom´ ymi subjekty bez z´ akona na z´ akladnˇe vz´ ajemn´ ych smluv. Pˇr´ıkladem m˚ uˇze b´ yt napˇr. pouˇz´ıv´ an´ı digit´ aln´ıho podpisu pro pˇr´ıstup k internetov´emu bankovnictv´ı.
TN
Smˇernice 1999/93/EC Evropsk´eho parlamentu a Rady EU, kter´ a definuje z´ akladn´ı r´ amec pro regulaci pouˇz´ıv´ an´ı elektronick´eho podpisu je z´ akladem ˇcesk´eho z´ akona o ˇ z´ elektronick´em podpisu (d´ ale ZEP). V souˇcasn´e dobˇe existuje v CR akon 227/2000 o elektronick´em podpisu, kter´ y byl v roce 2004 novelizov´ an – z´ akon 440/2004. Nejvˇetˇs´ı zmˇenou je pravdˇepodobnˇe zaveden´ı pojmu ˇcasov´e raz´ıtko. Zaj´ımav´e je i zaveden´ı pojm˚ u syst´emov´ y certifik´ at a elektronick´ a znaˇcka, kter´e maj´ı podobn´e vlastnosti jako certifik´ at a zaruˇcen´ y podpis, ale podpisy nejsou vyd´ av´ any pod kontrolou vlastn´ıka certifik´ atu, ale automatizovan´ ym zp˚ usobem – to je potˇreba pˇri pouˇzit´ı na r˚ uzn´ ych serverech (www apod.).
DR AF
Pro praktick´e pouˇzit´ı ZEPu byla vyd´ ana vyhl´ aˇska 336/2001, kter´ a definuje konkr´etn´ı poˇzadavky na bezpeˇcnost zaˇr´ızen´ı pro vytv´ aˇren´ı a ovˇeˇrov´ an´ı podpis˚ u a poˇzadavky na poskytovatele certifikaˇcn´ıch sluˇzeb. Drobn´ ymi pˇredpisy, kter´e se ZEPem jeˇstˇe souvis´ı jsou Naˇr´ızen´ı vl´ ady prov´ adˇej´ıc´ı ZEP (495/2004 Sb) a Vyhl´ aˇska o podateln´ ach ˇc. 496/2004 Sb. Zaˇcneme tˇemito menˇs´ımi pˇredpisy, at’ se m˚ uˇzeme plnˇe vˇenovat ZEPu a jeho prov´ adˇec´ı vyhl´ aˇsce. Naˇr´ızen´ı vl´ ady definuje poˇzadavky na u ´ˇrad (rozumˇejme statn´ı u ´ˇrad), pokud je povinnen zpracov´ avat uzn´ avan´e elektronick´e podpisy. V t´eto situaci je u ´ˇrad povinen vytvoˇrit podatelnu, kter´ a bude schopna zpracov´ avat dokumenty opaˇren´e elektronick´ ym podpisem. Je konkr´etnˇe ˇreˇceno, ˇze se m´ a koupit poˇc´ıtaˇc, pˇr´ısluˇsn´e programy, . . . . Souˇcasnˇe je povinen nechat vystavit pro zamˇestnance kvalifikovan´e certifik´ aty jejich veˇrejn´ ych kl´ıˇc˚ u. Jak je vidˇet, tak nˇekter´e
rea d
´kon o elektronick´ Kapitola 9. Za em podpisu
82
z´ aleˇzitosti jsou ˇreˇseny velice podrobnˇe.
Z hlediska bezpeˇcnostn´ıho inˇzen´ yra ovˇsem naprosto chyb´ı instrukce, co dˇelat jestliˇze se objev´ı bezpeˇcnostn´ı probl´emy, nebo jak takov´ ym potenci´ aln´ım probl´em˚ um pˇredch´ azet. Takˇze ˇreˇsen´ı bezpeˇcnostn´ıch incident˚ u, nebo i napaden´ı bˇeˇzn´ ym virem nen´ı v˚ ubec upraveno.
ot P
roo f
Druh´ ym mal´ ym pˇredpisem jsou elektronick´e podatelny. Tyto podatelny maj´ı jedin´ yu ´kol – pˇrij´ımat a doruˇcovat elektronick´e datov´e zpr´ avy. Pˇrijat´e zpr´ avy jsou uloˇzeny v u ´loˇziˇsti pˇresnˇe v tom form´ atu, jak byly pˇrijaty. Souˇcasnˇe se vytv´ aˇr´ı z´ aznam o pˇrijet´ı zpr´ avy (ˇcas s pˇresnost´ı na sekundy) a odesilateli zpr´ avy je odesl´ ano potvrzen´ı o pˇrijet´ı. Podatelna je tak´e schopna ovˇeˇrovat platnost zaruˇcen´eho elektronick´eho podpisu. Specialitou je zde definice jednoznaˇcn´eho identifik´ atoru osoby – desetim´ıstn´e ˇc´ıslo spravovan´e u ´stˇredn´ım org´ anem st´ atn´ı spr´ avy. Toto ˇc´ıslo nesm´ı b´ yt osobn´ım u ´dajem . . . Toto je samo o sobˇe zaj´ımav´ a vˇeta, protoˇze osobn´ım u ´dajem je podle pˇr´ısluˇsn´eho z´ akona: §4, odst a) osobn´ım u ´dajem jak´ ykoliv u ´daj t´ ykaj´ıc´ı se urˇcen´eho nebo urˇciteln´eho subjektu u ´daj˚ u. Subjekt u ´daj˚ u se povaˇzuje za urˇcen´ y nebo urˇciteln´ y, jestliˇze lze na z´ akladˇe jednoho ˇci v´ıce osobn´ıch u ´daj˚ u pˇr´ımo ˇci nepˇr´ımo zjistit jeho identitu. . . .
Z´ akon o elektronick´ em podpisu
TN
9.1
Jak jsme jiˇz uvedli, ZEP je zaloˇzen na smˇernici EU o elektronick´em podpisu. ZEP tedy vytv´ aˇr´ı dvˇe z´ akladn´ı u ´rovnˇe podpisu. Prvn´ı u ´rovn´ı je elektronick´ y podpis, jenˇz mus´ı b´ yt logicky spjat se zpr´ avou a tak´e mus´ı umoˇznit ovˇeˇren´ı totoˇznosti odes´ılatele.
DR AF
Takov´ ym podpisem m˚ uˇze b´ yt napˇr. i prvn´ı p´ısmeno jm´ena na konci emailu. Je to tedy hodnˇe obecn´ a definice a pro praktick´e pouˇzit´ı naprosto bezcenn´ a. Mnohem zaj´ımavˇejˇs´ı je ovˇsem druh´ au ´roveˇ n – zaruˇcen´ y elektronick´ y podpis, kter´emu budeme tak´e ˇr´ıkat digit´ aln´ı podpis (proto pouˇzit´ı tohoto souslov´ı na zaˇc´ atku t´eto kapitoli). Elektronick´ y podpis, kter´ y m´ a b´ yt zaruˇcen´ ym, mus´ı splˇ novat ˇctyˇri podm´ınky, kter´e maj´ı zajistit dostateˇcnou pr˚ ukaznost podpisu. Zaruˇcen´ y elektronick´ y podpis 1. je jednoznaˇcnˇe spojen s podepisuj´ıc´ı osobou – nen´ı tedy moˇzn´e, aby nˇekdo jin´ y byl schopen vytvoˇrit podpis urˇcit´e osoby, spojen´ı podpis-podepisuj´ıc´ı osoby je bez pochybnost´ı; 2. umoˇzn ˇuje identifikovat osobu ve vztahu k datov´e zpr´ avˇe – jestliˇze prvn´ı poˇzadavek definoval spojen´ı, tak na jeho z´ akladˇe je moˇzn´e prov´est identifikaci osoby, kter´ a je ve vztahu s danou zpr´ avou; Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
83
rea d
´kon o elektronick´ 9.1. Za em podpisu
3. je vytvoˇren a pˇripojen prostˇredky pod v´ yhradn´ı spr´ avou podepisuj´ıc´ıho – tento poˇzadavek se snaˇz´ı pˇrekonat hranici mezi digit´ aln´ım a fyzick´ ym svˇetem, pro podepisov´ an´ı je tˇreba pouˇz´ıvat speci´ aln´ı prostˇredky a je tedy tˇreba zajistit, ˇze tyto prostˇredky nepouˇz´ıv´ a nikdo jin´ y;
roo f
4. je pˇripojen tak, ˇze to umoˇzn ˇuje zjistit n´ aslednou zmˇenu zpr´ avy – posledn´ı vlastnost m´ a zaruˇcit, ˇze nejen podpis samotn´ y splˇ nuje nˇejak´e vlastnosti, ale ˇze zpr´ ava, kter´ a k podpisu patˇr´ı je nemˇenn´ a a pokud dojde k jej´ı zmˇenˇe, je moˇzn´e tento fakt odhalit.
Jedn´ım z velk´ ych probl´em˚ u elektronick´eho podpisu je jeho abstraktnost a nutnost pouˇz´ıvat speci´ aln´ı prostˇredky jak pro podepisov´ an´ı, tak i pro ovˇeˇrov´ an´ı podpisu. Tento mezistupeˇ n pˇrin´ aˇs´ı obrovsk´e probl´emy jak v definici poˇzadavk˚ u na podpis, tak i zajiˇstˇen´ı bezpeˇcnosti podpisu jako takov´eho.
ot P
Jestliˇze se nˇekdo pokus´ı padˇelat podpis na pap´ırov´e listinˇe, tak mu to ve vˇetˇsinˇe pˇr´ıpad˚ u projde. Kdyˇz ale nˇekdo zaˇcne pravost podpis˚ u zkoumat, tak m´ a vˇzdy k dispozici pˇr´ısluˇsnou listinu, kterou je moˇzn´e r˚ uzn´ ymi zp˚ usoby pouˇz´ıvat – porovn´ avat “fyzick´e proveden´ı” a zkoumat pˇr´ıpadn´e odliˇsnosti. U elektronick´eho podpisu to tak jednoduch´e nen´ı, tady bud’ na prvn´ı pohled pozn´ ame rozd´ıl, nebo nepozn´ ame v˚ ubec nic. Kop´ırov´ an´ı elektronick´ ych dat nen´ı nic neobvykl´eho a kopii od origin´ alu je nemoˇzn´e rozeznat.
DR AF
TN
Z´ akon, tak jako kaˇzd´ a pr´ avn´ı norma, pouˇz´ıv´ a na prvn´ı pohled nesrozumiteln´e pojmy. Pokusme se tedy prov´est malou konverzi mezi n´ azvoslov´ım z´ akona a pojmy v kryptografii. Soukrom´ y kl´ıˇc se naz´ yv´ a “daty pro vytv´ aˇren´ı elektronick´ ych podpis˚ u” a veˇrejn´ y kl´ıˇc jsou zase “data pro ovˇeˇrov´ an´ı elektronick´ ych podpis˚ u”. Na prvn´ı pohled (moˇzn´ a i na druh´ y) to zn´ı jako pˇekn´ a blbost, ale na druhou stranu to m˚ uˇzeme vn´ımat jako n´ azvoslov´ı, kter´e je nez´ avisl´e na technologii a jej´ıch pojmech. Zvl´ aˇstn´ı pojmy jsou i pro programy, nebo zaˇr´ızen´ı, kter´ a se pouˇz´ıvaj´ı pro podepisov´ an´ı a ovˇeˇrov´ an´ı podpisu: prostˇredek pro vytv´ aˇren´ı elektronick´ ych podpis˚ u a prostˇredek pro ovˇeˇrov´ an´ı elektronick´ ych podpis˚ u. V´ aˇs emailov´ y klient tedy m˚ uˇze hrdˇe nosit oba tyto n´ azvy, protoˇze umoˇzn ˇuje jak podepisov´ an´ı email˚ u, tak i ovˇeˇrov´ an´ı podpis˚ u na emailech obdrˇzen´ ych. Vyˇsˇs´ı kategorii pak tvoˇr´ı “prostˇredek pro bezpeˇcn´e vytv´ aˇren´ı elektronick´ ych podpis˚ u”, kter´ y uˇz mus´ı splˇ novat urˇcit´e poˇzadavky zajiˇst’uj´ıc´ı korespondenci mezi t´ım, co si uˇzivatel mysl´ı, ˇze se dˇeje a t´ım co se skuteˇcnˇe na elektronick´e u ´rovni odehr´ av´ a. Certifikaˇcn´ı autorita se naz´ yv´ a poskytovatel certifikaˇcn´ıch sluˇzeb, coˇz mi pˇrijde jako asi nejl´epe zvolen´ y n´ azev. Pokr´ yv´ a totiˇz nikoliv jen prim´ arn´ı funkci certifikaˇcn´ı autority, ale pˇr´ıp. dalˇs´ı sluˇzby, kter´e je moˇzn´e v oblasti digit´ aln´ıch podpis˚ u poskytovat (archivaci dokument˚ u, not´ aˇrsk´e sluˇzby, . . . ). Z´ akon je celkovˇe naps´ an dobˇre, ale d´ıky z´ asah˚ um, kter´e byly provedeny po Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´kon o elektronick´ Kapitola 9. Za em podpisu
rea d
84
roo f
vypracov´ an´ı z´ akladn´ıho textu expertn´ı skupinou doˇslo ke vzniku nˇekolika nepˇekn´ ych m´ıst. Z´ akon se v nˇekter´ ych m´ıstech chov´ a jako ch˚ uva. Je to vidˇet napˇr. v ˇc´ asti vˇenovan´e povinnostem. Podepisuj´ıc´ı osoba je napˇr. povinna zach´ azet s prostˇredky pro vytv´aˇren´ı/ovˇeˇrov´ an´ı podpisu a s daty pro vytv´ aˇren´ı podpisu n´ aleˇzitˇe. Je tak´e definov´ ana povinnost pod´ avat spr´ avn´e informace pˇri ˇz´ adosti o kvalifikovan´ y certifik´ at a m´ a povinnosti uvˇedomit poskytovatele certifikaˇcn´ıch sluˇzeb (duplikov´ ano v povinnostech poskytovatele, kter´ y m´ a data ovˇeˇrit), ˇze hroz´ı zneuˇzit´ı dat pro vytv´ aˇren´ı elektronick´eho podpisu (coˇz je vˇec v jeho vlastn´ım z´ ajmu).
ot P
Nˇekolikr´ at se tady vyskytli slova kvalifikovan´ y a zaruˇcen´ y, ˇreknˇeme si tedy co pˇresnˇe znamenaj´ı. Kvalifikovan´ y certifik´ at je certifik´ at veˇrejn´eho kl´ıˇce, kter´ y splˇ nuje ustanoven´ı par. 12 z´ akona. Zde jsou definov´ any informace, kter´e certifik´ at mus´ı obsahovat. Tyto do jist´e m´ıry kop´ıruj´ı standardn´ı X.509 certifik´ aty s drobn´ ymi odliˇsnostmi: je oznaˇcen jako kvalifikovan´ y a mus´ı obsahovat obchodn´ı jm´eno poskytovatele certifikaˇcn´ıch sluˇzeb. Zaruˇcen´ y podpis jsme si jiˇz definovali. Tyto dva pojmy m˚ uˇzeme spojit a z´ısk´ ame zaruˇcen´ y podpis zaloˇzen´ y na kvalifikovan´em certifik´ atu a vytvoˇren´ y pomoc´ı prostˇredku pro bezpeˇcn´e vytv´ aˇren´ı podpis˚ u. Takov´ y podpis je v podstatˇe jedin´ y pouˇziteln´ y pro styk s veˇrejnou spr´ avou.
TN
Poskytovatel certifikaˇcn´ıch sluˇzeb m´ a povinnost´ı samozˇrejmˇe mnohem v´ıce a jsou definov´ any v nˇekolika paragrafech. V par. 5 jsou napˇr. zmiˇ nov´ any povinnosti souvisej´ıc´ı s vyd´ av´ an´ım certifik´ at˚ u, je zde uvedena povinnost veden´ı seznamu vydan´ ych certifik´ at˚ u, pouˇz´ıv´ an´ı bezpeˇcn´ ych n´ astroj˚ u pro vytv´ aˇren´ı podpis˚ u, existenci dostateˇcn´ ych finanˇcn´ıch zdroj˚ u, rozsah dokumentace (ta je jeˇstˇe upˇresnˇena ve vyhl´ aˇsce k ZEPu). Jedn´ım z problematick´ ych poˇzadavk˚ u (povinnost´ı) je par. 5, odst 1, f) zajistit provozov´ an´ı bezpeˇcn´eho a veˇrejnˇe pˇr´ıstupn´eho seznamu vydan´ ych kvalifikovan´ ych certifik´ at˚ u, a to i d´ alkov´ ym pˇr´ıstupem, a u ´daje v nˇem obsaˇzen´e pˇri kaˇzd´e zmˇenˇe okamˇzitˇe aktualizovat.
DR AF
Prvn´ı pot´ıˇz je v existenci veˇrejnˇe pˇr´ıstupn´eho seznamu certifik´ at˚ u. Jestliˇze si pˇredstav´ıte certifikaˇcn´ı autoritu pro Ministerstvo vnitra, nebo tˇreba BIS, tak nahl´ednut´ım do tohoto seznamu zjist´ıte informace o vˇsech zamˇestnanc´ıch. Druh´ a pot´ıˇz je v posledn´ıch dvou slovech – “okamˇzitˇe aktualizovat”. Slovo okamˇzitˇe totiˇz ˇcesk´ y pr´ avn´ı ˇr´ad nezn´ a (narozd´ıl od “neprodlenˇe”) a jsou urˇcit´e probl´emy s jeho v´ ykladem – je to do hodiny, do pˇeti minut, do dvou sekund? Toto je v kontrastu s par. 7, kter´ y spr´ avnˇe ˇr´ık´ a: Poskytovatel certifikaˇcn´ıch sluˇzeb, kter´ y vyd´ av´ a kvalifikovan´e certifik´ aty, mus´ı neprodlenˇe ukonˇcit platnost certifik´ atu, pokud o to podepisuj´ıc´ı osoba poˇz´ ad´ a, nebo v pˇr´ıpadˇe, ˇze byl certifik´ at vyd´ an na z´ akladˇe nepravdiv´ ych, nebo chybn´ ych u ´daj˚ u. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
ˇ ny ´ podpis 9.2. Bezpec
rea d
85
Posledn´ı z´ aleˇzitost´ı, kter´ a si zasluhuje pozornost je akreditace. Jestliˇze budete provozovat poskytovatele certifikaˇcn´ıch sluˇzeb vyd´ avaj´ıc´ıho kvalifikovan´e certifik´ aty, m˚ uˇzete poˇz´ adat o akreditaci. D˚ uvod, proˇc podstupovat relativnˇe velk´ y byrokratick´ y proces d´ av´ a par. 11.
roo f
“Org´ any veˇrejn´e moci” mohou pouˇz´ıvat pouze zaruˇcen´e elektronick´e podpisy a kvalifikovan´e certifik´ aty vyd´ avan´e akreditovan´ ymi poskytovateli certifikaˇcn´ıch sluˇzeb.
9.2
Bezpeˇ cn´ y podpis
ot P
Tato ˇc´ ast je tak´e troˇsku problematick´ a, protoˇze akreditace jako takov´ a m´ a b´ yt prvkem, kter´ y nebude diskriminovat poskytovatele certifikaˇcn´ıch sluˇzeb (podle jiˇz zmiˇ novan´e smˇernice EU o elektronick´ ych podpisech). Fakticky totiˇz akreditace nepˇrin´ aˇs´ı ˇz´ adnou pˇridanou hodnotu z hlediska funkˇcn´ıho. Perliˇckou je odst. 6 v par. 10 p˚ uvodn´ıho z´ akona, kter´ y ˇr´ık´ a, ˇze poskytovatel certifikaˇcn´ıch sluˇzeb nesm´ı podnikat v jin´e oblasti, s v´ yjimkou: advok´ at, not´ aˇr, nebo znalec (zcela neˇcekanˇe byl poradcem pˇr´ısluˇsn´eho ministra jeden soudn´ı znalec). Toto bylo s novelou zruˇseno.
TN
N´ aleˇzitosti kvalifikovan´eho certifik´ atu jsme jiˇz lehce zm´ınili. V t´eto ˇc´ asti si udˇel´ ame struˇcn´ y pˇrehled poˇzadavk˚ u, kter´e je tˇreba splnit pro vytv´ aˇren´ı opravdu bezpeˇcn´eho podpisu a certifik´ atem zaˇcneme. Souˇc´ astmi kvalifikovan´eho certifik´ atu jsou: • oznaˇcen´ı, ˇze je kvalifikovan´ y, bez pˇresnˇejˇs´ı specifikace, jak toto m´ a vypadat • obchodn´ı jm´eno poskytovatele certifikaˇcn´ıch sluˇzeb, kter´ y certifik´ at vydal • jm´eno a pˇr´ıjmen´ı podepisuj´ıc´ı osoby (vlastn´ıka pˇr´ısluˇsn´eho soukrom´eho kl´ıˇce), nebo jej´ı pseudonym – u pseudonymu mus´ı b´ yt uvedeno, ˇze se jedn´ a o pseudonym
DR AF
• data pro ovˇeˇrov´ an´ı podpisu – tedy veˇrejn´ y kl´ıˇc, kter´ y se t´ımto certifikuje, nebo l´epe spojuje se jm´enem podepisuj´ıc´ı osoby • zaruˇcen´ y elektronick´ y podpis poskytovatele certifikaˇcn´ıch sluˇzeb k ostatn´ım zde uveden´ ym poloˇzk´ am • ˇc´ıslo certifik´ atu
• poˇc´ atek a konec platnosti certifik´ atu • pˇr´ıpadn´e u ´daje o omezen´ı pouˇzit´ı (napˇr. omezen´ı v´ yˇse transakc´ı, kter´e lze ovˇeˇrovat s dan´ ym certifik´ atem) Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´kon o elektronick´ Kapitola 9. Za em podpisu
rea d
86
Cokoliv dalˇs´ıho m˚ uˇze b´ yt v certifik´ atu jen s explicitn´ım souhlasem podepisuj´ıc´ı osoby. Jinak, kdyˇz uˇz jsme zm´ınili nˇekolik vesel´ ych ustanoven´ı, tak tady je dalˇs´ı (z novely z´akona) – par. 15.
roo f
Ministerstvo m˚ uˇze naˇr´ıdit zneplatnˇen´ı certifik´ atu . . . podepisuj´ıc´ı pouˇz´ıv´ a prostˇredek pro podepisov´ an´ı, kter´ y vykazuje bezpeˇcnostn´ı nedostatky, kter´e by umoˇznily padˇel´ an´ı zaruˇcen´ ych podpis˚ u nebo zmˇenu podepisovan´ ych u ´daj˚ u.
Kdyˇz se nad t´ım zamysl´ıte, tak je to analogick´e k situaci, kdy by napˇr. Ministerstvo vnitra naˇrizovalo policii zabavit/ukonˇcit platnost obˇcansk´eho pr˚ ukazu nˇejak´eho obˇcana, protoˇze m´ a podezˇren´ı o existenci padˇelku.
ot P
Velmi podstatn´ ym faktorem pˇri urˇcov´ an´ı bezpeˇcnosti syst´emu pouˇz´ıvaj´ıc´ıho elektronick´e podpisy jsou prostˇredky pro podepisov´ an´ı a pro ovˇeˇrov´ an´ı podpisu. Prostˇredek pro bezpeˇcn´e ovˇeˇrov´ an´ı podpisu mus´ı zajistit, ˇze: • ovˇeˇrovan´ a data odpov´ıdaj´ı dat˚ um zobrazen´ ym • podpis je spolehlivˇe ovˇeˇren a ˇr´ adnˇe zobrazen
• ovˇeˇrovatel (osoba) mus´ı zjistit obsah podepsan´ ych dat
TN
• je spolehlivˇe zjiˇstˇena pravost a platnost certifik´ atu, kter´ y je pouˇzit pˇri ovˇeˇren´ı podpisu • je spolehlivˇe zjiˇstˇena a ovˇeˇrena totoˇznost podepisuj´ıc´ı osoby • je uvedeno pouˇzit´ı pseudonymu v pouˇzit´em certifik´ atu
9.3
DR AF
• jsou zjiˇstˇeny veˇsker´e zmˇeny v elektronick´ ych informac´ıch, nebo zaˇr´ızen´ı samotn´em, kter´e ovlivˇ nuj´ı bezpeˇcnost.
Novela ZEPu
Novela z´akona z roku 2004 je pomˇernˇe rozs´ ahl´ a a pˇresto se nepodaˇrilo odstranit vˇsechny sporn´e, nebo problematick´e body. Kromˇe odstranˇen´ı chyb ovˇsem novela pˇrin´ aˇs´ı dva nov´e pojmy: elektronick´ a znaˇcka a ˇcasov´e raz´ıtko. Elektronick´ a znaˇcka je v podstatˇe zaruˇcen´ ym elektronick´ ym podpisem s t´ım, ˇze nen´ı vyˇzadov´ ana podm´ınka: umoˇzn ˇuje identifikaci podepisuj´ıc´ı osoby ve vztahu k datov´e zpr´avˇe. Vynech´ an´ım t´eto vlastnosti je moˇzn´e um´ıstit soukrom´ y kl´ıˇc na server, kter´ y vytv´ aˇr´ı podpisy (znaˇcky) autonomnˇe. St´ ale je tˇreba zajistit, aby oznaˇcuj´ıc´ı osoba byla schopna udrˇzet pˇr´ısluˇsn´ y n´ astroj pod v´ yhradn´ı kontrolou. Prakticky to Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´ˇ 9.4. Vyhla ska k ZEPu
rea d
87
m˚ uˇze b´ yt realizov´ ano tak, ˇze osoba je uvˇedomˇena o faktu zah´ ajen´ı tohoto podepisov´ an´ı. ˇ Casov´e raz´ıtko je n´ astroj, kter´ y citelnˇe chybˇel k seri´ ozn´ımu pouˇz´ıv´ an´ı zaruˇcen´ ych
podpis˚ u. Nebylo totiˇz moˇzn´e urˇcit pˇresn´ y okamˇzik vytvoˇren´ı podpisu a vlastn´ık soukrom´eho kl´ıˇce (a k nˇemu pˇr´ısluˇsej´ıc´ıho certifik´ atu) toho mohl vyuˇz´ıt k odm´ıtnut´ı odpovˇednosti za urˇcit´ y zaruˇcen´ y podpis.
roo f
Postup je relativnˇe jednoduch´ y. Vlastn´ık vytvoˇr´ı zaruˇcen´ y podpis a spolu s podepsan´ ymi daty odeˇsle. Hned pot´e poˇz´ ad´ a o zneplatnˇen´ı pˇr´ısluˇsn´eho certifik´ atu napˇr. z d˚ uvodu vloup´ an´ı do kancel´ aˇre, nebo libovoln´eho jin´eho. Pˇri ovˇeˇrov´ an´ı podpisu m˚ uˇze doj´ıt k u ´spˇeˇsn´emu ovˇeˇren´ı (d´ıky zpoˇzdˇen´ı, kter´e si vyˇz´ ad´ a revokace certifik´atu) a k nˇejak´e akci zaloˇzen´e na obdrˇzen´ı dan´e podepsan´e zpr´ avy. Podepisovatel se ale n´ aslednˇe m˚ uˇze vzd´ at odpovˇednosti za odesl´ an´ı zpr´ avy tvrzen´ı, ˇze ve chv´ıli, kdy byla zpr´ ava podeps´ ana uˇz poˇz´ adal poskytovatele certifikaˇcn´ıch sluˇzeb o revokaci certifik´ atu.
9.4
TN
ot P
Kvalifikovan´e ˇcasov´e raz´ıtko vyd´ av´ a kvalifikovan´ y poskytovatel certifikaˇcn´ıch sluˇzeb a hlavn´ı vlastnost´ı je, ˇze ˇcasov´e raz´ıtko spojuje data s urˇcit´ ym ˇcasov´ ym okamˇzikem. M˚ uˇzeme si to pˇredstavit jako certifik´ at pro zpr´ avu, kter´ y obsahuje ˇcas raz´ıtkov´ an´ı (vyd´ an´ı certifik´ atu) a podpis poskytovatele. Z´ akon definuje celkem ˇsest poloˇzek, kter´e bychom v kvalifikovan´em raz´ıtku mˇeli nal´ezt: unik´ atn´ı ˇc´ıslo raz´ıtka, oznaˇcen´ı pravidel, podle kter´ ych bylo raz´ıtko vytvoˇreno, identifikace poskytovatele certifikaˇcn´ıch sluˇzeb, kter´ y raz´ıtko vytvoˇril, ˇcas vytvoˇren´ı, data/soubor pro kter´ y bylo dan´e raz´ıtko vytvoˇreno a znaˇcku (tedy automaticky vydan´ y podpis).
Vyhl´ aˇ ska k ZEPu
DR AF
Vyhl´ aˇska k z´ akonu v podstatˇe vykl´ ad´ a pouze dva paragrafy z´ akona: par. 6 a 17. Prvn´ı definuje povinnosti poskytovatele certifikaˇcn´ıch sluˇzeb, ten druh´ y zase poˇzadavky na prostˇredky pro bezpeˇcn´e podepisov´ an´ı/ovˇeˇrov´ an´ı podpisu. Pro uk´ azku si m˚ uˇzeme vyjmenovat sadu dokument˚ u, kter´e mus´ı poskytovatel m´ıt – tzv. dokumentov´ a z´ akladna. 1. certifikaˇcn´ı politika
2. certifikaˇcn´ı prov´ adˇec´ı smˇernice 3. celkov´ a bezpeˇcnostn´ı politika
4. syst´emov´ a bezpeˇcnostn´ı politika 5. pl´ an pro krizov´e situace
6. finanˇcn´ı pl´ an (dostateˇcnost finanˇcn´ıch zdroj˚ u) Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´kon o elektronick´ Kapitola 9. Za em podpisu
rea d
88
Z´ akladn´ımi vlastnostmi prostˇredk˚ u je, ˇze osoba (uˇzivatel) v´ı, ˇze prostˇredek v dan´em okamˇziku opravdu pouˇz´ıv´ a. Pro zapoˇcet´ı tohoto pouˇz´ıv´ an´ı je tak´e potˇreba se k prostˇredku autentizovat.
DR AF
TN
ot P
roo f
Jsou definov´ any i bezpeˇcnostn´ı poˇzadavky na dan´ y prostˇredek – mus´ı b´ yt ohodnocen jako bezpeˇcn´e zaˇr´ızen´ı podle FIPS 140. Je tak´e definov´ an seznam kryptografick´ ych metod a jejich kombinac´ı, kter´e je moˇzn´e v prostˇredku pouˇz´ıvat.
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
roo f
rea d
89
ot P
ˇ ast IV C´
DR AF
TN
Soukrom´ı
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
roo f
ot P
TN
DR AF
rea d
rea d
91
roo f
Kapitola 10
DR AF
TN
ot P
Soukrom´ı a reputace
Kapitola 11. Anonymitn´ı syst´ emy
rea d
92
Anonymitn´ı syst´ emy
roo f
Kapitola 11
TN
ot P
Anonymita je nˇeco, o ˇcem hodnˇe lid´ı ˇr´ık´ a, ˇze ji nepotˇrebujeme. Jin´ı ˇr´ıkaj´ı, ˇze je nebezpeˇcn´ a a pokud by v˚ ubec mˇela existovat, tak by ji mˇel nˇekdo kontrolovat – nejl´epe oni sami. Kaˇzdop´ adnˇe, soukrom´ı, coˇz m˚ uˇzeme povaˇzovat za pojem trochu ˇsirˇs´ı, neˇz je anonymita, je jedn´ım ze z´ akladn´ıch pr´ av ˇclovˇeka. Nav´ıc, probl´emy spojen´e s bezpeˇcnost´ı informaˇcn´ıch syst´em˚ u v posledn´ı dobˇe odrazuj´ı uˇzivatele od pouˇz´ıv´ an´ı Internetu napˇr. pro bankovn´ı aplikace a je tˇreba hledat prostˇredky, jak znovuobnovit d˚ uvˇeru. Jedn´ım z moˇzn´ ych smˇer˚ u by mohlo b´ yt podpoˇren´ı soukrom´ı pˇri pouˇz´ıv´ an´ı sluˇzeb, coˇz by n´ aslednˇe eliminovalo vznik takov´ ych probl´em˚ u, jako prozrazen´ı ˇc´ısel kreditn´ıch karet, nebo obecnˇe identity theft (kriminalita zaloˇzen´ a na kr´ adeˇzi identity). Soukrom´ı je obvykle definov´ ano jako pr´ avo osoby ˇz´ıt podle sv´eho, nebo kontrolovat pˇr´ıstup ke sv´ ym osobn´ım informac´ım, nebo schopnost chr´ anit svou d˚ ustojnost a samostatnost. Vˇetˇsina zdroj˚ u rozdˇeluje soukrom´ı do ˇctyˇr oblast´ı: • informaˇcn´ı soukrom´ı (information privacy) – kontrola shromaˇzd’ov´ an´ı a zpracov´ an´ı osobn´ıch informac´ı,
DR AF
• fyzick´e soukrom´ı (bodily privacy) – ochrana pˇred invazivn´ımi postupy, jako jsou napˇr. genetick´e testy, sb´ır´ an´ı biometrick´ ych vzork˚ u, apod. • komunikaˇcn´ı soukrom´ı (privacy of communications) – ochrana soukrom´ı dat, kter´ a komunikujeme se sv´ ym okol´ım, • prostorov´e soukrom´ı (territorial privacy) – ochrana prostoru, ve kter´em se pohybujeme, at’ uˇz v soukrom´ı, nebo na veˇrejn´ ych m´ıstech (domovn´ı prohl´ıdky, kontroly ID, CCTV). V dalˇs´ım textu n´ as bude prim´ arnˇe zaj´ımat komunikaˇcn´ı soukrom´ı, i kdyˇz toto m˚ uˇze okrajovˇe zasahovat i do ostatn´ıch oblast´ı. Jestliˇze budete nˇekde ˇc´ıst moti-
11.1. Anonymitn´ı syst´ emy
rea d
93
vaci pro vytv´ aˇren´ı anonymitn´ıch syst´em˚ u, tak se moˇzn´ a setk´ ate s n´ asleduj´ıc´ımi oblastmi, kter´e v´ıce neˇz ospravedlˇ nuj´ı v´ yvoj a pouˇz´ıv´ an´ı technologi´ı pro zachov´ an´ı soukrom´ı/anonymity.
roo f
• svoboda slova – jsou situace, kdy se lid´e mohou opr´ avnˇenˇe ob´ avat postihu, nebo odvety po zveˇrejnˇen´ı informac´ı, kter´e jsou kontroverzn´ı, zak´ azan´e, nebo jinak nepˇr´ıjemn´e natolik, ˇze se postiˇzen´ı rozhodnout takovou publikaci potrestat. Bˇehem v´ alky v Ir´ aku se nˇekteˇr´ı zamˇestnanci arm´ ady, nebo vl´ ady v UK rozhodli veˇrejnˇe vypov´ıdat o vˇecech, se kter´ ymi silnˇe nesouhlasili, i kdyˇz podl´ehali mlˇcenlivosti sv´ azan´e s jejich pracovn´ım zaˇrazen´ım.
ot P
• skryt´ı soci´ aln´ı sitˇe – vaˇs´ı pˇr´ atel´e, okruh lid´ı, se kter´ ymi se st´ yk´ ate o v´ as mohou mnoho napovˇed’ˇet. Toto si m´ alo uvˇedomujete, jestliˇze jste v urˇcit´em prostˇred´ı dlouhou dobu, ale m˚ uˇze b´ yt velk´ ym probl´emem ve chv´ıli, kdy se dostanete do nov´eho prostˇred´ı a teprve zjiˇst’ujete, komu o sobˇe prozrad´ıte v´ıce a komu m´enˇe. Obecn´e prozrazen´ı vaˇs´ı soci´ aln´ı s´ıtˇe pak pˇr´ıliˇs nepotˇeˇs´ı.
TN
• volebn´ı protokoly – i kdyˇz nˇekteˇr´ı lid´e zpochybˇ nuj´ı smysl elektronick´ ych volem, relativnˇe hodnˇe u ´sil´ı je vkl´ ad´ ano do v´ yvoje bezpeˇcn´ ych protokol˚ u a existuj´ı konkr´etn´ı situace, kdy jsou elektronick´e volby vhodn´e. Vˇsichni implicitnˇe pˇredpokl´ ad´ ame, ˇze volby jsou tajn´e a poˇzadavek anonymity v tomto pˇr´ıpadˇe rozhodnˇe nen´ı neˇcekan´ y. • anonymn´ı protokoly – volby jsme jiˇz zm´ınili samostatnˇe, takˇze v t´eto kategorii m˚ uˇzeme uvaˇzovat aukce, platebn´ı protokoly, pˇr´ıstup do syst´em˚ u, kter´ ymi se nechceme chlubit (sex, spodn´ı pr´ adlo, . . . ), kontrola zdravotn´ıho stavu (anonymn´ı vzorky HIV), apod.
11.1
DR AF
Mysl´ım, ˇze jsme dostateˇcnˇe zd˚ uvodnili motivaci pro existenci anonymitn´ıch syst´em˚ u a d´ ale se budeme vˇenovat teorii, kter´ a je spojena se syst´emy, kter´e maj´ı zajistit anonymn´ı komunikaci.
Anonymitn´ı syst´ emy
Anonymitn´ı syst´emy jsou z hlediska n´ avrhu a implementace znaˇcnˇe sloˇzit´e a n´ aroˇcn´e. ’ Obvykle sest´ avaj´ı ze s´ıtˇe poˇc´ıtaˇc˚ u, kter´e zajiˇst uj´ı prom´ıch´ an´ı kaˇzd´e zpr´ avy v r´ amci urˇcit´e mnoˇziny zpr´ av a toto m´ıch´ an´ı se nˇekolikr´ at opakuje. Poˇc´ıtaˇce, kter´e jsou pouˇzity pro m´ıch´ an´ı konkr´etn´ı zpr´ avy jsou voleny r˚ uzn´ ym zp˚ usobem, ale v z´ asadˇe by mˇeli b´ yt nepˇredv´ıdateln´e. Kaˇzd´ y poˇc´ıtaˇc funguje jako tzv. mix. V souˇcasn´e dobˇe rozliˇsujeme nˇekolik typ˚ u mix˚ u: Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
Kapitola 11. Anonymitn´ı syst´ emy
rea d
94
roo f
1. DC-s´ıt’ – nejstarˇs´ı topologie anonymitn´ıho syst´emu. Uzly nemohou pracovat samostatnˇe a pˇrenos kaˇzd´e zpr´ avy vyˇzaduje spolupr´ aci vˇsech uzl˚ u v syst´emu. Kaˇzd´ y uzel vytvoˇr´ı spoleˇcn´e kl´ıˇce s nˇejakou podmnoˇzinou uzl˚ u v s´ıti. Velice jednoduch´ y princip fungov´ an´ı je takov´ y, ˇze kdo chce poslat zpr´ avu, tak ji skobinuje se vˇsemi kl´ıˇci, kter´e m´ a k dispozici a to sam´e udˇelaj´ı vˇsichni ostatn´ı – v´ ysledkem je ˇretˇezec, kter´ y obsahuje vˇsechny kl´ıˇce a zpr´ avu. Pokud nˇekdo chce zpr´ avu pˇreˇc´ıst, tak ke zm´ınˇen´emu ˇretˇezci pˇrid´ a vˇsechny kl´ıˇce jeˇstˇe jednou a co mu zbude je p˚ uvodn´ı zpr´ ava.
ot P
2. ˇcasovan´ y mix (timed mix) – funguje velmi jednoduˇse, jakmile je mixem pˇrijata nˇejak´ a zpr´ ava, je k n´ı vygenerov´ ano zpoˇzdˇen´ı (ˇcas po kter´ y z˚ ustane v mixu). Po vyprˇsen´ı zpoˇzdˇen´ı je zpr´ ava posl´ ana d´ al. Zpoˇzdˇen´ı je generov´ ano na z´ akladˇe nˇejak´eho n´ ahodn´eho rozloˇzen´ı, obvykle exponenci´ aln´ıho. Zjevn´ a nev´ yhoda je, ˇze jestliˇze do mixu mezit´ım nevstoup´ı jin´ a zpr´ ava, tak je jednoduch´e sledovat, kam je prvn´ı zpr´ ava posl´ ana d´ al. 3. prahov´ y mix (threshold mix) – v tomto pˇr´ıpadˇe ˇcek´ a uzel tak dlouho, dokud nen´ı pˇrijato urˇcit´e mnoˇzstv´ı zpr´ av (je dosaˇzen pr´ ah poˇctu zpr´ av). Vˇsechny pˇrijat´e zpr´ avy jsou pak promixov´ any a v jednom okamˇziku posl´ any mixem d´ al.
TN
4. z´ asobn´ıkov´ y mix (pool mix) – je zobecnˇen´ım prahov´eho mixu. Z´ akladn´ı myˇslenka je stejn´ a. Ve chv´ıli zpracov´ an´ı se ovˇsem nemixuj´ı vˇsechny zpr´ avy, ale ˇc´ ast z nich se ponech´ a ve vnitˇrn´ım z´ asobn´ıku (v´ ybˇer je n´ ahodn´ y). 5. kask´ adov´ y mix (cascaded mix) – v tomto pˇr´ıpadˇe m´ a kaˇzd´ y mix dva v´ ystupy a podle vlastnost´ı zpr´ avy (obvykle podle pˇr´ıjemce) se vyb´ır´ a v´ ystup, kam se zpr´ ava poˇsle. Rozhodov´ an´ı je v tomto pˇr´ıpadˇe deterministick´e.
11.1.1
´ cn´ık Utoˇ
DR AF
Jestliˇze chceme nˇejak´ ym zp˚ usobem urˇcit bezpeˇcnost anonymitn´ıho syst´emu mus´ıme si definovat s´ılu u ´toˇcn´ıka, proti kter´emu m´ ame b´ yt v bezpeˇc´ı. Jestliˇze nespecifikujeme u ´toˇcn´ıka, tak m˚ uˇzeme dostat obecnˇe bezpeˇcn´ y syst´em (moˇzn´ a), ale zcela jistˇe bude tento syst´em prakticky nepouˇziteln´ y. U anonymitn´ıch syst´em˚ u urˇcujeme s´ıle u ´toˇcn´ıka podle toho, jestli m´ a pˇr´ıstup k vnitˇrn´ım informac´ım a jak velkou ˇc´ ast komunikace anonymitn´ıho syst´emu je schopen zachytit. • lok´ aln´ı u ´toˇcn´ık vnˇe syst´emu – u ´toˇcn´ık je schopen sledovat jen ˇc´ ast komunikace a nen´ı schopen kompromitovat ˇz´ adn´ y z mix˚ u v syst´emu, • lok´ aln´ı vnitˇrn´ı – v tomto pˇr´ıpadˇe m´ au ´toˇcn´ık pod kontrolou i urˇcitou ˇc´ ast mix˚ u, kter´e m˚ uˇze pouˇz´ıvat jak pro pasivn´ı, tak pro aktivn´ı u ´toky, Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´kladn´ı blok 11.2. Mix – za
rea d
95
• glob´ aln´ı s lok´ aln´ı kontrolou – nyn´ı uˇz je schopen sledovat veˇskerou komunikac´ı a z´ aroveˇ n kompromitoval malou ˇc´ ast mix˚ u v s´ıti, • glob´ aln´ı mimo syst´em – sleduje veˇskerou komunikaci, ale nevid´ı dovnitˇr ˇz´ adn´eho z mix˚ u.
roo f
Je dobr´e si d´ ale i definovat mnoˇzinu akc´ı, kter´e u ´toˇcn´ık m˚ uˇze prov´ adˇet. Obvykle je u ´toˇcn´ık definov´ an jako schopn´ y n´ asleduj´ıc´ıch akc´ı: • hled´ a pˇr´ıjemce zpr´ av jednoho, nˇekolika, nebo vˇsech uˇzivatel´e syst´emu, • sleduje spojen´ı a mnoˇzstv´ı a obsah dat pos´ılan´ ych po tˇechto spojen´ıch, • modifikuje, maˇze, vkl´ ad´ a nov´e, nebo opakuje jiˇz jednou poslan´e zpr´ avy, • kontroluje uzly (mixy) v s´ıti a vyuˇz´ıv´ a je pro pasivn´ı i aktivn´ı u ´toky.
11.2
ot P
Jsou zde ovˇsem i urˇcit´e hranice. Neust´ ale pˇredpokl´ ad´ ame, ˇze pouˇzit´e kryptografick´e primitivy jsou bezpeˇcn´e a u ´toˇcn´ık nen´ı schopen napˇr. deˇsifrovat zpr´ avy ˇsifrovan´e siln´ ym symetrick´ ym algoritmem. Tak´e nen´ı schopen zjistit, co se dˇeje v uzlech, kter´e nekontroluje a m˚ uˇze je pouˇz´ıvat pouze jako ˇcern´e krabiˇcky.
Mix – z´ akladn´ı blok
TN
Z´ akladn´ı funkc´ı mixu je routov´ an´ı zpr´ av. Souˇcasnˇe s routov´ an´ı m´ a ale za u ´kol skr´ yt veˇsker´e informace o tom, kam kterou zpr´ avu poslal. Aby doc´ılil tohoto tajn´eho routov´ an´ı, mus´ı zajistit dvˇe z´ akladn´ı funkce. Vz´ ajemnou neslinkovatelnost vstupn´ıch a v´ ystupn´ıch zpr´ av – jestliˇze u ´toˇcn´ık srovn´ a vˇsechny relevantn´ı vstupn´ı a v´ ystupn´ı zpr´ avy, tak nen´ı schopen naj´ıt odpov´ıdaj´ıc´ı dvojice (podle d´elky, ani podle obsahu). Druhou vlastnost´ı je mixov´ an´ı, kdy mix ruˇs´ı ˇcasov´e vzory zpr´ av t´ım, ˇze je zpracov´ av´ a v d´ avk´ ach a pˇrepos´ıl´ a po skupin´ ach.
DR AF
Pˇr´ıklad mixov´ an´ı – onion routing:
Sender → M ix1 : {M ix2 , {Receiver, M sg}Kmix2 }Kmix1
M ix1 → M ix2 : {Receiver, M sg}Kmix2
M ix2 → Receiver : M sg
Funkce mixu m˚ uˇzeme popsat jeˇstˇe trochu podrobnˇeji, konkr´etn´ımi akcemi, kter´e by mˇel prov´ adˇet. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
Kapitola 11. Anonymitn´ı syst´ emy
rea d
96
Prevence pˇ rehr´ an´ı u ´kolem zde je zabr´ anit opakovan´emu zas´ıl´ an´ı stejn´e zpr´ avy. Jestliˇze chceme pochopit, proˇc je to d˚ uleˇzit´e, je tˇreba si napˇred odpovˇedˇet na ot´ azku, proˇc je pˇrehr´ av´ an´ı nebezpeˇcn´e pro soukrom´ı/anonymitu. Zarovn´ an´ı na pevnou d´ elku je jednoznaˇcn´ y poˇzadavek, jestliˇze chceme zajistit nerozliˇsitelnost zpr´ av mixovan´ ych v kaˇzd´em mixu.
ot P
roo f
Ochrana pˇ red adaptivn´ım CCA u ´ tokem CCA (chosen ciphertext attack) je relativnˇe siln´ a zbraˇ n pro stopov´ an´ı cesty urˇcit´e zpr´ avy uvnitˇr anonymizaˇcn´ı s´ıtˇe. Zpr´ avy jsou obvykle mnohokr´ at pˇreˇsifrov´ av´ any, pˇriˇcemˇz v kaˇzd´e vrstvˇe je zaj´ımav´a jen velmi mal´ a ˇc´ ast zpr´ avy (zbytek je v dan´em kroku nedeˇsifrovateln´ y). Jestliˇze se u ´toˇcn´ıkovi podaˇr´ı zmˇenit zpr´ avu jen v urˇcit´em m´ıstˇe, m˚ uˇze toto pouˇz´ıt pro hled´ an´ı m´ısta, kam je zpr´ ava doruˇcena. Typickou reakci mixu bude zahozen´ı zpr´ avy, kter´ a je ˇspatnˇe form´ atovan´ aau ´toˇcn´ıkovi pak uˇz jen staˇc´ı naj´ıt mix, kde poˇcet v´ ystupn´ıch zpr´ av je menˇs´ı, neˇz poˇcet vstupn´ıch zpr´ av. Uved’me si jeˇstˇe dvˇe u ´lohy mix˚ u – tyto jsou jiˇz ovˇsem relativnˇe n´ aroˇcn´e na implementaci a n´ avrh syst´emu.
TN
• anonymn´ı odpov´ıdac´ı bloky a adresy – pˇri implementaci t´eto vlastnosti je anonymizaˇcn´ı s´ıt’ schopn´ a doruˇcit odes´ılateli potvrzen´ı o doruˇcen´ı zpr´ avy. Toto je netrivi´ aln´ı z´ aleˇzitost, protoˇze cesta zpr´ avy s´ıt´ı by mˇela b´ yt nevystopovateln´ a. Z´ aroveˇ n skuteˇcnost, ˇze kaˇzd´ a zpr´ ava implikuje odesl´ an´ı jin´e zpr´ avy v opaˇcn´em smˇeru m˚ uˇze zjednoduˇsit u ´toky na anonymitu. • univers´ aln´ı ovˇeˇritelnost korektn´ıho mixov´ an´ı – je poˇzadavek uˇziteˇcn´ y pro ovˇeˇren´ı korektn´ıho chov´ an´ı jednotliv´ ych mix˚ u a identifikaci pˇr´ıpadn´ ych u ´toˇcn´ık˚ u. Opˇet ale plat´ı, ˇze jelikoˇz by chov´ an´ı mixu mˇelo b´ yt obt´ıˇznˇe sledovateln´e, tak implementace nen´ı v˚ ubec trivi´ aln´ı a znaˇcnˇe zvyˇsuje sloˇzitost cel´eho syst´emu.
Datagram vs Spojen´ı
DR AF
11.3
Z hlediska funkˇcnosti mus´ıme oddˇelit dva z´ akladn´ı typy syst´em˚ u – syst´emy anonymizuj´ıc´ı kr´ atk´e zpr´ avy a syst´emy anonymizuj´ıc´ı tok dat. V nadpisu vyj´ adˇren´e rozdˇelen´ı je malinko zav´ adˇej´ıc´ı, protoˇze i emaily mohou b´ yt pos´ıl´ any po spojovan´ ych protokolech, ale na druhou stranu to dobˇre vyjadˇruje rozd´ıl. Jestliˇze chceme anonymizovat relativnˇe kr´ atk´e zpr´ avy, tak se zaj´ım´ ame o zajiˇstˇen´ı jednotliv´ ych paket˚ u, kter´e budou s´ıt´ı putovat samostatnˇe a aˇz u pˇr´ıjemce se spoj´ı v ˇcitelnou zpr´ avu. Naopak, jestliˇze je objektem anonymizace tok dat (napˇr. hlas, nebo video), tak se nem˚ uˇzeme spol´ehat na doruˇcen´ı jednotliv´ ych paket˚ u, protoˇze bychom z obrazu ani ze zvuku nic nemˇeli. Nav´ıc zpoˇzdˇen´ı indukovan´e prvn´ım typem anonymizaˇcn´ıch s´ıt´ı je nepˇrijateln´e pro data produkovan´ a v re´ aln´em ˇcase. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
Syst´emy se zpr´ avami mal´ a ˇs´ıˇrka kan´ alu, velk´e zpoˇzdˇen´ı zpr´ avy jsou pos´ıl´ any po jedn´e kaˇzd´ a zpr´ ava m´ a samostatnou cestu
97
rea d
´ ˇn´ı syst´ 11.4. Utoky na anonymizac emy
Syst´emy se spojen´ımi velk´ a ˇs´ıˇrka kan´ alu, mal´e zpoˇzdˇen´ı kontinu´ aln´ı data (pˇrenosy dat, web browsing) napˇred je ustavena pevn´ a cesta cel´ y stream jde po jedn´e cestˇe (ne nutnˇe)
roo f
Tabulka 11.1: Porovn´ an´ı dvou typ˚ u anonymizaˇcn´ıch syst´em˚ u
Pro toky dat se tedy pouˇz´ıv´ a mnohem slabˇs´ı anonymizace spoˇc´ıvaj´ıc´ı ve vytvoˇren´ı n´ ahodn´e cesty pro tok dat. Po vytvoˇren´ı t´eto cesty jsou uˇz data pos´ıl´ ana po t´eto cestˇe, coˇz m˚ uˇze znaˇcnˇe zjednoduˇsit identifikaci propojen´ı zdroj-c´ıl. Tabulka 11.1 obsahuje jednoduch´ y soupis charakteristik obou syst´em˚ u.
´ Utoky na anonymizaˇ cn´ı syst´ emy
ot P
11.4
V t´eto ˇc´ asti si pop´ıˇseme dva z´ akladn´ı typy u ´tok˚ u: statistick´e odhalen´ı a anal´ yza provozu.
TN
Jestliˇze budeme cht´ıt aplikovat u ´tok statistick´ ym odhalen´ım tak potˇrebujeme ˇ ım vˇetˇs´ı je mnoˇzina dostateˇcn´ a zdrojov´ a data – dostateˇcn´ y poˇcet odeslan´ ych zpr´ av. C´ zpr´ av, tak t´ım vˇetˇs´ı je ˇsance na u ´spˇech t´eto metody. Je to docela zaj´ımav´ y fakt, jestliˇze si uvˇedom´ıme, ˇze u jednotliv´ ych mix˚ u je tˇreba urˇcit´eho mnoˇzstv´ı zpr´ av, aby mixov´ an´ı v˚ ubec korektnˇe fungovalo a d´ a se ˇr´ıci, ˇze ˇc´ım vˇetˇs´ı mnoˇzstv´ı zpr´ av v mixu, t´ım l´epe se chov´ a. Bohuˇzel, od urˇcit´e hranice se uˇz mixov´ an´ı nezlepˇsuje a pˇrich´ az´ı na ˇradu naˇse druh´e tvrzen´ı, kter´e se t´ yk´ a statistick´eho u ´toku.
DR AF
Na s´ yst´emy, kter´e anonymizuj´ı proudy dat m˚ uˇzeme pouˇz´ıt pˇr´ımo anal´ yzu provozu, kter´ a je zaloˇzena na pˇredpokladu existence tok˚ u dat uvnitˇr syst´emu. Fakty, kter´e hraj´ı pro u ´toˇcn´ıka jsou relativnˇe dlouh´e trv´ an´ı jednotliv´ ych tok˚ u po urˇcit´e cestˇe a tak´e obvykle dobˇre rozliˇsiteln´e mnoˇzstv´ı dat, kter´e po takov´e cestˇe teˇce. Oba tyto fakty umoˇzn ˇuj´ı identifikovat konce cesty a eliminovat tak soukrom´ı zajiˇst’ovan´e anonymizaˇcn´ım syst´emem.
11.4.1
´ Utok na datagramov´ y syst´ em
Z´ akladn´ı charakteristika syst´emu je, ˇze kaˇzd´ a zpr´ ava je posl´ ana po sv´e vlastn´ı, n´ ahodnˇe vygenerovan´e cestˇe. Nepˇripad´ a tedy v u ´vahu moˇznost stopov´ an´ı odes´ılatele hled´ an´ım typick´ ych cest (alespoˇ n u drtiv´e vˇetˇsiny architektur – v´ yjimkou jsou kask´ adov´e syst´emy). Co ovˇsem m˚ uˇzeme pouˇz´ıt jsou empirick´e fakty o chov´ an´ı uˇzivatel˚ u. Kaˇzd´ y uˇzivatel m´ a relativnˇe limitovanou mnoˇzinu nejˇcastˇejˇs´ıch pˇr´ıjemc˚ u zpr´ av. Tito jsou adresov´ an´ı pravidelnˇe, zat´ımco obvykle mnohem vˇetˇs´ı mnoˇzina pˇr´ıjemc˚ u obsahuje adres´ aty, kter´ ym jsou zpr´ avy pos´ıl´ any velmi sporadicky. Jestliˇze budeme Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
Kapitola 11. Anonymitn´ı syst´ emy
rea d
98
porovn´ avat proti sobˇe r˚ uzn´e uˇzivatele, tak zjist´ıme, ˇze mnoˇziny pˇr´ıjemc˚ u jejich ’ zpr´ av jsou obvykle bud podstatnˇe rozd´ıln´e, nebo se velmi podobaj´ı a mal´e mnoˇziny uˇzivatel´e tvoˇr´ı uzavˇren´e skupiny.
roo f
Podstatou u ´tok˚ u je jednoduch´ y proces, kdy sledujeme mnoˇzinu pˇr´ıjemc˚ u vˇsech zpr´ av v syst´emu v urˇcit´em ˇcasov´e oknˇe po odesl´ an´ı zpr´ avy, kter´ a n´ as zaj´ım´ a. Takto vznikl´e mnoˇziny pˇr´ıjemc˚ u pot´e porovn´ av´ ame a vytv´ aˇr´ıme nˇeco jako pr˚ unik, kter´ y obsahuje nejˇcastˇeji se opakuj´ıc´ı pˇr´ıjemce zpr´ av dan´eho uˇzivatele.
Elegantnost u ´toku spoˇc´ıv´ a ve faktu, ˇze u ´toˇcn´ıka (aˇz na velmi z´ akladn´ı charakteristiky) nezaj´ım´ a struktura anonymizaˇcn´ıho syst´emu a pˇristupuje k nˇemu jako k ˇcern´e skˇr´ıˇ nce. Nez´ aleˇz´ı tedy na vnitˇrn´ım fungov´ an´ı mix˚ u a jedin´ y podstatn´ y fakt je velikost okna, ve kter´em mus´ıme sledovat vˇsechny doruˇcen´e zpr´ avy. Pˇrirozenˇe, ˇc´ım vˇetˇs´ı okno, t´ım vˇetˇs´ı mnoˇziny zpr´ avy a potˇreba vˇetˇs´ıho poˇctu mnoˇzin pro pr˚ unikov´ an´ı. obr´ azek slajd 12, lecture 11
ot P
Pˇredpokl´ adejme, ˇze velikost mnoˇzin je b, tj. |b| je poˇcet zpr´ av doruˇcen´ ych v oknˇe, ve kter´em musela b´ yt doruˇcena i zpr´ ava uˇzivatele (Alice), kter´ y n´ as zaj´ım´ a. D´ ale pˇredpokl´adejme, ˇze poˇcet Aliˇcin´ ych pˇr´ atel je m a poˇcet vˇsech pˇr´ıjemc˚ u, kteˇr´ı se vyskytuj´ı v n´ ami odpozorovan´ ych mnoˇzin´ ach pˇr´ıjemc˚ u je |N |. → → Volba Alice poch´ az´ı z n´ ahodn´eho vzorkov´ an´ı − v mnoˇziny jej´ıch pˇr´ atel (− v je vektor). A jelikoˇz celkov´ a pravdˇepodobnost je vˇzdy 1, tak |v| = 1 a jednotliv´e prvky vektoru urˇcuj´ı pravdˇepodobnost s jakou je urˇcit´ a zpr´ ava posl´ ana dan´emu pˇr´ıteli Alice.
TN
Jelikoˇz vˇsechny ostatn´ı odes´ılatele d´ ame do jedn´e velk´e mnoˇziny, tak jejich volba → je rovnomˇernˇe n´ ahodn´ a pˇres N . V tomto pˇr´ıpadˇe znaˇc´ıme vzorkov´ an´ı − u a opˇet plat´ı, − → − → − → − → ˇze | u | = 1. Posledn´ı promˇenn´e, kter´e potˇrebujeme jsou o1 , o2 , . . . , ot . Podle z´ akona velk´ ych ˇc´ısel nakonec m˚ uˇzeme doj´ıt k n´ asleduj´ıc´ımu vzorci.
DR AF
→ − → → → Σti=1 − oi v + (b − 1)− u Σt − oi → → → ⇒− v ≃ b i=1 − (b − 1)− u t b t !!!slajd 14, lecture 11!!!
Na obr´ azku je vidˇet stˇredn´ı hodnota pravdˇepodobnosti v´ yskytu pˇr´ıjemc˚ u. Ti, kteˇr´ı jsou skuteˇcn´ı pˇr´ıjemci zpr´ av od Alice jsou na spodn´ım kraji osy x - stˇredn´ı hodnota je 0.7. Vzhledem k tomu, ˇze odchylka je zhruba σ = 0.05, tak jejich oddˇelen´ı od ostatn´ıch uˇzivatel˚ u rozd´ılem 0.2 je naprosto pr˚ ukazn´e. Kr´ atk´e shrnut´ı tohoto u ´toku je, ˇze funguje vˇzdy! Existuj´ı pˇresnˇe definovan´e omezen´ı, kter´e zajiˇst’uj´ı maxim´ aln´ı efektivitu u ´toku. Z hlediska v´ ypoˇcetn´ı n´ aroˇcnosti je u ´tok velmi nen´ aroˇcn´ y a jedin´ ym pˇr´ıpadem, pˇri kter´em to nebude fungovat je situace, kdy m = N . To je ale snadn´e zjistit. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
99
rea d
´ ˇn´ı syst´ 11.4. Utoky na anonymizac emy
Jestliˇze v chov´ an´ı uˇzivatel´e existuj´ı nˇejak´e trval´e vzory, tak je vˇzdy zjist´ıme. Efektivn´ı implementace u ´tok˚ u existuj´ı pro nˇekter´e typy mix˚ u, na ty ostatn´ı existuj´ı ´ funguj´ıc´ı u ´toky. Utoky, kter´e v souˇcasn´e dobˇe existuj´ı je moˇzn´e zobecˇ novat.
11.4.2
roo f
Podstatn´ ym faktem je, ˇze anonymitn´ı syst´em je pouˇz´ıv´ an jako ˇcern´ a skˇr´ıˇ nka a jedin´e, s ˇc´ım pracujeme jsou vzory v chov´ an´ı uˇzivatel˚ u! A tak´e je d˚ uleˇzit´e si uvˇedomit, ˇze u ´spˇeˇsnost u ´toku je pˇr´ımo u ´mˇern´ a poˇctu zpr´ av zaslan´ ych dan´ ym uˇzivatelem.
´ Utok na toky dat
ot P
V tomto pˇr´ıpadˇe je c´ılem syst´em, kter´ y slouˇz´ı k pˇrenosu velk´ ych mnoˇzstv´ı menˇs´ıch paket˚ u po pˇredem ustaven´ ych cest´ ach. Vzhledem k tomu, ˇze obvykle je vyˇzadov´ ana rychl´ a odezva, tak nen´ı moˇzn´e prov´ adˇet rozs´ ahlejˇs´ı d´ avkov´ an´ı, jak je obvykl´e u vˇetˇsiny mix˚ u. Vzhledem k tomu, ˇze existuje nˇekolik ˇcasto pouˇz´ıvan´ ych protokol˚ u, je moˇzn´e sledovat urˇcit´e vzory v pos´ılan´ ych datech, kter´e jsou typick´e pro tyto aplikace (ssh, web browsing). C´ılem u ´toˇcn´ıka je vystopovat cestu datov´eho toku a propojit odesilatele a pˇr´ıjemce. Jednoduch´ ym pˇr´ıkladem m˚ uˇze b´ yt frontov´ y syst´em (mix) M/M/∞. Datov´ y tok vstupuje do mixu, kter´ y m´ a dva v´ ystupy. Ty jsou zarovn´ av´ any n´ ahodnˇe generovan´ ymi zpr´ avami. Kaˇzd´ a zpr´ ava/paket je v mixu zdrˇzen po ˇcas urˇcovan´ y na z´ akladˇe exponenci´ aln´ıho rozdˇelen´ı. ´ cn´ık sleduje zpr´ Utoˇ avy vystupuj´ıc´ı v ˇcasech Xi a Yj a snaˇz´ı se urˇcit, kter´ a
C(t) = (d ∗ f )(t) =
TN
v´ ystupn´ı linka patˇr´ı ke vstupn´ımu toku. K v´ ypoˇctu se pouˇz´ıv´ a integr´ aln´ı rovnice: Z
d(x)f (t − x)dx
kde f je datov´ y tok a d je zvolen´e n´ ahodnostn´ı rozloˇzen´ı. Rozloˇzen´ı je to, co n´ am pom˚ uˇze nal´ezt spr´ avn´ y v´ ystupn´ı tok.
DR AF
Πni=1 C(Xi ) Πm L(H0 |Xi , Yj ) j=1 u = n >1 m L(H1 |Xi , Yj ) Πi=1 u Πj=1 C(Xj )
!!!obr slajd 19, lecture 11!!! ´ Utok je opˇet v´ ypoˇcetnˇe velmi levn´ y, ale je potˇreba velk´eho mnoˇzstv´ı dat. Proud ´ je moˇzn´e vystopovat a existuj´ı intervaly urˇcuj´ıc´ı jistotu v´ ysledku. Utok jako takov´ y je moˇzn´e znesnadnit dvˇema zp˚ usoby: bud’ je pos´ıl´ ano menˇs´ı mnoˇzstv´ı dat, nebo se zvyˇsuje zpoˇsdˇen´ı dat v mixu. Obˇe moˇznosti ovˇsem znaˇcnˇe zvyˇsuj´ı cenu syst´emu a sniˇzuj´ı jeho pouˇzitelnost. Ot´ azkou aktu´ aln´ıho v´ yzkumu je moˇznost aktivn´ıch u ´tok˚ u, kter´e by modulovaly vstupn´ı tok, coˇz by bylo moˇzn´e vyuˇz´ıt pro znesnadnˇen´ı u ´toku. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
rea d
Kapitola 11. Anonymitn´ı syst´ emy
TN
ot P
roo f
TODO network traffic analysis.
DR AF
100
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
roo f
rea d
101
ot P
ˇ ast V C´
DR AF
TN
Implementace Kryptografie
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
roo f
ot P
TN
DR AF
rea d
rea d
103
roo f
Kapitola 12
DR AF
TN
ot P
Spr´ ava kl´ıˇ c˚ u
rea d
ˇ na ´ zar ˇ´ızen´ı Kapitola 13. Bezpec
104
Bezpeˇ cn´ a zaˇ r´ızen´ı
roo f
Kapitola 13
ot P
Bezpeˇcn´a zaˇr´ızen´ı jsou fyzick´e implementace v´ ypoˇcetn´ıch prostˇredk˚ u, kter´e zajiˇst’uj´ı fyzickou izolaci ˇc´ ast´ı obsahuj´ıc´ıch citliv´ a data, nebo pracuj´ıc´ıch s citliv´ ymi daty od okol´ı a uˇzivatel˚ u. Jedin´ y pˇr´ıstup, kter´ y je povolen je pˇres pˇresnˇe specifikovan´e aplikaˇcn´ı rozhran´ı. K ˇcemu ale v˚ ubec takov´ a zaˇr´ızen´ı potˇrebujeme.
TN
Pˇredstavme si jednoduch´ y pˇr´ıklad. Mˇejme jednoduch´ y syst´em, kter´ y zajiˇst’uje bezpeˇcnou komunikaci mezi dvojicemi uˇzivatel˚ u – napˇr. Bob a Alice. Jelikoˇz ale takov´ ych dvojic m˚ uˇze b´ yt hodnˇe, existuje jeˇstˇe d˚ uvˇeryhodn´ a tˇret´ı strana, kter´ a m´ a kl´ıˇce sd´ıllen´e se vˇsemi uˇzivateli a v pˇr´ıpadˇe potˇreby pom˚ uˇze libovoln´e dvojici z tˇechto uˇzivatel˚ u ustavit kl´ıˇc sezen´ı. Z´ akladn´ı protokol pro ustaven´ı takov´eho kl´ıˇce je n´ asleduj´ıc´ı: 1) A → C: {timeA , B} // please, can you generate a key for me (Alice) and Bob? 2) C → A: {EKAC (timeA , KAB , B), EKBC (timeC , KAB , A)} // OK, takˇze ti pos´ıl´ am jednu kopii kl´ıˇce a druh´ a ˇc´ ast je druh´ a kopie urˇcen´ a pro Boba
DR AF
3) A → B: {EKBC (timeC , KAB , A), EKAB (timeA , B)} // Ahoj Bobe, dostala jsem kl´ıˇc od C a pˇrepos´ıl´ am ti tvoji kopii a taky m˚ uj aktu´ aln´ı ˇcas 4) B → A: {EKAB (timeB , A)} //Bob ˇr´ık´ a d´ıky, a pos´ıl´ am ti zp´ atky sv˚ uj aktu´ aln´ı ˇcas zaˇsifrovan´ y nov´ ym kl´ıˇcem KAB Celkem tedy m´ ame protokol o ˇctyˇrech relativnˇe jednoduch´ ych zpr´ av´ ach. Ten n´ am ovˇsem bezpeˇcnost syst´emu nezajist´ı. Mlˇcky totiˇz pˇredpokl´ ad´ ame, ˇze toto jsou jedin´e zp˚ usoby, kter´ ymi se v syst´emu pˇren´aˇsej´ı citliv´e informace. Pˇredpokl´ ad´ ame tedy, ˇze: • C m´ a vˇsechny kl´ıˇce bezpeˇcnˇe uloˇzen´e
• C je d˚ uvˇeryhodn´e s ohledem na vytvoˇren´ı dobr´ ych kl´ıˇc˚ u pro Alici a Boba (jsou skuteˇcnˇe n´ ahodnˇe vygenerovan´e)
rea d
105
• kopie kl´ıˇce KAB jsou smaz´ any v okamˇziku, kdy uˇz nejsou d´ al potˇreba
• existuj´ı kl´ıˇce mezi C a Alic´ı a C a Bobem – tyto kl´ıˇce bylo tˇreba vygenerovat, vymˇenit vˇzdy mezi obˇema stranami, pˇr´ıpadnˇe jsou aktualizov´ any • ...
roo f
Takov´ ychto pˇredpoklad˚ u m˚ uˇzeme vyjmenovat velk´e mnoˇzstv´ı. Bohuˇzel, pro kaˇzd´ y pˇredpoklad je tˇreba zajistit jeho bezpeˇcnou realizaci. Vezmˇeme napˇr. existenci sd´ılen´ ych kl´ıˇc˚ u mezi Alic´ı a C, a Bobem a C.
1. Je tˇreba specifikovat, jak´ ym zp˚ usobem se budou generovat kl´ıˇce, jak je budeme pˇren´ aˇset mezi dvojicemi, jak´ ym zp˚ usobem je budeme aktualizovat. 2. Je tˇreba definovat konkr´etn´ı mechanismy pro operace, kter´e definujeme v´ yˇse.
ot P
3. Mechanismy se mus´ı naimplementovat; k tomu mus´ıme definovat operaˇcn´ı prostˇred´ı, best practices, zkr´ atka vˇsechny u ´rovnˇe n´ avrhu, vˇcetnˇe napˇr. pˇresn´eho popisu form´ atu zpr´ av, protokol˚ u pro jejich v´ ymˇenu. 4. Nakonec by se mˇel vypracovat audit a verifikovat bezpeˇcnost realizace.
TN
Kolem a kolem, dokumentace, kter´ a by popisovala cel´ y syst´em by mohla dostoupat aˇz do objemu tis´ıc˚ u str´ anek.Takˇze kdyˇz se vr´ at´ıme zp´ atky k bezpeˇcn´ ym zaˇr´ızen´ım, tak jsou prostˇredkem pro pˇreveden´ı velk´e ˇc´ asti pˇredchoz´ıho procesu na jednoduchou vˇetu. “Jestliˇze pouˇzijeme bezpeˇcn´e zaˇr´ızen´ı X, tak syst´em pro spr´ avu kl´ıˇc˚ u (nebo jeho podstatn´ a ˇc´ ast) je bezpeˇcn´ a.” Bezpeˇcn´ a hardwarov´ a zaˇr´ızen´ı existuj´ı v mnoha tvarech, velikost´ıch, i schopnostech a jsou pouˇz´ıv´ any pro mnoho r˚ uzn´ ych u ´ˇcel˚ u.
DR AF
HSM (Hardware security modules) nejv´ ykonnˇejˇs´ı a nejbezpeˇcnˇejˇs´ı zaˇr´ızen´ı (z hardwarov´eho hlediska). U nˇekter´ ych modul˚ u je HW realizace certifikov´ ana na nejvyˇsˇs´ı stupeˇ n bezpeˇcnosti. Z hlediska v´ ykonu jde typicky o poˇc´ıtaˇce s aˇz gigahertzov´ ym Pentiem, kter´e je pos´ıleno speci´ aln´ımi kryptografick´ ymi urychlovaˇci (speci´ aln´ı procesory, nebo FPGA pole). Mikrokontroler ˇcip mikrokontroleru, kter´ y je odoln´ y proti fyzick´emu u ´toku. Tyto ˇcipy mohou b´ yt pouˇzity ve speci´ aln´ıch zaˇr´ızen´ıch, jako napˇr. term´ın´ aly pro placen´ı platebn´ı kartou. ˇ Cipov´ a karta je low-end zaˇr´ızen´ı. Jde o snadno pˇrenositeln´ y bezpeˇcn´ y hardware s ˇcipem. D´ıky velikosti je velmi snadn´e je nosit v penˇeˇzence, nebo v kapse. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
ˇ na ´ zar ˇ´ızen´ı Kapitola 13. Bezpec
rea d
106
Jin´ e existuje mnoˇzstv´ı r˚ uzn´ ych typ˚ u zaˇr´ızen´ı, kter´ a jsou obvykle zaloˇzena na technologii ˇcipov´ ych karet uvnitˇr nov´eho fyzick´eho proveden´ı – USB token, zaˇr´ızen´ı pouze s displayem (SecurID), . . .
roo f
Pˇr´ıkladem HSM je IBM 4758, coˇz je mimo jin´e modul, jehoˇz hardwarov´ a bezpeˇcnost m´ a nejvyˇsˇs´ı moˇznou certifikaci podle standardu FIPS 140. Modul je zalit uretanovou tuhou hmotou, uvnitˇr t´eto hmoty je membr´ ana citliv´ a na naruˇsen´ı, kter´ a je chemicky shodn´ a se samotnou hmotou. Zaˇr´ızen´ı tak´e obsahuje detektory teploty a rentgenov´eho z´ aˇren´ı. TEMPEST ochrana (proti elektromagnetick´emu z´ aˇren´ı) je realizov´ ana st´ınˇen´ım. Dalˇs´ı ochranou jsou filtry aplikovan´e na nap´ ajec´ı zdroj chr´ an´ıc´ı pˇred v´ ykyvy nap´ ajen´ı. Obecnˇe je bezpeˇcn´ y hardware uˇziteˇcn´ y a pouˇz´ıvan´ y zhruba ve ˇctyˇrech z´ akladn´ıch sc´en´ aˇr´ıch:
ot P
Vynucen´ı bezpeˇ cnostn´ı politiky obvykle pravidla pro pˇr´ıstup k urˇcit´ ym citliv´ ym informac´ım. Pˇr´ıkladem m˚ uˇze b´ yt napˇr. podepisov´ an´ı certifik´ at˚ u soukrom´ ym kl´ıˇcem certifikaˇcn´ı autority. V tomto pˇr´ıpadˇe m˚ uˇzeme umoˇznit pˇr´ıstup ke kl´ıˇci jenom opr´ avnˇen´emu uˇzivateli (certifikaˇcn´ı autoritˇe). Ochrana kritick´ ych citliv´ ych dat tady m˚ uˇzeme uv´est jako pˇr´ıklad ochranu kl´ıˇc˚ u pro generov´ an´ı PIN˚ u v bank´ ach.
TN
Ochrana dat v nepˇ r´ atelsk´ em prostˇ red´ı to jest v pˇr´ıpadech, kdy citliv´ a data jednoho subjektu jsou pouˇz´ıv´ ana v prostˇred´ı subjektu, kter´ y m´ a opaˇcn´e z´ ajmy. Napˇr. kl´ıˇce oper´ atora mobiln´ı s´ıtˇe v telefonn´ım pˇr´ıstroji z´ akazn´ıka. Aplikace s vysok´ ymi n´ aroky na kryptografii kdy je tˇreba prov´ adˇet velk´e mnoˇzstv´ı kryptografick´ ych operac´ı v kr´ atk´em ˇcase. Zaˇr´ızen´ı slouˇz´ı jako kryptografick´e ˇ ym pouˇzit´ım je SSL akcelerace pro web servery. akceler´ atory. Cast´ Konkr´etn´ımi aplikacemi jsou napˇr.
DR AF
• Bankovn´ı bezpeˇcnost – generov´ an´ı, pˇrenos a ovˇeˇrov´ an´ı PIN˚ u v bankovn´ıch s´ıt´ıch ATM a POS. • Elektronick´e platebn´ı syst´emy – autentizaˇcn´ı a u ´loˇzn´e tokeny pro onloine a retail platebn´ı syst´emy (napˇr. Chip and PIN). • Syst´emy s pˇredplacen´ ymi tokeny – pro regulaci probl´em˚ u spojen´ ych s elektronick´ ymi pˇredplatitelsk´ ymi tokeny: elektˇrina, mobiln´ı telefony, elektronick´e poˇstovn´ı zn´ amky, apod. • Trusted computing – pro spr´ avu autorsk´ ych pr´ av (DRM), bezpeˇcn´e bootov´ an´ı poˇc´ıtaˇc˚ u, certifikace. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
107
rea d
´n´ı bezpec ˇ n´ 13.1. Metody hackova eho hardwaru
• Bezpeˇcn´ y u ´loˇzn´ y prostor – bezpeˇcn´e uloˇzen´ı kl´ıˇc˚ u pro SSL webservery a certifikaˇcn´ı autority.
• Placen´ a televize – autorizaˇcn´ı a deˇsifrovac´ı tokeny pro video streamy satelitn´ı a kabelov´e televize. Kontrola pˇr´ıstupu k jednotliv´ ym kan´ al˚ um.
roo f
• Autorizaˇcn´ı tokeny – gener´ atory jednor´ azov´ ych hesel (napˇr. RSA SecurID) a dalˇs´ı autentizaˇcn´ı tokeny pro pˇrihlaˇsov´ an´ı do informaˇcn´ıch syst´em˚ u, nebo pro autorizaci konkr´etn´ı operac´ı. • Obchodn´ı syst´emy – regulace elektronick´ ych akci´ı a cenin, algoritmy pro ochranu, nebo pro zajiˇstˇen´ı fair chov´ an´ı (napˇr. elektronick´ a kontrola “bills of lading” pro velk´e lodˇe).
ot P
• Ochrana pˇred n´ atlakem – bezpeˇcn´e uloˇzen´ı kl´ıˇc˚ u a zpracov´ an´ı v syst´emech odoln´ ych proti cenzuˇre a v anonymitn´ıch syst´emech. • Vojensk´ a bezpeˇcnost – eliminace ztr´ at v pˇr´ıpadˇe zabr´ an´ı vybaven´ı nepˇr´ıtelem na bitevn´ım poli. Kontrola pˇr´ıstupu a autorizace pro nukle´ arn´ı zbranˇe.
13.1
Metody hackov´ an´ı bezpeˇ cn´ eho hardwaru
TN
Na u ´vod se m˚ uˇzeme pod´ıvat na taxonomii u ´tok˚ u, kter´ a je uvedena na obr´ azku. !!!obr, slajd 15, lecture 13!!!
13.1.1
Lok´ aln´ı neinvazivn´ı u ´toky
DR AF
´ Utoky tohoto typu vyˇzaduj´ı fyzickou bl´ızkost pˇredmˇetn´eho zaˇr´ızen´ı. M˚ uˇze a ne´ mus´ı tak´e vyˇzadovat pˇr´ıstup a opr´ avnˇen´ı k zad´ av´ an´ı lok´ aln´ıch pˇr´ıkaz˚ u. Utoˇcn´ık ale vˇzdy vyuˇz´ıv´ a ofici´ aln´ıch komunikaˇcn´ıch kan´ al˚ u se zaˇr´ızen´ım – s´eriov´e rozhran´ı ˇcipov´e karty – v kombinaci s nepˇredpokl´ adan´ ymi postrann´ımi kan´ aly pro z´ısk´ an´ı tajemstv´ı uloˇzen´ ych v zaˇr´ızen´ı (obvykle kryptografick´ y kl´ıˇcov´ y materi´ al). Neinvazivn´ı u ´toky jsou vˇetˇsinou pasivn´ı, kdy pouze sleduj´ı korektn´ı komunikaci se zaˇr´ızen´ım a zaznamen´ avaj´ı unikl´e informace. Podrobnˇe se t´eto ˇc´ asti vˇenujeme ve zvl´ aˇstn´ı kapitole o skryt´ ych kan´ alech.
13.1.2
Lok´ aln´ı semiinvazivn´ı u ´toky
Semiinvazivn´ı u ´toky mohou vyˇzadovat ˇc´ asteˇcn´e otevˇren´ı pouzdra integrovan´eho obvodu, ale v´ ysledky u ´toku jsou dosaˇzeny bez pln´eho invazivn´ıho naruˇsen´ı obvodu, ˇc´ımˇz se u ´toˇcn´ık vyhne finanˇcnˇe a technologicky n´ aroˇcn´ ym procedur´ am spojen´ ych s Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
ˇ na ´ zar ˇ´ızen´ı Kapitola 13. Bezpec
rea d
108
pouˇz´ıv´ an´ım napˇr. mikrosond a nemus´ı se zab´ yvat mechanismy na ochranu ˇcipu pˇred otevˇren´ım.
Pˇr´ıkladem semiinvazivn´ıho u ´toku je pouˇzit´ı ultrafialov´eho svˇetla pˇresnˇe zam´ıˇren´eho na jednotliv´e buˇ nky pamˇeti mikrokontroleru. Pˇri z´ asahu ochrann´eho “bitu” pak m˚ uˇzeme vyˇc´ıst celou pamˇet’.
13.1.3
roo f
Jin´ ym pˇr´ıkladem je pouˇzit´ı svˇeteln´eho blesku, kter´ y je zaostˇren pomoc´ı mikrosko’ pu a opˇet nam´ıˇren na pamˇet ov´e buˇ nky. T´ımto zp˚ usobem jsem v nˇekter´ ych pˇr´ıpadech opˇet schopni zmˇenit datov´e bity v jednotliv´ ych, nebo mal´ ych skupin´ ach pamˇet’ov´ ych bunˇek.
Lok´ aln´ı invazivn´ı u ´toky
ot P
Plnˇe invazivn´ı u ´toky maj´ı za c´ıl u ´plnˇe otevˇr´ıt pouzdro integrovan´eho obvodu. Na takto obnaˇzen´ y obvod pak aplikuj´ı r˚ uzn´e n´ astroje pro zjiˇstˇen´ı struktury obvodu, sledov´ an´ı toku dat po sbˇernic´ıch a v koneˇcn´em d˚ usledku extrahovat tajemstv´ı v obvodu – at’ jiˇz jsou to citliv´ a data, nebo algoritmus implementovan´ y obvodem, nebo obvod samotn´ y. Jedn´ım z moˇzn´ ych zaˇr´ızen´ı, kter´e je pˇri tˇechto u ´toc´ıch moˇzn´e pouˇz´ıt je zdroj zaostˇren´eho iontov´eho paprsku (focussed ion beam – FIB). Tento je schopen selektivnˇe rozpojovat, nebo naopak propojovat vodiv´e dr´ ahy obvodu a mˇenit tak ˇcinnost procesoru.
13.1.4
TN
Vzhledem k nutnosti obej´ıt ochrann´e mechanismy proti naruˇsen´ı pouzdra ˇcipu je tˇreba kombinovat n´ astroje pro u ´tok se speci´ aln´ımi technikami, jako jsou napˇr. podchlazen´ı ˇcipu, nebo expozice radiaˇcn´ıho z´ aˇren´ı pro vytvoˇren´ı efektu “data remanence” (uchov´ an´ı obsahu pamˇeti po odpojen´ı nap´ ajen´ı).
Vzd´ alen´ eu ´toky – bezpeˇ cnostn´ı API
DR AF
Bezpeˇcnostn´ı aplikaˇcn´ı rozhran´ı (API) tvoˇr´ı jedin´e ofici´ aln´ı a dostupn´e rozhran´ı k bezpeˇcnostn´ım modul˚ um. Skl´ adaj´ı se ze sady pˇr´ıkaz˚ u a datov´ ych typ˚ u (datov´ ych struktur), kter´e jsou tˇemito pˇr´ıkazy pouˇz´ıv´ any pro pˇred´ av´ an´ı parametr˚ u. Pˇr´ıkazy mohou tvoˇrit transakce, ale jelikoˇz modul samotn´ y nem˚ uˇze zajistit korektn´ı chov´ an´ı uˇzivatele, tak pˇr´ıkazy transakc´ı mus´ı b´ yt “samopopisn´e” – tj. vstupn´ı a v´ ystupn´ı data jednoznaˇcnˇe popisuj´ı aktu´ aln´ı stav transakce. Bezpeˇcnostn´ı API umoˇzn ˇuje uˇzivatel˚ um manipulovat s kl´ıˇcov´ ym meteri´ alem a dalˇs´ımi citliv´ ymi daty a souˇcasnˇe je schopno vynutit urˇcitou bezpeˇcnostn´ı politiku, kter´ a je v modulu definov´ ana. ´ Utok na API je posloupnost pˇr´ıkaz˚ u, kter´e jsou norm´ alnˇe dostupn´e, ale sekvence jako takov´ a je sestaven´ a tak, aby uˇzivateli umoˇznila poruˇsit bezpeˇcnostn´ı politiku a z´ıskat data, ke kter´ ym by nemˇel m´ıt pˇr´ıstup. Je moˇzn´e pouˇz´ıvat neobvykl´e parameDan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
´ 13.2. Utoky na HSM
rea d
109
try, stejnˇe tak jako i neobvykl´e kombinace pˇr´ıkaz˚ u. Bezpeˇcnostn´ı API jsou zvl´ aˇstn´ı implementac´ı bezpeˇcnostn´ıch protokol˚ u a mnoho z u ´tok˚ u je obdobn´ ych u ´tok˚ um na bezpeˇcnostn´ı protokoly.
´ Utoky na HSM
roo f
13.2
ot P
U bezpeˇcnostn´ıch modul˚ u – HSM (hardware security module) budeme hostitelsk´ ym zaˇr´ızen´ım rozumˇet poˇc´ıtaˇc, ke kter´emu je modul pˇripojen. Na tento poˇc´ıtaˇc nen´ı tˇreba kl´ ast ˇz´ adn´e zvl´ aˇstn´ı bezpeˇcnostn´ı poˇzadavky. Pojem API jsme si jiˇz vysvˇetlili, takˇze snad na u ´vod jiˇz jen pojmy otevˇren´ y PIN blok, ˇsifrovan´ y PIN blok a PAN (primary account number). PIN jako takov´ y je informace, kter´ a m´ a entropii menˇs´ı neˇz 13 bit˚ u (m´enˇe neˇz 10.000 r˚ uzn´ ych hodnot). Pˇri elektronick´em pˇrenosu je tˇreba zv´ yˇsit mnoˇzstv´ı entropie, protoˇze jinak by bylo velmi snadn´e naj´ıt PIN u ´tokem hrubou silou. Bezpeˇcnostn´ı bankovn´ı API obvykle vytv´ aˇrej´ı blok o velikosti osm bajt˚ u, kter´ y uˇz teoreticky zabraˇ nuje tomuto u ´toku. Tyto bloky pˇred ˇsifrov´ an´ım se naz´ yvaj´ı otevˇren´ y PIN blok, po zaˇsifrov´ an´ı – zaˇsifrovan´ y PIN block. PAN je oznaˇcen´ı pro ˇc´ıslo bankovn´ıho u ´ˇctu. Pˇri u ´toc´ıch n´ as zaj´ımaj´ı u ´ˇcty, ke kter´ ym jsou vydan´e platebn´ı karty. Pro z´ akladn´ı pˇredstavu je tˇreba si popsat strukturu syst´emu, kter´ y zajiˇst’uje pouˇz´ıv´ an´ı platebn´ıch karet.
TN
!!!slajd 52, lecture 13!!!
Nyn´ı se koneˇcnˇe m˚ uˇzeme posunout k popisu jednotliv´ ych u ´tok˚ u.
13.2.1
´ Utoky s nulov´ ym kl´ıˇ cem (XOR to Null Key)
Hlavn´ı kryptografick´e kl´ıˇce jsou mezi bankami vymˇen ˇov´ any v nˇekolika ˇc´ astech, kter´e jsou sami o sobˇe bezcenn´e. Tyto ˇc´ asti jsou pˇren´ aˇseny kur´ yry a znovu jsou sloˇzeny v p˚ uvodn´ı kl´ıˇc aˇz v HSM c´ılov´e banky – pomoc´ı funkce XOR.
DR AF
!!!obr slajd 53, lecture 13!!!
Probl´em je, ˇze nˇekter´e moduly nejsou schopny poznat, z kolika ˇc´ ast´ı m´ a b´ yt kl´ıˇc schov´ an, ani kter´e ˇc´ asti patˇr´ı k dan´emu kl´ıˇci. To umoˇzn ˇuje oper´ atorovi vloˇzit do modulu nˇekterou ˇc´ ast dvakr´ at. T´ımto postupem se kl´ıˇc nastav´ı na nulov´ y a je pak velmi snadn´e deˇsifrovat libovolnou informaci t´ımto kl´ıˇcem “chr´ anˇenou”.
13.2.2
´ Utok na import kl´ıˇ cov´ eˇ c´ asti
Jestliˇze jeˇstˇe jednou zopakujeme postup pˇri skl´ ad´ an´ı hlavn´ıho kl´ıˇce z nˇekolika ˇc´ ast´ı, tak m˚ uˇzeme pouˇz´ıt n´ asleduj´ıc´ı rovnici. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
rea d
ˇ na ´ zar ˇ´ızen´ı Kapitola 13. Bezpec
110
K = KPA ⊕ KPB ⊕ KPC
roo f
Pro z´ısk´ an´ı kl´ıˇce K mus´ı spolupracovat vˇsichni vlastn´ıci jednotliv´ ych ˇc´ ast´ı. V nˇekter´ ych pˇr´ıpadech ale nepotˇrebujeme zn´ at kl´ıˇc samotn´ y ale zcela n´ am postaˇcuje, aby se nˇejak´ y nov´ y kl´ıˇc liˇsil od p˚ uvodn´ıho kl´ıˇce K o pˇresnˇe definovanou konstantu.
Pˇr´ıkladem je u ´tok na import kl´ıˇc˚ u do HSM IBM 4758. Tento modul chr´ an´ı kl´ıˇce pomoc´ı kontroln´ıho vektoru tak, ˇze provede xor pˇr´ısluˇsn´eho exportn´ıho kl´ıˇce s kontroln´ım vektorem a v´ yslednou hodnotu pouˇzije na ˇsifrov´ an´ı exportovan´ ych dat. Jestliˇze se n´ am tedy podaˇr´ı zmˇenit hodnotu kl´ıˇce o nˇejakou konstantu, kter´ a dˇel´ı typ dat kter´a nelze volnˇe exportovat na typ, kter´ y je moˇzn´e volnˇe pˇren´ aˇset, tak m´ ame vyhr´ ano.
ot P
KEK1 = KORIG je p˚ uvodn´ı kl´ıˇc, kter´ y je moment´ alnˇe pouˇz´ıv´ an jako kl´ıˇc pro export kl´ıˇc˚ u. KEK2 je nov´ y kl´ıˇc, kter´ y pouˇzijeme pro import. Jelikoˇz n´ am typ kl´ıˇce KEY neumoˇzn ˇuje jeho export z modulu, pokus´ıme se ho pˇri importu zmˇenit na jin´ y typ kl´ıˇce. Kl´ıˇc KEY je nejdˇr´ıve vyexportov´ an, pomoc´ı kl´ıˇce pro ˇsifrov´ an´ı kl´ıˇc˚ u KEK1 :
TN
EKEK1⊕old CV (KEY )
DR AF
Pˇri norm´ aln´ım, tedy korektn´ım importu by se pro rozˇsifrov´ an´ı opˇet pouˇzil kl´ıˇc KEK1 a c´ılov´e zaˇr´ızen´ı by z´ıskalo spr´ avnou hodnotu kl´ıˇce KEY i se spr´ avn´ ym typem – kontroln´ım vektorem. Jestliˇze se ale u ´toˇcn´ıkovi podaˇr´ı vytvoˇrit jin´ y kl´ıˇc pro export kl´ıˇc˚ u (KEK2 ) s hodnotou sice nezn´ amou, ale s pˇresnˇe definovanou odchylkou od KEK1 , tj. KEK2 = KEK1 ⊕(old CV ⊕new CV ) – coˇz je moˇzn´e udˇelat pomoc´ı jin´e chyby v API kryptomodulu VISA, dostaneme po importu pˇri podvrˇzen´ı kontroln´ıho vektoru hodnotou new CV :
DKEK2⊕new CV (EKEK1⊕old CV (KEY )) = DKEK1⊕old CV ⊕new
CV ⊕new CV (EKEK1 ⊕old CV (KEY
)) =
DKEK1⊕old CV (EKEK1 ⊕old CV (KEY )) = KEY Tentokr´ at je ovˇsem kl´ıˇc KEY neimportov´ an s jin´ ym kontroln´ım vektorem, takˇze jeho typ je podle naˇs´ı volby. M˚ uˇzeme z nˇej napˇr. udˇelat kl´ıˇc pro v´ ypoˇcet PIN˚ u, i kdyˇz jsme ho pˇred t´ım mohli volnˇe vyexportovat. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
13.3
Generov´ an´ı a verifikace PIN˚ u
111
rea d
´n´ı a verifikace PIN˚ 13.3. Generova u
Pr´ace s PINy je jedn´ım ze z´ akladn´ıch d˚ uvod˚ u, proˇc se v˚ ubec kryptografick´e moduly relativnˇe masovˇe zaˇcaly pouˇz´ıvat. To je jeden z d˚ uvod˚ u, proˇc se pˇr´ısluˇsn´ ym funkc´ım budeme vˇenovat trochu v´ıc.
roo f
Existuj´ı jeden univerz´ alnˇe pouˇz´ıvan´ y algoritmus pro generov´ an´ı PIN˚ u pro bankovn´ı karty. Naz´ yv´ a se IBM 3624 a existuje jednoduch´ a rozˇsiˇruj´ıc´ı verze IBM 3624 Offset. Z´ akladem v´ ypoˇctu PIN˚ u je ˇc´ıslo u ´ˇctu (Primary Account Number). Toto ˇc´ıslo se zaˇsifruje algoritmem DES/3DES a to kl´ıˇcem, kter´ y m´ a typ derivaˇcn´ı PIN˚ u (PIN derivation key). V´ ysledek je zkr´ acena na obvykle 4 ˇc´ıslice a decimalizov´ an (pˇreveden z ˇsestn´ actkov´e soustavy na des´ıtkovou). V´ ysledkem je PIN. Pˇri pouˇzit´ı metody IBM 3624 Offset je v´ ysledek t´eto operace pojmenov´ an IPIN, z nˇehoˇz se PIN z´ısk´ a pˇripoˇcten´ım Offsetu – konstanty, kter´ a se upravuje tak, aby v´ ysledn´ y PIN byl podle volby vlastn´ıka pˇr´ısluˇsn´e bankovn´ı karty.
13.3.1
ot P
Verifikace PINu provede proces, kter´ y jsme pr´ avˇe popsali. Souˇcasnˇe s t´ım je tak´e deˇsifrov´ an PIN, kter´ y pˇrijde od bankomatu, nebo obchodn´ıka (EPB) a v´ ysledky obou v´ ypoˇct˚ u se porovnaj´ı. Pˇri shodˇe bude PIN u ´spˇeˇsnˇe ovˇeˇren.
Funkce pro verifikaci PINu
TN
Funkce je relativnˇe sloˇzit´ a a to jak vnitˇrn´ı implementac´ı, tak i sv´ ymi parametry. Jestliˇze vynech´ ame ty nepˇr´ıliˇs podstatn´e, tak dostaneme sedm z´ asadn´ıch parametr˚ u, kter´e je tˇreba vloˇzit pˇri vol´ an´ı funkce pro u ´spˇeˇsnou verifikaci PINu: 1. Kl´ıˇc pro ˇsifrov´ an´ı/deˇsifrov´ an´ı PIN˚ u – kl´ıˇc je moˇzn´e pouˇz´ıt pro ˇsifrov´ an´ı PINu po jeho naform´ atov´ an´ı do CPB.
DR AF
2. Kl´ıˇc pro derivaci kl´ıˇc˚ u – tento kl´ıˇc se pouˇz´ıv´ a pro generov´ an´ı PIN˚ u – tj. pro v´ ypoˇcet PINu z ˇc´ısla u ´ˇctu. 3. Zvolen´ y form´ at PIN bloku (CPB), v jak´em je zaˇsifrovan´ y PIN, jehoˇz spr´ avnost se ovˇeˇruje. 4. Validaˇcn´ı data – typ z´ akladn´ıch vstupn´ıch dat, ze kter´ ych se generuje PIN. 5. Blok se zaˇsifrovan´ ym PINem, kter´ y se ovˇeˇruje (EPB). 6. Verifikaˇcn´ı metoda, kter´ a m´ a b´ yt pouˇzita – napˇr. IBM 3624 Offset. 7. Datov´e pole – textov´ y ˇretˇezec, kter´ y obshuje decimalizaˇcn´ı tabulku, validaˇcn´ı data a napˇr. Offset. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
rea d
ˇ na ´ zar ˇ´ızen´ı Kapitola 13. Bezpec
112
Vˇsimnˇete si, ˇze ˇcist´ y PIN nem˚ uˇze b´ yt parametrem funkce, protoˇze by bylo pˇr´ıliˇs jednoduch´e proj´ıt vˇsechny moˇzn´e hodnoty a naj´ıt ten spr´ avn´ y. Bohuˇzel, jak uvid´ıme d´ ale, tak st´ al´e zb´ yv´ a dost moˇznost´ı na to, abychom PIN zjistili. Postup verifikace vypad´ a na pˇr´ıkladˇe takto:
roo f
Vstupy pˇredpokl´ adejme, ˇze validaˇcn´ımi daty jsou PAN, pouˇzit´ a metoda je IBM 3624 Offset a m´ ame pˇr´ısluˇsn´e kryptografick´e kl´ıˇce. Dalˇs´ımi parametry jsou: • EPB s PINem, kter´ y byl zad´ an v bankomatu. Po odˇsifrov´ an´ı pˇr´ısluˇsn´ ym kl´ıˇcem a vyjmut´ım z CPB dostaneme 7216.
• Offset, kter´ y nen´ı nijak chr´ anˇen pˇri vstupu do verifikaˇcn´ı funkce m´ a hodnotu 4344.
Proces Verifikaˇcn´ı proces je n´ asleduj´ıc´ı:
ot P
• Decimalizaˇcn´ı tabulka je ˇretˇezec ”0123456789012789”. ˇ ıslo pˇr´ısluˇsn´eho u • C´ ´ˇctu je 4556238577532239.
1. Vloˇzen´ y EPB je odˇsifrov´ an kl´ıˇcem pro ˇsifrov´ an´ı/deˇsifrov´ an´ı CPB. 2. Podle zvolen´e metody pro form´ atov´ an´ı PINu (vytvoˇren´ı CPB) vyjmeme PIN z deˇsifrovan´eho EPB. Z´ısk´ ame tak hodnotu 7216.
TN
3. Kl´ıˇcem pro derivaci PIN˚ u zaˇsifrujeme ˇc´ıslo u ´ˇctu. Z´ısk´ ame hodnotu 3F 8C 2201 00CA 8AB3 4. Z v´ ysledku pˇredchoz´ı operace vyˇr´ızneme prvn´ı ˇctyˇri ˇc´ıslice – 3F 8C. 5. Hodnota je decimalizov´ ana pomoc´ı decimalizaˇcn´ı tabulky – 3982. 6. K hodnotˇe IPIN je pˇripoˇcten Offset – po jednotliv´ ych ˇc´ıslic´ıch a modulo 10 – 7226.
13.3.2
DR AF
7. Porovn´ ame v´ ysledek kroku 2 s v´ ysledkem kroku 6: 7216 =? 7226. Pokud se rovnaj´ı, tak vrat’ hodnotu znaˇc´ıc´ı, ˇze PIN byl u ´spˇeˇsnˇe ovˇeˇren. Jinak vrat’ negativn´ı hodnotu.
´ Utoky s decimalizaˇ cn´ı tabulkou
Prvn´ı verz´ı u ´toku je sc´en´ aˇr zaloˇzen´ y na znalosti urˇcit´ ych zaˇsifrovan´ ych PIN˚ u. Od ted’ d´ ale pˇredpokl´ adejme, ˇze PINy jsou ˇctyˇrcifern´e a offset je nulov´ y – 0000. V tomto pˇr´ıpadˇe, kdyˇz zavol´ ame funkci pro generov´ an´ı PIN˚ u s decimalizaˇcn´ı tabulkou rovnou 0000 0000 0000 0000, tak v´ ysledn´ y PIN je tak´e nulov´ y – 0000. Pˇre generov´ an´ı PINu je v´ ystupem funkce hodnota EPB, kde zaˇsifrovan´ y PIN je ˇ pr´ avˇe ten nulov´ y. Dalˇs´ı postup je n´ asleduj´ıc´ı. Reknˇeme, ˇze spr´ avn´ a decimalizaˇcn´ı tabulka m´ a b´ yt Dorig = ”0123 4567 8901 2345”, pak vytvoˇr´ıme deset speci´ aln´ıch Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
113
rea d
´n´ı a verifikace PIN˚ 13.3. Generova u
decimalizaˇcn´ıch tabulek D0 aˇz D9 , kde tabulka Di je nulov´ a decimalizaˇcn´ı tabulka s hodnotou 1 na pozic´ıch ˇc´ıslice i. Decimalizaˇcn´ı tabulka D5 je napˇr. rovna hodnotˇe D5 = 0000 0100 0000 0001. ´ cn´ık zavol´ Utoˇ a verifikaˇcn´ı funkci desetkr´ at, postupnˇe s decimalizaˇcn´ımi tab-
ulkami D0 aˇz D9 a s EPB hledan´eho PINu. Jestliˇze vr´ at´ı funkce hodnotu korektn´ı verifikace PINu, tak pˇr´ısluˇsn´ a ˇc´ıslice se v hledan´em PINu nevyskytuje.
roo f
T´ımto postupem zjist´ıme vˇsechny ˇc´ıslice hledan´eho PINu. V´ ysledkem je, ˇze prostor moˇzn´ ych PIN˚ u se tak zredukuje z 10.000 na 36 v nejhorˇs´ım pˇr´ıpadˇe.
ot P
Tento z´ akladn´ı u ´tok je moˇzn´e jeˇstˇe vylepˇsit tak, ˇze zjist´ıme pˇresn´ y PIN s pomoc´ı manipulace s Offsetem. Nutn´ ym pˇredpokladem je, ˇze opˇet vlastn´ıme EPB hledan´eho PINu. Ten lze z´ıskat sledov´ an´ım komunikaˇcn´ıch linek mezi bankomaty a kryptomodulem, nebo z log˚ u. Jak na stranˇe bankomatu, tak na stranˇe kryptomodulu. Opˇet si vytvoˇr´ıme speci´ aln´ıch decimalizaˇcn´ıch tabulek, ale tentokr´ at se budou od t´e spr´ avn´e asleduje opˇet (Dorig ) tak, ˇze hodnota na m´ıstˇe ˇc´ıslice i bude sn´ıˇzena o jedniˇcku. N´ pˇr´ıklad pro D5 = 0123 4467 8901 2344. Opˇet budeme volat verifikaˇcn´ı funkci se zachycen´ ym EPB a postupnˇe vˇsemi decimalizaˇcn´ımi tabulkami D0 aˇz D9 . Pozice ˇc´ıslic, kter´e se vyskytuj´ı v PINu je nalezena manipulac´ı s Offsetem tak, ˇze postupnˇe budeme o jedniˇcku zvyˇsovat jednotliv´e ˇc´ıslice Offsetu.
TN
Pˇr´ıklad u ´toku:
• Necht’ je PIN v EPB 1492 a offset je 1234.
ysledek verifikace je negativn´ı (hodnoty • Zavolali jsme verifikaˇcn´ı funkci s D2 a v´ v z´ avˇereˇcn´em porovn´ an´ı jsou 1492 6= 1491). To znamen´ a, ˇze v PINu v EPB je ˇc´ıslice 2.
DR AF
• Verifikaˇcn´ı funkci budeme ted’ volat 4-kr´ at s decimalizaˇcn´ı tabulkou D2 a hodnotami offsetu postupnˇe 2234, 1334, 1244 a 1235. • V z´ avˇereˇcn´em porovn´ an´ı ve verifikaˇcn´ı funkce se bude hodnota 1492 postupnˇe porovn´ avat s hodnotami 2491, 1591, 1401, 1492. Aˇz posledn´ı porovn´ an´ı vy´ ust´ı s u ´spˇeˇsnou verifikaci. ˇ ıslice 2 je v hledan´em PINu na posledn´ım m´ıstˇe. • C´ Pˇri optim´ aln´ı volbˇe parametr˚ u postaˇcuje k nalezen´ı cel´eho PINu o ˇctyˇrech ˇcislic´ıch pouh´ ych 6 vol´ an´ı verifikaˇcn´ı funkce. Toto mnoˇzstv´ı je tak mal´e, ˇze je v podstatˇe nemoˇzn´e z log˚ u kryptografick´eho modulu nemoˇzn´e identifikovat pokusy o tento u ´tok. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
ˇ na ´ zar ˇ´ızen´ı Kapitola 13. Bezpec
13.3.3
rea d
114
´ Utoky na form´ aty otevˇ ren´ ych PIN blok˚ u – CPB
V existuj´ıc´ıch syst´emech jsou pouˇz´ıv´ any tˇri z´ akladn´ı form´ aty PIN blok˚ u, kter´e si nyn´ı struˇcnˇe pop´ıˇseme. D˚ uvodem t´eto ˇc´ asti je u ´tok, kter´ y vyuˇz´ıv´ a existuj´ıc´ıch funkc´ı umoˇzn ˇuj´ıc´ıch konvertovat PIN blok z jednoho form´ atu na jin´ y.
roo f
V popisu budeme pouˇz´ıvat n´ asleduj´ıc´ı notaci: p je ˇc´ıslice PINu, r je n´ ahodnˇe generovan´ a ˇc´ıslice, x je opˇet n´ ahodn´a ˇc´ıslice, ale vybran´ a hodnota je shodn´ a na vˇsech pozic´ıch x, F je hexadecim´ aln´ı hodnota 0xF . Pro form´ at ANSI X9.8 potˇrebujeme jeˇstˇe notaci pro l – d´elka PINu, Z pro hodnotu 0x0, f zastupuje bud’ F , nebo p podle toho, jak dlouh´ y je PIN, a nakonec a je ˇc´ıslice ˇc´ısla u ´ˇctu (PANu). ECI-2 , prvn´ım form´ atem, kter´ y si pop´ıˇseme je form´ at ECI-2 pro ˇctyˇrcifern´e PINy.
ot P
CP B = pppp rrrr rrrr rrrr
Visa-3 druh´ ym form´ atem pro PINy o d´elkce 4-12 znak˚ u je VISA-3. Form´ at pro ˇctyˇrcifern´ y PIN je n´ asleduj´ıc´ı. CP B = pppp F xxx xxxx xxxx
TN
ANSI X9.8 je nesloˇzitˇejˇs´ım pouˇz´ıvan´ ym form´ atem. V´ ysledn´ a hodnota se skl´ ad´ a ze dvou ˇc´ ast´ı, kter´e jsou zkombinov´ any operac´ı XOR. P1 = Zlpp ppf f f f f f f f F F, P2 = ZZZZ aaaa aaaa aaaa CP B = P1 ⊕ P2 Hodnotou, kterou nyn´ı m´ ame je EPB v ANSI X9.8. Tentokr´ at se budeme snaˇzit zjistit PIN pomoc´ı funkc´ı na pˇreklad form´ atu CPB a verifikaci PIN˚ u. Vstupn´ımi parametry jsou pro n´ asleduj´ıc´ı popis kl´ıˇc K, EP B a P AN .
DR AF
Funkce, kter´ a deˇsifruje EPB a extrahuje vlastn´ı PIN. Pro form´ at ANSI X9.8 m˚ uˇzeme v´ ysledek popsat vzorcem CP BxorP2 = 04pp ppF F F F F F F F F F → P IN = ppp Funkce kromˇe jin´eho ovˇeˇruje, jestli ˇc´ıslice PINu jsou v rozsahu 0 − 9. Jestliˇze je celkov´ y rozsah ˇc´ıslic v EPB 0 − F (maxim´ aln´ı rozsah ˇsestn´ actkov´e soustavy), tak z´ısk´ av´ ame potenci´ aln´ı skryt´ y kan´ al pro vytvoˇren´ı u ´toku. ˇ Reknˇ eme, ˇze ˇc´ıslice PANu, kter´ y je jedn´ım ze vstupn´ıch parametr˚ u uprav´ıme hodnotou x.
P2′ = P2 ⊕ 0000 x000 0000 0000
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
115
rea d
´n´ı a verifikace PIN˚ 13.3. Generova u
Pˇri extrakci PINu z CPB (pro jednoduchost mˇejme p˚ uvodn´ı PAN nulov´ y) dojde k n´ asleduj´ıc´ı zmˇenˇe: CP B ⊕ P2′ = 04pp ppF F F F F F F F F F ⊕ 0000 x000 0000 0000
roo f
a extrahovan´ y PIN bude m´ıt hodnotu pppp ⊕ 00x0. Nyn´ı pouˇzijeme postrann´ıho kan´ alu popsan´eho v´ yˇse. Pomoc´ı tohoto hled´ ame vˇsechny moˇzn´e hodnoty x, pro kter´e je v´ ysledek menˇs´ı neˇz 10: p ⊕ x < 10. Podle z´ıskan´e sekvence u ´spˇech˚ u (P) a ne´ uspˇech˚ u (F) pˇr´ısluˇsn´e funkce m˚ uˇzeme eliminovat hodnotu pˇr´ısluˇsn´e ˇc´ıslice na dvˇe moˇzn´e hodnoty. Jestliˇze je napˇr. hodnota pˇr´ısluˇsn´e ˇc´ıslice 8, nebo 9, tak sekvence v´ ysledk˚ u funkce bude P P F F F F F F P P P P PPPP.
ot P
T´ımto u ´tokem jsme schopni eliminovat moˇzn´e hodnoty tˇret´ı a dalˇs´ıch ˇc´ıslic PINu na pouh´e dvˇe hodnoty. U ˇctyˇrcifern´eho PINu jsme schopni pˇribliˇznˇe urˇcit hodnoty tˇret´ı a ˇctvrt´e ˇc´ıslice a sn´ıˇzit tak prostor moˇzn´ ych hodnot PINu z 10.000 na 400. Tento u ´tok ale tak´e m˚ uˇzeme jeˇstˇe rozˇs´ıˇrit a to tak, ˇze odhadneme hodnoty vˇsech ˇc´ıslic PIN˚ u. Abychom z´ıskali vˇsechny ˇc´ıslice PINu (nebo je alespoˇ n odhadnout) pouˇzijeme funkci pro pˇreklad form´ at˚ u pouˇzit´ ych pro CPB. Z´ akladn´ım u ´ˇcelem tˇechto funkc´ı je pˇrekonvertovat PIN z jednoho form´ atu do jin´eho, aby bylo moˇzn´e pˇrev´est zaˇsifrovan´e PINy pˇri jejich pˇrenosu napˇr. VISA s´ıt´ı.
TN
Pro n´ asleduj´ıc´ı pˇr´ıklad pˇredpokl´ ad´ ame EPB ve form´ atu ANSI X9.8 a PAN je ´ nulov´ y. Utoˇcn´ık pouˇzije konverzn´ı funkci a jako vstupn´ı form´ at specifikuje VISA3 a v´ ystupn´ı bude ANSI X9.8. Pˇri tomto postupu bude PIN extrahov´ an z CPB 04pp ppF F F F F F F F F F jako ˇsesticifern´ y PIN 04pppp a ten je znovu zaˇsifrov´ an. Po aplikov´ an´ı tohoto postupu z´ısk´ au ´toˇcn´ık PIN, ve kter´em prvn´ı dvˇe ˇc´ıslice jsou naprosto nepodstatn´e a pˇri moˇznosti predchoz´ıho u ´toku odhadovat ˇc´ıslice aˇz od tˇret´ı v poˇrad´ı tak m˚ uˇzeme odhadovat vˇsechny ˇc´ıslice p˚ uvodn´ıho ˇctyˇrcifern´eho PINu.
DR AF
Prostor moˇzn´ ych hodnot PIN˚ u tak z´ uˇz´ıme z 10.000 na 16. ´ Utok ale m˚ uˇzeme jeˇstˇe vylepˇsit. PIN m˚ uˇzeme nakonec urˇcit u ´plnˇe pˇresnˇe, ale u ´toˇcn´ık mus´ı b´ yt schopen dˇelat u ´pravy v PANu – vstupn´ım parametru. Toto nen´ı moˇzn´e, kdyˇz pouˇzijeme vstupn´ı form´ at VISA-3, takˇze modifikace PANu bude provedena jeˇstˇe pˇred samotn´ ym u ´tokem, kdyˇz je PIN zaˇsifrov´ an v EPB. Prvn´ı krok u ´toku je stejn´ y, jako v pˇredchoz´ım pˇr´ıpadˇe. Kdyˇz uprav´ıme druhou ˇc´ıslici PANu, tak z´ısk´ ame PIN, kter´ y by se extrahoval jako 04pppp⊕00000x. N´ asleduje ovˇsem druh´ y krok, ve kter´em budeme pˇrev´ adˇet EPB zp´ atky z form´ atu VISA-3 na X9.8. Pokud bude zmˇenˇen´ a hodnota ˇc´ıslice PINu rovna F = x ⊕ p, tak se bude PIN extrahovat nikoliv jako 04pppp, ale jen 04ppp, protoˇze hodnota F ukonˇcuje PIN. Tato zmˇena m˚ uˇze b´ yt pˇri pˇrevodu opˇet zp´ atky do VISA-3 snadno detekov´ ana. Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
ˇ na ´ zar ˇ´ızen´ı Kapitola 13. Bezpec
rea d
116
DR AF
TN
ot P
roo f
Moˇzn´ a se pt´ ate, proˇc jsme neuvedli pˇr´ımo ten posledn´ı, nejlepˇs´ı u ´tok. D˚ uvody jsou dva, jednak je tento postup nejsloˇzitˇejˇs´ı na vysvˇetlen´ı a jednak jsme se tak pokusili demonstrovat postupn´ y v´ yvoj u ´toku.
Dan Cvrcek, DRAFT VERSION; printed on 29. ledna 2006
rea d
117
roo f
Kapitola 14
DR AF
TN
ot P
´ Utoky postrann´ımi kan´ aly
LITERATURA
rea d
118
DR AF
TN
ot P
roo f
Literatura