TOTP- és HOTP-kódgenerátor
Generálj TOTP- és HOTP-alapú 2FA-kódokat Base32-titokból vagy otpauth:// URI-ból, SHA-1, SHA-256 vagy SHA-512 algoritmussal, visszaszámlálóval és QR-kóddal.
A 2FA-titok ugyanolyan érzékeny, mint egy jelszó. Itt minden helyben, a böngésződben fut: a titkot, a kódokat és a QR-kódot sehová nem küldjük el.
- Előző kód
- —
- Jelenlegi kód
- —
- Következő kód
- —
A TOTP-kódok az eszközöd órájától függnek. Ha nem egyeznek, ellenőrizd, hogy az óra automatikusan van-e beállítva.
Hitelesítő alkalmazás beállítása
Adj meg egy kibocsátót és egy fióknevet, majd olvasd be a QR-kódot, vagy másold az otpauth:// hivatkozást a hitelesítő alkalmazásodba.
Hogyan generálj TOTP-kódokat
- Illessz be egy Base32-titkot (például
JBSWY3DPEHPK3PXP) vagy egy teljesotpauth://hivatkozást a Titok (Base32) vagy otpauth:// URI mezőbe. A szóközöket, kötőjeleket, kisbetűket és a hiányzó=kitöltést az eszköz elfogadja. - A kódok gépelés közben jelennek meg, vagy amikor a Kódok megjelenítése gombra kattintasz. A beillesztett URI automatikusan kitölti a Típus, Algoritmus, Számjegyek, Periódus (másodperc), Kibocsátó és Fiók mezőt.
- Olvasd le középen a Jelenlegi kódot, két oldalán az Előző kóddal és a Következő kóddal. Az alatta lévő sáv visszaszámolja a kód cseréjéig hátralévő másodperceket, a Kód másolása pedig szóköz nélkül másolja ki.
- A számlálóalapú kódokhoz válaszd a HOTP (számlálóalapú) lehetőséget, állítsd be a Számlálót, és a Következő számláló gombbal lépj előre.
- Új 2FA-titok létrehozásához kattints az Új véletlen titok gombra. Töltsd ki a Kibocsátó és Fiók mezőt, majd olvasd be a QR-kódot egy hitelesítő alkalmazással, használd az URI másolása gombot, vagy töltsd le a QR-kód letöltése (PNG) lehetőséggel.
Hogyan működik a TOTP és a HOTP
A HOTP (RFC 4226) egy 8 bájtos számláló HMAC-értékét számítja ki a megosztott titokkal, majd dinamikus csonkolást alkalmaz: a HMAC utolsó négy bitje kijelöl egy eltolást, onnan négy bájtot olvas be, a legfelső bitet törli, a számot pedig 10^számjegyek szerint modulo redukálja. Az eredmény egy 6–8 számjegyű kód.
A TOTP (RFC 6238) olyan HOTP, ahol a számláló az aktuális időlépés: T = floor(Unix-idő / periódus), alapértelmezés szerint 30 másodperces periódussal. A telefonod és a szerver egymástól függetlenül ugyanazt a kódot számolja ki, mert ugyanaz a titkuk, és (nagyjából) ugyanaz az órájuk. Ezért jelenik meg az Előző kód és a Következő kód: a szerverek általában elfogadnak egy lépéssel korábbit vagy későbbit az óraeltérés tűrésére.
A HMAC a böngésződ Web Crypto API-jával fut SHA-1, SHA-256 vagy SHA-512 algoritmussal. A 6 számjegyű, 30 másodperces SHA-1-et használja szinte minden szolgáltatás; az SHA-256-ot és az SHA-512-t az RFC 6238 megengedi, de egyes alkalmazások figyelmen kívül hagyják, ezért az alapértékeket csak akkor módosítsd, ha a szolgáltatás kéri.
Az otpauth:// URI és a QR-kód
A hitelesítő alkalmazásokat egy olyan URI-val állítják be, mint az otpauth://totp/Example:alice@example.com?secret=…&issuer=Example&algorithm=SHA1&digits=6&period=30, amelyet általában QR-kódként mutatnak meg. Az eszköz beolvassa az ilyen URI-kat (a százalékkódolt címkéket, például ACME%20Co, is), és újakat is épít. A QR-kód helyben rajzolódik ki az otpauth:// URI alatt látható URI-ból.
Az új véletlen titok 20 bájt (160 bit) hosszú, ez az RFC 4226 által ajánlott hossz, és a crypto.getRandomValues szolgáltatja.
Biztonsági tippek
- A titok maga a második tényező: aki birtokolja, elő tudja állítani a kódjaidat. Fontos fiókok titkait ne illeszd be közös számítógépeken, és a QR-kódról soha ne ossz meg képernyőképet.
- Minden helyben számolódik; semmi nem kerül elküldésre a hálózaton. Ha végeztél, zárd be a lapot.
- Őrizd meg a szolgáltatótól kapott tartalék kódokat: az elveszett titkot nem lehet visszaállítani.
Gyakori kérdések
Miért nem egyezik a kódom az alkalmazásomban lévővel?
Először az eszközöd óráját ellenőrizd: a TOTP-kódok periódusonként változnak, így egy körülbelül 30 másodpercnél nagyobb óraeltérés más kódot ad. Aztán ellenőrizd, hogy az algoritmus, a számjegyek és a periódus megegyezik-e azzal, amit a szolgáltatás használt.
Kompatibilis az eszköz a Google Authenticatorral és a hasonló alkalmazásokkal?
Igen. Az RFC 6238-at és azt az otpauth URI-formátumot követi, amelyet ezek az alkalmazások használnak. Olvasd be a QR-kódot, vagy írd be a Base32-titkot az alkalmazásba, és mindkettőnek ugyanazt a Jelenlegi kódot kell mutatnia.
Mi a különbség a TOTP és a HOTP között?
A TOTP az idővel halad előre, ezért a kód a periódus után lejár. A HOTP egy számlálóval halad előre, amely minden kódhasználatkor nő, így a kód addig érvényes, amíg fel nem használják vagy le nem cserélik.
Használhatom az eszközt mindennapi hitelesítőként?
Tesztelésre, fejlesztésre és helyreállításra való. Napi használatra biztonságosabb egy telefonos alkalmazás vagy egy hardverkulcs, mert a titkot nem kell minden alkalommal beilleszteni egy weboldalba.
Ellenőrizték a számításokat a szabványokkal?
Igen. Az eszközt az RFC 4226 D függelékének HOTP-értékeivel, valamint az RFC 6238 B függelékének TOTP-értékeivel tesztelték SHA-1, SHA-256 és SHA-512 esetén.
Kapcsolódó eszközök
- HMAC generátor Számolj HMAC-SHA1, SHA-256, SHA-384 vagy SHA-512 értéket szöveges, hex vagy Base64 kulccsal, és ellenőrizz webhook-aláírást a böngésződben.
- Jelszógenerátor Ingyenes jelszógenerátor 4–128 karakteres erős, véletlen jelszavakhoz, biztonságos véletlenszám-generátorral a böngésződben. Semmi nem kerül mentésre.
- QR-kód generátor Készíts ingyenes QR-kódokat linkekhez, szöveghez, Wi-Fi-hez, névjegyekhez, e-mailhez és SMS-hez. Adj hozzá színeket és logót, majd tölts le PNG-t vagy SVG-t.
- Shamir-féle titokmegosztás Oszd fel a jelszót vagy a helyreállítási kifejezést N részre úgy, hogy bármelyik M helyreállítsa, Shamir titokmegosztásával, helyben a böngésződben.