Salasanatyökalu Takaisin generaattoriin

Luottamuskeskus

Turvallisuus- ja luontimenetelmä

Tekniset yksityiskohdat, uhkarajat, satunnaisuuden käsittely ja toistettavat tarkistukset salasanageneraattorille.

Satunnaisuuden lähde

Generaattori pyytää kryptografisesti vahvoja arvoja crypto.getRandomValues(). Se ei koskaan käytä Math.random(), jonka tuotos ei ole määritelty kryptografiseen käyttöön. Web Crypto -spesifikaatio kuvaa CSPRNG:n, joka on alustettu korkealaatuisella entropialla, jonka käyttöjärjestelmä yleensä toimittaa. Selain ja käyttöjärjestelmä valitsevat taustalla olevan tarjoajan; PwdGen ei väitä, että jokainen kutsu lukee suoraan CPU:n laitteistoentropialähdettä.

Satunnaiset indeksit käyttävät hylkäysotantaa. Arvot, jotka ovat suurempia kuin aakkoskoon suurin täydellinen monikerta, hylätään ennen modulo-operaatiota, välttäen harhan, jonka suora randomValue % alphabetSize-kartoitus aiheuttaisi.

Merkkikattavuus ja sekoitus

Generaattori valitsee ensin yhden merkin jokaisesta käytössä olevasta lähteestä. Se täyttää loput paikat yhdistetystä poolista ja suorittaa sitten kryptografisesti ohjatun Fisher–Yates -sekoituksen. Suodattimet samankaltaisille ja epäselville merkeille sovelletaan ennen valintaa.

Tietovirta

Luodut arvot ovat olemassa vain nykyisen sivun muistissa ja näkyvissä tulosolmuissa. Niitä ei kirjoitetä URL-osoitteisiin, evästeisiin, local storageen, session storageen, palvelinlokeihin tai build-artefakteihin. Kieliasetus on ainoa sovellusasetus, joka tallennetaan local storageen ja toiminnalliseen evästeeseen.

Uhkimalli ja rajoitukset

Tämä malli suojaa siltä, että verkkosivusto kerää tarkoituksella luotuja salasanoja. Se ei voi taata käyttäjän laitteen, selainlaajennusten, leikepöydän, käyttöjärjestelmän tai kohdepalvelun eheyttä. Se ei myöskään voi tehdä uudelleenkäytetystä salasanasta turvallista tai estää käyttäjää syöttämästä salasanaa tietojenkalastelusivulle.

Toistettava tarkistus

Selain, julkinen API ja pwdgen-cli@1.0.0 jakavat saman Web Crypto -hylkäysotantaytimen. Automaattiset testit tarkistavat käytössä olevien merkkien kattavuuden, poissuljetut merkit, virheelliset konfiguraatiot ja Math.random():n puuttumisen. Selaintestit varmistavat, että uudelleenluonti ja kopiointi eivät lähetä salasanoja sisältäviä verkkopyyntöjä. Julkinen lähdekoodi ja CI-tulokset on linkattu yllä; tämä on toistettavaa teknistä näyttöä, ei väite riippumattomasta tietoturva-auditoinnista.

Syvällisempää protokollatason selitystä varten lue asiakaspuolen salasanageneroinnin whitepaper.

Lähteet