Generatore TOTP (password monouso)

Genera nel solo browser, a partire da un segreto TOTP in formato Base32, la stessa password monouso a sei cifre (RFC 6238) prodotta da Google Authenticator e app analoghe. Il segreto non viene mai trasmesso.

Questo strumento non invia mai il segreto a un server. La decodifica Base32 e il calcolo HMAC avvengono interamente nel vostro browser tramite la Web Crypto API, quindi potete inserire le credenziali in tranquillità.

L'algoritmo TOTP

TOTP (Time-based One-Time Password) è l'algoritmo di generazione di password monouso basate sul tempo definito dalla RFC 6238. Converte il segreto condiviso e l'ora corrente in un contatore che avanza a intervalli regolari e ne ricava un codice numerico con lo stesso algoritmo di troncamento dinamico di HOTP (RFC 4226).

Algoritmo HMAC A scelta fra SHA-1 (predefinito), SHA-256 e SHA-512
Cifre del codice Sei cifre, la lunghezza standard delle principali app di autenticazione a due fattori come Google Authenticator
Intervallo di aggiornamento Il codice cambia ogni 30 secondi

Consigli

  • Il segreto è la «chiave di configurazione» mostrata sotto il codice QR quando si attiva l'autenticazione a due fattori. Se l'avete già registrata nell'app del telefono, inserendo qui lo stesso segreto otterrete il medesimo codice.
  • Alcuni servizi usano un algoritmo diverso da SHA-1, cioè SHA-256 o SHA-512. Se il codice generato non coincide con quello dell'app, provate a cambiare algoritmo.
  • Il codice si aggiorna automaticamente ogni 30 secondi e la barra di avanzamento mostra a colpo d'occhio il tempo residuo. Attenzione a non copiarlo appena prima del cambio: potrebbe scadere prima di arrivare a destinazione.
  • Chiudendo la scheda del browser il segreto viene eliminato del tutto e non resta memorizzato da nessuna parte. Se vi serve come copia di riserva, custodite il segreto in un luogo sicuro, per esempio in un gestore di password.

Domande frequenti

Sì. La decodifica Base32 e il calcolo HMAC avvengono interamente nel browser tramite la Web Crypto API e nulla viene inviato a un server. Potete verificarlo osservando il traffico di rete: il segreto non viene trasmesso.

Le cause più probabili sono un algoritmo di hash diverso (di norma SHA-1, ma alcuni servizi usano SHA-256 o SHA-512) oppure un orologio non sincronizzato. Provate prima a cambiare algoritmo; se il problema resta, controllate le impostazioni dell'ora del dispositivo e attivate la sincronizzazione automatica.

In generale TOTP. Gli SMS possono essere intercettati da terzi con il dirottamento del numero telefonico (la truffa dello scambio di SIM), mentre TOTP funziona interamente sul dispositivo e non è esposto a quel tipo di attacco.

Molti servizi rilasciano dei «codici di recupero» al momento dell'attivazione dell'autenticazione a due fattori. Se avete perso il segreto stesso, dovrete passare dalla procedura di recupero dell'account del servizio, con verifica dell'identità, e riconfigurare il secondo fattore.
Tool-kun

A proposito — perché i codici a due fattori sono di sei cifre

OATH (Initiative for Open Authentication), che ha redatto le specifiche di TOTP (RFC 6238), ha ripreso il troncamento dinamico di HOTP (RFC 4226) lasciando libera l'implementazione di scegliere il numero di cifre. Che le sei cifre siano diventate lo standard di fatto si deve a Google Authenticator, che le adottò nella prima versione del 2010 e fu seguito da moltissimi servizi e librerie.

Sei cifre sono anche un ottimo punto di equilibrio. Con un milione di combinazioni (10⁶) e una validità di appena 30 secondi, un attacco a forza bruta diventa praticamente impossibile; allungare ulteriormente il codice, invece, ne comprometterebbe la praticità per chi deve leggerlo e digitarlo. Non è un caso che anche la maggior parte dei codici via SMS sia di sei cifre: è la regola empirica su cui è conversa l'intera categoria dei «codici numerici usa e getta».

Il predecessore di TOTP, HOTP (RFC 4226, 2005), si basava su un «contatore» che andava fatto avanzare a ogni utilizzo. Poiché gli utenti dimenticavano di premere il pulsante e i contatori di dispositivo e server finivano per disallinearsi, la TOTP del 2011 sostituì quel meccanismo con l'«ora corrente», un riferimento che chiunque può consultare, semplificando enormemente la gestione.