← Back to Blog

Biztonságos-e online jelszógenerátorokat használni? Hogyan ellenőrizd valójában

2025-12-26

„Biztonságos-e jelszót generálni egy véletlenszerű weboldalon?” jogos kérdés — egy olyan eszközt kérsz meg, amely felett nincs kontrollod, hogy létrehozzon egy titkot, amelyet hamarosan rábízol a fiókjaidra. Az őszinte válasz az, hogy ez teljesen attól függ, hogyan működik az eszköz, és nem kell csak a weboldal szavára hagyatkoznod. Ez a cikk elmagyarázza, mit ellenőrizhetsz magad.

Röviden

  • A valódi kockázat nem maga a jelszó — hanem az, hogy az oldal továbbítja-e, amit generál, egy szerverre, ahol naplózható.
  • Ezt magad is ellenőrizheted: nyisd meg a böngésződ fejlesztői eszközeit, lépj a Hálózat fülre, generálj egy jelszót, és figyeld, elindul-e bármilyen kérés.
  • Egy valóban kliensoldali generátor nulla hálózati aktivitást generál jelszókészítéskor — a JavaScript teljes egészében a böngésződben fut.
  • Részesítsd előnyben azokat az eszközöket, amelyek kifejezetten a Web Crypto API-t (crypto.getRandomValues()) használják azokkal szemben, amelyek egyáltalán nem árulják el a véletlenforrásukat.

Rövid válasz

Egy online jelszógenerátor akkor — és csak akkor — biztonságos, ha a jelszót teljes egészében a böngésződben állítja elő, és soha nem továbbítja sehova. A PassGenerate így működik: a generálás helyileg történik a Web Crypto API-n keresztül, és ezt magad is ellenőrizheted egy percen belül a böngésződ beépített fejlesztői eszközeivel, anélkül hogy egy weboldal állításának kellene hinned.

Hogyan ellenőrizz egy generátort magad

Nem kell fejlesztőnek lenned ehhez az ellenőrzéshez:

  1. Nyisd meg a jelszógenerátor weboldalát.
  2. Nyisd meg a böngésződ fejlesztői eszközeit (F12, vagy jobb klikk → Vizsgálat, a legtöbb böngészőben).
  3. Kattints a Hálózat fülre.
  4. Generálj egy jelszót az oldalon.
  5. Figyeld a Hálózat fület. Ha valóban kliensoldali eszközről van szó, azt fogod látni, hogy nem indul el új kérés, amikor a jelszó generálódik — semmi nem kerül elküldésre sehova. Ha pontosan akkor látsz egy kérést kimenni egy szerverhez, amikor a generálásra kattintasz, azt érdemes megvizsgálni: nézd meg, milyen adatokat küld a kérés terhelése.

Ez azért működik, mert a böngésződben futó JavaScript vagy teljes egészében helyileg elvégzi a munkát (kiszámítja a véletlenszerű jelszót és megjeleníti, ennyi), vagy adatokat küld egy szervernek, és választ vár. A Hálózat fül megmutatja, valójában melyik történik — ezt egy oldal nem tudja megjátszani anélkül, hogy észrevennéd, mivel a böngésződ által küldött tényleges forgalmat vizsgálod.

Mit jelent technikailag valójában a „kliensoldali generálás”

Egy valóban kliensoldali jelszógenerátor a böngésző saját Web Crypto API-ját használja, konkrétan a crypto.getRandomValues() függvényt, hogy kriptográfiailag biztonságos véletlenszerű bájtokat állítson elő, majd ezeket a bájtokat a kiválasztott karakterkészletedhez rendeli, teljes egészében az eszközödön futó JavaScriptben. Ehhez a folyamathoz semmi nem igényel — vagy profitál — hálózati kérésből. Ha egy eszköznek szüksége van arra, hogy a böngésződ egy szerverrel beszéljen egy jelszó „generálásához”, ez architekturálisan felesleges a feladathoz, ami önmagában is megkérdőjelezendő.

