Generador de codis TOTP i HOTP
Genera codis 2FA TOTP i HOTP des d'un secret en Base32 o un URI otpauth://, amb SHA-1, SHA-256 o SHA-512, compte enrere en directe i codi QR per a apps 2FA.
Un secret 2FA és tan sensible com una contrasenya. Tot s'executa aquí en local al teu navegador: el secret, els codis i el codi QR no s'envien enlloc.
- Codi anterior
- —
- Codi actual
- —
- Codi següent
- —
Els codis TOTP depenen del rellotge del teu dispositiu. Si no coincideixen, comprova que el rellotge estigui configurat automàticament.
Configura una aplicació d'autenticació
Afegeix un emissor i un nom de compte, i després escaneja el codi QR o copia l'enllaç otpauth:// a la teva aplicació d'autenticació.
Com generar codis TOTP
- Enganxa un secret en Base32 (per exemple
JBSWY3DPEHPK3PXP) o un enllaçotpauth://complet a Secret (Base32) o URI otpauth://. S’accepten espais, guions, lletres minúscules i el farciment=que falti. - Els codis apareixen mentre escrius, o quan fas clic a Mostra els codis. Un URI enganxat omple per tu els camps Tipus, Algorisme, Xifres, Període (segons), Emissor i Compte.
- Llegeix el Codi actual al mig, amb el Codi anterior i el Codi següent a cada costat. La barra de sota compta enrere els segons abans que el codi canviï, i Copia el codi el copia sense l’espai.
- Per als codis basats en un comptador, tria HOTP (basat en un comptador), defineix el Comptador i fes servir Comptador següent per avançar.
- Per crear un secret 2FA nou, fes clic a Secret aleatori nou. Omple Emissor i Compte, i després escaneja el codi QR amb una aplicació d’autenticació, Copia l’URI o Baixa el codi QR (PNG).
Com funcionen TOTP i HOTP
HOTP (RFC 4226) calcula un HMAC d’un comptador de 8 bytes amb el secret compartit, i després aplica un truncament dinàmic: els últims quatre bits de l’HMAC trien un desplaçament, es llegeixen quatre bytes des d’allà, s’esborra el bit superior i el número es redueix mòdul 10^xifres. El resultat és un codi de 6 a 8 xifres.
TOTP (RFC 6238) és HOTP on el comptador és el pas de temps actual: T = floor(temps Unix / període), amb un període de 30 segons per defecte. El teu telèfon i el servidor calculen el mateix codi de manera independent, perquè comparteixen el secret i (aproximadament) el mateix rellotge. Per això es mostren el Codi anterior i el Codi següent: els servidors solen acceptar un pas abans o després per tolerar el desfasament del rellotge.
L’HMAC s’executa amb l’API Web Crypto del teu navegador amb SHA-1, SHA-256 o SHA-512. SHA-1 amb 6 xifres i 30 segons és el que fa servir gairebé tot servei; SHA-256 i SHA-512 els permet la RFC 6238, però algunes aplicacions els ignoren, de manera que canvia els valors per defecte només si el servei ho demana.
L’URI otpauth:// i el codi QR
Les aplicacions d’autenticació es configuren amb un URI com otpauth://totp/Exemple:alice@exemple.cat?secret=…&issuer=Exemple&algorithm=SHA1&digits=6&period=30, que normalment es mostra com a codi QR. Aquesta eina llegeix aquests URI (incloent-hi etiquetes codificades amb percentatge com ACME%20Co) i en construeix de nous. El codi QR es dibuixa en local a partir de l’URI que es mostra a URI otpauth://.
Un secret aleatori nou té 20 bytes (160 bits), la longitud recomanada per la RFC 4226, obtinguts de crypto.getRandomValues.
Consells de seguretat
- El secret és el segon factor mateix: qui el tingui pot produir els teus codis. No enganxis els secrets de comptes importants en ordinadors compartits, i no comparteixis mai captures de pantalla del codi QR.
- Tot es calcula en local; no s’envia res per la xarxa. Tanca la pestanya quan acabis.
- Guarda els codis de còpia de seguretat del servei: un secret que perds no es pot recuperar.
Preguntes freqüents
Per què el meu codi no coincideix amb el de la meva aplicació?
Comprova primer el rellotge del dispositiu: els codis TOTP canvien a cada període, de manera que un rellotge desfasat més d’uns 30 segons dona codis diferents. Després comprova que l’algorisme, les xifres i el període coincideixin amb els que va fer servir el servei.
Aquesta eina és compatible amb Google Authenticator i aplicacions similars?
Sí. Segueix la RFC 6238 i el format d’URI otpauth que fan servir aquestes aplicacions. Escaneja el codi QR o escriu el secret en Base32 a l’aplicació, i totes dues haurien de mostrar el mateix Codi actual.
Quina diferència hi ha entre TOTP i HOTP?
TOTP avança amb el temps, de manera que un codi caduca passat el període. HOTP avança amb un comptador que s’incrementa cada vegada que s’utilitza un codi, de manera que un codi continua sent vàlid fins que s’utilitza o se substitueix.
Puc fer servir aquesta eina com a autenticador de cada dia?
Està pensada per a proves, desenvolupament i recuperació. Una aplicació al mòbil o una clau de maquinari és més segura per a l’ús diari, perquè el secret no s’ha d’enganxar a una pàgina web cada vegada.
Els càlculs s'han comprovat amb els estàndards?
Sí. L’eina es prova amb els valors HOTP de l’apèndix D de la RFC 4226 i els valors TOTP de l’apèndix B de la RFC 6238 per a SHA-1, SHA-256 i SHA-512.
Eines relacionades
- Generador d'HMAC Calcula un HMAC-SHA1, SHA-256, SHA-384 o SHA-512 amb una clau en text, hex o Base64, obtén la sortida en hex i Base64 i comprova un webhook al navegador.
- Generador de contrasenyes Generador de contrasenyes gratuït que crea contrasenyes aleatòries fortes de 4 a 128 caràcters al navegador amb un generador segur. No es desa ni s'envia res.
- Generador de codis QR Crea codis QR gratuïts per a enllaços, text, Wi-Fi, contactes, correu i SMS. Afegeix colors i un logotip, i baixa'ls en PNG o SVG. Res no surt del dispositiu.
- Compartició de secrets de Shamir Divideix una contrasenya o frase de recuperació en N parts de manera que qualsevol M la reconstrueixin, amb l'esquema de Shamir sobre GF(256), al navegador.