Prolomen md5 sou asn probl my ha ovac ch funkc a doporu en k obran
This presentation is the property of its rightful owner.
Sponsored Links
1 / 37

Prolomení MD5, současné problémy hašovacích funkcí a doporučení k obraně PowerPoint PPT Presentation


  • 48 Views
  • Uploaded on
  • Presentation posted in: General

Prolomení MD5, současné problémy hašovacích funkcí a doporučení k obraně. Vlastimil Klíma nezávislý konzultant v klima at volny cz, http://cryptography.hyperlink.cz Security Upgrade 2006 , 12. – 13. 4. 2006, TOP Hotel, Praha. Obsah. Základní vlastnosti a konstrukce hašovacích funkcí

Download Presentation

Prolomení MD5, současné problémy hašovacích funkcí a doporučení k obraně

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Prolomen md5 sou asn probl my ha ovac ch funkc a doporu en k obran

Prolomení MD5,současné problémy hašovacích funkcí a doporučení k obraně

Vlastimil Klíma

nezávislý konzultant

v klima at volny cz, http://cryptography.hyperlink.cz

Security Upgrade 2006, 12. – 13. 4. 2006, TOP Hotel, Praha


Obsah

Obsah

  • Základní vlastnosti a konstrukce hašovacích funkcí

  • Současné problémy hašovacích funkcí

  • Kolize MD5

    • Trik pro prolomení MD5 do třiceti sekund

    • Ukázka nejrychlejšího kolizního programu na světě

    • Ukázka možnosti zneužití kolizí MD5 v praxi

  • Obrana proti současným útokům

  • Konkrétní východiska

  • A něco navíc pro zoufalce


I blok z kladn vlastnosti

I. Blok – Základní vlastnosti


Z kladn vlastnosti ha ovac ch funkc

M

h

h(M)

Základní vlastnosti hašovacích funkcí

  • Libovolný vstup M

  • Pevně definovaná délka výstupu (n bitů)

n:

MD5: 128 b

SHA-1: 160 b

SHA-256: 256 b

SHA-512: 512 b

  • Vlastnosti:

  • Jednocestnost

  • Odolnost proti kolizi

  • Náhodnost


Z kladn vlastnosti ha ovac ch funkc1

Základní vlastnosti hašovacích funkcí

  • Jednocestnost, preimage resistance

    • Pro každé x je jednoduché vypočítat h(x)

    • Pro náhodně volené x je výpočetně neproveditelné z h(x) určit x

  • Využití: např. ukládání hesel


Z kladn vlastnosti ha ovac ch funkc2

Základní vlastnosti hašovacích funkcí

  • Odolnost proti kolizi druhého řádu, second preimage resistance

    • Je výpočetně neproveditelné k danému náhodnému x nalézt druhý vzory různý od x tak, že h(x) = h(y), složitost nalezení kolize cca 2n


Z kladn vlastnosti ha ovac ch funkc3

Základní vlastnosti hašovacích funkcí

  • Odolnost proti kolizi prvního řádu, collision resistance

    • Je výpočetně neproveditelné nalézt libovolné různé x, y tak, že h(x) = h(y), složitost nalezení kolize cca 2n/2

  • Využití: v digitálních podpisech


Z kladn vlastnosti ha ovac ch funkc4

Základní vlastnosti hašovacích funkcí

Narozeninový paradox: Kolizi lze nalézt pouze se složitostí 2n/2 operací (pro n-bitové hašovací kódy).

V množině K zpráv je K(K-1)/2 dvojic. Pravděpodobnost, že dvojice má stejnou haš je 1/2n,

pro K = 2n/2 máme K(K-1)/2 = cca 2n / 2 dvojic. Odtud tvrzení.


Z kladn vlastnosti ha ovac ch funkc5

Základní vlastnosti hašovacích funkcí

H(„1“), H(„2“), H(„3“),…

H(secret_seed , „1“), H(secret_ seed , „2“), H(secret_ seed , „3“),…

Náhodnost:

Na hašovací funkci se postupně kladly stejné nároky jako na náhodné orákulum.

Náhodné orákulum vybírá funkční hodnoty náhodně z množiny všech možných hodnot.

Pamatuje si pouze své předchozí odpovědi - na stejný dotaz odpovídá stejně.

Využití v PRNG, KDF.


Bezpe nost

