
8236e2414a15a072ec43323ea9a8ee71.ppt
- Количество слайдов: 46
Operační mody blokových šifer a hašovací algoritmy RNDr. Vlastimil Klíma vlastimil. klima@i. cz ICZ a. s.
Operační mody blokových šifer ICZ a. s. 2
Operační mody blokových šifer n způsob použití blokové šifry k šifrování dat n dříve FIPS Pub. 81: ECB, CBC, CFB, OFB a v dodatku zmíněn i MAC, MAC v normě ISO 9797 n nyní doporučení NIST ve zvláštní publikaci "A special publication, SP 800 -38 A, "Recommendation for Block Cipher Modes of Operation" , 12/2001, definuje navíc čítačový modus (CTR), nedefinuje MAC, naznačuje, ale nedefinuje doplňováání n draft SP-800 -38 B, definuje RMAC n vše na www. nist. gov ICZ a. s. 3
Bloková šifra OT Bloková šifra Šifrovací klíč K Operace zašifrování (EK) ŠT = EK(OT) ICZ a. s. 4
ECB - Electronic Codebook - modus elektronické kódové knihy ICZ a. s. 5
Útoky na operační modus ECB n pasivní útok: informace, vyplývající ze shody bloků šifrových textů (databáze) n Blokové šifry, stejně jako proudové, také samy o sobě nezajišťují integritu dat – aktivní útoky vložením, vynecháním, opakováním aj. manipulací bloků šifrového textu (databáze, přenos) databáze platů. . . os. č. 162. . . 025 103, -Kč. . os. č. 163. . . 027 038, -Kč. . . kajsůkuiůooiwpqwqqwekaouiolwerkweiosdvůoipášqpéáčcéůywuíta 3 tdszj 34 hkf. . 3 tdszj 34 j 7čžuths bgžc 4 rš 7 rg 43č7řz . . převeďte 1 0 0 0 , - Kč . . . 3 tdszj 34 j 7čžuths bgžc 4 rš 7 rg 43č7řz. . . . . převeďte 1 0 0 0 , - Kč . . . ICZ a. s. 6
Použití n malý blok – existuje slovníkový útok n šifrování náhodně generovaných klíčů nižší úrovně ICZ a. s. 7
CBC - Cipher Block Chaining řetězení šifrových bloků n náhodný IV n další náhodné masky tvoří předchozí bloky ŠT n stejné bloky OT – různé bloky ŠT n skryté kanály (IV) ICZ a. s. 8
CBC n řetězovitá závislost na OT, ŠT n ke správnému dešifrování daného bloku OT je potřeba správný předchozí a daný blok ŠT n odtud plyne samosynchronizační vlastnost na úrovni bloků (chybný blok, výpadek celého bloku) n jaký je vliv jednobitové chyby v ŠT? - viz 1, 2 ICZ a. s. 9
CBC ICZ a. s. 10
Postranní kanál v modu CBC "Bezpečná zóna" Klient (EK) otevřený text !!! šifrov ý text dešifrovací zařízení DK (server) otevřen ý text chybové hlášení útočník n popis útoku Vaudenay 2002 n složitost v průměru 128 krát počet bajtů zprávy n výsledkem je celý otevřený text ICZ a. s. 11
Jak to, že to nebylo objeveno dříve? ICZ a. s. 12
Protiopatření n organizační (lze obcházet) n kryptografická (aby chybové hlášení nedávalo užitečnou informaci) n Cryptology e. Print Archive: Report 2002/061, http: //eprint. iacr. org/2002/061. pdf ICZ a. s. 13
Zesílené šifrování v modu CBC - varianty A: y. N = EK 4(DK 2(x. N) EK 3(y. N-1)) B 1: B 2: C: y. N = EK 4(DK 2(x. N) EK 3(y. N-1) y. N = EK 4(DK 2(x. N) h(EK 3(y. N-1)) y. N = EK 1(DK 1(x. N) EK 1(y. N-1) Klíče K 2, K 3, K 4 derivovány jednosměrně z K 1 ICZ a. s. 14
Blokové šifry v proudovém modu CFB a OFB: Cipher/Output Feedback – zpětná vazba ze šifrového textu nebo z výstupu Inicializační hodnota Šifrovací klíč K Vstupní blok Blokový šifrovací algoritmus (operace EK) OFB Výstupní blok CFB Otevřený text OTi ICZ a. s. xor Šifrový text ŠTi 15
OFB - Output Feedback zpětná vazba z výstupu n čistě proudová šifra n používá pouze EK n nulová propagace chyby (1), nesmí vypadnout ani bit n útoky na OFB - jako na proudové šifry (integrita) + dvojí použití hesla n kdy by mohlo nastat dvojí použití hesla ? n pro nový OT – nutný nový IV n perioda hesla? ICZ a. s. 16
OFB - Output Feedback - zpětná vazba z výstupu n konečný automat, podle délky zpětné vazby vytváří strukturu cyklů (s/bez ocásků) n IV nastavuje jeden z cyklů ICZ a. s. 17
CFB - Cipher Feedback - zpětná vazba ze šifrového textu n proudová šifra n používá pouze EK n řetězovitá závislost na OT, ŠT n ke správnému dešifrování je nutný správný předposlední a poslední blok ŠT n vliv jednobitové chyby v ŠT n samosynchronizační vlastnost na úrovni bloků (chybný blok, výpadek celého bloku) ICZ a. s. 18
CTR – Counter mode – čítačový modus n „nový modus“ (1979, D+H) n čistě proudová šifra n používá pouze EK n výstup lze použít celý nebo část n různé způsoby inkrementace n čítač se může týkat jen (dolní) části registru „IV“ n smysl je zaručit různé hodnoty čítače n hlavní výhoda: heslo může být použité během vypočítáno jen na základě pozice a životnosti jednoho IV, nezávisle na ničem jiném klíče ICZ a. s. 19
CTR n konečný automat n vytváří pouze jeden dlouhý cyklus n IV nastavuje bod v tomto cyklu n modus definován v SP 800 -38 A ICZ a. s. 20
MAC - Message Authentication Code – autentizační kód zprávy n podle ISO 9797, SP 800 -38 A, (FIPS 81 to neřešila) n jako CBC, ale "mezivýsledný" šifrový text se nikam neodesílá n klíč jiný než pro šifrování n používá pouze EK ICZ a. s. 21
Závěr k operačním modům n účel n principy n příprava nových modů ICZ a. s. 22
Hašovací funkce ICZ a. s. 23
Hašovací funkce Vlastnosti: zpráva M (objednávka, text, binární soubor, CD, DVD, HDD, . . ) • Libovolně dlouhý vstup • Pevně definovaná délka výstupu H H(M) haš, hash, hašový kód = výstupní kód s předem pevně definovanou délkou ICZ a. s. 24
Bezpečnostní požadavky n srovnání zpráva-haš a člověk-otisk prstu n jednocestnost (jednosměrnost): n je-li dáno M, je jednoduché vypočítat H(M) n je-li dáno H(M), je velmi těžké (výpočetními prostředky prakticky neproveditelné) vypočítat M n bezkoliznost - odolnost proti kolizi: n je velmi těžké nalézt jakékoliv i náhodné různé M a M´ tak, aby H(M) = H(M´) ICZ a. s. 25
Bezpečnost n bezkoliznost n délka výstupního kódu, n kolize existují, jejich nalezení musí být výpočetně neproveditelné n narozeninový paradox n Mějme množinu M o n různých prvcích. Vyberme náhodně k prvků, každý z množiny M (s vracením). Pro k rovno cca n 1/2 se v daném výběru přibližně s 50% pravděpodobností naleznou dva prvky shodné. n Pokud je délka hašového kódu m bitů, tato kolize nastane v množině 2 m/2 haší (zpráv) n P(365, 23) = 0. 507, P(365, 30)= 0. 706 ICZ a. s. 26
Použití hašovacích funkcí n Uložení přihlašovacích hesel n nepřímo pomocí hašových kódů n Kontrola integrity dat (bez klíče) n kontrolní součty, haše n Kontrola integrity dat a zdroje současně (s klíčem) n kryptografické kontrolní součty, klíčované hašové autentizační kódy zpráv (HMAC) n Otisky zpráv pro digitální podpisy n výhodné, že hašový kód má pevnou délku n Otisky klíčů n kontrola správnosti kryptografických klíčů při odšifrování n Další (MGF, deriváty, . . . ) ICZ a. s. 27
Hašovací funkce SHA-1 n Secure Hash Standard (Algorithm), platná od 17. 4. 1995, FIPS PUB 180 -1 n určena nejen pro digitální podpisy n nejrozšířenější hašovací funkce n nahrazuje všechny ostatní předchůdce (zejména MDx) ICZ a. s. 28
SHA-1: postup hašování n Doplnění zprávy M jako u SHA-1 n obecně L bitů, kde 0 ≤ L ≤ 264 – 1 n Rozdělení na 512 bitové bloky Mi (i = 1 až n) n Příklad zprávy M: „abc“ SHA-1 ICZ a. s. 29
kompresní funkce f n H 0 = const. (160 bitů), 32 bitová slova n Hi = f(Hi-1, Mi), i = 1. . n n h(M) = Hn (nebo jeho část) Hi = f(Hi-1, Mi) ICZ a. s. 30
SHA-1: Expanze bloku n Každý blok Mi (i = 1 až n) je před použitím expandován n každé Mi (512 bitů) rozdělíme na 16 32 bitových slov W(0) až W(15) n expanze: t = 16. . . 79: n W(t) = ( W(t-3) W(t-8) W(t- 14) W(t 16)) <<< 1 ( <<< je cyklický posun) ICZ a. s. 31
SHA-1: Hlavní smyčka (5) SHA-1 ICZ a. s. 32
SHA-1: funkce a konstanty (3) n Hlavní smyčka kompresní funkce má 80 rund, v každé se použije jiná funkce ft, 0 <= t <= 79: n ft(B, C, D) = (B AND C) OR ((NOT B) AND D) , 0 <= t <= 19, n ft(B, C, D) = B XOR C XOR D , 20 <= t <= 39, n ft(B, C, D) = (B AND C) OR (B AND D) OR (C AND D) , 40 <= t <= 59, n ft(B, C, D) = B XOR C XOR D , 60 <= t <= 79. n Konstanty K 0 až K 79: n n Kt = 5 A 827999 , 0 <= t <= 19, Kt = 6 ED 9 EBA 1 , 20 <= t <= 39, Kt = 8 F 1 BBCDC , 40 <= t <= 59, Kt = CA 62 C 1 D 6 , 60 <= t <= 79. n Před zpracováním bloku M 1 se H 0 až H 4 nastaví na inicializační hodnoty n H 0 = 67452301, H 1 = EFCDAB 89, H 2 = 98 BADCFE, H 3 = 10325476, H 4 = C 3 D 2 E 1 F 0. ICZ a. s. 33
Hašovací funkce SHA-256, SHA-384, SHA-512 n Secure Hash Standard, FIPS PUB 180 -2, schválen 26. 8. 2002, platnost od 1. 2. 2003 n podstatně zvýšena bezpečnost n v délce kódu n ve složitosti výpočtu n hašovací funkce "pro nové tisíciletí" n adekvátní bezpečnost AES ICZ a. s. 34
SHA-256: shrnutí n 8 32 bitových slov n cca 2 x pomalejší než SHA-1 n bezpečnější (složitější jádro) n delší hašový kód – menší pravděpodobnost kolizí ICZ a. s. 35
SHA-512: základní údaje n Odlišnosti oproti SHA-256: n pracuje se s 64 bitovými slovy n blok 1024 bitů n doplňování do 1024*(n-1)+ 896, následuje 128 bitové vyjádření délky zprávy ve dvou 64 bitových slovech n inicializační konstanty H 00. . . H 70 odlišné n konstanty K 256(t) nahrazeny jinými K 512(t) n vnitřní funkce jiné n hlavní smyčka má 80 cyklů ICZ a. s. 36
SHA-384 n Odlišnosti oproti SHA-512: n inicializační konstanty H 00. . . H 70 odlišné n výpočet poté probíhá stejně jako u SHA 512 n z výstupu H 0 n. . . H 7 n se bere pouze prvních šest slov H 0 n || H 1 n || H 2 n || H 3 n || H 4 n || H 5 n n "zkracováním" výstupu dochází obecně ke snižování bezpečnosti hašovací funkce ICZ a. s. 37
MD –základní údaje n R. Rivest – MD 2, MD 4, MD 5 n RFC 1319, 1320, 1321 n licencované RSA n MD 5: n podobná konstrukce jako SHA-1 n jednodušší kompresní funkce n všechny MD mají 128 bitový výstupní hašový kód ICZ a. s. n větší pravděpodobnost kolizí 38
MD 5 – kolize kompresní funkce n Hans Dobbertin, 1996: n kolize jen u kompresní funkce, tj. f(Hi-1, Mi) = f(Hi-1, Mi´) n RSA nedoporučuje používat v nových produktech, jen z důvodu kompatibility n (pozn. : u MD 2 také nalezena kolize u kompresní funkce, 1995, přestala se používat) ICZ a. s. 39
MD 4 - přímá kolize, Hans Dobbertin (1995), FSE, 1996 ********** CONTRACT At the price of $176, 495 Alf Blowfish sells his house to Ann Bonidea. . . . . ********** CONTRACT At the price of $276, 495 Alf Blowfish sells his house to Ann Bonidea. . . . . ICZ a. s. 40
HMAC – základní údaje n keyed-hash MAC, kryptografický kontrolní součet, kryptografická hašovací funkce, klíčovaná haš, klíčované hašové autentizační kódy zpráv n označení podle toho, jakou hašovací funkci používá, např. HMAC-SHA-1 n zpracovává nejen data, ale i klíč n výsledek je závislý na klíči a tudíž "nepadělatelný" n ověřuje integritu dat a zdroj dat n odlišuje se od MAC, funkčně podobný n používá jiné stavební prvky n je kryptograficky silnější ICZ a. s. 41
HMAC n RFC 2104, ANSI X 9. 71, FIPS 198 n HMAC-SHA-1 (RFC): blok B=64 bajtů, klíč K, H = SHA-1 ipad = řetězec B bajtů 0 x 36 opad = řetězec B bajtů 0 x 5 C klíč K se doplní nulovými bajty do plného bloku délky B HMAC(M) = H( (K xor opad) || H((K xor ipad)|| M) ) n n ICZ a. s. 42
Srovnání některých hašovacích funkcí n C++, kompilace s MS Visual C++ 6. 0 SP 4 (optimalizace na rychlost), PC/Celeron 850 MHz, Windows 2000 SP 1. ICZ a. s. 43
Závěr k hašovacím funkcím n účel n principy n bezpečnost n nejpoužívanější je SHA-1 n od 1. srpna 2002 je platné SHA-1 i SHA-256, SHA-384, SHA-512 n HMAC, nejpoužívanější HMAC-SHA-1 a HMAC-MD 5 ICZ a. s. 44
Závěr k sérii "symetrické šifry" klíčové pojmy nejznámější algoritmy bezpečnost i symetrická kryptografie je pole neorané stále se ještě nalézají chyby a nedostatky v základních algoritmech n mnoho příležitostí, jak využít a rozvíjet matematiku - ke kryptografii i kryptoanalýze n otevřenost a příležitost pro nové objevy n n n ICZ a. s. 45
Literatura a další zdroje Osobní stránka autora http: //cryptography. hyperlink. cz Archiv článků a prezentací na téma kryptografie a bezpečnost http: //www. decros. cz/bezpecnost/_kryptografie. html Stránka NIST, normy, dokumenty k AES aj. : http: //csrc. nist. gov/encryption/aes_home. htm Zdrojové kódy šifer ftp: //ftp. funet. fi/pub/cryptography/ Bezpečnostní a kryptografický portál http: //www. cs. auckland. ac. nz/~pgut 001/links. html ICZ a. s. 46
8236e2414a15a072ec43323ea9a8ee71.ppt