Opakované používanie hesiel je mimoriadne problematické. Je smutné, že ľudia nepoznajú riziká, ktoré to prináša pre ich účty a dáta. Útočníci používajú e-mailové adresy a heslá z predchádzajúcich únikov a snažia sa získať prístup k ďalším webovým stránkam. Správcovia hesiel, ktorí generujú náhodné heslá, sú dokonalou ochranou pred týmito útokmi, keďže pre každú stránku vytvárajú jedinečné heslá. Ale čo so starými heslami? Práve sme vydali novú funkciu, ktorá umožňuje používateľom overiť svoje heslá voči obrovskému databáze pomocou haveibeenpwned.com. Vďaka tomuto novému nástroju môžu používatelia kontrolovať heslá voči databáze s takmer 5 miliardami účtov s heslami.
Služba Pwned Passwords bola vytvorená v auguste 2017 po tom, čo NIST vydal odporúčanie, že používateľom zadané heslá by mali byť kontrolované voči dátam z existujúcich únikov. Dôvody pre toto odporúčanie a návrhy ako možno tieto dáta využiť sú detailne popísané v blogovom príspevku Introducing 306 Million Freely Downloadable Pwned Passwords. Vo februári 2018 bola vydaná druhá verzia tejto služby s viac než pol miliardou hesiel, pričom ku každému heslu teraz patrí aj počet, koľkokrát bolo objavené ako uniknuté.
(Zdroj: https://haveibeenpwned.com/Passwords)
Krátke video, ktoré lepšie ilustruje, ako to funguje. API zobrazuje priebeh analýzy. Keďže ide o bezplatnú službu, rešpektujeme jej obmedzenia a nechceme spôsobovať žiadne škody, preto je požiadavka limitovaná na jednu každých 1,5 sekundy.
V prvom kroku sa všetky tajomstvá obsahujúce vaše heslá stiahnu zo servera. V druhom kroku sa každé tajomstvo dešifruje vo vašom prehliadači a následne sa zo samotného hesla vytvorí sha1 hash. Sha1 haše majú dĺžku 160 bitov (40 znakov v hexadecimálnom zápise). Sha1 hash sa rozdelí na prefix (5 hex znakov) a suffix (35 hex znakov). Prefix sa odošle do API haveibeenpwned.com, ktoré skontroluje svoju databázu a vráti zoznam suffixov. Klient potom porovná suffix hesla so zoznamom prijatých suffixov a označí heslo ako kompromitované alebo nie. Ide o efektívny spôsob dotazovania sa na databázu hesiel bez toho, aby sa odosielalo samotné heslo (alebo jeho slabé deriváty), a tento princíp je známy ako k-anonymizácia.