Bezpečnost

  • Pokud se najde „významná odchylka“ od náhodného chování, hašovací funkce se považuje za prolomenou.


Konstrukce modern ch ha ovac ch funkc

Konstrukce moderních hašovacích funkcí

Damgard-Merklovo zesílení

Kompresní

funkce f

Blok zprávy mi

Kontext Hi

Inicializační

hodnota

(IV)


Ii blok md5

II. Blok – MD5


P klad kompresn funkce md5 64 rund

Davies-Meyer

Příklad:Kompresní funkceMD5(64 rund)


Ervenec 2004

Červenec 2004

  • V červenci 2004 byly útoky proti MD5 téměř nicotné

  • MD5 byla považována za bezpečnou,

  • Nebyla známa žádná metoda rychlejší než útok hrubou silou se složitostí 264

Duben 2006

  • Praktická ukázka nalezení kolize za 31 sekund na tomto notebooku

  • Program dostupný na http://cryptography.hyperlink.cz/2004/kolize_hash.htm


Sou asn probl my ha ovac ch funkc postupn prolamov n md5

  • Wangová, srpen 2004, 50 hodin

  • Hawkes a kol, říjen 2004

  • Klíma, březen 2005, 8 hodin

  • Wangová, květen 2005

  • Yajima a Shimoyama, srpen 2005

  • Sasaki a kol. listopad 2005, 1 hod. (jen teor.)

  • Liang – Lai, listopad 2005, 4 hod.

  • Klíma, 18.březen 2006:1 minuta, 28.březen: 31 sekund

Současné problémy hašovacích funkcí: Postupné prolamování MD5

  • M1 512 bitů

  • N1 512 bitů

  • M2 512 bitů

  • N2 512 bitů

Časy vztaženy k tomuto notebooku (Pentium 1.6 GHz)


Literatura k prolomen md5 chronologicky

Literatura k prolomení MD5 - chronologicky

  • [WFLY04] Xiaoyun Wang, Dengguo Feng , Xuejia Lai, Hongbo Yu: Collisions for Hash Functions MD4, MD5, HAVAL-128 and RIPEMD, rump session, CRYPTO 2004, Cryptology ePrint Archive, Report 2004/199, first version (August 16, 2004), second version (August 17, 2004), http://eprint.iacr.org/2004/199.pdf

  • [HPR04] Philip Hawkes, Michael Paddon, Gregory G. Rose: Musings on the Wang et al. MD5 Collision, Cryptology ePrint Archive, Report 2004/264, 13 October 2004, http://eprint.iacr.org/2004/264.pdf

  • [Kli05b] Vlastimil Klima: Finding MD5 Collisions on a Notebook PC Using Multi-message Modifications, Cryptology ePrint Archive, 5 April 2005. http://eprint.iacr.org/2005/102.pdf

  • [WaYu05] X. Wang and H. Yu: How to Break MD5 and Other Hash Functions., Eurocrypt’05, Springer-Verlag, LNCS, Vol. 3494, pp. 19–35. Springer, 2005.

  • [YaSh05] Jun Yajima and Takeshi Shimoyama: Wang’s sufficient conditions of MD5 are not sufficient, Cryptology ePrint Archive: Report 2005/263, 10 Aug 2005, http://eprint.iacr.org/2005/263.pdf

  • [SNKO05] Yu Sasaki and Yusuke Naito and Noboru Kunihiro and Kazuo Ohta: Improved Collision Attack on MD5, Cryptology ePrint Archive: Report 2005/400, 7 Nov 2005, http://eprint.iacr.org/2005/400.pdf

  • [LiLa05] Liang J. and Lai X.: Improved Collision Attack on Hash Function MD5, Cryptology ePrint Archive: Report 425/2005, 23 Nov 2005, http://eprint.iacr.org/2005/425.pdf.

  • [Kli06] Vlastimil Klima: Tunnels in Hash Functions: MD5 Collisions Within a Minute (extended abstract), IACR ePrint archive Report 2006/105 , http://eprint.iacr.org/2006/105.pdf, 18 March, 2006, v češtině na http://cryptography.hyperlink.cz/2006/tunely.pdf, zdrojové kódy na http://cryptography.hyperlink.cz/2006/web_version_1.zip


Iii blok uk zka generov n koliz

III. Blok – Ukázka generování kolizí


