PA159 - Bezpečnostní aspekty 16. 10. 2009 Formulace oblasti ■ Kryptografie (v moderním slova smyslu) se snaží minimalizovat škodu, kterou může způsobit nečestný účastník ■ Oblast bezpečnosti počítačových sítí řeší v podstatě identický problém PA159 2 Podzim 2009 Bezpečnost 1.AAA ■ Autentizace ■ Autorizace ■ Accounting („účetnictví") 2. Zabezpečená komunikace Podpora na úrovni sítě PA159 3 Autentizace ■ Identifikace: Já jsem já ■ Varianty ■ Sdílené tajemství: hesla ■ Důvěryhodná třetí strana: Kerberos ■ Asymetrické funkce: X.509 certifikát, Infrastruktura veřejných klíčů ■ Delegování: ■ proxy certifikáty ■ Federatívni přístupy PA159 4 Podzim 2009 Autorizace ■ Oprávnění použít určitou službu nebo zdroj ■ Následuje autentizaci ■ „Přístupová práva": ACL (Access Control List) ■ Anonymní autorizace PA159 5 Podzim 2009 Accounting ■ Účtování: kdo, co, kdy a v jakém rozsahu použil ■ Vyžaduje autentizaci ■ Využití ■ Skutečné finanční účtování za využití zdrojů ■ Kontrola * Autorizace: záznam neoprávněného využití * Férovosti využití ■ Predikce PA159 6 Podzim 2009 Zabezpečená komunikace ■ Klasický problém kryptografie ■ Bezpečná komunikace po nezabezpečených komunikačních kanálech ■ Požadované vlastnosti: ■ Utajení: jen odesílatel a příjemce rozumí zprávě ■ Autentizace ■ Integrita: zpráva nebyla pozměněna ■ Non-repudiabilita: příjemce ani odesílatel nemohou popřít, že zprávu přijali/odeslali PA159 7 Podzim 2009 Nové problémy ■ Anonymita ■ Nemožnost spojit konkrétní osobu a činnost ■ Nesledovatelnost ■ Nemožnost spojit různé akce jedné osoby/entity PA159 8 Míra bezpečnosti ■ Informačně-teoretický přístup ■ Míra informace z původního textu přítomná v textu zašifrovaném ■ Optimální při klíči stejně dlouhém nebo delším než vlastní text ■ Výpočetně/složitostní přístup ■ cena rozluštění ■ proveditelnost vs. možnost rozluštění ■ je efektivní získat původní text bez znalosti klíče? PA159 9 Podzim 2009 Symetrická kryptografie Stejný klíč pro šifrování i rozluštění Základní princip: substituce Podstatná složitost, tj. teoretický počet možných kombinací Klasika: monoalfabetické a polyalfabetické systémy Problém: distribuce klíčů PA159 10 Podzim 2009 Asymetrická kryptografie ■ Různé klíče pro šifrování a rozluštění ■ Veřejný a soukromý klíč ■ částečné řešení problému distribuce klíčů (samo o sobě nestačí) ■ použitelné pro šifrování i rozluštění ■ (me)dmoán = m = (md)emoán PA159 11 Podzim 2009 Digitální podpis ■ Součást kryptografie až v „digitálním" věku ■ Nepodvržitelný podpis ■ Každý se musí dokázat podepsat ■ Každý může snadno ověřit podpis druhého ■ Nikdo nemůže snadno druhého podepsat ■ Řeší problém autentizace zpráv (ale není řešením problému autentizace) PA159 12 Podzim 2009 Zdroje informací o šifrovacích algoritmech ■ RFC, např. http://zvon.org ■ FIPS publikace (Federal Information Processing Standards Publications), http://csrc.nist.gov/encryption ■ Přednášky z kryptografie (prof. Gruska) ■ Standardní publikace (články, příspěvky, knihy) PA159 13 Podzim 2009 Symetrická kryptografie - základní algoritmy ■ DES, Data Encryption Standard (FIPS Pub 46-3) ■ 3DES, Triple DES (FIPS Pub 46-3) ■ AES, Advanced Encryption Standard aka Rijndael (FIPS Pub 197) PA159 14 Podzim 2009 DES ■ Bloky dat délky 64 bitů s pomocí klíče délky 64 bitů ■ Reálně klíč pouze 56 bitů, 8 bitů jsou paritní bity (lichá parita) ■ Symetrický ■ Algoritmus ■ Vstupní permutace IP ■ Vlastní šifrování ■ Výstupní permutace IP-1 PA159 15 Podzim 2009 DES II ■ Šifrování: ■ 16 identických průchodů ■ 32 „pravých" bitů je posunuto doleva ■ Samostatné klíče (48 bitů) pro každý průchod (odvozeny z původního klíče) ■ Všech 64 bitů transformováno (expanze, XOR, substituce, XOR) na 32 bitů, ty se stanou pravými bity výsledku PA159 16 Podzim 2009 Bezpečnost DES ■ Není jednoznačně definována ■ Je možno ji prorazit (cena pod $250 000) ■ „Vylepšení": 3DES PA159 17 Tripple DES (3DES) ■ Postupná aplikace DES se třemi klíči ■ K1=K2=K3, ekvivalentní DES . K1=K3#K2 . K1#K2^K3 ■ Šifrování - I —► DES K1 —► DES K2 —► DES K3 —► C ■ Rozluštění - C —> DES K3 —► DES K2 —> DES K1 —► I PA159 18 Podzim 2009 AES ■ Rovněž blokový algoritmus ■ Klíče délky 128, 192 a 256 bitů ■ Blok standardně délky 128 bitů (varianty pro 192 a 256 bitů) ■ 9, 11 nebo 13 průchodů (podle délky klíče/bloku) ■ Pracuje po bytech (8 bitů) ■ Vysoce efektivní hw implementace ■ Princip viz animace PA159 19 Podzim 2009 Message digest - Hashovací funkce ■ Problém integrity zprávy ■ Řešení: použití hash funkce (analogie kontrolního součtu) ■ Hash: Řetězec pevné délky vygenerovaný ze zprávy proměnné délky, pro nějž platí: ■ hash(Řetězec_1) ^ hash(Řetězec_2) <^> Řetězec_1 ^ Řetězec_2 ■ Jednosměrné: ze znalosti hashe neodvodím (snadno) původní text ■ MD5 Message Digest (RFC 1321): 128 bitů ■ SHA1 FIPS Pub 180-1: 160 bitů PA159 20 Podzim 2009 Digitální podpis - algoritmy ■ RSA (RFC 2437) ■ DSA, požadováno použití SHA1 (FIPS Pub 186) PA159 21 Podzim 2009 RSA-typy klíčů ■ Veřejný klíč: ■ n, modulus, nezáporné celé číslo ■ e, veřejný exponent, nezáporné celé číslo ■ n = p x q, p a q jsou prvočísla ■ 2 < e < n, gcd(e, (p - 1) X (q - 1)) = 1 PA159 22 RSA - soukromý klíč 1 ■ n, modulus, nezáporné celé číslo ■ d, soukromý exponent, nezáporné celé číslo ■ Vztahy ' n = p X q ■ e X d = 1 mod ((p — 1) X (q — 1)) PA159 23 Podzim 2009 RSA - soukromý klíč 2 ■ p, q, první a druhý faktor, nezáporná celá čísla ■ dP, exponent p, nezáporné celé číslo ■ dQ, exponent g, nezáporné celé číslo ■ qinv, CRT koeficient, nezáporné celé číslo ■ e X dP = 1 mod (p — 1) ■ e X dQ = 1 mod (q — 1) ■ q X qlnv = lmodp, 0 < qlnv < p PA159 24 Podzim 2009 RSA - šifrování ■ RSAEP((n,e), m) ■ (n, e): RSA veřejný klíč ■ m: zpráva, celé číslo mezi (0, n — 1) ■ C: výsledek, zašifrované m nebo zpráva „Message representative out of range" ■ C = raemodn PA159 25 Podzim 2009 RSA - rozluštění ■ RSADP(K,C) ■ K: soukromý klíč (v jedné nebo druhé variantě) C: zašifrovaný text ■ m: výsledek, rozluštěná zpráva; případně text „Ciphertext representative out of range", pokud C není číslo v intervalu (0, n — 1) ■ 1. varianta klíče: m = cdmodn PA159 26 Podzim 2009 RSA - rozluštění, ■ rn\ = c mod p m 777,2 = cdQmodq ■ h = qlnv X (mi — 7712) mod p ■ m = rri2 -\- h X q PA159 27 2. varianta klíče Podzim 2009 RSA - ověření podpisu ■ RSAVP1((n,e),s) ■ (n, e): veřejný klíč ■ s\ podpis, číslo z intervalu (0, n — 1) ■ m\ zpráva, číslo z intervalu (0, n — 1) ■ Pokud s není z intervalu (0, n — 1), vypiš „invalid" a skonči ■ m = semodn ■ Podpis zpravidla MD5 nebo SHA1 hash PA159 28 Podzim 2009