Ütközéses támadás

Az ütközési támadás a kriptográfiában egy kriptográfiai hash függvény  két különböző bemeneti blokkjának keresése , amelyek ugyanazt a hash értéket állítják elő, vagyis egy hash ütközést . A preimage attacktól eltérően a hash értéket nem szándékosan választották meg.

Hozzávetőlegesen, körülbelül[ pontosítás ] Két különböző típusú ütközési támadás létezik:

Klasszikus ütközési támadás

Az ütközési támadás két különböző m1 és m2 üzenetet talál úgy , hogy . A klasszikus támadás esetén a támadónak nincs befolyása az üzenetek tartalmára, hanem az algoritmus véletlenszerűen választja ki azokat. Sok szimmetrikus kriptorendszer sebezhető a brute force támadásokkal szemben , minden kriptográfiai hash funkció értelemszerűen sebezhető a születésnapi támadásokkal szemben . Ez utóbbi támadási módszer a születésnapi paradoxon miatt sokkal gyorsabb lehet, mint a brute force módszer. Egy N bites hash 2n /2 -szer törhető fel (hash függvény kiszámításával). A leghatékonyabb támadások akkor lehetségesek, ha kriptoanalízist használunk egy adott hash függvényen. Ha egy ütközési támadás gyorsabb, mint egy „születésnapi” támadás, a hash függvényeket gyakran „töröttnek” minősítik. Az SHA-3 hash függvény (verseny) létrehozását nagymértékben a régi MD5 [1] és SHA-1 függvények lecserélésének szükségessége indokolta . Az MD5 algoritmus elleni ütközési támadások annyit fejlődtek, hogy normál számítógépen csak néhány másodpercet vesz igénybe. [2] Az így generált hash ütközések általában állandó hosszúságúak és nagyrészt strukturálatlanok, ezért nem alkalmazhatók közvetlenül általános dokumentumformátumok vagy protokollok támadására. A sok formátumban jelenlévő dinamikus konstrukciókkal való visszaéléssel azonban lehetséges megoldások. Így két olyan dokumentum jön létre, amelyek megegyeznek egymással, így azonos hash értékkel rendelkeznek. Ha egy dokumentumot megbízható személy ír alá, az aláírása átmásolható egy másik fájlba. Egy ilyen rosszindulatú dokumentum két különböző üzenetet tartalmazna ugyanabban a dokumentumban, de a fájl kis módosításával ezek bármelyikét megjelenítheti:

Ütközéses támadás adott előtaggal

Az ütközési támadás fejlesztésének eredménye a Merkle-Damgard szerkezetre tervezett ütközési támadás adott előtaggal . Ebben az esetben a támadó kiválaszthat 2 véletlenszerűen eltérő dokumentumot, majd kiegészítheti őket 2 különböző számított értékkel, hogy a 2 dokumentum ugyanazt a hash értéket kapja. Ez a támadás komolyabb, mint a klasszikus változata.

Matematikailag 2 különböző p1, p2 előtag létezik , ezek 2 m1 és m2 komplementerét úgy számítjuk ki , hogy hash(p1 ∥ m1) = hash(p2 ∥ m2) (ahol ∥ az összefűzési művelet ).

2007-ben létrehoztak egy előtaggal ellátott MD5 hash ütközési támadást, amely körülbelül 250 MD5 függvény számítást igényelt. A jegyzet két X.509-tanúsítványt mutatott be különböző tartománynevekhez, amelyek azonos hash funkcióval rendelkeznek. Ez azt jelenti, hogy egy megbízható tartomány tanúsítványát egy másik ismeretlen tartomány használhatja. [5]

Egy igazi ütközési támadást 2008 decemberében tettek közzé, amikor biztonsági kutatók egy csoportja közzétett egy hamis X.509 aláíró tanúsítványt , amellyel egy adott MD5 hash előtag ütközési támadása révén névtelenül engedélyezhető egy tanúsítvány. Ez azt jelentette, hogy a támadó közvetítőként bármilyen TLS -védett webhelyet meghamisíthat , megsértve ezzel az e-kereskedelem biztonsága érdekében minden webböngészőbe beépített tanúsítvány-érvényesítést . A hamis tanúsítványt a megbízható felek nem vonhatják vissza, tetszőleges ideig lejárhat. Az MD5 2004-ben feltárt gyengeségei ellenére [1] 2008 decemberében világossá vált, hogy sokan még mindig használnak ezzel a hash funkcióval rendelkező tanúsítványokat, [6] és legalábbis a Microsoft még 2012 májusában is ezt használta.

A Flame -ben a rosszindulatú programok sikeresen alkalmazták az előtaggal ellátott ütközési támadás új változatát, hogy meghamisítsák a kódaláíró összetevőket Microsoft gyökértanúsítványok segítségével, amelyek továbbra is a feltört MD5 algoritmust használták. [7] [8]

Támadási séma

