Che cos'è TOTP (password monouso basata sul tempo)?

Dicembre 16, 2024

Le password monouso basate sul tempo (TOTP) sono un metodo sicuro autenticazione Metodo che genera codici temporanei, sensibili al tempo, per verificare l'identità dell'utente.

cos'è totp

Cosa significa TOTP?

Una password monouso basata sul tempo (TOTP) è un tipo di codice di accesso dinamico utilizzato nei sistemi di autenticazione per aumentare la sicurezza generando un codice temporaneo e univoco che scade dopo un breve periodo predefinito.

Basato sull'algoritmo HOTP (One-Time Password) basato su HMAC, TOTP combina una chiave segreta condivisa con l'ora corrente, in genere utilizzando UNIX intervalli di tempo come riferimento. Il risultato è una password monouso che è sia specifica per l'utente che sensibile al tempo. Poiché il codice cambia a intervalli regolari, solitamente ogni 30 o 60 secondi, riduce significativamente il rischio di attacchi di replay, poiché i codici scaduti non possono essere riutilizzati.

I TOTP sono comunemente impiegati in autenticazione a due fattori (2FA) sistemi, dove fungono da ulteriore livello di verifica insieme alle credenziali di accesso tradizionali, garantendo un livello di protezione più elevato contro gli accessi non autorizzati.

Qual è la differenza tra 2FA e TOTP?

L'autenticazione a due fattori (2FA) è un metodo di sicurezza che richiede agli utenti di verificare la propria identità utilizzando due fattori distinti, come qualcosa che conoscono (password) e qualcosa che hanno (token o codice di sicurezza). TOTP, o Time-based One-Time Password, è una tecnologia specifica spesso utilizzata come secondo fattore nei sistemi 2FA.

Mentre 2FA si riferisce all'approccio di sicurezza generale, TOTP è un meccanismo per generare codici univoci sensibili al tempo che servono come una parte del processo 2FA. In sostanza, 2FA è il concetto più ampio di autenticazione multistrato e TOTP è uno degli strumenti utilizzati per implementarlo.

Come funziona TOTP?

TOTP funziona generando un codice univoco e sensibile al tempo basato su un codice condiviso chiave segreta e l'ora corrente. Quando si imposta TOTP, il fornitore di servizi e l'utente si scambiano una chiave segreta condivisa, solitamente codificata in un codice QR o in una stringa alfanumerica. Questa chiave viene archiviata in modo sicuro nell'app TOTP dell'utente, come Google Authenticator o Authy.

Quando è richiesto un codice TOTP, l'app combina il segreto condiviso con il timestamp corrente, solitamente utilizzando il tempo UNIX suddiviso in intervalli (ad esempio, 30 secondi). Una funzione hash crittografica (HMAC) viene applicata a questa combinazione per generare un codice numerico univoco. Il fornitore di servizi calcola in modo indipendente il TOTP previsto utilizzando lo stesso segreto condiviso e lo stesso intervallo di tempo. Per l'autenticazione, l'utente inserisce il codice TOTP e il servizio lo convalida confrontandolo con il valore previsto. Poiché il codice è legato a uno specifico intervallo di tempo, scade automaticamente dopo un breve periodo, garantendo una maggiore sicurezza.

Cos'è un esempio TOTP?

esempio tottop

Un esempio comune di TOTP è il suo utilizzo nell'autenticazione a due fattori (2FA) per gli account online. Supponiamo che un utente voglia accedere al proprio account di posta elettronica. Dopo aver inserito il nome utente e la password, il sistema gli chiede un codice TOTP a sei cifre. L'utente apre un'app TOTP, come Google Authenticator, che visualizza un codice che cambia ogni 30 secondi.

Ad esempio, l'app potrebbe mostrare il codice 438917. L'utente inserisce questo codice nel prompt di login e il sistema lo verifica calcolando la propria versione del codice utilizzando il segreto condiviso e l'ora corrente. Se i codici corrispondono, all'utente viene concesso l'accesso. Questo processo garantisce che anche se la password è compromessa, un aggressore non può effettuare l'accesso senza il codice TOTP univoco, che è valido solo per un periodo di tempo limitato.

Come posso ottenere il TOTP?

Per ottenere TOTP, hai bisogno di un'app compatibile con TOTP e di un servizio che la supporti per l'autenticazione. Ecco come puoi impostarla:

  1. Abilitare TOTP sul servizio. Accedi al tuo account sul servizio che desideri proteggere (ad esempio, e-mail, cloud archiviazione, servizi bancari). Vai alle impostazioni di sicurezza e abilita l'autenticazione a due fattori (2FA) tramite un'app TOTP.
  2. Scansiona o inserisci la chiave segreta. Il servizio fornirà un codice QR o una chiave manuale. Utilizza la tua app TOTP (come Google Authenticator, Authy o Microsoft Authenticator) per scansionare il codice QR o inserire manualmente la chiave.
  3. Genera codici TOTP. Una volta impostata, l'app genererà codici sensibili al tempo che si aggiornano ogni 30 o 60 secondi. Questi codici sono legati al servizio che hai registrato e sono usati come secondo fattore durante l'accesso.
  4. Backup il tasto. La maggior parte dei servizi fornisce backup opzioni per la chiave segreta nel caso in cui perdessi l'accesso al tuo dispositivo. Salva questo backup in modo sicuro per un utilizzo futuro.

