In un’epoca in cui la digitalizzazione ci permette di accedere a una moltitudine di servizi in remoto, i processi di autenticazione e registrazione richiedono un’elevato grado di sicurezza che può essere raggiunto anche grazie i codici OTP.
Qual è il significato di OTP e cos’è un codice OTP?
OTP è l’acronimo di One Time Password.
Tecnicamente, un codice OTP è una stringa di caratteri alfanumerici casuale che viene generata da un sistema di autenticazione per garantire l’accesso a un servizio in modo sicuro. Come suggerisce il nome, è una password usa e getta, che può essere utilizzata soltanto una volta e, in genere, ha una validità limitata nel tempo (TOTP, Time-based One-Time Password).
Quando si usano i codici OTP?
I codici OTP sono parte dei sistemi di autenticazione a più fattori e sono utilizzati in diversi ambiti. Per esempio:
- accesso a servizi della pubblica amministrazione,
- operazioni tramite home banking,
- accesso ai social network,
- registrazione di un nuovi account,
- modifica di impostazioni di sicurezza dei propri account,
- verifica dell’identità,
- e-commerce e acquisti online.
In molti casi, all’utente è richiesto un codice OTP in aggiunta all’inserimento delle proprie credenziali di accesso (username e password).
Come si generano le password usa e getta?
I codici OTP vengono generati utilizzando degli algoritmi di crittografia a chiave condivisa. La chiave condivisa è una stringa di caratteri in uso a entrambe le parti (client e server) per criptare e decriptare i dati.
Nel caso dell’One Time Password, la chiave è generata in maniera casuale al momento dell’azione dell’utente e viene memorizzata sul server.
L’algoritmo di crittografia a chiave condivisa permette di generare un codice OTP in base alla chiave condivisa e alla data corrente. In questo modo, può essere utilizzato solo per l’accesso in quel preciso momento: una volta scaduto il tempo di validità, non è più utilizzabile.
Al di là degli aspetti tecnici, esistono diversi metodi con cui un utente può ottenere un OTP. Alcuni di essi sono:
– app per smartphone: esistono diverse applicazioni, sia per Android che per iOS, che consentono di generare codici;
– token: si tratta di piccoli dispositivi portatili, solitamente in formato chiavetta USB o smart card, capaci di generare password casuali;
– SMS o email: in alcuni casi, il codice può essere inviato via SMS o via email;
– servizi online: alcune aziende forniscono dei servizi online per la generazione degli OTP.
Qualsiasi sia la modalità, è importante che l’utente utilizzi il codice OTP entro un breve lasso di tempo e poi lo cancelli subito, in modo da invalidarlo. In genere, lo stesso sistema di generazione considera la password usa e getta non più valida dopo alcuni secondi.
Quali sono i vantaggi del codice OTP?
Gli OTP nascono con lo scopo di garantire la sicurezza dei processi di autenticazione: essendo password dinamiche, gli hacker non possono né memorizzarle né prevederle. Inoltre, la loro durata limitata lascia ai cybercriminali un margine di tempo troppo ridotto per portare a termine il furto delle credenziali. Nel caso in cui, poi, riuscissero davvero a recuperare l’OTP, non ne trarrebbero alcun vantaggio. Infatti, essendo già stato usato per un accesso o una transazione, il sistema di autenticazione lo riconoscerebbe come non più valido.
Dunque, l’utilizzo di un OTP per l’accesso a servizi sensibili assicura un maggiore livello di sicurezza rispetto alla semplice autenticazione a due fattori, in cui l’utente deve fornire soltanto username e password.
In più, come abbiamo visto, può essere utilizzato per diversi scopi, dall’accesso a servizi online alla verifica dell’identità.
Tutti questi benefici superano di gran lunga i pochi svantaggi dei codici OTP, legati principalmente alla loro gestione. Infatti, la durata limitata di validità può essere un problema in alcuni casi: se si dimentica di salvare il codice OTP o se si ha un’interruzione di connessione durante la digitazione, si rischia di dover generare un nuovo codice.
Cos’è l’autenticazione a più fattori?
Vale la pena terminare questo articolo spendendo due parole sull’autenticazione a più fattori.
Detta anche Multi-Factor Authentication, MFA, è un metodo di autenticazione che richiede all’utente di fornire non solo le proprie credenziali d’accesso ma anche un ulteriore elemento, che può essere un codice OTP o una chiave biometrica (es.: impronta digitale).
In altre parole, l’MFA è un sistema di autenticazione basato su più livelli di sicurezza, che rende più difficile ai cybercriminali ottenere l’accesso a servizi e dati sensibili. Infatti, anche se un hacker dovesse riuscire a ottenere le credenziali d’accesso, non sarebbe in grado di superare l’ulteriore livello di sicurezza rappresentato, per esempio, dall’OTP.
L’utilizzo di una One Time Password, quindi, è un ottimo modo per implementare l’MFA nei propri processi di autenticazione. E qualsiasi sia il metodo scelto per generare i codici, la cosa più importante è prestare sempre massima attenzione alla sicurezza del proprio dispositivo e dei propri dati personali.