it-swarm-eu.dev

Proč lidé stále používají / doporučují MD5, pokud je prasklý od roku 1996?

Je to stále běžně doporučovaný způsob hašování hesel, i když jeho nejistota byla prokázána v roce 1996:

Navrhujeme proto, aby se MD5 v budoucnu již nemělo implementovat do aplikací, jako jsou signaturní schémata, kde je vyžadována hashovací funkce odolná proti kolizi. Podle našich současných znalostí Edge jsou nejlepší doporučení pro alternativy k MD5 SHA-1 a RIPEMD-160.

(Stav MD5 po nedávném útoku, CryptoBytes, RSA Laboratories, VOLUME 2, NUMBER 2 - SUMMER 1996)

Dokonce i po této studii a všech připravovaných dokumentech o jejích vadách se od té doby doporučuje jako funkce hashování heslem ve webových aplikacích.

Je dokonce používán v digitálním podpisu některých certifikačních autorit (podle http://rmhrisk.wpengine.com/?p=6 )

Jaký je důvod, proč tento algoritmus pro analýzu zpráv ještě není ve smyslu zabezpečení zakázán?


Odkazy, trvalo mi pár minut, než jsem je našel

57
Marek Sebera

Aby se doplnila dobrá odpověď z @DW: pro hashování heslem, MD5 není o ničem víc než jakákoli jiná hashovací funkce (ale přesto ji nepoužívejte) .


Úplný obrázek: MD5 je kryptografická hashovací funkce , která jako taková má splňovat tři charakteristiky:

  • Odolnost vůči předobrazům: vzhledem k x , je nemožné najít m takové, že MD5 (m) = x .
  • Odolnost vůči druhým předobrazům: vzhledem k m , je nemožné najít m ' odlišné od m a takové, že MD5 (m) = MD5 (m') .
  • Odolnost vůči kolizím: je nemožné najít m a m ' , odlišné od sebe navzájem a takové, že MD5 (m) = MD5 (m ') .

MD5 je důkladně přerušen s ohledem na srážky , ale ne pro předběžné snímky nebo druhé předběžné snímky. Navíc útok z roku 1996 (Dobbertinem) MD5 vůbec nezlomil; šlo o „kolizi na kompresní funkci“, tj. útok na jeden z vnitřních prvků MD5, ale ne na plnou funkci. Kryptografové to vzali jako varovnou vlajku a měli pravdu, protože skutečný kolizní útok, který byl zveřejněn v roce 2004 (Wangem), byl postaven na zjištění Dobbertina. Ale MD5 byl zlomen pouze v roce 2004, ne 1996, a šlo o kolizní útok .

Srážky se netýkají zabezpečení hashování heslem. Většina použití hašovací funkce pro hašování hesel závisí buď na rezistenci na preimage, nebo na jiných vlastnostech (např. Jak dobře funguje hashovací funkce při použití v rámci HMAC , něco které nelze redukovat na žádnou z výše uvedených vlastností). MD5 byl ve skutečnosti „oslaben“, pokud jde o předběžné snímky, ale pouze teoreticky, protože náklady na útok jsou stále miliardy miliardkrát příliš drahé na to, aby byly skutečně vyzkoušeny (takže MD5 není „skutečně“ zlomen s ohledem na předběžné snímky, ne praktickým způsobem).

Ale MD5 stejně nepoužívejte . Ne kvůli kryptografické slabosti, ale proto, že MD5 je nesolted a velmi rychlý . To je přesně to, co ve funkci hashování heslem nechcete. Lidé, kteří „doporučují MD5“ pro hašování hesel, to prostě nevědí lépe a jsou svědectvím o pravdě, na kterou byste měli mít vždy na paměti: ne vše, co najdete na internetu, je správné a důvěryhodné. Jsou známa lepší řešení pro hašování hesel, která se používají a používají více než deset let. Viz tato odpověď pro podrobnosti a ukazatele.

76
Thomas Pornin

Co myslíš tím „zakázáno“? Kdo by „zakázal“ používání MD5? Není to, jako bychom měli nějaké mezinárodní kryptomateri, kteří zatýkají lidi, kteří používají ROT13 a další nejistá kryptografická schémata.

Nebo, abych byl trochu vážnější: kryptografové již doporučují, aby se nové systémy vyhýbaly MD5, a doporučují, aby stávající systémy migrovaly mimo MD5. Nevím, co víc si myslíte, že s tím mohou kryptografové udělat.

Tvrdíte, že MD5 je „běžně doporučovaný způsob hašování hesel“, ale o tomto tvrzení neposkytujete žádný důkaz. Nemyslím si, že nárok je správný. To nebyla moje zkušenost.

