Cos'è il metodo TOTP?

Kamile Viezelyte
Autrice di contenuti sulla cybersicurezza
what is totp

L'autenticazione a più fattori, o MFA, è diventata una componente fondamentale del rafforzamento della sicurezza digitale per milioni di utenti online. Il ventaglio di strumenti MFA a disposizione è ampio, quindi è l'utente stesso che deve scegliere quale tipo di protezione digitale adottare. Uno di questi strumenti è la password monouso, altresì detta OTP.

Oggi esamineremo nel dettaglio un particolare tipo di OTP, ovvero le password monouso a tempo (TOTP). Spiegheremo le caratteristiche distintive di questo metodo di autenticazione multifattoriale e a quali minacce è sottoposto; lo confronteremo inoltre con un tipo di password monouso alternativo, detto HOTP. Alla fine della disamina, conoscerai gli strumenti indispensabili per migliorare la tua sicurezza online.

Cos'è una OTP?

Prima di addentrarci nei dettagli delle TOTP e del relativo funzionamento, dobbiamo rispondere alla domanda fondamentale: cosa sono le OTP? Come già accennato, OTP è l'acronimo di "one-time password", ovvero password monouso. Vediamo più nello specifico di cosa si tratta.

Benché la tecnologia su cui si basano le OTP sia complessa, il termine si spiega da sé: le password monouso sono dei codici di sicurezza utilizzabili una sola volta per l'autenticazione; dopodiché, vengono annullati. Per questo motivo le OTP sono considerate dinamiche, l'esatto opposto delle password statiche a cui siamo abituati nella nostra vita digitale di ogni giorno.

L'algoritmo OTP dinamico è il fattore che le rende tanto efficaci in termini di protezione e autenticazione degli account. Le password statiche possono essere più facili da violare, soprattutto se non vengono aggiornate con cadenza regolare; al contrario, il livello di protezione aggiuntivo dovuto al costante cambiamento delle password monouso si è dimostrato efficace contro molte minacce di furto di identità.

Ogni OTP è univoca ed è costituita da combinazioni di numeri e, talvolta, di lettere. Ciò implica un numero pressoché infinito di possibili combinazioni casuali, che rende il livello di sicurezza delle OTP più resistente agli attacchi, sebbene esistano alcune vulnerabilità di cui parleremo a breve.

Esistono due tipologie di OTP:

  • Password monouso a tempo (TOTP).

  • Password monouso basate su hash (HOTP).

Per il loro funzionamento, queste password richiedono due componenti specifiche: il seed e il fattore mobile. Un seed è una chiave segreta detenuta dal generatore di password e dal server. Un generatore di password, altresì detto token OTP, è uno strumento utilizzato per creare i codici di autenticazione temporanei.

Sia il metodo TOTP che HOTP vengono comunemente usati per abilitare l'autenticazione a più fattori. Il tipo di password monouso che viene impiegato dipende dal metodo MFA selezionato. Di solito, la password monouso viene fornita da un dispositivo hardware che genera codici, un'app di autenticazione o un messaggio di testo.

Il fattore mobile è l'elemento fondamentale che differenzia le TOTP dalle HOTP; mentre il seed rimane statico, il fattore mobile cambia ed è determinato da un conto alla rovescia o da un contatore. Ne parleremo in modo approfondito più avanti, quando esamineremo ciascun tipo di password monouso.

Alcuni utenti potrebbero pensare che le password monouso siano simili ai codici di backup forniti da diverse applicazioni come misura aggiuntiva di recupero. Tuttavia, funzionano in modo diverso: l'utente riceve infatti un numero limitato di codici di backup da usare in caso di perdita del metodo di autenticazione principale; è possibile utilizzarli solo una volta per accedere all'account. Al contrario, non vi sono limiti al numero di OTP che possono essere generate.

Per comprendere meglio come funziona una OTP, esaminiamo nel dettaglio entrambe le tipologie iniziando dalle TOTP.

Cos'è una TOTP?

