bitlvl
SR

Generator TOTP / 2FA kodova

Nalepite tajnu iz 2FA podešavanja (Base32 string ili ceo otpauth:// link) i vidite kod koji bi vaša aplikacija za autentifikaciju trebalo da prikaže, sa preostalim sekundama. Sve ostaje u stranici.

------

Skenirajte sa Google Authenticator, Aegis, 1Password ili bilo kojom TOTP aplikacijom da dodate ovu tajnu. QR se crta u vašem pregledaču; tajna se nikuda ne šalje.

Rezultati i poruke ovog alata prikazuju se na engleskom.

Kako TOTP radi

Kad skenirate 2FA QR kod, aplikacija čuva deljenu tajnu, obično 20 nasumičnih bajtova prikazanih kao Base32 string od 32 znaka. Svakih 30 sekundi računa HMAC-SHA1(tajna, ⌊sada / 30⌋), uzima četiri bajta iz rezultata na ofsetu koji daje njegov poslednji nibl, i taj broj svodi po modulu 10⁶ da dobije šest cifara. Server radi isto, obično prihvatajući i prethodni i sledeći prozor zbog odstupanja satova. Na telefonu nema mreže, zbog čega aplikacije za autentifikaciju rade offline.

otpauth URI

QR kod sadrži URI poput otpauth://totp/Example:[email protected]?secret=JBSWY3DPEHPK3PXP&issuer=Example&digits=6&period=30&algorithm=SHA1. Kad ga nalepite ovde, popunjava se svaki parametar. Većina servisa koristi podrazumevane vrednosti (SHA-1, 6 cifara, 30 s); nekoliko koristi 8 cifara ili SHA-256, a neke aplikacije ignorišu parametar algoritma, što je čest uzrok tiketa „kod je pogrešan“.

Otklanjanje grešaka u 2FA podešavanju

  1. Stavite tajnu ovde i u aplikaciju; kodovi moraju da se slažu. Ako ne, tajna je pogrešno ukucana ili aplikacija ignoriše parametre.
  2. Ako se kodovi slažu, a server ih odbija, sat servera je pogrešan. TOTP zavisi od toga da se obe strane slažu oko vremena u okviru prozora.
  3. Proverite da server verifikuje sa prozorom ±1 i odbija ponovnu upotrebu istog koda (replay).

Bezbednosne napomene

Tajna je cela bezbednost: svako ko je ima može zauvek da generiše kodove. Čuvajte je šifrovanu, nikada je ne beležite u logove, i gde je moguće radije koristite WebAuthn / passkeys, jer TOTP kodovi mogu da se phishuju u realnom vremenu. Ova stranica je za programere koji testiraju sopstveno podešavanje; svaku tajnu koju nalepite u pregledač tretirajte kao test podatak.

Pitanja

Zašto se moj kod razlikuje od onog u aplikaciji?

Proverite da je tajna identična (Base32 ignoriše velika/mala slova i razmake, ali svako slovo je bitno), da se cifre, period i algoritam poklapaju sa onim što je servis odredio, i da je sat vašeg računara tačan. Kod koji je pomeren za tačno jedan prozor znači razliku u satovima od oko 30 sekundi.

Šta je Base32 alfabet?

A–Z i 2–7; bez 0, 1, 8 ili 9, pa su tajne nedvosmislene kad se čitaju naglas. Padding = je opcion. Alat odbija druge znakove i kaže vam koje.

Koja je razlika između TOTP i HOTP?

HOTP (RFC 4226) koristi brojač koji se uvećava pri svakoj upotrebi; TOTP (RFC 6238) zamenjuje brojač trenutnim vremenom podeljenim periodom. Hardverski tokeni sa dugmetom su HOTP; aplikacije su TOTP. Unesite brojač iznad da izračunate HOTP.

Mogu li da generišem kodove za Google Authenticator ili Authy?

Da, oba implementiraju standardni TOTP. Steam Guard i neke bankarske aplikacije koriste vlasničke varijante koje ovaj alat ne reprodukuje.