260 likes | 462 Views
Hašovacie funkcie. Autentizácia správy. Mac algoritmus. Tibor Sabol 34e31. Hašovacie funkcie. Zabezpečujú integritu (neporušenosť) správ Sú to jednosmerné funkcie (nedajú sa dešifrovať) V minulosti sa používal CRC kód
E N D
Hašovacie funkcie. Autentizácia správy. Mac algoritmus. Tibor Sabol 34e31
Hašovacie funkcie • Zabezpečujú integritu (neporušenosť) správ • Sú to jednosmerné funkcie (nedajú sa dešifrovať) • V minulosti sa používal CRC kód • Ukladanie a overovanie hesiel do systémov, digitálne podpisy, MAC, a iné formy overenia • Najrozšírenejšie sú MD5 a SHA-2 funkcie • Hašovacie funkcie: MD2, MD4, MD5, MD6, SHA-1, SHA-2, SHA-3, SNERFU, GHOST, HAVAL, RIPEMD, WHIRLPOOL, TIGER • Vytvára odtlačok správy (message digest)-haš • Zoberie ľubovoľný blok dát a vráti bitový reťazec s nemennou veľkosťou • Pri každej (náhodnej alebo úmyselnej) zmene údajov bude zmenená hodnota hašu.
MD5 (Message-Digest Algorithm) • Kryptografická hašovacia funkcia • Autor: Roland Rivest • Rok: 1992 • 512 bitové vstupné bloky • 128 bitový odtlačok správy (haš) • 64 kôl (rounds) • Hodnota haš je 32 miestne hex. Číslo • Použitie: široká škála bezpečnostných aplikácií, kontrola integrity dát. • Vlastimil Klíma (2007) – kolízia za 17s • Nepovažuje sa už za bezpečnú funkciu
SHA-2 (Secure Hash Algorithm) • Sadá kryptografických hašovacích funkcií • SHA-224, SHA-256, SHA-384, SHA-512 • Autor: Spojené štáty – Národná bezpečnostná agentúra • Rok: 2001 • 512 bitové vstupné bloky (SHA-224, SHA-256) a 1024 bitové vstupné bloky (SHA-384, SHA-512) • Odtlačok správy: 224/256/384/512 bitov • Kola: 64 (SHA-224, SHA-256) a 80 (SHA-384, SHA-512) • Používa sa v bezpečnostných protokoloch a aplikáciách : TLS, SSL, PGP, SSH, PPCoin, IPsec • SHA-1 a SHA-2 sú zákonom vyžadované v aplikáciách pre vládne inštitúcie USA • Všetky útoky sú zatiaľ na SHA-2 neškodné
Vlastnosti hašovacích funkcií Vstup a výstup: • Hašovacia funkcia spracováva prakticky neobmedzene dlhé vstupné dáta na krátky výstupný hašový kód. • Dĺžka výstupného haš kódu by mala byť dostatočne veľká aby odolal útokom. • Odporúčaná dĺžka je nad 128bitov.
Vlastnosti hašovacích funkcií Jednosmernosť: • Hašovacia funkcia musí byť jednosmerná. • Jednosmernosť znamená, že zo vstupných dát sa dá jednoducho vypočítať hašový kód, ale opačne to pre náhodne zadaný hašový kód je výpočtovo nemožné.
Vlastnosti hašovacích funkcií Odolnosť proti kolízii prvého rádu, bezkolíznosť prvého radu: • Nájdenie dvoch reťazcov, ktoré dajú rovnaký haš (to je jedno akých, len nech dajú rovnaký haš) • Pokiaľ sa to stane, hovoríme, že sme našli kolíziu. • Na hľadanie týchto kolízii sa používa Birthday útok.
Vlastnosti hašovacích funkcií Odolnosť proti kolízii druhého rádu, bezkolíznosť druhého radu: • Ďalšou najznámejšou definíciou je odolnosť proti nájdeniu druhého vzoru alebo bezkolíznosť druhého rádu. • Nájdenie reťazca, ktorý dá jeden konkrétny haš.
Autentizácia správy • Elektronický ekvivalent podpisu na správe • Ochrana správy proti aktívnym útokom (falšovanie dát a protokolov) • Je to postup, ktorý umožňuje komunikujúcim stranám overiť, že prijaté správy sú autentické • Autentizácia správy sa zaoberá: • Ochranou integrity správy • Overenie totožnosti pôvodcu • Nepopierateľnosť pôvodu (riešenie sporov)
Autentizácia správy • Autentizátor, podpis, alebo autentizačný kód správy (MAC) sa odosiela spolu so správou. • MAC je generovaný pomocou nejakého algoritmu, ktorý závisí od správy aj od (verejného alebo súkromného) kľúča, ktorý pozná len odosielateľ a príjemca. • Správa môže byť ľubovoľne dlhá. • MAC môže byľ ľubovoľnej veľkosti, ale často býva pevnej veľkosti, čo vyžaduje použitie nejakej hašovacej funkcie pre upravenie MAC na požadovanú veľkosť. • MAC a správa vyžadujú poradové číslo správy, časovú pečiatku alebo náhodné hodnoty.
MAC Algoritmus(MessageAuthenticationCode) • Účelom MAC je poskytovať záruky na integritu a obsah správy. • Je teda poznať, čí bola správa modifikovaná alebo nie. • MAC má na vstupe dva parametre: správu a tajný kľúč. • Tajný kľúč sa používa preto, aby nemohlo dôjsť k situácií, že si ktokoľvek môže overiť, čí bola správa modifikovaná alebo nie. • Toto overenie je možné realizovať len pri znalosti tajného kľúča.
MAC Algoritmus(MessageAuthenticationCode) • Na výpočet MAC je možné použiť ľubovoľný kryptografický algoritmus. • MAC danej správy sa pridáva na jej koniec. • Bezpečnosť MAC je závislá na bezpečnosti kryptografického algoritmu, kvalite kľúča a na svojej dĺžke. • Na rovnakom princípe fungujú digitálne podpisy. • Na rozdiel od digitálnych podpisov MAC sú symetrické kľúčové systémy a neposkytujú odvolateľnosť. • Výhodou MAC je, že sú oveľa rýchlejšie ako digitálne podpisy, pretože sú založené buď na blokových šifrách alebo hašovacích funkciách.
HMAC(Hash-Based Message Authentication Code) • Autor: Mihir Bellary, Ran Canetti a Hugo Krawczyk • Rok:1996 • Špecifická funkcia pre výpočet MAC • Zahŕňa hašovaciu funkciu s tajný kľúčom • Overovanie integrity dát a autentizácia správ • Každá haš funkcia môže byť použitá pri výpočte HMAC • Použitie: IPsec, TLS protokoly
Príklad SHA-1 3. Definujeme si konštanty päť 32-bitových: H1=67452301 H2=EFCDAB89 H3=98BADCFE H4=10325476 H5=C3D2E1F0 a 32-bitové rundové aditívne konštanty: Kt=5A827999 pre 0 ≤ t ≤ 19 Kt=6ED9EBA1 pre 20 ≤ t ≤ 39 Kt=8F1BBCDC pre 40 ≤ t ≤ 59 Kt=CA62C1D6 pre 60 ≤ t ≤ 79
Príklad SHA-1 4. Vstupom každej funkcie ft, kde 0 ≤ t ≤ 79, sú tri slová B,C,D. Výstupom ft je slovo definované takto: ft(B,C,D)=(B and C) or ((not B) and D) pre 0 ≤ t ≤ 19 ft(B,C,D)=B xor C xor D pre 20 ≤ t ≤ 39 ft(B,C,D)=(B and C) or (B and D) or (C and D) pre 40 ≤ t ≤ 59 ft(B,C,D)=B xor C xorD pre 60 ≤ t ≤ 79 4. W<<<s je cyklická rotácia slova W o s bitov doľava
Príklad SHA-1 5. Spracovanie blokov M1 až Mn v piatich krokoch: a) M1 rozdelíme na slová W(0) až W(15) W(0)________ W(8)________ W(1)________ W(9)________ W(2) ________ W(10)________ W(3)________ W(11)________ W(4)________ W(12)________ W(5)________ W(13)________ W(6)________ W(14)________ W(7)________ W(15)________
Príklad SHA-1 b) Vykonáme expanziu na slová W(16) až W(79): W(t)= (W(t-3) xor W(t-8) xor W(t-14) xor W(t-16))<<<1 W(16)________ W(24)________ W(32)________ W(40)________ W(17)________ W(25)________ W(33)________ W(41)________ W(18) ________ W(26)________ W(34) ________ W(42)________ W(19)________ W(27)________ W(35) ________ W(43)________ W(20)________ W(28)________ W(36) ________ W(44)________ W(21)________ W(29)________ W(37) ________ W(45)________ W(22)________ W(30)________ W(38) ________ W(46)________ W(23)________ W(31)________ W(39) ________ W(47)________
Príklad SHA-1 b) Vykonáme expanziu na slová W(16) až W(79): W(t)= (W(t-3) xor W(t-8) xor W(t-14) xor W(t-16))<<<1 W(48)________ W(56)________ W(64)________ W(72)________ W(49)________ W(57)________ W(65)________ W(73)________ W(50) ________ W(58)________ W(66) ________ W(74)________ W(51)________ W(59)________ W(67) ________ W(75)________ W(52)________ W(60)________ W(68) ________ W(76)________ W(53)________ W(61)________ W(69) ________ W(77)________ W(54)________ W(62)________ W(70) ________ W(78)________ W(55)________ W(63)________ W(71) ________ W(79)________
Príklad SHA-1 c) Do A až E vložíme H1 až H5: A=67452301 B=EFCDAB89 C=98BADCFE D=10325476 E=C3D2E1F0 d) V ďalších 80tích cykloch t=0 ...79: MAC= (A<<<5)+ft(B,C,D)+E+W(t)+Kt E=D D=C C=B<<<30 B=A A=MAC
Príklad SHA-1 e) Nakoniec aktualizujeme hodnoty H1 až H5: H1=H1+A H2=H2+B H3=H3+C H4=H4+D H5=H5+C
Použitá literatúra • Vondruška, P. Hledáse náhrada za koliznífunkce… crypto-world [online]. Číslo 5/2006 [cit. 2008-12-31]. Issn 1801-21. • Klíma, V. Tunely v hašovacíchfunkcích: kolize MD5 do minuty [online]. Verzia 2. 4/2006 [cit. 2009-01-01]. • Cochran, M. Notes on thewang et al. 263 SHA-1 differentialpath [online]. Publikované 12/2007. Revidované 8/2008 [cit. 2009-01-01]. • Ftp://ftp.Kemt.Fei.Tuke.Sk/KEMT414_AK/_materialy/cvicenia/kryp_8.Pdf • ChristofPaar, JanPelzl (2010). “Understandingcryptography“ . Springer • Http://cryptography.Hyperlink.Cz/2005/cryptofest_2005.Htm • Http://williamstallings.Com/extras/security-notes/lectures/authent.Html • Http://staff.Neu.Edu.Tr/~fahri/cryptography_chapter_10.Pdf • Http://www.Fi.Muni.Cz/~xkumpost/bakalarka.Pdf