Nástroj hesiel Späť na generátor

Bezpečnostná príručka

Čo je Web Crypto API?

Zistite, ako Web Crypto API podporuje lokálne generovanie náhodných hesiel v prehliadači a čím sa líši od bežnej JavaScriptovej náhodnosti.

Zhrnutie

Web Crypto API je štandard prehliadača pre kryptografické operácie. Pre generovanie hesiel je najdôležitejšia funkcia crypto.getRandomValues(), ktorá poskytuje webovým stránkam prístup ku kryptograficky silným náhodným hodnotám vhodným na výber znakov hesla.

Prečo je to dôležité pre heslá

Heslá potrebujú nepredvídateľnosť. Bežná JavaScriptová náhodnosť nebola navrhnutá pre tajomstvá. Web Crypto existuje, aby prehliadače mohli sprístupniť bezpečnejšie kryptografické primitívy prostredníctvom štandardného API. PwdGen používa toto API na ohraničený náhodný výber a vyhýba sa Math.random() pri generovaní hesiel.

Hranica operačného systému

Web Crypto neznamená, že stránka priamo riadi hardvérový zdroj entropie. Prehliadače sa zvyčajne spoliehajú na operačný systém a platformového kryptografického poskytovateľa. Správna metodika by mala uvádzať, že Web Crypto poskytuje výstup CSPRNG, nie že každé volanie číta fyzický šum z CPU.

Ako to používa PwdGen

PwdGen požaduje 32-bitové náhodné celé čísla, používa reject sampling na odstránenie modulového skreslenia, mapuje prijaté hodnoty na indexy znakov a zamieša požadované triedy znakov. Tým zostáva implementácia malá a auditovateľná.

Podrobný návod

Tento návod sa zameriava na pochopenie Web Crypto API ako bezpečnostného primitívu prehliadača. Je určený pre používateľov a vývojárov, ktorí chcú vedieť, prečo je náhodnosť prehliadača dôležitá, takže praktickým cieľom nie je vytvoriť dramatické bezpečnostné tvrdenie. Cieľom je vybrať si návyk na heslá, ktorý prežije každodenné používanie: prihlasovacie formuláre, správcovia hesiel, mobilné klávesnice, obnova účtu, zdieľané zariadenia a občasné služby s podivnými validačnými pravidlami. Bezpečné odporúčanie je užitočné len vtedy, ak ho skutočný človek dokáže konzistentne dodržiavať.

Najbezpečnejším východiskovým bodom je náhodnosť plus jedinečnosť. Náhodnosť znamená, že hodnota je vybraná z veľkého priestoru kryptograficky vhodným náhodným zdrojom, nie vymyslená z narodenín, mena domáceho maznáčika, vzoru na klávesnici alebo obľúbeného citátu. Jedinečnosť znamená, že rovnaké heslo nie je použité nikde inde. Dlhé, ale znovu použité heslo môže rýchlo zlyhať po jednom nesúvisiacom úniku, zatiaľ čo jedinečné náhodné heslo obmedzí škodu na jediný účet, kde bolo použité.

Pre túto tému je praktickým prednastavením moderný Chrome, Edge, Safari a Firefox s dostupným crypto.getRandomValues. Toto prednastavenie môžete aplikovať pomocou stránky podpory prehliadača a potom uložiť výslednú hodnotu do dôveryhodného správcu hesiel. PwdGen generuje hodnoty lokálne v prehliadači pomocou Web Crypto; vygenerované heslo nie je odoslané na server PwdGen. Tento lokálny dizajn znižuje expozíciu na strane servera, ale nechráni pred každou hrozbou. Škodlivé rozšírenie prehliadača, kompromitované zariadenie, phishingová stránka alebo nebezpečná manipulácia so schránkou môžu tajomstvo odhaliť aj po jeho vygenerovaní.

Najčastejšie problémy, ktorým sa treba vyhnúť, sú staré prehliadače, nebezpečné kontexty, polyfilly, ktoré ticho používajú Math.random, a zamieňanie kódovania so šifrovaním. Tieto problémy sú dôležité, pretože útočníci len zriedka potrebujú brute-force všetky možné heslá, keď im ľudské návyky poskytnú skratku. Credential stuffing, phishing, uniknuté zoznamy hesiel a zneužitie obnovy účtu sú často realistickejšie ako čisté matematické vyhľadávanie. Preto najlepšia rada kombinuje kvalitu hesla s kontrolami na úrovni účtu, ako sú MFA, passkeys, ukladanie záložných kódov a pravidelná kontrola nastavení obnovovacieho e-mailu alebo telefónu.

Použite tento kontrolný zoznam pri aplikácii odporúčania:

Ak webová stránka odmietne ideálne nastavenie, nenuťte heslo do slabšieho vzoru ručne. Upravte jednu premennú naraz. Ak sú symboly odmietnuté, ponechajte veľké písmená, malé písmená a čísla povolené a zvýšte dĺžku. Ak je maximálna dĺžka nízka, použite najväčšiu akceptovanú dĺžku a uistite sa, že hodnota je jedinečná. Ak musí byť heslo prečítané nahlas, vytlačené alebo napísané na televíznej či routerovej obrazovke, zvážte vylúčenie mätúcich znakov a zvýšenie dĺžky na kompenzáciu menšej abecedy.

Nakoniec si pamätajte hranice rád o heslách. Silné heslo je jedna vrstva obrany, nie záruka. Nemôže urobiť phishingovú stránku bezpečnou, opraviť malvér ani kompenzovať službu, ktorá uchováva prihlasovacie údaje zle. Užitočný návyk je nudný, ale trvanlivý: vygenerujte jedinečnú hodnotu, bezpečne ju uložte, chráňte cestu obnovy a rýchlo ju vymeňte, ak máte podozrenie na odhalenie.

Bezpečný ďalší krok

Po prečítaní tohto návodu urobte jeden malý audit účtu namiesto toho, aby ste sa snažili opraviť všetko naraz. Vyberte účet, ktorý by spôsobil najviac problémov, keby bol prevzatý, potvrďte, že jeho heslo je jedinečné, a skontrolujte obnovovací e-mail, obnovovací telefón, metódu MFA a uloženie záložných kódov. Ak je niektorá časť tohto reťazca slabá, zlepšite túto časť pred prechodom na účty s nižším rizikom. Toto poradie udržuje prácu zvládnuteľnú a chráni účty, ktoré útočníci s najväčšou pravdepodobnosťou použijú ako odrazový mostík. Pre čo je web crypto api? je najlepším výsledkom opakovateľný návyk: generovať lokálne, ukladať opatrne a vyhýbať sa opätovnému použitiu.

Často kladené otázky

Ktorú časť Web Crypto používa PwdGen?

PwdGen používa crypto.getRandomValues() na vyžiadanie kryptograficky silných náhodných hodnôt z prehliadača.

Znamená Web Crypto, že každý bajt pochádza priamo z hardvéru?

Nie. Prehliadače zvyčajne používajú kryptografických poskytovateľov operačného systému naočkovaných vysoko kvalitnou entropiou; implementáciu vyberá prehliadač a OS.

Je Web Crypto dostupné vo všetkých prehliadačoch?

Je dostupné v moderných prehliadačoch. Ak chýba, PwdGen zakáže generovanie namiesto toho, aby sa vrátil k nebezpečnej náhodnosti.

Zdroje