prolomen md5 sou asn probl my ha ovac ch funkc a doporu en k obran
Download
Skip this Video
Download Presentation
Prolomení MD5, současné problémy hašovacích funkcí a doporučení k obraně

Loading in 2 Seconds...

play fullscreen
1 / 37

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


  • 81 Views
  • Uploaded on

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í

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Prolomení MD5, současné problémy hašovacích funkcí a doporučení k obraně' - erling


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
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)

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
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,…
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é
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

ad