Suojaus
Todiste siitä, että selaimesi ei ole holvi.
Chrome ja Firefox tallentavat salasanasi – ja antavat ne sitten mille tahansa ohjelmalle, joka toimii sinuna. Se ei ole virhe. Se on suunnittelua. Tässä todiste: kerran selkokielellä, kerran koodina.
Selkokielinen versio
Selaimesi "salasananhallintaohjelmaa" suojaa täsmälleen yksi lukko: tietokoneesi kirjautuminen. Kun olet kirjautunut sisään kannettavaan tietokoneeseesi, selain voi lukea jokaisen tallennetun salasanan välittömästi – joten kaikki muu tililläsi toimiva voi myös tehdä niin.
Huono lataus. Epäilyttävä selainpeli. Yksi myrkytetty paketti kloonatussa projektissa. Heti kun se käynnistyy – kun olet kirjautuneena sisään, kuten aina – se lukee jokaisen salasanan, jonka selaimesi on tallentanut, tiedoston avaamiseen kuluvan ajan sisällä. Ei ole mestarisalasanaa murrettavaksi, koska ei ole mitään murrettavaa: selain on rakennettu avaamaan automaattisesti sinulle, ja haittaohjelma vain pyytää nätisti "sinuna".
Tämä ei ole teoreettista. Se on yleisin tapa, jolla tavalliset ihmiset menettävät tilinsä. Haittaohjelmalla on jopa tylsä teollisuuden nimi – "tietovarkaat" – koska se on niin rutiininomaista. Salasanasi, tallennetut korttisi, istuntotunnuksesi: kopioitu ja kadonnut ennen kuin huomaat.
Korjaus on helppo sanoa: salasanasi tulisi lukita jollakin, mitä muulla tietokoneellasi ei ole – eikä niiden pitäisi olla koneella lainkaan.
Kuitti-versio
Älä usko meitä sanasta sanaan. Chromium ja Firefox ovat avointa lähdekoodia, ja lukureitti on dokumentoitu, standardi ja lyhyt. Tässä on tarkalleen, missä salasanat ovat ja miten ne tulevat ulos.
Chrome (ja kaikki Chromium-selaimet)
Chrome tallentaa kirjautumistiedot SQLite-tietokantaan – Login Data, taulu logins, sarake password_value – salattuna AES-256-GCM:llä. AES-avain sijaitsee Local State -tiedostossa, "suojattuna" käyttöjärjestelmän toimesta: DPAPI Windowsissa, kirjautumisavainnippu macOS:ssä, gnome-keyring/kwallet (tai selvätekstinä) Linuxissa.
Lue se itse – koodi on avoin. Hae Chromiumista vakio, joka merkitsee käärityn avaimen: kDPAPIKeyPrefix os_crypt-tiedostossa. Avain on DPAPI-kääritty, merkitty ja tallennettu – sitten purettu yhdellä kutsulla, joka ei suojaa mitään sinulta:
const char kDPAPIKeyPrefix[] = "DPAPI";
CryptUnprotectData(&intermediate, /*ppszDataDescr=*/nullptr,
/*pOptionalEntropy=*/nullptr, nullptr, nullptr, 0, &output);Ei toista salaista, ei salasanaa, ei pyyntöä. CryptUnprotectData palauttaa avaimen mille tahansa prosessille, joka toimii istunnossasi – mikä on täsmälleen DPAPI:n dokumentoima uhkamalli: jos se toimii sinuna, se on sinä. Hyökkääjän koko tehtävä on kolme riviä: lue avain Local State -tiedostosta, pura se, AES-GCM-salauksen purku jokaiselle riville Login Data -tiedostossa. Tietovarkaus haittaohjelmat ovat tehneet juuri näin vuosia.
"Laitteella tapahtuva salaus" ei myöskään pelasta sinua
Googlen vastaus on 6-numeroinen PIN-koodi, joka salaa synkronoidun holvisi. Toukokuussa 2026 Phishun tutkijat osoittivat, kuinka ohut se on. Vakuuttava väärennetty Google-kirjautuminen – adversary-in-the-middle-phishing – kaappaa istunnon ja kyseisen PIN-koodin, ja PIN-koodi on mestariavain jokaiseen synkronoidun tilin salasanaan ja passkey-tunnukseen. Sen avulla hyökkääjä liittää oman laitteensa Google-tilisi "security domain" -alueeseen, ja koko holvi synkronoidaan suoraan heille – täydellinen kaappaus yhdellä askeleella.
Suunnitteluvirhe: Google sallii laitteen liittyä pelkällä 6-numeroisella PIN-koodilla, ilman hyväksyntää jo omistamaltasi laitteelta.
Firefox
Firefox säilyttää kirjautumistiedot logins.json-tiedostossa ja avaimen key4.db-tiedostossa, jonka NSS:n "Secret Decoder Ring" – myös avointa lähdekoodia – purkaa: security/nss/lib/pk11wrap/pk11sdr.c. Jos asetit Primary Password, avain sinetöidään sillä.
Oletuksena et ole – joten avain sinetöidään tyhjällä merkkijonolla, ja tallennettu "password-check"-arvo vahvistaa, että tyhjä salasana purkaa sen. Kopioi kaksi tiedostoa profiilistasi (key4.db + logins.json), osoita NSS tai avoimen lähdekoodin firepwd.py niihin, ja ne purkavat salauksen. Lukko, jonka avain on teipattu oveen, ei ole lukko.
Jokaisella selainten salasanasäilöllä on sama muoto: salaisuus elää siellä, missä työskentelet, istunnon avaamana, jossa olet jo. Salaus, jonka muun tietokoneesi voi kumota, ei suojaa sinua uhalta, joka todella tyhjentää tilit – koodi, joka toimii sinuna.
Miksi Clavitoria ei voi lukea tällä tavalla
Clavitor ei säilytä holviasi koneella. Ei ole Login Data -tiedostoa, ei key4.db-tiedostoa, ei avainta Local State -tiedostossa – ei mitään levylle, jota sinuna toimiva prosessi voisi kaapia.
Purkuavainta ei ole sinetöity käyttöjärjestelmän kirjautumistiedoillasi. Se johdetaan laitteistopainalluksesta – Touch ID, Face tai YubiKey – lasketaan selaimessa, käytetään yhteen pyyntöön ja hylätään sitten. Tunnistetieto haetaan rajatulla API:lla täsmälleen silloin, kun pyydät sitä, eikä sitä koskaan välimuistita. Sinuna toimiva haittaohjelma löytää tyhjän kaapin.
Siinä on ero "salattu laitteellasi" ja "ei laitteellasi lainkaan" välillä.
Lopeta selaimen luottaminen salasanoihisi.
Clavitor-laajennus täyttää kuin selaimesi – ja pitää holvin jossain, mihin kannettavasi ei pääse käsiksi.