mbis_02
TRANSCRIPT
![Page 1: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/1.jpg)
Bezpečnost informa čních systém ů
(přednáška 2)
Doc. Ing. Karel Burda, CSc.FEKT VUT v Brn ě
![Page 2: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/2.jpg)
T: Symetrické kryptosystémy
1. Úvod2. Proudové šifry3. Blokové šifry4. Závěr
Program
![Page 3: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/3.jpg)
1. Úvod
![Page 4: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/4.jpg)
Úvod
• šifra (šifrovací algoritmus) slouží k transformaci informace do nesrozumitelné podoby a naopak,
• typy:- symetrické (šifrovací i dešifrovací klíče musí být tajné), Zpravidla platí: KE = KD = K.
- proudová šifra (nejrychlejší, menší bezpečnost),- bloková šifra (rychlá, nejvyšší bezpečnost),
- asymetrické (jeden klíč soukromý, druhý veřejný).
![Page 5: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/5.jpg)
Symetrické kryptosystémy
Symetrické kryptosystémy:- proudová šifra (stream cipher): ci = f(zi, K),- bloková šifra (block cipher): ci = f(z1... zn, K).
kde n je délka bloku zprávy (n = 64/128/192/256 bit).
bit kryptogramu ci
bit zprávy zi
bit hesla hi
(z generátoru hesla)
(závisí na K)
a) proudová šifra b) bloková šifra
blok kryptogramu
blok zprávy
ŠIFRÁTOR
c1 c2 ... ci ... cn = Cj
z1 z2 ... zi ... zn = Zj
K
![Page 6: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/6.jpg)
2. Proudové šifry
![Page 7: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/7.jpg)
Princip proudových šifer
• Proudová šifra ("stream cipher").• Prakticky se jedná o variantu strojové dokonalé šifry. Heslo však není uloženo na paměťovém médiu, ale je generováno konečně -stavovým automatem - tzv. generátorem hesla (pseudonáhodnépostupnosti) na základě klíče K.
Operace XOR: Zpráva Z: 0 1 0 1 0 1 0 1 ... 0 ⊕ 0 = 0 Heslo H: 1 0 1 1 0 0 1 1 ...0 ⊕ 1 = 1 Kryptogram C: 1 1 1 0 0 1 1 0 ...1 ⊕ 0 = 1 Heslo H: 1 0 1 1 0 0 1 1 ...1 ⊕ 1 = 0 Zpráva Z: 0 1 0 1 0 1 0 1 ...
Generátorhesla
K
zi
hi
ci
Generátorhesla
ci
hi
zi
K
Přenosový kanál
![Page 8: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/8.jpg)
Náhodné a pseudonáhodné postupnosti
• Náhodná postupnost: postupnost bitů, která má náhodný charakter. Obvykle je generována na základě náhodných dějů (teplotní šum, radioaktivní rozpad atomů ...).Náhodné postupnosti se využívají při generování klíčů.
• Pseudonáhodná postupnost (PNP): postupnost bitů, která se nazákladě statistických testů jeví jako náhodná, avšak je generována deterministickým způsobem.
• Generátor pseudonáhodné postupnosti (PNP): generátor, který generuje pseudonáhodnou postupnost. Tato postupnost je v proudové šifře použita jako heslo.Typy:
- lineární (zpravidla LFSR – Linear Feedback Shift Register). - nelineární.
![Page 9: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/9.jpg)
Platí:
kde i je pořadové číslo bitu PNP.Počáteční stav registru je klíč.
Maximální délka periody:dMx = 2r - 1, kde r je počet buněk registru. (V praxi r = 64, 128 apod.)
Lineární generátor PNP
• LFSR (Linear Feedback Shift Register): lineární generátor s posuvným registrem a s lineární zpětnou vazbou.
Posuvný registrA B C
Zpětná vazba
1007
1106
1115
0114
1013
0102
0011
1000
CBAi
ii
ii
iii
BC
AB
CBA
==
⊕=
+
+
+
1
1
1
![Page 10: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/10.jpg)
• Obvykle nelineární kombinace několika LFSR.• Například šifra A5 (v GSM):
G1: r = 19 bit, G2: r = 22 bit, G3: r = 23 bit => Délka klíče = 64 bit.
Nelineární generátor PNP
G1
G2
G3
Změnit stav Střední bity
Logika
Výstup
LOGIKA: Změní se stav generátorů, které mají stejnéstřední bity.
zi = výstup z vokodéru
ci = vstup do kanálu
![Page 11: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/11.jpg)
Struktura GSM
Terminály Základnovéstanice
GSM síť Ostatní sítě
BSC Ústředna
síť 1
. . .
síť n
BTS
BTS
BTS
A5 šifrování Nešifrováno!
![Page 12: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/12.jpg)
Bezpečnostní slabiny GSM
• Volba přenosového režimu s šifrováním je na uživateli nezávislá. Šifrování navíc probíhá pouze mezi terminálem a BTS. => Operátor sítě může odposlouchávat.
• Šifra A5 je luštitelná v reálném čase (248 paralerizovatelnýchpředvýpočtů, heslo z 2 sec. hovoru, 300 GB disková paměť →šifrovací klíč lze odvodit řádově v minutách na běžném PC).
• Útok mužem uprostřed ("man-in-the-middle"). GSM skenerem ("GSMscanner" neboli "IMSI catcher") se lze vklínit mezi terminál a BTS.Skener se vůči terminálu chová jako BTS a vůči BTS se chová jakoterminál. Oběma protějškům oznámí, že nepodporuje šifrování a tak veškeré přenosy probíhají nešifrovaně.
• Zjištění klíče v SIM kartě.
![Page 13: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/13.jpg)
Zajištění bezpečnosti v GSM síti
1) GSM má řadu systémových a tedy neodstranitelných bezpečnostních slabin.
2) Řešením je použití mobilních terminálů s nezávislým vlastnímšifrováním, vzájemnou autentizací a klíčovým hospodářstvím. Jejich nevýhodou je vzájemná nekompatibilita.Např. CryptoPhone G10, NSK 200 nebo Tiger XS.
![Page 14: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/14.jpg)
Šifrování WLAN
• Síť WLAN: (standard 802.11)
Wireless Station(WS) 1
![Page 15: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/15.jpg)
Protokol WEP
WEP (Wired Equivalent Privacy):• První verze zabezpečení WLAN (1999). Řada bezpečnostních slabin.Prakticky se již proto nepoužívá.
• Paket je šifrován proudovou šifrou RC4 klíčem KP = IV || K (64 bit),kde symbol || reprezentuje operaci zřetězení bloků.
• Inicializační vektor IV (24 bit) se generuje pro každý paket,• Tajný parametr K (40 bit) je klíč přístupového bodu. Do AP i WS se
zpravidla vkládá ručně.
rámec
RC4
CRC
Výpočet CRC
KIV
KP
IV rámec CRC
rámec
RC4
CRC
Výpočet CRC
KIV
KP
IV rámec CRC
odesílatel
rámec k odeslání přijatý rámec
příjemce
= ?
![Page 16: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/16.jpg)
Útok na WEP prakticky
• V současné době jsou dostupné nástroje na vyluštění klíčů v sítích s protokolem WEP (např. AirSnort, AirCrack).
• Pomocí těchto nástrojů lze vyhledávat a analyzovat WLAN, monitorovat i zaznamenávat jejich provoz.
• Na základě dostatečného počtu zachycených rámců (cca 0,5 miliónu = 15-30 min. provozu) lze vyluštit použité klíče řádově v sekundách.
• Pro WLAN se doporučuje používat WPA (Wi-Fi Protected Access) nebo ještě bezpečnější IEEE 802.11i (WPA2).
![Page 17: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/17.jpg)
Vlastnosti proudové šifry
• Proudové šifrátory jsou založeny na xorování zprávy spseudonáhodnou postupností.
• Vlastnosti proudových šifer:(+) velmi rychlé,(+) hardwarově nenáročné,(+) nešíří chyby,(+) délka zprávy může být libovolná,(-) méně odolné vůči kryptoanalýze,(-) problematické zajištění autentičnosti zpráv.
• Útok na autentičnost zprávy na základě její znalosti:1) Útočník zachytí ci = zi ⊕ hi.2) Ze znalosti zi odvodí hi = ci ⊕ zi.3) Příjemci odešle c'i = z'i ⊕ hi.4) Příjemce dešifruje c'i ⊕ hi = z'i, tj. přijme podvrženou zprávu.
![Page 18: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/18.jpg)
3. Blokové šifry
![Page 19: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/19.jpg)
Operace modulo nNotace: x mod n = y, kde: x je celé číslo, n je přirozené číslo,y ∈ {0, 1, 2, .., n-1}. Pro výslednou hodnotu y platí:
kde z je celé číslo, které je ve směru k (-∝) nejbližší číslu z. Libovolný celočíselný vstup se převede na jedno z n čísel
konečné množiny {0, 1, 2, .., n-1}.Pozn.: Operace XOR je sčítání modulo 2: y ∈ {0,... 2-1} = {0,1}.
Příklady:• 23 mod 4 = 23 - 23/4 · 4 = 23 - 5,75 · 4 = 23 - 5 · 4 = 3. • (-23) mod 4 = (-23) - (-23)/4 · 4 = (-23) - -5,75 · 4 =
= (-23) - (-6) · 4 = (-23) + 24 = 1.
Pozn.: Pro x > 0 je y rovno zbytku po dělení.
nn
xxy ⋅
−=
![Page 20: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/20.jpg)
Základní blokové operace
Bloková operace: operace, která vstupnímu bloku bitů V přiřazujevýstupní blok bitů W.
Značení: W = F(V)V = (v0, v1, ..., vn-1),W = (w0, w1, ..., wn-1).
Typy blokových operací:• permutační,• substituční,• aritmetické.
![Page 21: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/21.jpg)
Permutace
Permutace bitů: uspořádání bitů v bloku.Vstup: blok bitů V o délce n bitů.Výstup: blok bitů W o délce m bitů. Typy permutací:• prostá (n = m), např. V = 0110 → W = 1001,• zúžená (n > m), např. V = 0110 → W = 01,• rozšířená (n < m),např. V = 0110 → W = 101011.
Rotace: speciální případ permutace.Vstup: blok bitů V o délce n bitů.Výstup: blok bitů W o délce n bitů. Typy rotací:• vlevo o k bitů: W = ROL(V, k),
Např.: ROL(0110, 1) = 1100,• vpravo o k bitů: W = ROR(V, k),
Např.: ROR(0110, 2) = 1001.
Pozn.: ROL/ROR = Rotation On Left/Right.
![Page 22: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/22.jpg)
Substituce
Substituce: nahrazení vstupního bloku bitů V jiným blokem bitů W.Pozn.: Na rozdíl od permutací a rotací může být v obou blocích odlišnýpočet "1" a "0".
Typy substitucí:• prostá (n = m), • zúžená (n > m)• rozšířená (n < m).
Přiklad prosté substituce pro n = 2:
1111
0110
0001
1000
VýstupVstup
S01 00
![Page 23: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/23.jpg)
Aritmetické blokové operace
Aritmetické blokové operace: bloky bitů se chápou jako čísla.Dvojici vstupních bloků V a U se přiřazuje výstupní blok W nazákladě určitých aritmetických operací.
Například:• xorování W = V ⊕ U, kde wi = vi ⊕ ui
(0110) ⊕ (1100) = (1010).• sčítání modulo 2n, kde W = (V + U) mod 2n.
[(0110) + (1100)] mod 24 = (10010) mod 24 = (0010).
![Page 24: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/24.jpg)
Princip blokové šifry
Legenda: Z = blok zprávy, C = blok kryptogramu, K = klíč.
a) šifrování b) dešifrování
elementární šifrátor/dešifrátor(tzv. stupeň nebo runda)
![Page 25: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/25.jpg)
Stupeň (runda) Feistelovy šifry
Legenda: i = pořadové číslo stupně,Li = levá polovina bloku, Ri = pravá polovina bloku,Ki = klíč stupně,f(Ri, Ki) = funkce stupně.
Ki
![Page 26: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/26.jpg)
Příklad funkce stupně (rundy)
Příklad tabulky substitučního bloku S1:
Ruský státní šifrovací standard (GOST 28147-89): Feistelovoschéma, 32 stupňů, délka bloku 64 bitů, délka klíče 256 bitů.
![Page 27: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/27.jpg)
Příklad odvození klíčů stupňů
Klíč K o délce 256 bitů:
k2k1 k4k3 k6k5 k8k7
segment o délce 32 bitů
Ruský státní šifrovací standard (GOST 28147-89): Feistelovoschéma, 32 stupňů, délka bloku 64 bitů, délka klíče 256 bitů.
Klíče K1 až K32 o délce 32 bitů pro jednotlivé stupně:
![Page 28: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/28.jpg)
Vlastnosti blokové šifry
• Blokové šifrátory jsou založeny na iterativním opakováni blokovýchoperací.
• Vlastnosti blokových šifer:(-) délka zprávy musí být násobkem délky bloku n,(-) šíří chyby (1 chyba v přijatém bloku kryptogramu → ≈ n/2 chyb v
dešifrovaném bloku zprávy,(+) poměrně rychlé,(+) hardwarově náročnější než proudové,(+) vysoce odolné vůči kryptoanalýze,(+) lepší zajištění autentičnosti zpráv (v důsledku šíření chyb),
• Nejpoužívanější blokové šifry:- AES (Advanced Encryption Standard, 1998):
délka bloku n = 128 b, délka klíče k = 128, 192, 256 b.- IDEA (International Data Encryption Algorithm, 1991): délka bloku n = 64 b, délka klíče k = 128 b.
![Page 29: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/29.jpg)
4. Závěr
![Page 30: MBIS_02](https://reader034.vdocuments.net/reader034/viewer/2022042813/5475ff07b4af9fa30a8b5f57/html5/thumbnails/30.jpg)
Závěr
• proudové šifrátory: (+) jednodušší, (+) rychlejší, (-) méně odolné vůči útokům,příklady: A5 v GSM, RC4 ve WEP (WLAN),
• blokové šifrátory:(+) odolnější vůči kryptoanalýze, (-) složitější, (-) pomalejší,příklady AES, IDEA, 3DES. Použití v IPSec, SSL, PGP.
Otázky ke zkoušce:3. Proudový šifrátor (princip, generátory PNP).4. Blokový šifrátor (princip, blokové operace, rundy).