TOTP e HOTP
Password monouso basate sul tempo
TOTP e HOTP è una lezione Cyber Security Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cyber Security Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cyber Security Academy include 4 lezioni in totale.
Password monouso
Una One-Time Password (OTP) è un codice valido per un solo accesso o per un breve intervallo di tempo.
Esistono due algoritmi standard per generarle: HOTP e TOTP.
Il segreto condiviso
Entrambi gli algoritmi partono da un segreto condiviso, noto solo al server e alla vostra app di autenticazione.
Di solito viene fornito come codice QR durante la configurazione e memorizzato da entrambe le parti.
HOTP: basato su contatore
HOTP (HMAC-based OTP) combina il segreto condiviso con un contatore usando HMAC, quindi tronca il risultato trasformandolo in un breve codice numerico.
Il contatore aumenta di uno a ogni codice generato.
HOTP = Truncate( HMAC-SHA1(secret, counter) )TOTP: basato sul tempo
TOTP (Time-based OTP) è HOTP in cui il contatore corrisponde al tempo corrente diviso in intervalli fissi, generalmente di 30 secondi.
Poiché il tempo avanza sempre, entrambe le parti rimangono sincronizzate senza dover gestire manualmente un contatore.
T = floor( (current_unix_time) / 30 )
TOTP = Truncate( HMAC-SHA1(secret, T) )L'intervallo di 30 secondi
Un codice TOTP cambia in genere ogni 30 secondi. Questa breve durata limita il periodo in cui un codice rubato può essere utile.
Per questo le app di autenticazione mostrano una barra del conto alla rovescia.
Tolleranza alla deriva dell'orologio
Gli orologi dei dispositivi possono subire lievi variazioni. Per evitare di rifiutare codici validi, i server accettano i codici dell'intervallo precedente e successivo a quello corrente.
Un intervallo troppo ampio indebolisce la sicurezza, quindi viene mantenuto ridotto.
Sincronizzazione HOTP
HOTP può perdere la sincronizzazione se un codice generato non viene usato (il contatore avanza sul dispositivo ma non sul server).
I server consentono una piccola finestra di anticipo per risincronizzarsi, ma per scarti ampi è necessaria una risincronizzazione manuale.
L'URI otpauth
I codici QR codificano un otpauth URI che descrive il segreto e i relativi parametri.
otpauth://totp/Example:alice@example.com?secret=JBSWY3DPEHPK3PXP&issuer=Example&period=30Perché ha prevalso TOTP
TOTP è molto più comune di HOTP perché:
- Non c'è alcun contatore che possa perdere la sincronizzazione o richiedere una risincronizzazione.
- I codici scadono naturalmente da soli.
- Funziona offline: non serve una rete per generare un codice.
Vantaggi e limiti
TOTP rappresenta un grande miglioramento rispetto alle sole password, ma è comunque vulnerabile al phishing: un sito contraffatto può indurre l'utente a digitare un codice ancora valido.
Le chiavi hardware, trattate nella prossima lezione, resistono a questo attacco.
Backup e ripristino
La perdita del dispositivo che contiene il segreto può impedirvi di accedere. Una buona pratica consiste nel:
- Salvare i codici di ripristino forniti durante la configurazione.
- Eseguire il backup del segreto in modo sicuro o registrare un secondo autenticatore.
Verifica rapida
Qual è la differenza fondamentale tra HOTP e TOTP?
Riepilogo
Ha imparato come funzionano gli algoritmi OTP.
- Entrambi si basano su un segreto condiviso e su HMAC.
- HOTP usa un contatore, mentre TOTP usa il tempo.
- I codici TOTP scadono ogni ~30 secondi, ma restano vulnerabili al phishing.
- Conservi i codici di recupero.
Ora esploreremo le approvazioni push e le chiavi hardware.
Domande Frequenti
La lezione «TOTP e HOTP» è gratuita?
Sì — il testo completo di «TOTP e HOTP» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cyber Security Academy, passa a CoddyKit PRO. Il corso Cyber Security Academy include 4 lezioni in totale.
Cosa imparerò in «TOTP e HOTP»?
Password monouso basate sul tempo Eserciti Cyber Security Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cyber Security Academy?
Non è richiesta alcuna esperienza precedente. Cyber Security Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «TOTP e HOTP»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cyber Security Academy?
Sì. Ogni lezione Cyber Security Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.