Prolomení MD5 a co z toho plyne

Možná jste zachytili šokující zprávu, která se minulý rok prohnala světovým internetem, o týmu čínských kryptoanalytiků, kterým se podařilo prolomit některé hashovací funkce. Zejména se jednalo o funkci MD5, která je dnes stále ještě velmi populární a často využívaná.

Při čtení prvních řádků zprávy o této bezpečnostní aféře, jsem trnul hrůzou, že budu muset přepisovat všechny svoje skripty užívající funkci MD5. Naštěstí jsem po přečtení prezentace Vlastimila Klímy zjistil, že to nutné nebude.

Proč není prolomení MD5 pro většinu webových aplikací nebezpečná?

Prolomení hashe čínskými vědci totiž spočívá v tom, že pokud znají vzor pro výpočet obrazu(hashe), jsou schopni k němu vytvořit druhý vzor, který má stejný obraz(hash). To v praxi znamená, že útočník např. může vytvořit nějaký software, ten pak dá k ověření, jestli je ten software bez zadních vrátek. Software kontrolou projde a tak ho útočník dá spolu s md5 hash podpisem na internet. Pak ale vytvoří druhou verzi softwaru, která bude mít stejný hash otisk, ale bude obsahovat zadní vrátka...

Při běžném užití md5 ve webových aplikacích se útočník nedostává do kontaktu s původním vzorem, a proto nemůže tuto techniku využít. Př.: MD5 otisk se na webu většinou používá k bezpečnému uložení hesla, nebo jiných citlivých údajů, které by se neměli dostat ani do rukou adminů. Heslo uživatele tedy ukládáme do databáze jako md5 hash a během autorizace uživatele porovnáváme otisk z databáze s otiskem textu, který uživatel při přihlašování odešle. Útočník tedy zná pouze otisk a ten je mu na nic. Chvála bohu:-)

evaluation

Komentáre

comments closed