Ugrás a tartalomhoz

birthday attack

A Wikiszótárból, a nyitott szótárból

Főnév

birthday attack (tsz. birthday attacks)

  1. (informatika) A birthday attack (születésnapi támadás) egy kriptográfiai támadási forma, amely a születésnapi paradoxon matematikai elvén alapul, és célja ütközések (collisions) keresése hash függvényekben vagy más egyedi azonosítókat használó rendszerekben. A támadás lényege, hogy két különböző bemenetre keresünk azonos kimenetet egy hash függvény esetén, és ezt a vártnál sokkal kevesebb próbálkozással is el lehet érni – a “paradoxon” miatt.

Ez a módszer különösen fontos hash algoritmusokkal kapcsolatban, például MD5, SHA-1, stb., ahol az ütközések megtalálása sérti a hash-függvény ütközésállóságát, és digitális aláírások meghamisításához, adatmanipulációhoz vezethet.



🧠 Mi az a születésnapi paradoxon?

A születésnapi paradoxon azt mondja, hogy meglepően kevés ember kell ahhoz, hogy esély legyen két ember ugyanazon a napon születésére.

Matematikailag: - Egy 365 napos évvel számolva, - Már 23 ember esetén is több mint 50% az esély, hogy két embernek azonos a születésnapja!

Ez az elv hash ütközésekre is érvényes: ha egy hash érték 𝑛 bit hosszú, akkor 𝑛/2 bitnyi “erőfeszítéssel” (próbálkozással) jó eséllyel találunk két különböző bemenetet ugyanazzal a hash kimenettel.



🔐 Hash függvények és ütközések

A hash függvény egy olyan algoritmus, amely tetszőleges hosszú bemenetből rögzített hosszúságú kimenetet (hash értéket) generál. Jó hash függvény jellemzői:

  1. Determinált – ugyanaz a bemenet → ugyanaz a kimenet.
  2. Előképkép-ellenálló – adott hash értékből nehéz megtalálni a bemenetet.
  3. Másodlagos előképkép-ellenálló – adott bemenethez nehéz másikat találni, ami azonos hash-t ad.
  4. Ütközésálló – nehéz két különböző bemenetet találni, amelyek azonos hash-t adnak.

A birthday attack pont ez utóbbit támadja.



📉 Birthday attack matematikailag

Ha egy hash függvény n bit hosszú kimenetet ad, akkor 2ⁿ lehetséges hash érték létezik.

  • Egy véletlen bemenetekből álló sorozatból már körülbelül √(2ⁿ) ≈ 2ⁿ⁄² próbálkozás után jó eséllyel találunk két különböző bemenetet, melyek ugyanazt a hash értéket adják.

Példák: - MD5 (128 bit) → ~2⁶⁴ próbálkozással várható ütközés. - SHA-1 (160 bit) → ~2⁸⁰ próbálkozással várható ütközés.

Ez még mindig sok, de nem annyira sok, mint 2¹²⁸ vagy 2¹⁶⁰, ami az „ideális” biztonság lenne.



🧩 Birthday attack lépései (általános)

  1. Végy egy hash függvényt (pl. SHA-1).
  2. Generálj különböző bemeneteket.
  3. Hash-eld őket, és figyeld a hash értékeket.
  4. Tárold őket egy hash-táblában vagy listában.
  5. Ha két bemenet ugyanazt a hash értéket adja, akkor találtál egy ütközést.



🛠️ Konkrét alkalmazás – digitális aláírás hamisítása

A digitális aláírás során jellemzően a dokumentum hash-ét írjuk alá, nem magát a dokumentumot.

Egy támadó a következőt teheti:

  1. Készít két dokumentumot: egy ártalmatlant (pl. számla) és egy rosszindulatút (pl. szerződés).
  2. Addig manipulálja őket, amíg azonos hash értéket nem kap.
  3. Aláíratja az ártalmatlan dokumentumot.
  4. A digitális aláírás így a rosszindulatú dokumentumra is érvényes leszhamisítás!

Ez valódi fenyegetés volt az MD5 és SHA-1 algoritmusoknál!



✅ Védekezés

Módszer Leírás
Erősebb hash algoritmusok használata SHA-256, SHA-3, BLAKE2, BLAKE3
Hosszabb hash kimenet Így a birthday attackhez több próbálkozás kell
Digitális aláírás + extra védelem Pl. salting, timestamp, hibrid protokollok
Üzenet-hash kombinációk (HMAC) Véd az aktív manipulációk ellen



⚠️ Algoritmusok, amelyeket érint a birthday attack

Algoritmus Érintettség
MD5 ✔ – gyakorlati támadás lehetséges, nem biztonságos
SHA-1 ✔ – 2017-ben a Google SHAttered projektje megtalált egy ütközést
SHA-2 / SHA-256 ❌ – jelenleg nincs hatékony birthday attack ellene
SHA-3 / BLAKE2 / BLAKE3 ❌ – új generáció, ellenáll a támadásoknak



📚 Történelmi háttér

  • 1980-as évek: A birthday paradox elve először megjelenik hash funkciók analízisében.
  • 1990-es évek: Az MD5 biztonsága megkérdőjeleződik.
  • 2004–2005: Első gyakorlati ütközések MD5 esetén.
  • 2017: Google bejelenti az első sikeres SHA-1 ütközést (SHAttered projekt).



🧠 Összefoglalás

Fogalom Jelentés
Birthday attack Ütközéskereső támadás hash függvények ellen
Alapja Születésnapi paradoxon: √(N) minta → 50% esély ütközésre
Cél Két különböző bemenet, azonos hash érték
Fenyegetés Digitális aláírás hamisítása, adatmeghamisítás
Megoldás Erősebb hash, SHA-2, SHA-3, BLAKE2, HMAC használata
Érintett algoritmusok MD5, SHA-1 (már nem biztonságosak)



A birthday attack nem csak elméleti lehetőség, hanem valós veszély, amely megingatta több népszerű algoritmus hitelességét. Ma már elengedhetetlen, hogy biztonságos hash algoritmusokat használjunk, és ismerjük a lehetséges támadási formákat.