Utilia

TOTP i HOTP generator kodova

Generiši TOTP i HOTP 2FA kodove iz Base32 tajnog ključa ili otpauth:// URI-ja, uz SHA-1, SHA-256 ili SHA-512, odbrojavanje uživo i QR kod za 2FA aplikacije.

2FA tajni ključ je osjetljiv kao lozinka. Sve se ovdje izvršava lokalno u tvom pregledniku: tajni ključ, kodovi i QR kod nikada se nigdje ne šalju.

Podesi aplikaciju za autentifikaciju

Dodaj izdavača i naziv naloga, pa skeniraj QR kod ili kopiraj otpauth:// link u svoju aplikaciju za autentifikaciju.

Kako generisati TOTP kodove

  1. Zalijepi Base32 tajni ključ (na primjer JBSWY3DPEHPK3PXP) ili cijeli link otpauth:// u polje Tajni ključ (Base32) ili otpauth:// URI. Razmaci, crtice, mala slova i nedostajuće dopune = se prihvataju.
  2. Kodovi se pojavljuju dok pišeš ili kada klikneš na Prikaži kodove. Zalijepljeni URI sam popunjava polja Vrsta, Algoritam, Broj cifara, Period (sekunde), Izdavač i Nalog.
  3. Pročitaj Trenutni kod u sredini, s Prethodni kod i Sljedeći kod s obje strane. Traka ispod odbrojava sekunde prije promjene koda, a Kopiraj kod kopira kod bez razmaka.
  4. Za kodove prema brojaču odaberi HOTP (prema brojaču), postavi Brojač i koristi Sljedeći brojač da ga pomjeriš naprijed.
  5. Za novi 2FA tajni ključ klikni na Novi nasumični tajni ključ. Popuni Izdavač i Nalog, pa skeniraj QR kod aplikacijom za autentifikaciju, Kopiraj URI ili Preuzmi QR kod (PNG).

Kako rade TOTP i HOTP

HOTP (RFC 4226) računa HMAC 8-bajtnog brojača zajedničkim tajnim ključem, a zatim primjenjuje dinamičko skraćivanje: zadnja četiri bita HMAC-a biraju pomak, odatle se čitaju četiri bajta, najviši bit se briše, a broj se svodi na ostatak pri dijeljenju s 10^cifara. Rezultat je kod od 6 do 8 cifara.

TOTP (RFC 6238) je HOTP kod kojeg je brojač trenutni vremenski korak: T = floor(Unix vrijeme / period), s periodom od 30 sekundi po zadanom. Tvoj telefon i server nezavisno računaju isti kod, jer dijele tajni ključ i (otprilike) isti sat. Zato se prikazuju Prethodni kod i Sljedeći kod: serveri obično prihvataju jedan korak prije ili poslije kako bi tolerisali razliku u satu.

HMAC se izvršava pomoću Web Crypto API-ja preglednika, s algoritmom SHA-1, SHA-256 ili SHA-512. SHA-1 sa 6 cifara i 30 sekundi koristi gotovo svaka usluga; SHA-256 i SHA-512 dozvoljeni su u RFC-u 6238, ali ih neke aplikacije ignorišu, pa zadane vrijednosti mijenjaj samo ako to usluga traži.

URI otpauth:// i QR kod

Aplikacije za autentifikaciju podešavaju se URI-jem poput otpauth://totp/Example:alice@example.com?secret=…&issuer=Example&algorithm=SHA1&digits=6&period=30, koji se obično prikazuje kao QR kod. Ovaj alat čita takve URI-je (uključujući oznake s postotnim kodiranjem poput ACME%20Co) i gradi nove. QR kod se crta lokalno iz URI-ja prikazanog pod otpauth:// URI.

Novi nasumični tajni ključ ima 20 bajtova (160 bita), dužinu koju preporučuje RFC 4226, a uzima se iz crypto.getRandomValues.

Sigurnosni savjeti

  • Tajni ključ je sam drugi faktor: ko ga ima, može proizvesti tvoje kodove. Ne lijepi tajne ključeve važnih naloga na zajedničkim računarima i nikada ne dijeli snimke ekrana QR koda.
  • Sve se računa lokalno; ništa se ne šalje mrežom. Zatvori karticu kada završiš.
  • Sačuvaj rezervne kodove usluge: izgubljen tajni ključ ne može se povratiti.

Česta pitanja

Zašto se moj kod ne podudara s kodom u mojoj aplikaciji?

Prvo provjeri sat na uređaju: TOTP kodovi se mijenjaju svakog perioda, pa sat koji kasni ili žuri više od oko 30 sekundi daje drugačije kodove. Zatim provjeri da algoritam, broj cifara i period odgovaraju onome što je usluga koristila.

Je li ovaj alat kompatibilan s Google Authenticatorom i sličnim aplikacijama?

Jeste. Prati RFC 6238 i format otpauth URI-ja koji te aplikacije koriste. Skeniraj QR kod ili upiši Base32 tajni ključ u aplikaciju i oboje bi trebalo prikazati isti Trenutni kod.

Koja je razlika između TOTP-a i HOTP-a?

TOTP napreduje s vremenom, pa kod ističe nakon perioda. HOTP napreduje brojačem koji se povećava pri svakom korištenju koda, pa kod vrijedi dok se ne iskoristi ili zamijeni.

Mogu li ovaj alat koristiti kao svoj svakodnevni autentifikator?

Namijenjen je testiranju, razvoju i oporavku. Aplikacija na telefonu ili hardverski ključ je sigurniji za svakodnevnu upotrebu, jer se tajni ključ ne mora svaki put lijepiti u web stranicu.

Jesu li proračuni provjereni prema standardima?

Jesu. Alat je testiran vrijednostima HOTP-a iz RFC-a 4226, dodatak D, i vrijednostima TOTP-a iz RFC-a 6238, dodatak B, za SHA-1, SHA-256 i SHA-512.