Utilia

TOTP i HOTP generator kodova

Generiši TOTP i HOTP 2FA kodove iz Base32 tajne ili otpauth:// URI-ja, sa SHA-1, SHA-256 ili SHA-512, odbrojavanjem uživo i QR kodom za 2FA aplikacije.

2FA tajna je osetljiva kao lozinka. Sve ovde radi lokalno u tvom pregledaču: tajna, kodovi i QR kod se nikada nigde ne šalju.

Podesi aplikaciju za autentifikaciju

Dodaj izdavaoca i ime naloga, pa skeniraj QR kod ili kopiraj otpauth:// vezu u aplikaciju za autentifikaciju.

Kako se generišu TOTP kodovi

  1. Nalepi Base32 tajnu (na primer JBSWY3DPEHPK3PXP) ili celu otpauth:// vezu u Tajna (Base32) ili otpauth:// URI. Prihvataju se razmaci, crtice, mala slova i izostavljena dopuna =.
  2. Kodovi se pojavljuju dok kucaš ili kada klikneš Prikaži kodove. Nalepljen URI sam popunjava polja Tip, Algoritam, Cifre, Period (sekunde), Izdavalac i Nalog.
  3. Pročitaj Trenutni kod u sredini, sa Prethodni kod i Sledeći kod sa obe strane. Traka ispod odbrojava sekunde do promene koda, a Kopiraj kod kopira kod bez razmaka.
  4. Za kodove zasnovane na brojaču izaberi HOTP (zasnovan na brojaču), postavi Brojač i koristi Sledeći brojač da ideš napred.
  5. Da napraviš novu 2FA tajnu, klikni Nova nasumična tajna. Popuni Izdavalac 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 pomoću zajedničke tajne, pa primenjuje dinamičko skraćivanje: poslednja četiri bita HMAC-a biraju pomak, odatle se čita četiri bajta, najviši bit se briše, a broj se svodi po modulu 10^cifara. Rezultat je kod od 6 do 8 cifara.

TOTP (RFC 6238) je HOTP gde je brojač trenutni vremenski korak: T = floor(Unix vreme / period), sa podrazumevanim periodom od 30 sekundi. Tvoj telefon i server nezavisno računaju isti kod, jer dele tajnu i (otprilike) isti sat. Zato se prikazuju Prethodni kod i Sledeći kod: serveri obično prihvataju jedan korak pre ili posle da bi tolerisali razliku u satovima.

HMAC se izvršava pomoću Web Crypto API-ja pregledača sa SHA-1, SHA-256 ili SHA-512. SHA-1 sa 6 cifara i 30 sekundi koristi gotovo svaka usluga; SHA-256 i SHA-512 dozvoljava RFC 6238, ali ih neke aplikacije ignorišu, pa podrazumevane vrednosti menjaj samo ako usluga to traži.

otpauth:// URI i QR kod

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

Nova nasumična tajna ima 20 bajtova (160 bitova), dužinu koju preporučuje RFC 4226, uzetu iz crypto.getRandomValues.

Saveti o bezbednosti

  • Tajna je sam drugi faktor: svako ko je ima može da pravi tvoje kodove. Ne lepi tajne važnih naloga na deljenim računarima i nikada ne deli snimke ekrana QR koda.
  • Sve se računa lokalno; ništa se ne šalje preko mreže. Zatvori karticu kada završiš.
  • Sačuvaj rezervne kodove usluge: izgubljena tajna ne može da se povrati.

Česta pitanja

Zašto se moj kod ne poklapa sa onim u mojoj aplikaciji?

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

Da li je ovaj alat kompatibilan sa Google Authenticator-om i sličnim aplikacijama?

Da. Prati RFC 6238 i otpauth URI format koji te aplikacije koriste. Skeniraj QR kod ili upiši Base32 tajnu u aplikaciju, i obe treba da prikazuju isti Trenutni kod.

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

TOTP ide napred sa vremenom, pa kod ističe posle perioda. HOTP ide napred sa brojačem koji raste svaki put kada se kod iskoristi, pa kod važi dok se ne iskoristi ili zameni.

Mogu li ovaj alat da koristim kao svoj svakodnevni autentifikator?

Namenjen je testiranju, razvoju i oporavku. Aplikacija na telefonu ili hardverski ključ su bezbedniji za svakodnevnu upotrebu, jer tajna ne mora svaki put da se lepi na veb-stranicu.

Da li su proračuni provereni prema standardima?

Da. Alat je testiran vrednostima HOTP iz RFC 4226 Dodatak D i vrednostima TOTP iz RFC 6238 Dodatak B za SHA-1, SHA-256 i SHA-512.