Sok kriptográfiai hash funkcióval rendelkező alkalmazás nem igényel ütközésvédelmet az ütközési támadások nem tudják megkerülni a védelmet Például a HMAC - ket nem éri ez a fajta támadás. [9] A sikeres támadáshoz a támadónak rendelkeznie kell a bemenet felett.

Elektronikus aláírások

Mivel az elektronikus aláírási algoritmusok nem tudnak hatékonyan aláírni nagy mennyiségű adatot, sok bővítmény adattömörítési funkciókat használ a rögzített méretű aláírásra. Az elektronikus aláírási sémák gyakran hajlamosak az ütközésekre, annak ellenére, hogy véletlenszerű kivonatolási technikát alkalmaznak. [tíz]

Általában a támadás a következőképpen zajlik:

  1. Eve 2 különböző A és B dokumentumot hoz létre azonos hash értékekkel. Eve úgy akarja megtéveszteni Bobot, hogy a dokumentumát Alice-ként adja át.
  2. Eve elküldi az A dokumentumot Alice -nek, aki megbízik a dokumentum tartalmában, aláírja a hash-t, és elküldi az aláírást Évának.
  3. Éva az A dokumentum aláírását csatolja a B dokumentumhoz.
  4. Eve ezután elküldi az aláírást és a B dokumentumot Bobnak , azt állítva, hogy Alice írta alá a dokumentumot. Mivel az elektronikus aláírás csak a B dokumentum hash értékét ellenőrzi, Bob nem tud a helyettesítésről.

2008-ban a kutatók megtámadták az MD5 előtagot a fenti szkript segítségével, hogy hamis tanúsítványt hozzanak létre. Létrehozták a TLS nyilvános kulcsú tanúsítvány 2 verzióját, amelyek közül az egyiket RapidSSL-engedélyezéshez hitelesítették. Egy másik változat, amely ugyanazzal az MD5 hash értékkel rendelkezik, olyan jelzőket tartalmazott, amelyek jelezték a böngészőnek a bizalmat és a jogot, hogy más tanúsítványok számára bizalmat adjanak ki [11] .

Jegyzetek

  1. 1 2 Xiaoyun Wang, Dengguo Feng, Xuejia Lai, Hongbo Yu: Ütközések az MD4, MD5, HAVAL-128 és RIPEMD hash-függvényeknél Archiválva : 2011. augusztus 23. , Cryptology ePrint Archive Report 2004/199, 2004. augusztus 16., felülvizsgálva: 2004. augusztus 17. Letöltve: 2008. július 27.
  2. MJ Stevens. Ütközésekről az MD5-  höz (neopr.) . - 2007. - június.
  3. Magnus Daum, Stefan Lucks. Hash Collisions (The Poisoned Message Attack) . Eurocrypt 2005 rump session . Az eredetiből archiválva : 2010. március 27.
  4. 1 2 3 Max Gebhardt, Georg Illies, Werner Schindler. Megjegyzés az egyszeri hash ütközések gyakorlati értékéhez speciális fájlformátumokhoz  (angolul)  : napló.
  5. Marc Stevens, Arjen Lenstra, Benne de Weger. Választott előtag ütközések az MD5 és az ütköző X.509 tanúsítványokhoz különböző identitásokhoz  (angolul)  : napló. - 2007. - november 30.
  6. Alekszandr Szotirov. Hamis CA-tanúsítvány létrehozása (nem elérhető hivatkozás) (2008. december 30.). Hozzáférés dátuma: 2015. december 15. Az eredetiből archiválva : 2012. április 18. 
  7. A Microsoft kiadja a 2718704. számú biztonsági figyelmeztetést . Microsoft (2012. június 3.). Letöltve: 2012. június 4. Az eredetiből archiválva : 2012. június 7..
  8. Marc Stevens. A CWI Cryptanalist új kriptográfiai támadási változatot fedez fel a Flame Spy malware-ben . Centrum Wiskunde & Informatica (2012. június 7.). Letöltve: 2012. június 9. Az eredetiből archiválva : 2017. február 28..
  9. Hash Collision Q&A . Cryptography Research Inc (2005. február 15.). "Mivel a hash függvényeket használják a HMAC konstrukcióban, a legutóbbi támadásoknál használt technikák nem alkalmazhatók." Archiválva az eredetiből 2008. július 17-én.
  10. Shai Halevi és Hugo Krawczyk, Randomized Hashing and Digital Signatures Archivált 2009. június 20. a Wayback Machine -nél
  11. Alexander Sotirov, Marc Stevens, Jacob Appelbaum, Arjen Lenstra, David Molnar, Dag Arne Osvik, Benne de Weger (2008. december 30.). Az MD5 ma károsnak számít . Chaos Communication Congress 2008. Az eredetiből archiválva , ekkor: 2017-03-25 . Letöltve: 2015-12-15 . Elavult használt paraméter |deadlink=( súgó )

Linkek