Pointa je, že kryptografická komunita is již mluví docela jasně, jedním hlasem, na toto téma a většina lidí are již migruje z MD5. Případy, kdy se MD5 stále používá, jsou výjimkou, nikoli normou.

Úpravy (6/17): Vidím, že jste přidali několik odkazů, které zmiňují použití MD5 pro hashování. Dokážou jen to, že někteří lidé, o kterých jsem nikdy neslyšel, jsou zmatení. No a co? Pravděpodobně byste měli být skeptičtí a radit se s lidmi od lidí, kteří v komunitě zabezpečení/kryptografie stejně nenalezli pozitivní pověst. A nechápu, jak můžete kritizovat komunitu pro bezpečnost/kryptografii kvůli skutečnosti, že někteří lidé, kteří nejsou v komunitě, jsou zmatení. Co přesně máme dělat? Již děláme vše, co je v našich silách, abychom rozšířili znalosti o správném způsobu, jak toho dosáhnout. Cítím, že opravdu viníte špatné lidi.

Mimochodem, odpovědět na vaši otázku o tom, proč někteří lidé stále doporučují MD5: no, jo, je to pravděpodobně proto, že tito lidé nevědí nic lepšího. Nevím, co může kdokoli říci o předmětu nebo co víc očekáváte od někoho, kdo řekne.

28
D.W.

Myslím, že to, co vidíte, je dlouhý ocas webu. Najdu články z roku 2006 doporučující MD5 pro hashování heslem (např. http://www.pixel2life.com/publish/tutorials/118/understanding_md5_password_encryption/ ) - stále 10 let po referenčním datu.

Hovoříme však o čase, kdy se má něco dostat z řezání-Edgeho výzkumu v recenzovaných kryptografických časopisech, aby se doporučila praxe mezi běžnými odborníky, kteří nečtou kryptografické časopisy a nejsou ani odborníky v této oblasti. Pravděpodobně se stalo, že protože v roce 1990 každý „věděl“, že MD5 je pro hesla dobrá, všem ostatním řekli, že MD5 je pro hesla dobrá. Od konce 90. let někteří lidé říkali, že MD5 je pro hesla špatná, ale většina lidí „věděla“, že to bylo dobré pro hesla, a to bylo to, co radili ostatním.

Dnes je dost lidí, kteří „vědí“, že bcrypt je vhodný pro hesla, která začínají vidět tato doporučení, ale Články uvádějící, že MD5 je dobré pro hesla, se dosud nerozložily z indexů vyhledávače. Postupem času budou.

Což znamená, že za deset let se sem vrátíte a zeptáte se: „Proč lidé stále doporučují používat bcrypt pracovní faktor 10, když je to časopis říká, že byste měli použít nejméně 150? “...

Poul Henning-Kamp původně přesunul funkci UNIX crypt () z DES na MD5. vysvětluje zde , že skutečnost, že lidé používají MD5, ukazuje, že se mu nepodařilo úspěšně popsat, co se pokoušel udělat: učinit hashování heslem složitějším, neinstalovat MD5 jako shibboleth.

8
user185

Máte několik použití MD5

Kontrola integrity

Zkontrolujte, zda soubor, který jste stáhli nebo přijali, je původní kontrolou hash souboru. Ukázalo se, že můžete snadno vytvořit soubor, který má stejný kontrolní součet.

Kolize v MD5 je snadno vyrobitelná . MD5 by pro tento účel neměl být používán .

Lidé stále navrhují kontrolní součet MD5 při stahování iso a tak často, ale často také dávají SHA kontrolní součet). To lze vysvětlit, protože MD5 je mnohem rychlejší a obvykle implementovaný.

Kontrola hesla

Místo uložení hesla do prostého textu uložíte hash hesla. Některé weby k tomu stále používají MD5. Problém zde není najít kolizi, ale zkontrolovat tabulku Rainbow nebo obrovskou databázi kontrolního součtu MD5.

Vzhledem k tomu, že můžete velmi rychle vytvořit miliony kontrolních součtů MD5, můžete si vynutit heslo na svém vlastním počítači. Z tohoto důvodu byste neměli používat MD5 pro hašování hesla, ale většinou byste měli přidat sůl .

Pokud máte velmi složité heslo (dlouhé se speciálními znaky) a jedinečnou komplexní sůl pro každé uložené heslo, není pro vás tolik problém používat MD5. Neříkám, že byste měli (neměli byste), ale není velkým problémem s bezpečností používat MD5, pokud bude heslo těžce hrubou silou a použití tabulky Rainbow je zabráněno solí. Na vašem webu samozřejmě není snadné (a ocení se) nutit uživatele, aby měli složité heslo, takže pokud uživatel zaregistruje 12345, bez ohledu na to, jakou hashovací funkci používáte, bude to přerušeno.