Iv blok uk zka zneu it koliz

IV. Blok – Ukázka zneužití kolizí


Premi ra uk zka zneu itelnosti koliz

Premiéra: ukázka zneužitelnosti kolizí

  • Program ukázky je k dispozici na domácí stránce projektu kolizí

    http://cryptography.hyperlink.cz/2004/kolize_hash.htm

  • Zneužitelnost různorodá – distribuce SW, digitální podpisy,…


Princip zneu itelnosti koliz

Princip zneužitelnosti kolizí


Sou asn probl my ha ovac ch funkc

Současné problémy hašovacích funkcí

  • Zesílení haše - dvojí haš

    http://www.micr.cz/scripts/detail.php?id=672


Sou asn probl my ha ovac ch funkc generick probl m konstrukce f m g m

Současné problémy hašovacích funkcí: generický problém konstrukce F(M) || G(M)

  • 80 bloků kolizí MD5 (40 minut)

  • Máme 280 zpráv se stejnou MD5 haší

  • Mezi nimi se najdou dvě také se stejnou SHA-1 haší

  • Nalezení kolize MD5(M) || SHA-1(M)

    = Nalezení kolize SHA-1(M) + 40 minut


Sou asn probl my ha ovac ch funkc1

Současné problémy hašovacích funkcí

  • Generický útok rozšířením zprávy (message extension)


Sou asn probl my ha ovac ch funkc2

Současné problémy hašovacích funkcí

  • Teoretický (generický) problém tvorby multikolizí.

    • Generování velkého počtu zpráv se stejnou haší je mnohem jednodušší než se všeobecně očekávalo a mnohem jednodušší než u náhodného orákula

    • Možnost nalezení N > 21500 zpráv o délce 254 bloků, majících stejnou haš, se složitostí pouze 64*2n/2, kde n je délka hašovacího kódu.


Co je zat m bezpe n

Co je zatím bezpečné

  • Zatím nelze k dané zprávě vytvořit jinou, se stejnou haší (neumíme kolizi druhého řádu)

  • Zatím nejsou ohroženy minulé digitální podpisy pomocí MD5. Jsou ohroženy budoucí všude tam, kde útočník vytváří soubor k digitálnímu podpisu (nebezpečí vytvoření druhého falešného souboru).

  • Zatím nejsou ohroženy techniky HMAC a PRF(PRNG), využívající slabé hašovací funkce


Hmac zat m ohro en nen

HMAC – zatím ohrožen není

HMAC-H(K, M) = H( (K xor opad) || H((K xor ipad)|| M) )


Prf prng pseudon hodn funkce a gener tor zat m ohro eny nejsou

PRF/PRNG – pseudonáhodná funkce a generátor: zatím ohroženy nejsou

PKCS#1 v.2.1, pseudonáhodný generátor MGF1

Seed - většinou náhodné nastavení

H(seed || 0x00000000),

H(seed || 0x00000001),

H(seed || 0x00000002),

H(seed || 0x00000003),

.... …. ….

PKCS#5, generování klíče z passwordu:

T1 = H(P || S) T2 = H(T1) …Tc = H(Tc-1)

šifrovací klíč

DK = Tc<0..dkLen-1>


Sha 1

SHA-1 

  • Dosud se pokládala za bezpečnou

  • Už není garantována její bezpečnost po roce 2010

  • Navržen hardwarový SHA-1 Cracker

    • 303 PC, každé 16 desek

    • Cena/výkon: 1M $/2 dny, 100 000 $/20 dní

      (A. Satoh, ISC 2005)

  • Probíhá SW experiment k tvorbě dvou různých klíčů se stejným certifikátem SHA-1/RSA

  • NIST doporučuje ukončit používání SHA-1 tak rychle jak je to prakticky možné, nejpozději do konce r. 2010

  • http://csrc.nist.gov/CryptoToolkit/tkhash.html

  • NIST doporučuje začít používat SHA-2


Stru n a jasn mana ersk z v r k ha ovac m funkc m

Stručně a jasně – manažerský závěr k hašovacím funkcím

  • MD4, MD5, SHA-0, RIPEMD a HAVAL-128 jsou prolomené

  • SHA-1 není prolomena, ale může být

  • SHA-256, SHA-384 nebo SHA-512 jsou považovány za bezpečné


Je t pokra ujeme

