- 🚫🗄️ Nincs szerveroldali mentés
- 🚫📊 Nincs analitika/követés
- 🚫📡 Nincs hálózati kérés a jelszó tartalmával
Jelszó, PIN kód és egyéni kód generálása
L nagybetű · l kisbetű · D számjegy ·
S speciális karakter · \X az X karakter szó szerint ·
minden más karakter (pl. -, szóköz) változatlanul megmarad
Kriptográfiailag biztonságos véletlenszám-generátorral (CSPRNGKriptográfiailag Biztonságos Álvéletlenszám-Generátor – olyan véletlenszám-forrás, amely jelszavak és titkosítási kulcsok generálásához is elég erős (szemben pl. a Math.random()-mal).) készült jelszavak, valós idejű entrópia- és feltörésiidő-becsléssel.
Generált jelszó
A QR-kód is teljes egészében a böngésződben, helyben készül – a legutóbb generált érték soha nem hagyja el a gépet a beolvasáshoz sem.
A jelszó/PIN/kód generálása teljes egészében a böngésződben történik
(window.crypto.getRandomValues). Ez a böngésző fejlesztői
eszközeinek Hálózat (Network) fülén is ellenőrizhető:
generáláskor nem indul semmilyen kérés a jelszó tartalmával. Az egyetlen
hálózati hívás a generálás alatti, automatikus adatszivárgás-ellenőrzés,
amely a Have I Been Pwned szolgáltatást kérdezi le –
k-anonimitássalCsak a jelszó SHA-1 lenyomatának első 5 karaktere hagyja el a böngészőt; a szolgáltatás emiatt sosem ismerheti meg a teljes jelszót vagy a teljes hash-t., a teljes jelszó elküldése nélkül.
Jelszó-teszter (saját, meglévő jelszó)
Ez a szekció teljesen független a fenti generátortól és annak eredményeitől – írj be ide egy már használt vagy tervezett jelszót, és ugyanazokat a teszteket (entrópia-elemzés, feltörésiidő-becslés, adatszivárgás-ellenőrzés) futtatjuk le rá, amiket a generált elemekre is alkalmazunk. A két rész eredménye sosem keveredik, mert külön mezőben, külön dobozokban, egyértelműen felcímkézve jelenik meg.
Entrópia-elemzés (a fenti jelszóra)
Becsült feltörési idő, forgatókönyvenként
Ez a becslés a jelszóban előforduló karaktertípusokból (kis-/nagybetű, számjegy, egyéb karakter) számol – nem ismeri fel a szótári szavakat, neveket vagy mintákat (pl. "Jelszo2024!" magasabb bitszámot kaphat, mint amilyen valójában kitalálható).
Az adatszivárgás-ellenőrzés automatikusan lefut, röviddel azután, hogy abbahagyod a gépelést (k-anonimitással). Ha nem akarsz várni, az alábbi gombbal azonnal is elindíthatod.
A fenti jelszó adatszivárgás-ellenőrzésének eredménye
Tömeges teszt (lista / CSV)
Illessz be egy listát (soronként egy jelszó), vagy tölts fel egy
.txt/.csv fájlt (soronként egy jelszó, vagy
egy "password" nevű oszloppal – minden más oszlopot figyelmen kívül
hagyunk). Legfeljebb 200 sor kerül feldolgozásra. Minden feldolgozás
kizárólag a böngésződben történik – a fájl tartalma
soha nem kerül feltöltésre sehova.
| Jelszó | Bit | Erősség | Adatszivárgás |
|---|
EntrópiaAzt fejezi ki bitben, hány próbálkozás szükséges átlagosan a jelszó kitalálásához – minél nagyobb a szám, annál nehezebb kitalálni.-elemzés
Részletes bontás megjelenítése
Becsült feltörési idő, támadási forgatókönyvenként
Ezek durva, tájékoztató jellegű becslések (átlagos eset, a kombinációk felénél találja el a támadó) – a valós idő számos tényezőtől függ (pl. sózás, hash-algoritmus paraméterezése, egyedi jelszókövetelmények).
Adatszivárgás-ellenőrzés (legutóbb generált elem)
Legutóbb generált elem eredménye
Minden generálás után automatikusan lefut az ellenőrzés a legutóbb generált elemre. A jelszó SHA-1 lenyomatának csak az első 5 karaktere hagyja el a böngészőt (k-anonimitás) – a teljes jelszó soha nem kerül elküldésre, sem a mi szerverünkre, sem máshova. A háttérben a Have I Been Pwned nyilvános, ingyenes adatbázisát kérdezzük le.
Munkamenet-előzmények (0)
Még nincs generálva semmi ebben a munkamenetben.
Ez a lista kizárólag a böngésző memóriájában létezik ebben a munkamenetben – sehova nem kerül elküldve vagy elmentve, és az oldal frissítésekor/bezárásakor automatikusan elvész.
Súgó / Módszertan
Az alábbiakban részletesen leírjuk, hogyan működik az eszköz — a generálás kriptográfiai módszertanától az entrópia- és feltörésiidő-becslés képletein át az adatszivárgás-ellenőrzésig. Kattints egy címre a kibontásához.
Jó jelszó – rövid ellenőrzőlista
- Legalább 12–16 karakter hosszú (minél hosszabb, annál jobb)
- Kis- és nagybetű, számjegy és speciális karakter keveréke
- Minden fióknál egyedi – sehol máshol nem használt
- Nem szerepel ismert adatszivárgásban (ellenőrizd az "Ellenőrzés" dobozban)
- Jelszókezelőben tárolva, nem fejben vagy papíron
- Nem tartalmaz személyes adatot (név, születési dátum, kedvenc csapat)
- Nem szótári szó, billentyűzet-minta (pl. "qwerty") vagy egyszerű sorozat
Hogyan generálja a jelszavakat, PIN-eket és egyéni kódokat?
A generálás teljes egészében a böngésződben zajlik,
a window.crypto.getRandomValues() segítségével. Ez
ugyanaz a kriptográfiailag biztonságos véletlenszám-generátor
(CSPRNG), amelyet a böngésződ egyéb biztonságkritikus funkciói (pl.
TLS-kulcsok) is használnak — nem a Math.random(), ami
jelszóhoz NEM biztonságos.
Egyetlen véletlen bájtsorozatból torzítás nélkül kell egy adott tartományba eső egész számot előállítani (pl. "válassz egyet a 94 karakter közül"). Ehhez elutasításos mintavételt (rejection sampling) használunk: ha a kapott véletlen érték kívül esne az egyenletes eloszláshoz szükséges tartományon, egyszerűen eldobjuk és újat húzunk — így minden karakter pontosan ugyanolyan eséllyel kerül kiválasztásra, nincs "modulo-torzítás".
Jelszó módban emellett Fisher–Yates keverést alkalmazunk: előbb biztosítjuk, hogy minden bekapcsolt karaktertípusból (kis-/nagybetű, számjegy, speciális karakter) legalább egy szerepeljen, majd az egészet véletlenszerűen összekeverjük — így ezek sosem kerülnek kiszámítható (pl. mindig az elején lévő) pozícióba.
Hogyan számoljuk az entrópiát (bitben)?
Az entrópia azt fejezi ki, hány próbálkozás szükséges átlagosan a jelszó kitalálásához, kettes alapú logaritmus (bit) skálán. Az alapképlet: hossz × log₂(készletméret).
- Jelszó mód: a bekapcsolt karaktertípusok (kisbetű, nagybetű, számjegy, speciális karakter) összesített, a kizárások (összetéveszthető karakterek, egyedi kizárás) utáni mérete a "készletméret".
- PIN mód: minden pozíció 10 lehetséges számjegy (0–9), így a képlet
hossz × log₂(10). Ez a kulcstér elméleti mérete — a gyenge minták (lásd lentebb) kizárása ezen felül tovább csökkenti a ténylegesen kitalálható PIN-ek számát. - Egyéni karakterkészlet: a megadott karakterek közül az egyedi (duplikátumoktól mentes) darabszám a készletméret.
- Egyéni minta: minden helyjelölő (
L,l,D,S) a saját log₂ értékével járul hozzá; a literál (fix) karakterek 0 bitet adnak, hiszen azok egy támadó számára előre ismertek.
Az "Entrópia-elemzés" doboz pontosan megmutatja az aktuális beállításokhoz tartozó bontást és a végső képletet.
Hogyan becsüljük a feltörési időt?
A becslés abból indul ki, hogy egy támadó átlagosan a lehetséges kombinációk felénél találja el a helyes jelszót (nem a legrosszabb, hanem az átlagos esetet nézzük). A képlet:
idő = 2^entrópia / (2 × próbálkozás/másodperc)
Mivel a "próbálkozás/másodperc" attól függ, hogyan próbálkozik a támadó, 5 különböző, széles körben idézett forgatókönyvet mutatunk egyszerre (a "Feltörési idő" dobozban): a korlátozott online bejelentkezéstől (~100/óra) az állami szereplő szintű GPU-klaszterig (10¹²/mp). Ezek durva, tájékoztató becslések — nem veszik figyelembe pl. a sózást, a konkrét hash-algoritmus paraméterezését, vagy hogy a jelszó szótárban/mintában szerepel-e.
Mit csinálnak a PIN-mód szűrői?
Egy PIN keresési tere sokkal kisebb, mint egy jelszóé (4 jegynél csak 10 000 lehetőség), ezért a valódi védelem nagy része abból áll, hogy kiszűrjük az ismerten leggyakrabban kitalált/ellopott mintákat:
- Gyakori, ismert PIN-ek kizárása – valós adatvesztési elemzésekből ismert lista (pl. 1234, 0000, 2580), csak 4 jegynél alkalmazva.
- Számsorok kizárása – növekvő/csökkenő sorozatok (1234, 9876), körkörösen is (pl. 8901).
- Ismétlődő minták kizárása – egyetlen jegy ismétlése (0000) vagy rövid minta ismétlődése (1212).
- Ne kezdődjön 0-val – egyes rendszerek ezt megkövetelik.
A szűrés visszautasításos mintavétellel történik: a generátor addig húz új, teljesen véletlen jegysort, amíg az meg nem felel a szabályoknak — ez nem torzítja a kimenet eloszlását, szemben egy minta utólagos "javításával".
Hogyan írjak mintát az Egyéni módban?
A minta helyjelölőkből és szó szerint megjelenő (literál) karakterekből áll:
L | véletlen nagybetű (A–Z) |
l | véletlen kisbetű (a–z) |
D | véletlen számjegy (0–9) |
S | véletlen speciális karakter |
\X | az X karakter szó szerint (escape), pl. \L → literál "L" |
| bármi más | szó szerint bekerül a kimenetbe (pl. kötőjel, szóköz) |
Például a Ll-DDDD-SS minta egy nagybetűt, egy kisbetűt,
egy kötőjelet, 4 számjegyet, egy kötőjelet, majd 2 speciális
karaktert generál — valami ilyesmit: Qd-4821-@!
Hogyan működik az adatszivárgás-ellenőrzés (k-anonimitás)?
A Have I Been Pwned nyilvános, ingyenes "Pwned Passwords" adatbázisát kérdezzük le, de úgy, hogy közben a teljes jelszó soha ne hagyja el a böngészőt:
- A böngésző kiszámolja a jelszó SHA-1 lenyomatát.
- Csak a lenyomat első 5 karaktere ("prefix") kerül elküldésre a szolgáltatásnak.
- A szolgáltatás visszaküldi az összes ismert lenyomatot, amely ezzel az 5 karakterrel kezdődik (jellemzően több száz-ezer találat).
- A böngésző helyben megkeresi köztük a teljes lenyomat egyezését.
Ez a hivatalosan ajánlott "k-anonimitás" módszer — sem a teljes jelszó, sem a teljes hash nem jut el sehova. Ez az egyetlen hálózati hívás, amit az alkalmazás valaha kezdeményez, és minden generálás után automatikusan lefut a legutóbbi elemre.
Hova kerülnek a generált jelszavaim? Naplózza őket bárki?
Sehova, és nem.
- Nincs szerveroldali generálás, nincs adatbázis, nincs naplózás.
- A "Munkamenet-előzmények" lista kizárólag a böngésző memóriájában (egy sima JavaScript-tömbben) létezik — nem
localStorage-ban vagysessionStorage-ban —, ezért az oldal frissítésekor vagy bezárásakor automatikusan, véglegesen elvész. - Az egyetlen böngésző-tárolás a világos/sötét mód beállítása (ez nem jelszóadat).
- Az oldal nem tartalmaz analitikai/követő szkriptet.
Ez a böngésző fejlesztői eszközeinek Hálózat (Network) fülén bárki számára ellenőrizhető.
Jelszót vagy PIN kódot használjak? Melyiket, mikor?
Ökölszabályként: ahol csak lehet, jelszót vagy egyéni kódot használj, ne PIN-t – a PIN kód terjedelme (négyzetes esetben mindössze 10 000 lehetőség) sokkal kisebb, mint egy jelszóé.
- Jelszó – amikor a rendszer tetszőleges karaktert elfogad (weboldalak, alkalmazások, jelszókezelők). Itt szinte mindig ez a legerősebb választás.
- PIN kód – amikor a rendszer maga is csak számjegyeket fogad el, és jellemzően korlátozza a próbálkozások számát is (bankkártya, telefon képernyőzár, kaputelefon). Ilyenkor a hosszabb PIN (6+ jegy) és a beépített gyenge-minta-szűrők (lásd feljebb) sokat számítanak.
- Egyéni mód – amikor egy adott rendszer speciális formátumot ír elő (pl. "pontosan 8 karakter, legalább egy nagybetűvel és számmal") – ilyenkor a minta-szintaxissal pontosan lekövetheted az elvárt formátumot.
Használhatom jelszókezelő programmal együtt?
Igen, sőt: ez a kombináció ajánlott. Ez az eszköz kizárólag generál és (kérésre) ellenőriz egy jelszót – nem tárolja és nem jegyzi meg azt. A gyakorlatban:
- Generálj itt egy jelszót a kívánt beállításokkal.
- Másold ki (a "Legutóbbi másolása" gombbal, vagy a QR-kóddal más eszközre).
- Illeszd be a jelszókezelődbe (pl. böngésző beépített kezelője, Bitwarden, 1Password, KeePass), ami majd biztonságosan, titkosítva tárolja.
Ez a munkamegosztás logikus: itt a véletlenszerűség minőségén van a hangsúly, a jelszókezelőben pedig a biztonságos, tartós tároláson.
Mit mond a NIST SP 800-63B irányelv a jelszavakról?
Az amerikai NIST SP 800-63B az egyik legszélesebb körben idézett hitelesítési irányelv, és néhány pontban meglepően eltér a régi, megszokott "jelszó-szabályoktól":
- A hossz fontosabb, mint a bonyolultság – egy hosszú, egyszerűbb jelszó gyakran erősebb, mint egy rövid, de kötelező nagybetűt/számot/szimbólumot tartalmazó.
- Ne írj elő kötelező, rendszeres jelszócserét – csak akkor kelljen váltani, ha van konkrét gyanú a jelszó kompromittálódására (ez az egyik oka, amiért ez az eszköz adatszivárgás-ellenőrzést kínál, nem pedig lejárati időt).
- Ellenőrizd a jelszót ismert, kiszivárgott listák ellen generáláskor/beállításkor – pontosan ezt csinálja az "Ellenőrzés" doboz, k-anonimitással.
- Engedj minden nyomtatható karaktert, ideértve a szóközt is, és legalább 64 karakter hosszúságig ne korlátozz mesterségesen.
- Ne írj elő "biztonsági kérdéseket" (anya leánykori neve stb.) másodlagos hitelesítésként – ezek könnyen kideríthetők.
Ez az irányelv nagyrészt megegyezik azzal, amit ez az eszköz is gyakorlatba ültet: hosszú, véletlenszerű jelszavak generálása, és adatszivárgás elleni ellenőrzés kötelező, rendszeres csere helyett.
Miért pont ezek a korlátok (pl. max. 128 karakter)?
A hossz- és darabszám-korlátok nem önkényesek – mindegyiknek konkrét oka van:
- Jelszó: 8–128 karakter. Az alsó korlát a NIST SP 800-63B minimum-ajánlása. A felső korlát nem biztonsági, hanem védekező jellegű: megakadályozza, hogy egy véletlen (pl. script által beírt) extrém nagy érték felesleges számítási terhet okozzon – 128 karakter már jóval a gyakorlatban valaha szükséges méret fölött van.
- PIN: 4–12 jegy. 4 jegy alatt a kulcstér (10 000 alatt) annyira kicsi, hogy a mintaszűrés sem tud érdemben segíteni; 12 jegy fölött már gyakorlatilag senki nem használ PIN-t (a legtöbb rendszer eleve nem is engedne ennél hosszabbat).
- Egyéni karakterkészlet: max. 256 karakter, egyéni minta: max. 256 karakter. Ugyanaz a védekező logika, mint a jelszónál – bőven elég bármilyen valós használati esethez, de korlátozza a visszaélésszerűen nagy bemeneteket.
- Darabszám: max. 10 egyszerre. Ennyi bőven elég egy "recovery kód"-szerű listához is, miközben nem terheli feleslegesen a böngészőt (és az automatikus adatszivárgás-ellenőrzés is csak a legutóbbi elemre fut, hogy ne induljon 10 külön hálózati kérés egyszerre).
- Tömeges teszt: max. 200 sor / 2 MB fájl. Ez is védekező korlát: megakadályozza, hogy egy véletlenül kiválasztott, túl nagy fájl lefagyassza a böngészőlapot.
Változásnapló – mit fejlesztettünk eddig?
Rövid, kronologikus összefoglaló a fontosabb fejlesztésekről:
- Jelszó-, PIN- és egyéni kód generálás (karakterkészlet és minta-szintaxis), 100% kliensoldali CSPRNG-vel.
- Valós idejű entrópia-elemzés és feltörésiidő-becslés, 5 támadási forgatókönyvvel.
- Automatikus adatszivárgás-ellenőrzés (Have I Been Pwned, k-anonimitással) minden generáláskor.
- Munkamenet-előzmények lista (kizárólag böngésző-memóriában, oldalfrissítéskor törlődik).
- Önálló Jelszó-teszter szekció: egy tetszőleges, meglévő jelszóra ugyanazok a tesztek (entrópia, feltörés, adatszivárgás) futtathatók le, a generátortól teljesen elkülönítve.
- QR-kód, "Összes másolása", nyomtatásbarát nézet, vágólap automatikus törlése 30 másodperc után.
- Sötét/világos mód, DominoDomain.hu márka-arculat, teljes körű SEO- és biztonsági keményítés (CSP, .htaccess, robots.txt).
- Gyors szabály-sablonok (Bank / Wifi / Vállalati AD, kiemeléssel jelezve, melyik van kiválasztva), mindig aktív kompakt nézet, tömeges (lista/CSV) jelszó-teszt CSV-exporttal, adatvédelmi nyilatkozat.
Nem azt látom, amit vártam – mit tegyek?
Ha egy nemrég frissített funkció (pl. a Jelszó-teszter megnyitásakor a generáló doboznak el kellene tűnnie) nálad másképp viselkedik, mint amit a dokumentáció ír, szinte mindig gyorsítótárazás (cache) áll a háttérben – nem a kód hibája. Ellenőrzési sorrend:
- Kemény frissítés a böngészőben:
Ctrl+Shift+R(Windows/Linux) vagyCmd+Shift+R(Mac) – ez kikényszeríti a JS/CSS friss letöltését. - Próbáld inkognitó/privát ablakban – ha ott már helyesen működik, a probléma a normál böngésződ gyorsítótárában van.
- Ellenőrizd, hogy a szerveren tényleg a legfrissebb
index.phpvan-e – ha CDN-t (pl. Cloudflare) használsz a domain előtt, ott is lehet szükség gyorsítótár-ürítésre ("Purge Cache"). - Böngésző fejlesztői eszközei (F12) → Console fül – ha ott piros hibaüzenet van, az valódi kódhiba jele lehet; ha nincs, a fenti lépések valamelyike valószínűleg megoldja.
Adatvédelmi nyilatkozat
Milyen adatot gyűjtünk? Semmilyen jelszó-, PIN- vagy egyéb generált/beírt adatot. Nincs szerveroldali mentés, nincs adatbázis, nincs naplózás – ezt technikailag is kizárja, hogy a generálás és az elemzés teljes egészében a böngésződben fut.
Sütik / helyi tárolás. Egyetlen böngésző-tárolt
adat van: a sötét/világos mód beállítása (localStorage,
kulcs: dominodomain-theme). Ez nem jelszóadat, és nem
személyes adat. Semmilyen követő cookie-t vagy analitikai szkriptet
nem használunk.
Külső szolgáltatás. Az automatikus és a kézi adatszivárgás-ellenőrzéshez a böngésződ közvetlenül a Have I Been Pwned (haveibeenpwned.com) szolgáltatásához kapcsolódik – ez az egyetlen kimenő hálózati hívás, amit az oldal valaha kezdeményez, és abban is csak a jelszó SHA-1 lenyomatának első 5 karaktere szerepel (k-anonimitás), soha a teljes jelszó. Erre a hívásra a Have I Been Pwned saját adatvédelmi szabályzata vonatkozik, amit a fenti linken tekinthetsz meg.
Szerverüzemeltető. Az oldal PHP-alapú, statikus kiszolgálású – a webszerver (Apache) a szokásos technikai access logot vezetheti (IP-cím, időbélyeg, kért URL), ez a szerver üzemeltetőjének általános gyakorlata, nem ennek az alkalmazásnak a funkciója, és nem tartalmaz jelszóadatot (mivel az sosem kerül a szerverhez).
Kapcsolat. Az oldal a DominoDomain.hu márka alatt üzemel.