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.
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
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.