Prakticky to znamena, ze nelze spolehat overeni neporusenosti nejakych dat pomoci MD5. Nekdo zlomyslny muze vytvorit pozmenena data se stejnou MD5.
Priklady
- pokud si stahujete nejaky sobor (program, zdrojaky) a
overujete si jeho integritu (ze nekdo "nenaboural"
ftp server a nevlozil do tech souboru napr. virus)
pomoci MD5, tak to neni dobry napad, nebot zmena
je mozna zmena souboru bez naruseni MD5
- pokud si kontrolujete integitu (operacniho) systemu
tak, ze ke vsem binarkam, knihovnam a pod udelate
databzi MD5 a tu jednou za cas kontrolujete, tak
to opet nemusi byt dobry napad z vyse uvedenych duvodu
- pokud je MD5 pouzita pouze pro detekci nahodnych
chyb a vypadku napr. filesystemu, tak to nevadi
- ukladani hesel v MD5 podobe - chyby MD5 nenarusuji
nemoznost z MD5 hashe ziskat puvodni data
- autorizace zalozena na posilani
zprava
salt
MD5 (salt + tajemstvi + zprava)
Predpokladam, ze "tajemstvi" utocnik nezna.
Utocnik nezna cela data, ze kterych je hash pocitan.
Zna jenom salt a zprava. Menit muze oboje (salt ma
ale obvykle jen malou delku).
To by stalo za vyzkum. Vzhedem k tomu, ze MD5 cte data
postupne, by urcite byl problem, kdyby kontrola byla
postavena na funkci
MD5 (salt + zprava + tajemstvi)
Utocnik je schopen vytvorit kolidujici bloky
MD5 (salt + zprava)
MD5 (salt + zprava_pozmenena)
Ktere maji stejnoy MD5 hash a z konstrukce MD5 pak
plyne, ze
MD5 (salt + zprava_pozmenena + tajemstvi)
bude take kolidovat s puvodnim
MD5 (salt + zprava + tajemstvi)
Doufam.
Vyse uvedeny pripad
MD5 (salt + tajemstvi + zprava)
neumim takto od boku posoudit, zadne oslabeni me
nenapada, ale kdo vi ...
Jenze tu je jeste jeden problem, muzete vygenerovat soubor se stejnym MD5, ale otazka je, zda i jeho obsah bude vzhledem k puvodnimu mit nejaky smysl, o cemz si dovolim vrele pochybovat.
Pro priklad, takto vygenerovany archiv (zip, rar ...) nejspis nepujde ani rozbalit, ani jej SW jako archiv nerozpozna.
To by nemusel byt az takovy problem. Rada formatu souboru v sobe umi ulozit dalsi data, ktera normalne celkem k nicemu nejsou a nebrani normalni praci se souborem (napriklad archivy obvykle maji pole pro poznamku, pokud uz pomineme moznost proste do nich vlozit jeden soubor navic; takovy ZIP navic umi ke kazdemu archivovanemu souboru ulozit dalsich az 64 KB [myslim] volnych dat; u exace zase celkem nic nebrani tomu, ulozit na jeho konec par kilo nesmyslu, jejichz jedinym ucelem bude vyrobeni konkretniho MD5).
viz root.cz: jeden student tam tohle dokazal s fiktivni smlouvou o prodeji nemovitosti. 2 PDFka, 2 stejne MD5, 2 ruzne ceny nemovitosti. dusledky si kazdy domysli sam.
OK PDF ano (podle mne to ovsem bylo PDF bez font a cisla byly obrazky), tam to pujde, protoze bitmapa neztrati svuj vyznam tak jednoduse.
Najit kolizni MD5 pro dejme tomu z 90% stejny archiv doplneny pouze o nejake poznamky nebude asi tak prilis snadne.