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.