Abbiamo illustrato i principi fondamentali alla base delle OTP, quindi cerchiamo di entrare un po' più nello specifico per chiarire cos'è una TOTP. La parte finale dell'acronimo (OTP) sta per "One-Time Password" e indica il fatto che si tratta di una password monouso, mentre la "T" iniziale si riferisce alla sua caratteristica principale: "Time-based", ovvero a tempo.

In sostanza, le password monouso a tempo sono password che hanno una scadenza prefissata dopo uno specifico lasso temporale. A seconda dello strumento di autenticazione TOTP l'intervallo di tempo può essere diverso, anche se solitamente la durata della validità di un codice è compresa tra 15 secondi e un minuto. In alcuni casi una TOTP può rimanere valida per periodi di tempo più lunghi, ad esempio per diversi giorni.

Se non si digita il codice di autenticazione univoco entro l'intervallo di tempo prefissato, la password viene reimpostata ed è necessario inserire un nuovo codice. Il fattore tempo è quindi alla base dei vantaggi dell'autenticazione TOTP per la sicurezza informatica: poiché le password randomizzate si avvicendano in modo molto rapido, sono più difficili da violare in caso di attacchi informatici.

Il metodo più comune per ricevere questi codici consiste nell'utilizzare le app di autenticazione TOTP; ma anche specifici dispositivi hardware, come i generatori di password, possono essere usati per acquisire i codici di autenticazione.

A prescindere dal software o dall'hardware utilizzato per generare una OTP, la procedura è sostanzialmente la stessa: se una persona ha abilitato l'autenticazione MFA, quando tenta di entrare in un account riceverà un codice di accesso che dovrà usare per verificare la propria identità. Vediamo in pratica come funziona questo metodo attraverso un esempio.

Come funziona una TOTP?

Supponiamo che tu voglia utilizzare un autenticatore TOTP per accedere al tuo account Instagram. Per prima cosa, è necessario abilitare l'autenticazione a due fattori sull'app:

  1. Vai al tuo Centro gestione account di Instagram.

  2. Tocca "Password e sicurezza".

  3. Poi tocca "Autenticazione a due fattori" e seleziona il tuo account.

  4. Scegli il metodo di autenticazione a due fattori che preferisci: per questo esempio, abbiamo optato per un'app di autenticazione.

L'autenticazione TOTP viene eseguita utilizzando un'app come Google Authenticator. Quando aggiungi un account a questa app, usando un codice QR oppure una chiave di configurazione, puoi scegliere se utilizzare codici di accesso a tempo o basati sul contatore. In questo caso, seleziona l'opzione a tempo.

Ecco come accedere al tuo account Instagram usando una password monouso a tempo:

  1. Apri l'app Instagram.

  2. Seleziona "Accedi".

  3. Inserisci il tuo nome utente o indirizzo e-mail e la password. Se non ricordi più la password, puoi consultare una guida su come recuperarla qui.

  4. Ti verrà chiesto di inserire la chiave di sicurezza. Apri l'app Google Authenticator e copia il codice TOTP a sei cifre.

  5. Incolla il codice nell'apposita casella su Instagram.

Ricorda che la password viene reimpostata ogni 15 secondi; se dovesse scadere, ti basterà copiare e incollare il nuovo codice appena generato.

Il procedimento è analogo su diverse altre applicazioni. In molti casi, puoi anche scegliere se ricevere un messaggio di testo con un codice a tempo, oppure utilizzare un dispositivo per la generazione di codici. Queste soluzioni alternative possono essere utili se hai problemi di connessione internet e non riesci ad accedere all'app di autenticazione.

Cos'è una HOTP?

Oltre alle TOTP, esiste un'altra popolare tipologia di password monouso: le HOTP. Questo tipo di password monouso esiste da quasi due decenni, quindi è probabile che ti sia già capitato di incontrarlo.

Prima di tutto, è opportuno chiarire due acronimi. Il primo è HOTP, che significa "password monouso basata su HMAC"; la sigla HMAC, a sua volta, sta per "codice di autenticazione dei messaggi basato su hash". Quindi, per semplificare, di solito ci riferiamo a questo tipo di password chiamandole "password monouso basate su hash" o, ancor più semplicemente, usando l'acronimo iniziale HOTP.