Důvod, proč lidé stále používají, je možná proto, že je stále nejznámější hašovací funkcí a byl ještě přijatelný před několika lety. Lidé, kteří nemají mnoho kryptografických znalostí, ji mohou použít.

6
Martin Trigaux

Nemyslím si, že je to doporučeno. Wikipedia uvádí, že MD5 je považován za poškozený a je doporučeno jej nahradit SHA-2 nebo SHA rodina se doporučuje nahradit. Podívejte se také na Devise , a Ruby drahokam, který zpracovává autorizaci. Má jiný typ šifrovače.

3
Travis Pessetto

Dokonce i po této studii a všech připravovaných dokumentech o jejích vadách se od té doby ve webových aplikacích doporučuje funkce hashování hesla.

Ano a?

Heslo hashování je jen ztráta času.

MD5 ^ n (MD5 iterované n krát) je stejně dobré jako SHA1 ^ m (pro m jako time(MD5^n) >= time(SHA1^m)) pro - ztráta čas.

Nikdo nenavrhl žádný způsob, jak spočítat MD5 ^ n způsobem, který je rychlejší než zřejmá MD5 o MD5^(n-1). Na to není ani začátek nápadu.

Nic zde není přerušeno.

Pro ztrátu času. Prostoru byste měli zvážit scrypt.

2
curiousguy

Toto je oficiální informace o MD5 - MD5 zranitelné vůči kolizním útokům Pro vyšší zabezpečení by měla být zvážena SHA-2. Nikdo nezabrání uživatelům používat MD5, ale ne pro data, která chcete uchovat v soukromí.

Výkon hash algoritmů

Jak ukazuje obrázek „Výkon hash algoritmů“, SHA256 je mnohem rychlejší než MD5.

Toto je dobrý zdroj, který je třeba zvážit. Autor se podívá do uniklé heslové fronty na LinkedIn (.) Acm (.) Org/detail.cfm? Id = 2254400 & ref = fullrss, také ukazuje některé způsoby, jak zabezpečit hesla.

1
user1652382

Otázka hashování heslem a použití tabulek Rainbow je na zabezpečení webového serveru využívaného skrze slabinu.

Nejprve jsou všechny tyto weby, které se snaží nabídnout jednoduchý test, zda je vaše heslo bezpečné ... Ummm dobře umožňuje podívat se na tyto weby jako phishing a všichni lidé, kteří se na tyto weby dělají, krmí tabulku Rainbow. To je jedna část problému.

Za druhé, jsou lidé, kteří používají webhostingové služby, kde je cílem vydělat peníze a zapomenout na zabezpečení webového serveru, měli by být tito hostitelé postaveni proti zdi a zastřeleni IMHO, část zabezpečení přihlášení uživatelů pochází z zabezpečení webový server a základní technologie jsou aktuální, aby zabránily použití známých zneužití.

Zatřetí je to, že jakmile se lidé dostanou do svých silných hlav, že zatímco MD5 není odolný proti kolizi, nebo já dávám přednost tak robustní, jak by to mohlo být, je stále obtížné hackovat uživatelský účet, pokud nemáte webového hostitele provozujícího využitelný systém. , vaše webové kódování není robustní a vystavujete se tím, že používáte web, který prohlašuje, že kontroluje zabezpečení heslem.

Z velké části je hodnota MD5 + dostatečnou bezpečností pro přihlášení uživatele na webové fórum, pokud výše uvedený systém a software nelze využít. Jakmile máte systém, který byl zneužit pro slabost, spuštění dotazu na známé hodnoty hash, které nepoužívají solný systém, odhalí čtvrtou slabost ... koncového uživatele.

Začtvrté je koncový uživatel, vaše webová bezpečnost je nakonec jen tak silná jako nejslabší článek a pro mnohé uvidí koncového uživatele jen tak a administrátoři si musí pamatovat, že jsou koncovými uživateli systému a jsou stejně zranitelní vůči ohrožení zabezpečení systémů pomocí nedbalého programování nebo softwaru, který lze snadno rozbít, špatné zabezpečení heslem a také selhání změny tohoto přihlašovacího jména ADMIN nebo používání softwaru, který dnes trvá na tom, aby bylo přihlašovací jméno správce jako správce, a také zaměstnávání super uživatelských účtů.

Takže je samozřejmé, že to stejně řeknu, MD5 není prasklý, je zpětně vytvořen prostřednictvím slabých uživatelů, slabého softwaru a lidí není schopen porozumět technologii. Pokud je MD5 prasklý, tak je SHA a AES atd. ...

0
Mark Giblin