Jake hashovaci funkce mame pouzivat, kdyz MD5 ne?
Byly uz nalezeny kolize pro SHA-1?
Znamena nalezeni kolizi v MD5 to, ze se nemuzu spolehnout na bezpecnost spojeni pres IPSec (FreeS/WAN), ktere pouziva MD5 pro autentizaci?
No, SHA-1 myslim timhle postupem prolomena nebyla, jinak pisou ze MD4, a nejaky ty dalsi. Takze zrejme SHA-1 zustava OK.
Jinak pokud jsem to dobre pochopil, tak problem s MD5 hrozi v pripade, kdyz nekomu muzes podstrcit jiny data, ktery ale vygenerujes tak, ze maji stejnou MD5 jako data originalni, cili:
a) posles sefovi k podepsani souhlas se zaplacenim faktury, sefovo mail klient udela MD5 a zasifruje svym privatnim klicem, cili kazdy muze overit, ze ti podepsal souhlas zaplatit fakturu. No a pak k tej zprave souhlasu vygenerujes jinou zpravu, ktera bude mit stejnou MD5, ale obsah bude rikat, ze se ti zvysuje mzda:) MD5 souhlasi, mas vyssi plat. dalsi priklady viz fantazie (no a kdyz tohle dokazes udelat na obyc PC, tak je fakt MD5 k tomuhle ucelu nepouzitelna).
b) na webu je SW balik a jeho MD5. Hacker udela backdoor do toho SW a pripravi ten balik tak, aby mel stejnou MD5. Pak uz jen staci, kdyz ten svuj balik rozdistribuuje.
Mam dojem, ze pokud nekdo ziska MD5, tak stale nemuze ziskat originalni zpravu, coz je tvoje plus a tudiz myslim, ze na autentizaci v IPsec to nema vliv. Problem se tyka pouze toho, ze najdes kolizi se stejnou MD5, ne ze najdes k MD5 originalni zpravu (pak by to byl jeste vetsi pruser:)) Ovsem pokud se nepletu.
>Problem se tyka pouze toho, ze najdes kolizi se stejnou MD5, ne ze najdes k MD5 originalni >zpravu (pak by to byl jeste vetsi pruser:)) Ovsem pokud se nepletu.
Myslim si ze nepletete, puvodni zpravu urcite lze jednoduse najit, stejne jako tech (2^mesage_size/2^hash size) dalsich vyhovujicich a to pocitam jen stejne dlouhe zpravy :)
Ad IPsec: Nejsem si jist jestli by nebylo mozne zfalsovat AH vrstvu (podpisy paketu) a pro ESP udelat man in the midle.
Neviem ci Ti rozumiem, ale ked viem MD5 spravy tak v zasade nikdy nebudem vediet ziskat tu spravu (ak je dlha aspon cca 512 bitov)... uz len preto lebo MD5 hash ma len 128bitov.
a) posles sefovi k podepsani souhlas se zaplacenim faktury, sefovo mail klient udela MD5 a zasifruje svym privatnim klicem, cili kazdy muze overit, ze ti podepsal souhlas zaplatit fakturu. No a pak k tej zprave souhlasu vygenerujes jinou zpravu, ktera bude mit stejnou MD5, ale obsah bude rikat, ze se ti zvysuje mzda:) MD5 souhlasi, mas vyssi plat. dalsi priklady viz fantazie (no a kdyz tohle dokazes udelat na obyc PC, tak je fakt MD5 k tomuhle ucelu nepouzitelna).
To je nesmysl, jiná zpráva bude mít jinou MD5. Můžete ale najít jinou zprávu se stejnou MD5, která bude ale obsahovat s největší pravděpodobností jenom chaos.
b) na webu je SW balik a jeho MD5. Hacker udela backdoor do toho SW a pripravi ten balik tak, aby mel stejnou MD5. Pak uz jen staci, kdyz ten svuj balik rozdistribuuje.
To je taky nesmysl, cracker bude umět zase jenom generovat jiný balík (s nesmyslným obsahem), který bude mít stejnou MD5. Problém je zase v tom, že balík bude jenom kopec nesmyslů.
Kolize jsou problémem třeba u hesel. Když systém ukládá heslo (zjednodušeně!), tak se zapisuje do /etc/shadow něco jako md5(to_co_uživatel_zadal). Kontrola hesla je pak test md5(to_co_uživatel_zadal)==md5_ze_shadow. Teoreticky je teda možné najít jiné heslo se stejnou MD5 a tím autentizovat útočníka, při znalosti /etc/shadow samozřejmě.
(Výše uvedené vyjadřuje pouze jak jsem to pochopil, nikoli 100% pravdu. :)
no, jeste nez byla zverejnena tahle rychla varianta hledani kolizi, tak uz byly na svete postupy, jak prave provadet a) i b). Proste v pripade zpravy se pouzije text + nejaky bordel, napr. v DOC je tohle docela v pohode, ale myslim, ze by to slo i txt. stejne tak v nejakym zipu nebo bzipu (bzip tusim dokaze ignorovat mess).
najit nejakou zpravu ke znamymu MD5 souctu jeste nejde v kloudnem case, aspon mam dojem, ze to tak je. takze nutny predpoklad je, ze mas originalni data a pripravis k nim falesna data se stejnou MD5.
1) SHA-1 je bezpecna
2) byla nalezena kolize ve smyslu "je mozne najit dve ruzne zpravy, jejich MD5 jsou stejne"
3) "bezkoliznost je dulezita u digitalnich podpisu" - priklad a) a b)
No IMHO je to tak, že máme zprávu A a MD5 hash H. Prolomení v tomto prezentovaném smyslu znamená, že umíme efektivně zkonstruovat zprávu B, která má taky hash H. Efektivně znamená, že na to nejdeme úplně hrubou silou. Ani jeden algoritmus ale není zveřejněný, takže nevíme, jak pracuje a co přesně dělá.
Co je dále úspěch, tak kolizi lze efektivně hledat i pro předem danou zprávu A (jak zase plyne z textu). Komplementem této situace by byl stav, kdy bychom byli efektivně schopni nalézt dvě zprávy (A a B) se stejným hashem H, aniž bychom předem znali A nebo B. (Toto už by bylo z bezpečnostního hlediska skoro úplně na nic.)
Nikde se ale nepíše o formátu zprávy B. Tzn. jak to chápu já, tak zpráva B vzniká naprosto nahodile a agoritmus funguje jako B=md5_find_collision(H). Nikde se nepíše, že lze dopředu deklarovat \"máme A s hasem H, B začíná řetězcem X\". Pokud by to šlo a fungovalo by to takto (tzn. B=md5_find_collision(H, zacatek_noveho_B)), pak máte samozřejmě pravdu. Ale to by bylo prolomení MD5 na naprosto jiné úrovni a autoři by se s tím určitě rádi pochválili. Pak by šla MD5 fakticky zahodit.
Zase jsou to jenom moje doměnky, mohl jsem někde něco přehlédnout. Dále se samozřejmě rád nechám poučit od lidí, kteří ví víc než já. :)
...no tak po krátkém dalším prozkoumání přiložených materiálů musím konstatovat, že nemám pravdu a funguje to fakt tím "horším" způsobem, tzn. lze celkem jednoduše vytvořit funkci B=md5_find_collision(H, zacatek_noveho_B). Tím bych se chtěl omluvit, jak jsem tady mystifikoval.
"" b) na webu je SW balik a jeho MD5. Hacker udela backdoor do toho SW a pripravi ten balik tak, aby mel stejnou MD5. Pak uz jen staci, kdyz ten svuj balik rozdistribuuje. To je taky nesmysl, cracker bude umět zase jenom generovat jiný balík (s nesmyslným obsahem), který bude mít stejnou MD5. Problém je zase v tom, že balík bude jenom kopec nesmyslů. ""
No, asi jste si spatne precetl odkazy, na ktere se da peoklikat z puvodniho clanku. Cituji: "Later, we found out ways to apply this attack to various other formats used in software distribution (zip, tar.bz2, tar.gz, rpm, ...)": http://cryptography.hyperlink.cz/2004/otherformats.html.
Kolize pro SHA-1 zatim nalezeny nebyly, ale byla nalezena metoda, jak snizit slozitost jejich nalezeni na 2^69. Tim z kryptografickeho hlediska SHA-1 skoncila. Z hlediska praktickeho muzete klidne pouzivat co chcete, treba MD4, MD5 nebo SHA-1, ale musite zvazit jake podstupujete riziko. V nekterych aplikacich nevadi, ze u hasovaci funkce byla kolize nalezena, ale je to tanecek na palube Titaniku. Kdo vi, kde ma ta funkce dalsi diru, kdyz uz o jedne poradne trhline vime.
K autorizaci baliku doporucuji pouzivat vice sifer najednou (takovy pristup ma treba OpenBSD), kdy balik validujes pomoci MD5, SHA-1 a RMD160 najednou - pak se ti tezko stane, ze se nekomu povede narusit vsechny tri sifry najednou a certifikat pri tom porad nemel 3GiB