In alternativa, l'HOTP è detta anche autenticazione basata su eventi o su contatore; l'evento in questione è il tentativo di verifica. A differenza delle TOTP, che si aggiornano a intervalli di tempo specifici, le HOTP vengono rinnovate ogni volta che si accede all'account. Di conseguenza, quando si effettua un accesso, il contatore avanza per verificare che sia stata utilizzata una password e viene creato un nuovo codice.

I token HOTP possono anche essere aggiornati manualmente: ad esempio, se utilizzi un codice basato su un contatore sull'app Google Authenticator, puoi toccare il pulsante Aggiorna e ricevere un nuovo codice. Si tratta di una funzionalità utile in caso di attacchi informatici: se un malintenzionato fosse riuscito a mettere le mani su una HOTP, la vittima può aggiornarla manualmente, annullando così la validità del codice violato.

Negli ultimi anni la popolarità delle HOTP è lentamente declinata rispetto a quella delle password monouso a tempo, a causa di problemi di sicurezza. Sebbene entrambe le tipologie vengano utilizzate come misure di autenticazione MFA, alcune istituzioni hanno iniziato ad abbandonare progressivamente le HOTP a favore delle TOTP. Esaminiamo le cause di questa evoluzione e quali sono le differenze generali tra i due tipi di OTP.

Confronto tra HOTP e TOTP: differenze e vantaggi

In termini di protezione, sia le HOTP che le TOTP sono opzioni robuste; gli utenti potrebbero tuttavia preferire le une rispetto alle altre per diversi motivi, sia a causa dell'innovazione tecnica che di preferenze personali.

Le HOTP vennero lanciate per la prima volta nel 2005, seguite pochi anni dopo dalle TOTP nel 2008. Dal punto di vista cronologico, ciò rende il metodo TOTP il passo successivo nell'evoluzione delle OTP. Ciononostante, entrambi i tipi di password monouso vengono tuttora impiegati.

In generale l'autenticazione TOTP è considerata più sicura rispetto alla HOTP, a causa della variabile temporale. Come si può facilmente intuire, per i malintenzionati è più difficile acquisire dei codici di sicurezza quando si aggiornano in rapida sequenza, mentre al contrario una HOTP può rimanere inutilizzata per settimane (o addirittura mesi) tra un'autorizzazione di accesso e l'altra. Questo è senz'altro un aspetto da tenere in considerazione quando si pianificano strategie per impedire potenziali violazioni di dati.

Spesso la verifica di un tentativo di accesso è una questione in cui il tempismo è tutto, perciò il metodo TOTP può risultare ostico in caso di dispositivi lenti o problemi di connettività. Se l'app a cui stai cercando di accedere dovesse bloccarsi, o si verificasse un'improvvisa interruzione della connessione internet, dovrai affrettarti a inserire il codice o attendere che ne venga generato uno nuovo. Può essere un'esperienza snervante, soprattutto quando gli intervalli di reimpostazione sono brevi.

Anche l'accessibilità è un fattore da non trascurare. La velocità di aggiornamento delle TOTP è predefinita e, di solito, gli utenti non hanno la possibilità di modificarla: ciò rende le password a tempo meno accessibili alle persone con difficoltà motorie o cognitive. In questi casi le password HOTP rappresentano una soluzione più consona, poiché l'utente ha più tempo per inserire il codice prima che venga reimpostato.

Fermo restando quanto detto sinora, anche per le HOTP possono verificarsi dei problemi di validità. Ad esempio, se si continua ad aggiornare l'app di autenticazione, il contatore potrebbe andare incontro a un malfunzionamento e generare un codice che non verrà considerato valido; questo potrebbe impedire l'accesso a un account per qualche tempo.

Ecco una panoramica delle principali differenze tra HOTP e TOTP:

HOTPTOTP
Si resetta dopo ogni utilizzo (basato su contatore)Si resetta a intervalli di tempo prefissati (basato sul tempo)
Più vulnerabile nei confronti degli attacchiPiù resistente nei confronti degli attacchi
Più accessibile per gli utentiPiù difficile da usare