Ještě pokračujeme


A n co nav c posledn z chrana pro zoufalce

A něco navíc: Poslední záchrana pro zoufalce

  • Máme k dispozici pouze slabou hašovací funkcí (MD5 resp. SHA-1) a můžeme ji v HW/FW/SW pouze volat.

  • Lze vytvořit bezpečnou haš ?

  • Ne! Můžeme ale vytvořit takovou hašovací funkci, u níž rozhodně nemůžeme použít ani současné metody, ani jejich myšlenky. Takže ve skutečnosti hašovací funkci bezpečnostně „podobnou“ SHA-2.

  • Uvádíme dvě metody, odolné proti současným útokům a pravděpodobně i proti mnoha dalším

  • Použití slabé hašovací funkce je vyváženo jejím mnohonásobným použitím (tj. zvýšeným výpočetním výkonem). V metodě 1 rozšiřujeme zprávu, v metodě 2 počítáme souběžně několik haší.


Metoda 1

Metoda 1

  • Místo každého jednoho bloku zprávy Mi zpracovávat dva bloky: Mi , C(Mi), kde druhý blok je vhodný nelineární kontrolní kód k prvnímu bloku

  • Zabraňuje libovolné modifikaci v druhém bloku

  • Současné metody nelze aplikovat


Metoda 1 varianty

Metoda 1 - varianty

  • Mnoho variant. Popsány v pracích autorů Halevi - Krawczyk, Biham, Szydlo - Yin, Jutla - Patthak, Lucks, Rivest a Coron z

  • [6]Cryptographic Hash Workshop, NIST, USA, Oct. 31 - Nov. 1, 2005, http://www.csrc.nist.gov/pki/HashWorkshop/program.htm

  • [7] Conference on Hash Functions (Ecrypt), June 23-24, 2005, Przegorzaly (Krakow), Poland, http://www.ecrypt.eu.org/stvl/hfw/

  • [8] WEWoRC 2005, Western European Workshop on Research in Cryptology, Leuven-Heverlee, Belgium, July 5-7, 2005, http://www.cosic.esat.kuleuven.be/WeWorc/allAbstracts.pdf


Metoda 2

Metoda 2

  • Průběžně počítat souběžně několik instancí hašovací funkce

  • Instance se liší inicializačními vektory IV1, IV2, IV3, …IVL

  • Výslednou haší je

  • MD5IV1(M) || MD5IV2(M) || MD5IV3(M) || MD5IV4(M) || ….. || MD5IVL(M)

  • Složitost prolomení současnými metodami je větší než 26(L-2)+64,

  • Pro L = 14:

    • délka kódu je 14*128 = 1792 bitů

    • Složitost 2136


Metoda 2a

Metoda 2a

  • Průběžně počítat souběžně několik instancí hašovací funkce

  • Instance se liší inicializačními vektory IV1, IV2, IV3, …IVL

  • Výslednou haší je

  • MD5 (MD5IV1(M) || MD5IV2(M) || MD5IV3(M) || ... || MD5IVL(M))

    • Délka kódu 128 bitů

    • Složitost prolomení současnými metodami je 264


Literatura

Literatura

  • Adekvátní literaturu lze dohledat pomocí domácí stránky projektu http://cryptography.hyperlink.cz/2004/kolize_hash.htm

  • Obsahuje

    • Linky na články v češtině, vysvětlující nové i dřívější metody

    • Programy (viz ukázky), zdrojové kódy

    • Aktuální novinky


L nky v e tin

Články v češtině

  • Dostupné z http://cryptography.hyperlink.cz/2004/kolize_hash.htm

  • Novinky na serveru crypto-world:

    http://crypto-world.info/news/index.php?prispevek=2955

    http://crypto-world.info/news/index.php?prispevek=3015

  • Článek o tunelech pro čtenáře serveru root.cz

    http://www.root.cz/clanky/tunely-v-hasovacich-funkcich-kolize-md5-do-minuty/

  • Doplněk odborné zprávy pro čtenáře e-zinu Crypto-world „Kolize MD5 do minutyaneb co v odborných zprávách nenajdete“:

    http://cryptography.hyperlink.cz/2004/kolize_hash.htm

  • Odborná zpráva o metodě tunelování hašovacích funkcí:

    http://cryptography.hyperlink.cz/2006/tunely.pdf


  • Login