Figyelmeztető jelek, amelyekre érdemes figyelni

  • Nincs feltárt véletlenforrás. Ha egy oldal nem árulja el, hogyan generálja a véletlenszerűséget, nem tudod ellenőrizni, hogy CSPRNG-t használ-e egy gyengébb módszer, például a Math.random() helyett, amely egyes motorokban elég kiszámítható ahhoz, hogy megfigyelt kimenetekből rekonstruálható legyen — alkalmatlan bármi biztonságilag érzékeny dologra.
  • Hálózati aktivitás generálás közben. A fenti fejlesztői eszközös ellenőrzéssel megerősítve. Még ha az oldal azt is állítja, hogy semmit nem naplóz, ha van kérés, akkor megvan a lehetőség arra, hogy naplózzák, akár szándékosan, akár egy szerveroldali hiba révén.
  • Fiók- vagy e-mail-bekérés, mielőtt használhatnád az eszközt. Egy jelszógenerátornak nincs legitim oka arra, hogy szüksége legyen az e-mail-címedre egy véletlenszerű karakterlánc generálásához.
  • Túlzott mennyiségű harmadik féltől származó szkript. A titkokat kezelő oldalon lévő nehézsúlyú hirdetéstechnológia vagy analitikai eszközök növelik a támadási felületet — minél több harmadik féltől származó kód fut az oldalon, annál több lehetőség van arra, hogy egy kompromittált szkript elfogja, ami az oldalon van, még akkor is, ha maga a generátor kliensoldali. Ez nem elméleti aggály: 2024 júniusában a széles körben használt Polyfill.js CDN-t kompromittálták, és a beszúrt kártékony kódot több mint 490 000 weboldal látogatóinak szolgálták ki, amelyek egyszerűen rutinszerű függőségként vették fel a szkriptet — ezek közül egyik oldalt sem célozták meg egyénileg, és semmi rosszat nem tettek azon kívül, hogy megbíztak egy harmadik féltől származó szkriptben. Az átlagos weboldal ma tucatnyi szkriptet tölt be, ezek nagyjából kétharmada harmadik féltől származik, és a harmadik felek szerepe az adatszivárgásokban évről évre meredeken nő. Mindez nem jelenti azt, hogy egy harmadik féltől származó szkripteket tartalmazó oldal automatikusan nem biztonságos — de valódi ok arra, hogy egy karcsú, ellenőrizhető oldallal rendelkező generátort részesíts előnyben azzal szemben, amelyet rengeteg, nem kapcsolódó eszközzel csomagoltak.

Miért fontosabb ez egyes jelszavaknál, mint másoknál

A megbízhatatlan generátor használatának tétje azzal arányos, amit a jelszó véd. Egy egyszeri hírlevél-feliratkozáshoz szánt, eldobható jelszó generálása kis kockázatot jelent még egy kétes eszköz esetén is. A bankjelszavad, az e-mail jelszavad, vagy a jelszókezelőd mesterjelszavának generálása pontosan az, ahol ragaszkodnod kellene ahhoz, hogy magad ellenőrizd a kliensoldali viselkedést ahelyett, hogy egy állításnak hinnél — mert ezek azok a jelszavak, ahol egy naplózott, egyszerű szöveges másolat valóban számítana.

Legfontosabb tanulságok

  • Bármely online jelszógenerátornál a legfontosabb biztonsági kérdés az, hogy továbbítja-e a jelszót bárhova — ezt magad ellenőrizd a Hálózat fülön keresztül, ahelyett hogy egy állításnak hinnél.
  • A valódi kliensoldali generálás nulla hálózati kérést eredményez a jelszó generálásakor.
  • Részesítsd előnyben azokat az eszközöket, amelyek kifejezetten feltárják a Web Crypto API CSPRNG-jének használatát, azokkal szemben, amelyek nem magyarázzák el a véletlenforrásukat.
  • Alkalmazz nagyobb körültekintést a magas tétű jelszavakhoz (bankolás, e-mail, mesterjelszavak) használt generátoroknál, mint az alacsony tétű, eldobható jelszavaknál.

Miért bízhatsz a PassGenerate-ben

  • A jelszavak helyileg, a böngésződben jönnek létre a Web Crypto API segítségével.
  • Semmilyen jelszó nem kerül továbbításra szerverekre.
  • Kriptográfiailag biztonságos álvéletlenszám-generátort (CSPRNG) használ.
  • A NIST és az OWASP által ajánlott modern biztonsági bevált gyakorlatokat követi.

Hivatkozások

  • Polyfill.js CDN ellátási lánc elleni kompromittálás, 2024 június
  • MDN Web Crypto API dokumentáció
  • OWASP Password Storage Cheat Sheet
  • NIST SP 800-63B – Digital Identity Guidelines

Összegzés

Nem kell egy online jelszógenerátornak a szavára hagyatkoznod azzal kapcsolatban, hogyan működik — egy perc a böngésződ Hálózat fülével véglegesen elárulja, hogy továbbítja-e, amit generál. Részesítsd előnyben azokat az eszközöket, amelyek a Web Crypto API CSPRNG-jét használják, amelyek semmi mást nem kérnek a jelszó generálásán kívül, és amelyekről személyesen megerősítetted, hogy nulla hálózati aktivitást produkálnak — és tartogasd a legnagyobb körültekintést azokra a jelszavakra, amelyek a legjobban számítanának, ha valami elromlana.