Nonostante siano poche, le differenze tra i due tipi di password monouso sono piuttosto significative. Come si può notare, sebbene le TOTP rappresentino per certi aspetti una versione evoluta delle password monouso, non si tratta della scelta migliore in assoluto: in base alle proprie esigenze personali, in alcuni casi le HOTP potrebbero essere la soluzione più indicata.

Cosa sono i bot OTP e come evitarli?

Proprio come avviene per molte altre misure di sicurezza, anche le password monouso sono nel mirino di malintenzionati che cercano sempre nuovi modi per eluderle e violarle. Considerando il fattore tempo e il numero pressoché infinito di potenziali combinazioni di password, le capacità umane da sole non sono in grado di bypassare gli algoritmi delle OTP: questo ha portato allo sviluppo di bot OTP.

I bot OTP sono programmi automatizzati che gli hacker usano per ricavare le password monouso e scardinare le difese di autenticazione a più fattori. I criminali informatici utilizzano spesso i bot OTP in combinazione con strategie di ingegneria sociale, facendo molto affidamento sul fattore di errore umano per avere successo.

Un hacker può, ad esempio, sfruttare un sito web di phishing per indurre la vittima a rivelare inavvertitamente le proprie credenziali di accesso; questi dati vengono poi inoltrati al bot OTP, che contatta la vittima e la persuade a condividere la sua password monouso. A quel punto, il criminale informatico può sfruttare le informazioni carpite per accedere all'account prima della vittima stessa e arrecare così ogni genere di danno.

I bot OTP tendono a essere più efficaci nel caso degli utenti che ricevono i codici univoci tramite messaggi di testo. Negli ultimi anni, quindi, l'autenticazione a più fattori basata su SMS è stata progressivamente abbandonata da numerosi enti e aziende in tutto il mondo: ad esempio, l'agenzia governativa statunitense National Institute of Standards and Technology (NIST) ha raccomandato di dismettere l'autenticazione tramite SMS già nel 2016.

Dal punto di vista degli attacchi informatici, il metodo HOTP è più vulnerabile rispetto al TOTP. Se una vittima viene indotta con l'inganno a rivelare un codice, e non lo usa lei stessa per accedere, agli hacker viene data la possibilità di assumere il controllo dell'account. Con le password TOTP è invece più difficile mettere a segno un attacco in un intervallo di tempo limitato e ciò, di fatto, le rende più robuste. È inoltre improbabile che una password TOTP scaduta torni a essere valida in futuro, per via dell'enorme numero di possibili combinazioni alfanumeriche.

Poiché solitamente i bot OTP vengono usati in attacchi di phishing, il modo più efficace per non caderne vittima consiste nell'osservare le misure standard di prevenzione dell'ingegneria sociale: ad esempio, non cliccare su link sospetti e non rivelare le credenziali di accesso a soggetti sconosciuti. Occorre inoltre fare in modo che il dispositivo utilizzato per acquisire i codici OTP sia sicuro; se si utilizza un software e si perde il dispositivo, di solito è possibile bloccarlo e cancellarne i contenuti da remoto.

Dal momento che sono disponibili le TOTP, le password statiche continuano ad avere importanza?

È lecito porsi questa domanda: visto che i codici TOTP rappresentano un così robusto livello di sicurezza, le comuni password di tipo statico sono ancora rilevanti? Certo che sì!

Le password monouso sono senza dubbio efficaci, ma non sono inviolabili e funzionano meglio come livello di sicurezza supplementare. Fare in modo che la prima linea di difesa di un account – ovvero la password – sia robusta continua a essere più importante che mai.

NordPass Business può aiutarti a difenderti dagli attacchi e proteggere i tuoi account. Offre una cassaforte crittografata per le credenziali, che rappresenta una soluzione completa per custodire tutti i tuoi dati sensibili, come password, dati bancari e molto altro. Per introdurre un ulteriore livello di sicurezza, puoi abilitare l'autenticazione a più fattori. L'autenticazione MFA di NordPass supporta codici di backup, chiavi di sicurezza e app di autenticazione, tra cui Google Authenticator e Authy.

Iscriviti alla newsletter di NordPass

Ricevi le ultime notizie e i suggerimenti di NordPass direttamente nella tua casella di posta.