Quali sono i vantaggi del TOTP?

TOTP offre diversi vantaggi chiave che migliorano la sicurezza e l'usabilità nei sistemi di autenticazione. Ecco i vantaggi di questa tecnologia:

  • Sicurezza migliorata. TOTP aggiunge un secondo livello di protezione oltre alle password, riducendo significativamente il rischio di accessi non autorizzati, anche se una password è compromessa.
  • Codici sensibili al fattore tempo. Il breve periodo di validità dei codici TOTP ne garantisce una rapida scadenza, riducendo rischi quali attacchi di replay o intercettazioni.
  • Comodità e accessibilità. TOTP è ampiamente supportato e sono disponibili numerose app gratuite e intuitive per generare codici, rendendolo semplice da utilizzare su diversi servizi.
  • Funzionalità offline. TOTP funziona senza richiedere una connessione Internet per generare codici, il che lo rende affidabile in situazioni in cui la connettività non è disponibile.
  • Standard aperti. Basato su standard aperti, TOTP garantisce la compatibilità su numerose piattaforme e servizi, evitando blocco del fornitore e fornendo flexflessibilità.

Quali sono gli svantaggi del TOTP?

Sebbene TOTP migliori la sicurezza, presenta alcuni svantaggi:

  • Affidamento al segreto condiviso. TOTP si basa su una chiave segreta condivisa memorizzata sul dispositivo dell'utente, che può essere persa, rubata o compromessa.
  • Problemi di sincronizzazione dell'ora. Se l'ora di sistema sul dispositivo dell'utente o del fornitore del servizio server non è sincronizzato, potrebbero verificarsi errori di autenticazione.
  • Configurazione complessa per alcuni utenti. Il processo di installazione può essere impegnativo per gli utenti meno esperti di tecnologia, portando potenzialmente a errori o errori backup pratiche.
  • Sfide del recupero. Senza un backup della chiave segreta, recuperare l'accesso agli account può essere difficile se l'utente perde l'accesso alla propria app TOTP.
  • Dipendenza dal dispositivo. Il TOTP si basa su un dispositivo fisico, come uno smartphone, e ciò comporta rischi quali danni, furti o indisponibilità in situazioni critiche.

TOTP funziona online?

Sì, TOTP funziona online nel contesto della verifica dell'accesso utente ai servizi online, ma la generazione TOTP stessa funziona offline. Un codice TOTP viene generato sul tuo dispositivo (tramite un'app come Google Authenticator) utilizzando una chiave segreta condivisa e l'ora corrente, senza richiedere una connessione Internet. Quando inserisci il codice TOTP in un servizio online per l'autenticazione, il servizio lo verifica calcolando in modo indipendente il codice previsto in base alla stessa chiave segreta e ora. Ciò significa che il processo di generazione del TOTP è offline, ma la sua verifica avviene in genere durante un'interazione online con il servizio.

Quanto è sicuro il TOTP?

TOTP è considerato un metodo di autenticazione altamente sicuro quando implementato correttamente, ma la sua sicurezza dipende da quanto bene sono protetti la chiave segreta condivisa e il dispositivo dell'utente. I codici univoci e sensibili al tempo generati da TOTP sono difficili da indovinare a causa della loro dipendenza da crittografia Algoritmi e brevi periodi di validità, rendendolo altamente resistente agli attacchi di replay e phishing tentativi.

Tuttavia, la sua sicurezza può essere compromessa se la chiave segreta condivisa viene esposta, ad esempio tramite furto del dispositivo, malware o inadeguatezza backup pratiche. Inoltre, se il dispositivo utilizzato per generare i TOTP è compromesso, un aggressore potrebbe potenzialmente accedere ai codici. Per mantenere la sicurezza, gli utenti dovrebbero conservare il segreto condiviso in modo sicuro, utilizzare solide pratiche di sicurezza sui propri dispositivi e abilitare backups per il recupero dell'account. Se combinato con una password primaria forte, TOTP fornisce una protezione robusta contro l'accesso non autorizzato.


Anastasia
Spasojevic
Anastazija è una scrittrice di contenuti esperta con conoscenza e passione per cloud informatica, informatica e sicurezza online. A phoenixNAP, si concentra sulla risposta a domande scottanti su come garantire la robustezza e la sicurezza dei dati per tutti i partecipanti al panorama digitale.