TOTP ir HOTP kodų generatorius
Generuok TOTP ir HOTP 2FA kodus iš Base32 slapto rakto ar otpauth:// URI su SHA-1, SHA-256 ar SHA-512, gyvu atgaliniu skaičiavimu ir QR kodu 2FA programėlėms.
2FA slaptas raktas yra toks pat jautrus kaip slaptažodis. Viskas čia vyksta vietoje tavo naršyklėje: slaptas raktas, kodai ir QR kodas niekur nesiunčiami.
- Ankstesnis kodas
- —
- Dabartinis kodas
- —
- Kitas kodas
- —
TOTP kodai priklauso nuo tavo įrenginio laikrodžio. Jei jie nesutampa, patikrink, ar laikrodis nustatomas automatiškai.
Nustatyti autentifikavimo programėlę
Pridėk išdavėją ir paskyros pavadinimą, tada nuskaityk QR kodą arba nukopijuok otpauth:// nuorodą į savo autentifikavimo programėlę.
Kaip sugeneruoti TOTP kodus
- Įklijuok Base32 slaptą raktą (pavyzdžiui,
JBSWY3DPEHPK3PXP) arba visąotpauth://nuorodą į Slaptas raktas (Base32) arba otpauth:// URI. Priimami tarpai, brūkšneliai, mažosios raidės ir trūkstamas=užpildas. - Kodai rodomi, kai renki, arba kai spustelėji Rodyti kodus. Įklijuotas URI automatiškai užpildo laukus Tipas, Algoritmas, Skaitmenų skaičius, Laikotarpis (sekundėmis), Išdavėjas ir Paskyra.
- Viduryje skaityk Dabartinis kodas, o iš šonų matysi Ankstesnis kodas ir Kitas kodas. Žemiau esanti juosta skaičiuoja sekundes iki kodo pasikeitimo, o Kopijuoti kodą nukopijuoja jį be tarpo.
- Skaitikliu pagrįstiems kodams pasirink HOTP (pagal skaitiklį), nustatyk Skaitiklis ir naudok Kitas skaitiklis, kad judėtum pirmyn.
- Norint sukurti naują 2FA slaptą raktą, spustelėk Naujas atsitiktinis slaptas raktas. Užpildyk Išdavėjas ir Paskyra, tada nuskaityk QR kodą autentifikavimo programėle, Kopijuoti URI arba Atsisiųsti QR kodą (PNG).
Kaip veikia TOTP ir HOTP
HOTP (RFC 4226) apskaičiuoja 8 baitų skaitiklio HMAC su bendru slaptu raktu, tada taiko dinaminį sutrumpinimą: paskutiniai keturi HMAC bitai parenka poslinkį, nuo jo nuskaitomi keturi baitai, aukščiausias bitas išvalomas, o skaičius redukuojamas moduliu 10^skaitmenų skaičius. Rezultatas yra 6–8 skaitmenų kodas.
TOTP (RFC 6238) yra HOTP, kuriame skaitiklis yra dabartinis laiko žingsnis: T = floor(Unix laikas / laikotarpis), pagal numatytuosius nustatymus laikotarpis yra 30 sekundžių. Tavo telefonas ir serveris tą patį kodą apskaičiuoja nepriklausomai, nes dalijasi slaptu raktu ir (maždaug) tuo pačiu laikrodžiu. Todėl rodomi Ankstesnis kodas ir Kitas kodas: serveriai paprastai priima vieną žingsnį prieš ar po, kad toleruotų laikrodžio nuokrypį.
HMAC vykdomas naudojant naršyklės Web Crypto API su SHA-1, SHA-256 ar SHA-512. SHA-1 su 6 skaitmenimis ir 30 sekundžių naudoja beveik kiekviena paslauga; SHA-256 ir SHA-512 RFC 6238 leidžia, bet kai kurios programėlės jų nepaiso, todėl numatytuosius nustatymus keisk tik tada, kai to prašo paslauga.
otpauth:// URI ir QR kodas
Autentifikavimo programėlės nustatomos naudojant URI, pavyzdžiui, otpauth://totp/Example:alice@example.com?secret=…&issuer=Example&algorithm=SHA1&digits=6&period=30, dažniausiai rodomą kaip QR kodas. Šis įrankis skaito tokius URI (įskaitant procentais užkoduotas etiketes, pavyzdžiui, ACME%20Co) ir kuria naujus. QR kodas piešiamas vietoje iš URI, rodomo po otpauth:// URI.
Naujas atsitiktinis slaptas raktas yra 20 baitų (160 bitų), tokio ilgio, kokį rekomenduoja RFC 4226, gautas iš crypto.getRandomValues.
Saugumo patarimai
- Slaptas raktas yra pats antrasis veiksnys: kas jį turi, gali sukurti tavo kodus. Svarbių paskyrų slaptų raktų neklijuok bendruose kompiuteriuose ir niekada nesidalyk QR kodo ekrano nuotraukomis.
- Viskas skaičiuojama vietoje; per tinklą nieko nesiunčiama. Baigęs darbą uždaryk kortelę.
- Pasilik paslaugos atsarginius kodus: prarasto slapto rakto atkurti neįmanoma.
Dažnai užduodami klausimai
Kodėl mano kodas nesutampa su programėlės kodu?
Pirmiausia patikrink įrenginio laikrodį: TOTP kodai keičiasi kas laikotarpį, todėl daugiau nei maždaug 30 sekundžių nukrypęs laikrodis duoda kitokius kodus. Tada patikrink, ar algoritmas, skaitmenų skaičius ir laikotarpis atitinka tai, ką naudojo paslauga.
Ar šis įrankis suderinamas su Google Authenticator ir panašiomis programėlėmis?
Taip. Jis laikosi RFC 6238 ir otpauth URI formato, kurį naudoja tos programėlės. Nuskaityk QR kodą arba įvesk Base32 slaptą raktą programėlėje, ir abi turėtų rodyti tą patį Dabartinis kodas.
Kuo skiriasi TOTP ir HOTP?
TOTP juda pirmyn su laiku, todėl kodas baigia galioti po laikotarpio. HOTP juda pirmyn su skaitikliu, kuris didėja kiekvieną kartą panaudojus kodą, todėl kodas lieka galioti, kol jis panaudojamas ar pakeičiamas.
Ar galiu šį įrankį naudoti kaip kasdienę autentifikavimo programėlę?
Jis skirtas testavimui, kūrimui ir atkūrimui. Kasdieniam naudojimui saugesnė telefono programėlė ar aparatinis raktas, nes slapto rakto nereikia kaskart klijuoti į tinklalapį.
Ar skaičiavimai patikrinti pagal standartus?
Taip. Įrankis išbandytas su RFC 4226 D priedo HOTP reikšmėmis ir RFC 6238 B priedo TOTP reikšmėmis SHA-1, SHA-256 ir SHA-512 atvejais.
Susiję įrankiai
- HMAC generatorius Apskaičiuok HMAC-SHA1, SHA-256, SHA-384 ar SHA-512 su tekstiniu, hex ar Base64 raktu, gauk hex ir Base64 išvestį ir patikrink webhook parašą naršyklėje.
- Slaptažodžių generatorius Nemokamas slaptažodžių generatorius kuria stiprius atsitiktinius 4–128 simbolių slaptažodžius tavo naršyklėje su saugiu RNG. Niekas nesaugoma ir nesiunčiama.
- QR kodų generatorius Sukurk nemokamus QR kodus nuorodoms, tekstui, Wi-Fi, kontaktams, el. paštui ir SMS. Pridėk spalvas ir logotipą, atsisiųsk PNG ar SVG. Nieko neįkeliame.
- Shamiro paslapties dalijimas Padalyk slaptažodį ar atkūrimo frazę į N dalių, iš kurių bet kurios M ją atkuria, naudojant Shamiro paslapties dalijimą GF(256) laukui, vietoje savo naršyklėje.