Nástroj hesel Zpět na generátor

Bezpečnostní průvodce

Co je Web Crypto API?

Zjistěte, jak Web Crypto API podporuje lokální generování náhodných hesel v prohlížeči a proč se liší od běžné JavaScriptové náhodnosti.

Shrnutí

Web Crypto API je prohlížečový standard pro kryptografické operace. Pro generování hesel je nejdůležitější funkcí crypto.getRandomValues(), která poskytuje webovým stránkám přístup ke kryptograficky silným náhodným hodnotám vhodným pro výběr znaků hesla.

Proč na tom záleží u hesel

Hesla potřebují nepředvídatelnost. Běžná JavaScriptová náhodnost nebyla navržena pro tajemství. Web Crypto existuje, aby prohlížeče mohly vystavit bezpečnější kryptografické primitivy prostřednictvím standardního API. PwdGen používá toto API pro omezený náhodný výběr a vyhýbá se Math.random() pro generování hesel.

Hranice operačního systému

Web Crypto neznamená, že stránka přímo řídí hardwarový zdroj entropie. Prohlížeče obvykle spoléhají na operační systém a platformového kryptografického poskytovatele. Pečlivá metodika by měla říci, že Web Crypto poskytuje výstup CSPRNG, nikoli že každé volání čte fyzický šum z CPU.

Jak to PwdGen používá

PwdGen požaduje 32bitová náhodná celá čísla, používá odmítací vzorkování k odstranění modulového zkreslení, mapuje přijaté hodnoty na indexy znaků a zamíchá požadované třídy znaků. Tím je implementace malá a auditovatelná.

Podrobný návod

Tato příručka se zaměřuje na pochopení Web Crypto API jako bezpečnostního primitiva prohlížeče. Je napsána pro uživatele a vývojáře, kteří chtějí vědět, proč na náhodnosti v prohlížeči záleží, takže praktickým cílem není vytvořit dramatické bezpečnostní tvrzení. Cílem je zvolit návyk pro hesla, který přežije každodenní použití: přihlašovací formuláře, správci hesel, mobilní klávesnice, obnova účtu, sdílená zařízení a občasná služba s podivnými validačními pravidly. Bezpečné doporučení je užitečné pouze tehdy, pokud ho skutečný člověk může konzistentně dodržovat.

Nejbezpečnějším výchozím bodem je náhodnost plus jedinečnost. Náhodnost znamená, že hodnota je vybrána z velkého prostoru kryptograficky vhodným náhodným zdrojem, nikoli vymyšlena z narozenin, jména domácího mazlíčka, vzoru na klávesnici nebo oblíbeného citátu. Jedinečnost znamená, že stejné heslo není použito nikde jinde. Dlouhé, ale znovu použité heslo může selhat rychle po jedné nesouvisející úniku, zatímco jedinečné náhodné heslo omezí škodu na jediný účet, kde bylo použito.

Pro toto téma je praktickým výchozím nastavením moderní Chrome, Edge, Safari a Firefox s dostupným crypto.getRandomValues. Toto nastavení můžete použít na stránce podpory prohlížeče a poté uložit výslednou hodnotu do důvěryhodného správce hesel. PwdGen generuje hodnoty lokálně v prohlížeči pomocí Web Crypto; vygenerované heslo není odesláno na server PwdGen. Tento lokální design snižuje expozici na straně serveru, ale nechrání před každou hrozbou. Škodlivé rozšíření prohlížeče, kompromitované zařízení, phishingová stránka nebo nebezpečná manipulace se schránkou mohou tajemství po vygenerování stále odhalit.

Nejčastějšími problémy, kterým je třeba se vyhnout, jsou staré prohlížeče, nezabezpečené kontexty, polyfilly, které tiše používají Math.random, a záměna kódování s šifrováním. Tyto problémy jsou důležité, protože útočníci zřídka potřebují brute-force všechny možné hesla, když jim lidské návyky poskytnou zkratku. Credential stuffing, phishing, uniklé seznamy hesel a zneužití obnovy účtu jsou často realističtější než čistě matematické hledání. Proto nejlepší rada kombinuje kvalitu hesla s kontrolami na úrovni účtu, jako je MFA, passkeys, ukládání kódů pro obnovu a pravidelná kontrola nastavení e-mailu nebo telefonu pro obnovu.

Při aplikaci doporučení použijte tento kontrolní seznam:

Pokud webová stránka odmítne ideální nastavení, nenuťte heslo ručně do slabšího vzoru. Měňte jednu proměnnou najednou. Pokud jsou symboly odmítnuty, ponechte velká písmena, malá písmena a čísla povolena a zvyšte délku. Pokud je maximální délka nízká, použijte největší akceptovanou délku a ujistěte se, že hodnota je jedinečná. Pokud musí být heslo čteno nahlas, vytištěno nebo zadáno na obrazovce televize nebo routeru, zvažte vyloučení matoucích znaků a zvýšení délky, abyste kompenzovali menší abecedu.

Nakonec si pamatujte hranice rad o heslech. Silné heslo je jedna vrstva obrany, nikoli záruka. Nemůže učinit phishingovou stránku bezpečnou, opravit malware nebo kompenzovat službu, která ukládá přihlašovací údaje špatně. Užitečný návyk je nudný, ale trvanlivý: vygenerujte jedinečnou hodnotu, bezpečně ji uložte, chraňte cestu obnovy a rychle ji vyměňte, pokud máte podezření na prozrazení.

Bezpečný další krok

Po přečtení této příručky proveďte jeden malý audit účtu místo snahy opravit vše najednou. Vyberte účet, který by způsobil nejvíce problémů, kdyby byl převzat, potvrďte, že jeho heslo je jedinečné, a zkontrolujte e-mail pro obnovu, telefon pro obnovu, metodu MFA a úložiště záložních kódů. Pokud je některá část tohoto řetězce slabá, zlepšete ji, než přejdete k účtům s nižším rizikem. Toto pořadí udržuje práci zvládnutelnou a chrání účty, které útočníci s největší pravděpodobností použijí jako odrazový můstek. Pro co je web crypto api? je nejlepším výsledkem opakovatelný návyk: generovat lokálně, pečlivě ukládat a vyhnout se opakovanému použití.

Často kladené otázky

Jakou část Web Crypto používá PwdGen?

PwdGen používá crypto.getRandomValues() k vyžádání kryptograficky silných náhodných hodnot z prohlížeče.

Znamená Web Crypto, že každý bajt pochází přímo z hardwaru?

Ne. Prohlížeče obvykle používají kryptografické poskytovatele operačního systému naplněné vysoce kvalitní entropií; implementaci volí prohlížeč a OS.

Je Web Crypto dostupné ve všech prohlížečích?

Je dostupné v moderních prohlížečích. Pokud chybí, PwdGen zakáže generování místo přechodu na nezabezpečenou náhodnost.

Zdroje