Bezpečnost informací – BI Ing. Jindřich Kodl, CSc.
Šifrová ochrana informací – věk počítačů PS5-1
VŠFS; Aplikovaná informatika - 2006/2007
1
Osnova
• • •
•
šifrová ochrana využívající výpočetní techniku – např. Feistelova šifra; symetrické a asymetrické šifry; základní symetrické šifrovací algoritmy; – algoritmus DES; – algoritmus AES; – odolnost soudobých symetrických šifrovacích algoritmů; základní asymetrické šifrovací algoritmy; – algoritmus RSA; – algoritmy na bázi eliptických křivek; – odolnost soudobých asymetrických šifrovacích algoritmů; elektronický podpis.
VŠFS; Aplikovaná informatika - 2006/2007
2
Literatura
• Menezes A.J. a kol.: Handbook of Applied Cryptography,CRC Press, 1997 (dostupné i na Internetu)
Doporučená • Přibyl J.: Informační bezpečnost a utajování zpráv,ČVUT, 2004 • Přibyl J, Kodl J.: Ochrana dat v informatice, ČVUT, 1998 VŠFS; Aplikovaná informatika - 2006/2007
3
Symetrické a asymetrické šifry Symetrické šifry • DES • FEAL (blok 64, klíč 64) • IDEA (International Data Encryption Algorithm) - ( blok 64b, klíč 128) - využití např. v systému PGP • GOST 28147-89 = algoritmus pro státní orgány SSSR • Blowfish (blok 64, klíč 448), Twofish (blok 128, klíč 128) - autor Bruce Schneier • SKIPJACK - implementován pouze do formy čipů CLIPPER; CAPSTONE použitých v systému FORTEZZA –“key escrow system“ • AES (Advanced Encryption Standard) – algoritmus "Rijndael" (belgičtí autoři Rijmen a Daemen) - klíče 128, 192 a 256. – nová norma (místo DES) • RC2 (bloková šifra), RC4(proudová šifra), RC5, RC6 - autor Ronald Rivest RC4 - použití v SSL
VŠFS; Aplikovaná informatika - 2006/2007
4
Symetrické a asymetrické šifry Asymetrické šifry • RSA - autoři Rivest, Shamir, Adleman – použití pro šifrování i výměnu klíčů • ElGamal – algoritmus založen na obtížnosti výpočtu diskrétních logaritmů použití pro šifrování i výměnu klíčů • Diffie - Hellman - algoritmus pro výměnu klíče (session key) - založen na obtížnosti výpočtu diskrétních logaritmů. • ECC (Eliptic Curve Cryptography) - algoritmus založen na principu eliptických křivek - použití pro šifrování i výměnu klíčů - podstatně kratší klíče (5 - 10 x) oproti např. RSA • DSS (Digital Signature standard) FIPS PUB 186 - použití výhradně pro digitální podpis (spolu s jednocestným algoritmem SHA) - založen na obtížnosti výpočtu diskrétních logaritmů (obdobně jako Diffie - Hellman a ElGamal) - neprolomitelná délka klíče 1024 b VŠFS; Aplikovaná informatika - 2006/2007
5
Symetrické a asymetrické šifry ISO 9979 – Registr kryptografických algoritmů Norma obsahuje soubor 24 evidovaných šifrových algoritmů. Poslední verze normy je z roku 1999. Evidované algoritmy, např. – – – – – –
DES IDEA RC2 RC4 FEAL Skipjack VŠFS; Aplikovaná informatika - 2006/2007
6
Proudové šifry OTi ŠTi hi
bit otevřeného textu bit šifrového textu bit hesla klíč OTi
k
Generátor hi hesla
ŠTi ŠTi
k
šifrování
Generátor hi hesla
OTi
dešifrace
Základní model proudové šifry VŠFS; Aplikovaná informatika - 2006/2007
7
Posuvné registry
Výstup Stav 3
Stav 2
Stav 1
Stav 0
D3
D2
D1
D0
Lineární posuvný zpětnovazební registr (4, 1+D+D4)
VŠFS; Aplikovaná informatika - 2006/2007
8
Posuvné registry Počáteční stav: {0,1,1,0}
Výstupní posloupnost = 0,1,1,0,0,1,0,0,… s periodou 15 VŠFS; Aplikovaná informatika - 2006/2007
9
Bloková šifra Bloková šifra je funkce, která zobrazuje n-bitové bloky otevřeného textu na n-bitové bloky šifrového textu. n značí délku bloku (64, 128, 256 bitů) k značí délku klíče (40, 56, 64, 128, 256,..) VŠFS; Aplikovaná informatika - 2006/2007
10
Blokové šifry Bloková šifra – funkce s parametrem K,1. K,1 je k-bitový klíč, který nabývá hodnot z podmnožiny K (prostor klíčů) z množiny všech k-bitových vektorů VK. Obecně se předpokládá, že klíče jsou vybírány z náhodných posloupností. Blokový šifra dělí otevřený text na bloky pevné délky, které převádí na stejné bloky šifrového textu, tedy bez jakéhokoliv rozvinutí daného bloku. Bloková šifra musí být invertibilní – (nutná podmínka dešifrace). Pro n-bitů otevřeného textu a šifrového textu při daném klíči je šifrový systém prostým zobrazením (bijekcí) definujícím permutaci n-bitových vektorů.
Definice: n-bitová bloková šifra je funkce E: Vn x K → Vn taková, že pro každý klíč K є K, E(P, K) je prosté zobrazení Vn na Vn (funkce šifrování pro K), které zapisujeme jako EK(P). Inverzní zobrazení zapsané jako DK(C), C=EK(P) definuje funkci dešifrace, kdy C je otevřený text a P je šifrový text.
VŠFS; Aplikovaná informatika - 2006/2007
11
Feistelova šifra Základní operace jednoho cyklu je následující: Otevřený text se dělí na dvě stejné části (L0 , R0) Pro každý cyklus i = 0,1,2,3,4,5, ...,n se vypočte Li = R i – 1 R i = Li – 1
f(Ri-1 , Ki)
kde f je funkce jednoho cyklu (rundy) a Ki je část klíče na cyklus Šifrový text je (Ln , Rn) VŠFS; Aplikovaná informatika - 2006/2007
12
Šifrování O.T.
Dešifrace Š.T.
Feistelova šifra Algoritmus lze charakterizovat jako transpozičně substituční šifru. Je rozdělen na 18 základních úrovní. Nejdříve je uskutečněna počáteční permutace 64 bitového vstupního slova otevřeného textu. Před výstupem z algoritmu je pak na 18. úrovni provedena inverze počáteční permutace.
Šifrový text
Otevřený text
Zbývajících 16 úrovní je tvořeno opakujícím se cyklem šifrování, VŠFS; Aplikovaná informatika - 2006/2007
13
DES Data Encryption Standard – DES Šifrovací norma určená pro ochranu citlivých ale neutajovaných dat ve státní správě - 1977 až 2002 Celosvětový základ bankovních, průmyslových aj. standardů. Slabiny: • krátký klíč = 56 bitů (64 bitů – 8 bitů parity) – nalezení slabých klíčů OT=EK(OT) – nalezení poloslabých klíčů OT=EK1(EK2(OT) – algoritmus není odolný proti lineární a diferenciální analýze TripleDES ; klíče K1, K2, K3 (168 bitů)nebo K1 = K3, K2 (112 bitů) cyklus = šifrování, dešifrace, šifrování VŠFS; Aplikovaná informatika - 2006/2007
14
DES Algoritmus typu Feistelovy šifry Klíč Ki = 48 bitový vektor, jenž se tvoří v generátoru klíčů v závislosti na vstupním 64 bitovém klíči k Postup šifrování v jednom cyklu Ki Li - 1
Pi – 1
g (Pi - 1 , Ki )
Li
VŠFS; Aplikovaná informatika - 2006/2007
Pi
15
DES
Základní schéma algoritmu = kombinace dvou základních metod šifrování substituce a permutace
VŠFS; Aplikovaná informatika - 2006/2007
16
DES Vstup = dvě 32 bitové části 64 bitového bloku. Výstup = dvě 32 bitové části. Pravá vstupní část Pi-1 je beze změny převedena do levé vstupní části Li. Levá vstupní část Li-1 je sečtena modulo 2 s funkční hodnotou funkce g (Pi-1, Ki ), kde Pi-1 je pravá vstupní část a Ki je příslušný průběžný klíč. Výsledek součtu modulo 2 uložen do pravé výstupní části Pi. ___________________________________________ Funkci g (Pi-1, Ki ) lze popsat následujícími kroky: Krok 1. Z 32 bitového slova Pi-1 je expanzní funkcí E vytvořen 48 bitový blok E(Pi-1). Krok 2. Blok E(Pi-1) je sečten modulo 2 s průběžným klíčem Ki. Krok 3. Součet E(Pi-1) ⊕ Ki je rozdělen na 8 skupin po 6 bitech, které tvoří vstup pro funkce Sj (j = 1 – 8). Výstupem těchto funkcí jsou 4bitové skupiny. Krok 4. 4bitové skupiny jsou složeny do 32bitového slov, které je vstupní hodnotou permutační funkce PF. Výstup této funkce můžeme považovat při zvoleném označení za výstup funkce g (Pi-1, Ki ). VŠFS; Aplikovaná informatika - 2006/2007
17
DES vstup
Klíč: V každé rundě (cyklu) se bity klíče posunou a upravují. Text: Před 1. rundou se provádí počáteční permutace a po 16. rundě inverzní permutace – permutace nemají na bezpečnost algoritmu DES vliv. Slouží k úpravě textů.
výstup
64 bit. střadač 64
64 bit. střadač 64
počáteční permutace 32 32
inverzní permutace 32 32
56 + 8 bit. klíč 64 permutovaný výběr 1 28 28 pos. registr
32 bit. registr
32 bit. registr 32 expander 48
pos. registr
32 permutovaný výběr 2 48
modulo 2 48 bitů 8 bloků substituce 32 bitů permutace PF 32 32 modulo 2 32 střadač
VŠFS; Aplikovaná informatika - 2006/2007
18
Módy DES (ECB) Elektronická kódová kniha – text se dělí na samostatné bloky, které se šifrují zvlášť. Hlavní slabina = podsunutí jiných bloků testu. (CBC) Zřetězení bloků šifrového textu – proces je zahájen zavedením inicializačního vektoru, šifrový text je sečten modulo 2 s další částí otevřeného textu.
VŠFS; Aplikovaná informatika - 2006/2007
19
FEAL Šifra vyvinutá v NTT (Japonsko); vycházela z DES a měla odstranit slabiny DES – krátký klíč, rychlost. => 64 bitů klíče, 4 rundy (FEAL-4). Úspěšně analyzována útokem s vybraným otevřeným textem. Luštění i následujících modifikací s větší délkou klíče a počtem rund. VŠFS; Aplikovaná informatika - 2006/2007
20
IDEA Algoritmus byl v 1990 připravován jako norma (náhrada DES), Patentován => překážka v rozšíření. Kvalitní šifra – odolává všem typům útoků. Šifrují se 64 bitové bloky textu, klíč má 128 bitů. Text rozdělen na 4 části. Probíhá 8 rund, kdy: • klíč rozdělen na 8 částí • rotace klíče vlevo o 25 bitů • nové dělení klíče na potřebný počet VŠFS; Aplikovaná informatika - 2006/2007
21
GOST Algoritmus GOST 28147-89
64 bitová bloková šifra, 256 bitů klíč, 32 rund Feistelova šifra Výhody proti DES: • jednoduchý algoritmus • větší počet rund • větší délka klíče VŠFS; Aplikovaná informatika - 2006/2007
22
Skipjack
Algoritmus Skipjack byl vyvinut NSA pro čipy Clipper a Capstone Skipjack používá 80 bitový klíč pro šifrování 64 bitových bloků dat. Jedná se o nesymetrický Feistelův algoritmus využívající 32 rund. Byl vyvinut pro „key-escrow“ systémy (umožňují třetí straně dešifrování dat) VŠFS; Aplikovaná informatika - 2006/2007
23
AES AES - Advanced Encryption Standard od roku 2002 doporučená norma Šifruje blok délky 128 bitů. Využívá klíče 128, 192, 256 bitů. Pracuje s poli 4 x 4. Každá runda sestává ze 4 stavů. 1.
Nelineární substituce, kde každý byte je zaměněn za jiný;
2.
Transpozice – každý řádek pole je cyklicky posunut o stanovený počet kroků;
3.
Operace zamíchání – pracuje se sloupci pole – propojuje 4 byty v každém sloupci s využitím lineární transformace,
4.
Operace součtu – každý byte je sečten s klíčem pro cyklus; každý klíč pro cyklus je odvozen z šifrového klíčes využitím tabulky klíčů.
VŠFS; Aplikovaná informatika - 2006/2007
24
AES Dvojrozměrné schéma
VŠFS; Aplikovaná informatika - 2006/2007
25
AES AES je substitučně- permutační algoritmus – není typu Feistelovy šifry. Počet rund závisí na délce klíče 10 rund pro délku 128 bitů, 12 pro 192, 14 pro 256. Úspěšné analýzy algoritmu byly provedeny pro menší počet rund – 8 při délce klíče 192 a 256 bitů a 7 pro 128 Bezpečnost šifry AES Vláda USA vydala prohlášení, že AES může být použit pro utajované informace, t.zn., že je k dispozici pro veřejnost algoritmus používaný i ve státních orgánech. Není známa žádná zásadní slabina, VŠFS; Aplikovaná informatika; SW systémy – 2005/2006
26
Odolnost blokových šifer Posouzení kryptografického návrhu a technické realizace ¾ matematický model - kvalitní algoritmy – (útok vedený na snížení řádu klíče, lineární a diferenciální analýza) ¾ implementace (chyby v implementaci algoritmu, ochraně klíčů) ¾ klíče (nedostatečná ochrana, nekvalitní generování, …) ¾ „postranní kanály“ (elmag. vyzařování, časové informace, spotřeba energie,…)
VŠFS; Aplikovaná informatika; SW systémy – 2005/2006
27