Opakované používání hesel je extrémně problematické. Je smutné, že lidé neznají rizika spojená s jejich účty a daty. Útočníci používají e-mailové adresy a hesla z předchozích úniků dat a pokoušejí se získat přístup k dalším webovým stránkám. Správci hesel, kteří generují náhodná hesla, jsou vynikající ochranou proti těmto útokům a generují náhodná hesla pro každou webovou stránku. Ale co všechna ta stará hesla? Právě jsme vydali novou funkci, která uživatelům umožňuje kontrolovat jejich hesla oproti obrovské databázi s pomocí haveibeenpwned.com. S tímto novým nástrojem můžeme kontrolovat hesla oproti souboru téměř 5 miliard účtů s hesly.
Služba Pwned Passwords byla vytvořena v srpnu 2017 poté, co NIST vydal doporučení speciálně navrhující, aby byla uživatelská hesla kontrolována vůči existujícím únikům dat. Důvod pro toto doporučení a návrhy, jak mohou aplikace využít tato data, jsou podrobně popsány v blogovém příspěvku s názvem Introducing 306 Million Freely Downloadable Pwned Passwords. V únoru 2018 byla vydána verze 2 služby s více než polovinou miliardy hesel, přičemž každé heslo má nyní také údaj o tom, kolikrát bylo zveřejněno.
(Zdroj: https://haveibeenpwned.com/Passwords)
Krátké video, které vám lépe přiblíží, jak to funguje. API ukazuje průběh analýzy. Protože se jedná o bezplatnou službu, respektujeme omezení a nechceme způsobit žádnou škodu, takže požadavky jsou omezeny na jeden za 1,5 sekundy.
V prvním kroku jsou ze serveru staženy všechny tajné záznamy obsahující vaše hesla. Ve druhém kroku se každé tajemství dešifruje ve vašem prohlížeči, než se vytvoří SHA-1 hash hesla. SHA-1 hashe jsou 160 bitů dlouhé (40 znaků v hexadecimální podobě). SHA-1 hash je rozdělen do prefixu (5 hex znaků) a sufixu (35 hex znaků). Prefix je odeslán do API haveibeenpwned.com, které kontroluje svou databázi a vrací seznam sufixů. Klient porovná sufix hesla se seznamem sufixů, které obdržel, a označí heslo jako kompromitované nebo ne. Tohle je efektivní způsob, jak dotazovat databázi hesel, aniž by se skutečně posílalo heslo (nebo jeho slabé deriváty), a je znám jako k-anonymizace.