L’OTP è diventato sempre più popolare negli ultimi anni, favorito dalla progressiva adozione di metodi di autenticazione forti, come 2FA ed MFA. Grazie alla facilità d’uso e alla particolare efficacia nel vanificare gli attacchi brute force alle password, il codice temporaneo ha assunto ruolo di primo piano soprattutto a livello aziendale. Ma cosa significa esattamente OTP e come si è evoluto nel tempo?
In questo articolo gli esperti di Cyberment approfondiscono origini, significato, ambiti d’applicazione e vantaggi di questa tecnologia.
OTP: significato e origini
L’OTP, acronimo di One Time Password, è una tecnologia di autenticazione basata sulla generazione di password monouso.
Questi codici vengono utilizzati una sola volta e sono generate in tempo reale dall’OTP token, un dispositivo hardware che può assumere la forma di una:
- chiavetta USB
- token con codici di sicurezza
- app sullo smartphone, tra cui Google Authenticator e Microsoft Authenticator
L’idea di utilizzare una password temporanea e monouso per garantire maggiore sicurezza risale agli anni ’60. In quel periodo, infatti, la CIA cominciò a utilizzare un sistema di autenticazione chiamato “S.A.G.E.” (Semi-Automatic Ground Environment). Questo prevedeva l’utilizzo di carta e penna per generare una password temporanea che veniva poi utilizzata per accedere ai dati sensibili.
Negli anni, il sistema OTP è stato ulteriormente sviluppato e sperimentato da diverse aziende e organizzazioni. Ad esempio, nel 1984, la Banca di Montreal fu la prima organizzazione finanziaria ad utilizzare un sistema di OTP per consentire l’accesso ai propri conti.
Negli anni ’90, grazie all’avvento delle tecnologie digitali, l’OTP ha subito una vera e propria rivoluzione. Le prime soluzioni OTP digitali sono state sviluppate da aziende come RSA Security e Vasco. Queste utilizzavano un algoritmo matematico per generare password monouso basate su un “seme” condiviso tra il sistema di autenticazione e il dispositivo dell’utente.
Oggi, l’OTP è uno dei metodi di autenticazione più utilizzati in tutto il mondo.
Come funziona la One Time Password
Come abbiamo visto l’OTP è un mezzo di autenticazione che genera una password valida solo per un’unica sessione o transazione.
Vediamo come funziona nel concreto:
- Generazione dell’OTP: un server di autenticazione o un dispositivo generatore OTP produce una password casuale o pseudocasuale. La generazione può essere basata su algoritmi come HMAC (HOTP) o su un valore di tempo corrente (TOTP).
- Condivisione del segreto: il server di autenticazione comunica un segreto condiviso all’utente, solitamente durante la fase di registrazione o configurazione del sistema. Questo segreto è utilizzato per generare l’OTP in combinazione con altre informazioni.
- Utilizzo dell’OTP: quando l’utente desidera autenticarsi, accedere a un servizio o completare una transazione, viene richiesto di inserire l’OTP corrente. L’utente può ottenere l’OTP in diversi modi, a seconda dell’implementazione specifica, come un token hardware, un’applicazione mobile o un messaggio SMS.
- Verifica dell’OTP: il server di autenticazione riceve l’OTP inserito dall’utente e verifica la sua validità. La verifica coinvolge la generazione dell’OTP utilizzando il segreto condiviso precedentemente e confrontando il risultato con l’OTP fornito dall’utente.
- Scadenza e non riutilizzo: l’OTP è progettato per essere valido solo per un breve periodo di tempo o per una specifica operazione. Dopo la sua scadenza o utilizzo, diventa inutilizzabile. Questo previene l’accesso non autorizzato nel caso in cui l’OTP venga intercettato o rubato.
L’OTP fornisce un ulteriore livello di sicurezza rispetto alle tradizionali password statiche.
Rimanendo valido solo per un breve periodo o una singola operazione, anche se l’OTP viene compromesso, non può essere riutilizzato per ottenere l’accesso successivamente.
Ciò contribuisce a mitigare gli attacchi di tipo “brute force” e aumenta la sicurezza complessiva del sistema di autenticazione.
Tipologie di OTP
Esistono diversi approcci alla creazione di password monouso, tra cui token hardware, app per smartphone e SMS.
Approfondiamone di seguito le specifiche:
- OTP inviato tramite SMS: in questo caso, l’OTP viene inviato all’utente tramite un messaggio di testo (SMS) sul suo dispositivo mobile. L’utente inserisce l’OTP ricevuta per autenticarsi
- OTP via e-mail: l’OTP viene inviata all’utente tramite un messaggio email. L’utente inserisce l’OTP ricevuta per autenticarsi
- OTP generato con un token hardware: questo tipo di OTP viene generata da un dispositivo fisico come una smart card, una chiavetta USB o un token hardware. L’utente preme un pulsante sul dispositivo per generare l’OTP corrente che viene quindi inserito per l’autenticazione
- OTP generato con un’applicazione mobile: l’utente utilizza un’applicazione mobile, spesso chiamata “authenticator app”, che genera l’OTP basandosi su un segreto condiviso e un algoritmo specifico. L’utente legge l’OTP direttamente dall’applicazione e la inserisce per l’autenticazione
- OTP tramite chiamata telefonica: in questo caso, l’utente riceve l’OTP tramite una chiamata telefonica automatizzata. Un sistema genererà un messaggio vocale che comunica l’OTP all’utente
- OTP generato da un dispositivo hardware dedicato: oltre ai token hardware, esistono dispositivi specifici progettati per generare OTP. Questi dispositivi sono dotati di schermi o display che mostrano l’OTP corrente e possono essere utilizzati per l’autenticazione.
- OTP su carta magnetica: alcune carte di credito o carte prepagate possono avere una funzionalità di OTP integrata. L’utente inserisce la carta in un lettore e l’OTP corrente viene visualizzato sul display della carta.
- OTP generato da un sistema di autenticazione vocale: in questo caso, l’utente riceve un’OTP attraverso un sistema di autenticazione vocale. L’utente recita un codice o una frase specifica, e il sistema genera un’OTP corrispondente a tale input.
- OTP generata tramite applet Java: alcuni dispositivi o smart card supportano applet Java che possono generare OTP. L’applet Java viene eseguito sul dispositivo e genera l’OTP in base a un algoritmo specifico e a un segreto condiviso.
È importante notare che l’implementazione specifica dell’OTP può variare a seconda del sistema o dell’applicazione in uso. Le opzioni sopra menzionate rappresentano alcune delle diverse modalità di generazione dell’OTP utilizzate per l’autenticazione.
Protocolli di Generazione delle password monouso
Il protocollo OATH (Open Authentication) è un’iniziativa aperta e collaborativa che mira a standardizzare gli algoritmi e i protocolli per l’implementazione delle One Time Password e di altre tecnologie di autenticazione.
OATH è stato creato per promuovere l’interoperabilità tra i vari sistemi e prodotti che utilizzano le password monouso come meccanismo di autenticazione.
L’obiettivo principale dell’organizzazione è fornire specifiche tecniche aperte e documenti di riferimento per garantire che i sistemi di autenticazione basati su OTP siano:
- compatibili tra loro
- interoperabili
A tale scopo, l’OATH ha definito diversi algoritmi e protocolli comuni utilizzati per generare e verificare le password one-time.
Tra i più noti possiamo elencare:
- HOTP (HMAC-Based One-Time Password): basato sull’utilizzo di una funzione di hash HMAC per generare l’OTP. È ampiamente utilizzato in applicazioni che richiedono un alto livello di sicurezza, come i servizi bancari online
- TOTP (Time-Based One-Time Password): che impiega un valore di tempo e una funzione di hash HMAC per generare l’OTP. È spesso utilizzato in combinazione con dispositivi mobili e applicazioni di autenticazione
- OCRA (OATH Challenge-Response Algorithm): si tratta di un framework che fornisce un metodo flessibile per l’implementazione di meccanismi di autenticazione challenge-response basati su OTP. È adatto per applicazioni che richiedono una verifica dell’identità più sofisticata.
I protocolli OATH sono stati ampiamente adottati e integrati in numerosi sistemi di autenticazione, sia hardware che software, riuscendo nel tempo a rendere le password monouso sempre più sicure e scalabili.
Pro e contro delle password monouso
Come ogni sistema di sicurezza, anche gli OTP, a fronte di numerosi e innegabili vantaggi, presentano anche qualche lacuna.
Analizziamone, dunque, i principali pro e contro.
Pro
- Sicurezza: l’utilizzo dell’OTP rende l’accesso a un servizio più sicuro in quanto vanifica il furto delle credenziali. Infatti, anche se un hacker dovesse entrare in possesso di username e password, non possedendo l’ulteriore fattore di autenticazione, non potrebbe in alcun caso accedere al sistema
- Facilità di utilizzo: la maggior parte delle tecniche di OTP sono facili da utilizzare, soprattutto quelle che prevedono l’utilizzo di un dispositivo fisico come una chiavetta USB o un’applicazione sullo smartphone
- Flessibilità: l’OTP può essere utilizzato in molti contesti e con molte applicazioni, ad esempio per accedere a un conto bancario online o per autenticarsi su un social network
Contro
- Costi: alcune tecniche di OTP richiedono l’utilizzo di un dispositivo fisico o l’acquisto di una licenza software, il che può comportare immancabili costi
- Dipendenza: l’OTP richiede l’utilizzo di un dispositivo o di un’applicazione, il che significa che l’utente dipende da tale dispositivo per accedere ai propri account
- Complessità: alcune tecniche di OTP richiedono una maggiore competenza tecnica da parte dell’utente, fattore può rappresentare una barriera per i meno esperti
Tuttavia, il fatto che le password one-time rappresentano ad oggi il sistema di autenticazione multi-fattore più diffuso la dice lunga sugli innegabili vantaggi nel contrastare furti di credenziali e altri attacchi informatici alle password.
OTP e autenticazione multi-fattore in azienda
La tecnologia OTP è considerata una soluzione molto efficace per prevenire l’hacking e il furto di dati online. Utilizzando questo sistema, le aziende possono proteggere
- i propri clienti
- i loro dati
- il proprio business
Tra i principali player che offrono soluzioni per la generazione degli OTP, troviamo:
- le già menzionate big-tech Google e Microsoft, rispettivamente sul mercato con Google Authenticator e Microsoft Authenticator
- Duo Security (acquisita da Cisco), la cui piattaforma Duo offre funzionalità di autenticazione multi-fattore, inclusa la generazione di OTP tramite l’applicazione Duo Mobile
- YubiKey, dispositivo hardware che offre funzionalità di autenticazione multi-fattore, inclusa la generazione di OTP. È un’alternativa fisica ai token software e richiede che l’utente fisicamente inserisca la chiave nel dispositivo per generare l’OTP
Queste, e molte altre aziende, offrono una vasta gamma di prodotti e servizi per l’implementazione di soluzioni OTP.
Tanto a livello di singolo utente, che di realtà aziendale, possono scegliere di utilizzare l’OTP per:
- accesso ad account e servizi
- operazioni di online banking
- transazioni online
- accesso remoto alle risorse aziendali
Inoltre, le soluzioni OTP possono essere utilizzate anche per la protezione dei dati dei clienti su piattaforme digitali come siti web e applicazioni.
L’implementazione di soluzioni OTP richiede un investimento iniziale, ma può fornire una sicurezza significativa per i dati e le transazioni delle aziende.
In generale, l’utilizzo di soluzioni OTP è una scelta molto saggia per le aziende che vogliono proteggere i propri dati e le transazioni sui propri canali digitali.
Questa tecnologia può infatti fornire una sicurezza efficace e scalabile per le aziende di ogni dimensione e settore.
Conclusioni
In definitiva, l’OTP è un’ulteriore misura di sicurezza che aumenta la protezione dei dati personali degli utenti.
L’utilizzo dell’OTP si è dimostrato efficace per la prevenzione di attacchi informatici e il furto di identità.
Molte società e organizzazioni sono consapevoli dell’importanza della sicurezza dei dati e raccomandano l’uso dell’OTP per garantire che l’accesso ai dati personali sia controllato e sicuro.
https://cyberment.it/sicurezza-delle-password/otp-caratteristiche-e-vantaggi-password-monouso/