One-time password o un OTP è una password valida solo una volta. Gli OTP possono essere utilizzati per migliorare la sicurezza e supportare l’autenticazione forte. Questo articolo spiegherà le basi delle OTP e come possono essere implementate.
Oggi la maggior parte delle reti aziendali richiede solo un nome utente e una password statica per accedere ai dati personali e sensibili. Questo tipo di autenticazione a fattore singolo è molto conveniente, tuttavia, non è molto sicuro nel nostro mondo moderno. La maggior parte delle persone capisce che dovrebbero usare password univoche per ogni account online. Eppure, il 69% di noi usa comunque la stessa password.
Inoltre, il 47% delle persone utilizza una password che ha più di 5 anni e la password più comunemente utilizzata è ‘123456’, utilizzata da uno sbalorditivo 17% delle persone. Cosa c’è di peggio, un eye-irrigazione 95 per cento delle persone condividono fino a 6 Password con i loro amici.
Anche se i tuoi utenti finali sono bravi con le password (usano una password complessa diversa per ogni account online e non le scrivono mai da nessuna parte) possono comunque essere compromessi da malware di keylogging o attacchi man-in-the-middle. Quindi, come proteggi te stesso e i beni più preziosi della tua azienda da una scarsa igiene delle password o da intercettazioni elettroniche? Un modo è quello di utilizzare una ‘one-time password’ – una password usa e getta che è valida solo ‘una volta’.
Che cos’è una password monouso?
Le password monouso sono password valide solo per una sessione di accesso o transazione, fornendo quindi protezione contro vari attacchi basati su password, in particolare gli attacchi di sniffing e replay della password. In genere un OTP è una serie di numeri o caratteri che vengono generati automaticamente.
Affinché questo sistema funzioni, la password deve cambiare ogni volta che viene utilizzata, ma deve anche esserci una sorta di sincronizzazione tra la password in continua evoluzione, il sistema informatico o l’applicazione in uso e l’utente finale. Questa sincronizzazione deve anche avvenire senza trasmettere dati tramite metodi non sicuri come la posta elettronica.
Come vengono sincronizzate le password monouso?
Le password monouso possono essere generate in diversi modi e ognuna ha dei compromessi in termini di sicurezza, convenienza e costi.
Sincronizzazione dell’ora
Un approccio per generare password monouso consiste nell’utilizzare la sincronizzazione dell’ora. Ogni utente ha un token personale (che potrebbe apparire come una piccola calcolatrice o un portachiavi) con un display che mostra un numero che cambia di tanto in tanto. All’interno del token personale è un orologio che è stato sincronizzato con l’orologio sul server di autenticazione proprietario. Il dispositivo e il server delle applicazioni generano entrambi nuovi OTP in base a una versione numerica dell’ora corrente.
Le password sincronizzate in tempo non devono sempre essere una corrispondenza perfetta e in genere c’è una finestra in cui verranno accettate password più vecchie o più recenti. Questo viene fatto semplicemente perché ci vuole un po ‘ di tempo per leggere e inserire l’OTP, quindi, ad esempio, sarebbe insolito che una password cambi ogni secondo, poiché l’utente finale non avrebbe abbastanza tempo per inserire la password prima che diventi non valida.
La password stessa è solitamente un hash dell’ora corrente, ad esempio 16.43 diventa 1643, che viene quindi eseguito attraverso un generatore di codice e un processo matematico chiamato funzione hash (o codice hash) per generare un codice univoco di 10 cifre, che è la password monouso.
Il tempo è, quindi, una parte importante dell’algoritmo delle password, poiché la generazione di nuove password si basa sull ‘”ora corrente”. Se gli orologi si allontanano troppo dal passo, il token non genererà password corrette e dovrà essere ripristinato. Per evitare il problema dei diversi fusi orari, è possibile utilizzare un timestamp Unix, che è un tempo universale coordinato.
Lock-step
Il secondo metodo coinvolge il sistema informatico e il token che inizia con lo stesso numero condiviso (chiamato seed). Ogni volta che viene generata una nuova password, il dispositivo token incrementa il proprio contatore interno e ogni volta che si accede effettivamente, il server aumenta anche il suo contatore.
È possibile uscire dal passo generando password che non vengono utilizzate, con il risultato che il contatore nel token avanza più del contatore sul server delle applicazioni. Tuttavia, la tolleranza viene solitamente creata in modo che le cose possano essere un po ‘ fuori sincrono e il server (di solito) si ri-sincronizza automaticamente nel caso in cui diventi fuori fase.
Questa tecnica OTP è chiamata lock-step o counter synchronization, e sebbene l’hardware proprietario sia ancora richiesto, non soffre dello svantaggio di dover mantenere gli orologi in tempo.
OTP basato sulla trasmissione
Il terzo approccio è completamente diverso. Invece di due dispositivi che sono responsabili in modo indipendente delle proprie password (che vengono poi confrontate per la validità), le password vengono generate casualmente dal server di autenticazione. Poiché questa password è completamente casuale, non è possibile che un dispositivo token rimanga automaticamente al passo, pertanto l’OTP deve essere attivamente comunicato all’utente finale.
Questi tipi di password usa e getta sono spesso indicati come “SMS-OTP” in quanto sono più comunemente inviati tramite SMS, ma possono anche essere generati da un’app o da un dispositivo elettronico portatile (chiamato token di sicurezza) o in alcuni casi possono anche essere stampati e inviati per posta. Quando si desidera autenticare, il sistema invia la password a voi e si utilizza la password per accedere. Uno degli enormi vantaggi di questo metodo è che elimina la necessità di fornire e mantenere hardware proprietario.
Come vengono trasmesse le password monouso?
One-time password possono essere comunicati agli utenti finali in diversi modi e ognuno ha compromessi in termini di sicurezza, convenienza, e costi.
One-time password via SMS
Questo metodo richiede un servizio SMS affidabile e di alta qualità. Una volta che l’utente completa il nome utente e la password corretti durante l’accesso, viene attivato un messaggio di testo con un OTP, che viene inviato al numero di cellulare registrato nell’account dell’utente. L’utente completa quindi il processo di autenticazione inserendo il codice visualizzato nel messaggio SMS nella schermata di accesso dell’applicazione. Gli utenti finali sono di solito consentito un certo periodo di tempo prima della scadenza della password.
One-time password via Voice
Un’alternativa agli SMS è Voice, che utilizza un telefono fisso o cellulare esistente per ricevere una password parlata come una telefonata sul numero fisso o mobile dell’utente. I vantaggi di questo metodo sono che le password non vengono memorizzate sul telefono dell’utente, in più consente di raggiungere gli utenti con una vista limitata. Tuttavia, c’è un costo per utilizzo associato a questa soluzione e richiede un numero fisso o mobile già stabilito per funzionare.
Le password sono anche limitate a stringhe di caratteri brevi altrimenti il trasferimento della password dalla chiamata alla schermata di accesso diventa difficile per l’utente o richiede più tentativi per ottenere una corrispondenza.
One-time password via e-mail
Se un account e-mail è registrato insieme a un account utente, le one time password possono essere inviate a un indirizzo e-mail per l’autenticazione durante il login. La consegna delle e-mail per le password una tantum è un’opzione economica, tuttavia, la sicurezza e l’usabilità possono essere sacrificate. E-mail non era destinato ad essere il centro della nostra vita digitale nel modo in cui è ora, quindi non è stato progettato con qualsiasi sicurezza o privacy in mente.
Il 91% di tutti gli attacchi informatici inizia con la posta elettronica ed è il metodo meno sicuro per l’autenticazione a due fattori. Dipende anche dagli utenti che hanno accesso coerente a un account di posta elettronica. Gli utenti possono anche incorrere in richieste di reimpostazione della password e timeout mentre cercano di accedere al proprio account di posta elettronica al fine di ottenere l’accesso al OTP.
One-time password via posta
Un sistema basato sulla posta funziona essenzialmente allo stesso modo di altri sistemi di messaggistica, ma la password richiede più tempo per essere comunicata all’utente finale. La validità della password è quindi estesa per consentire ritardi nel transito. Alcune banche invieranno lunghi elenchi stampati di password una tantum (chiamati numeri di autenticazione delle transazioni o TAN), alle organizzazioni da utilizzare nel business banking. La banca ha un elenco corrispondente di password memorizzate sul suo sistema informatico e le password devono essere utilizzati in sequenza per garantire una corrispondenza.
Le liste e le griglie numeriche offrono soluzioni economiche per OTP, ma sono lente e non molto user-friendly. L’utente deve mantenere un elenco di password che spesso deve essere utilizzato in sequenza, inoltre se il tuo elenco di password viene copiato o cade nelle mani sbagliate, qualcuno ha tutte le tue password.
Password monouso tramite notifica push
Le password monouso tramite Push sono simili alle password monouso basate su SMS, tuttavia, questa volta la password generata automaticamente viene inviata come notifica push a un’app sul dispositivo dell’utente. Una volta che la notifica push è stata inviata all’app, l’utente copia il codice nella schermata di accesso per verificare la propria identità. La notifica push è la soluzione più economica in quanto utilizza un dispositivo esistente (ad esempio il dispositivo mobile degli utenti) e non sostiene i costi della messaggistica SMS.
È anche una delle soluzioni più sicure, oltre alla sua facilità d’uso. Con i moderni telefoni cellulari, è anche possibile includere un terzo fattore di autenticazione come una scansione biometrica (ad esempio la scansione delle impronte digitali) per garantire una sicurezza davvero stretta. Gli aspetti negativi sono abbastanza minimi troppo-le notifiche push richiedono un app dedicata e l’accesso alle applicazioni è soggetto a perdita di cellulare.
Hybrid one-time password (il meglio dei due mondi)
È possibile combinare i punti di forza di SMS e push messaging e utilizzare un sistema ibrido. La password viene inizialmente inviata tramite notifica push che è veloce e conveniente, ma se l’utente non ha la tua app installata o è offline, la password può essere inviata via SMS. Si potrebbe anche aggiungere una terza opzione di ripiego di avere la password consegnata tramite voce se push e SMS hanno fallito per qualche motivo.
Il tuo metodo di consegna della password predefinito può essere quello che è più efficace nel contenere i costi, ma utilizzando una soluzione ibrida ti assicuri che gli utenti possano sempre accedere alla tua app, il che a sua volta promuove un migliore coinvolgimento delle app.
Un OTP può fornire grande sicurezza e autenticazione forte.
Conclusione
L’utente aziendale medio ha 191 password e digita una media di 8 password diverse al giorno. Il più delle volte, questo si traduce in utenti finali sia utilizzando le stesse password per più account, scrivere le loro password su note post-it o bombardare il vostro helpdesk IT con le richieste di reimpostazione della password-in media, le richieste di reimpostazione della password costituiscono il 10% -30% di tutte le chiamate di helpdesk IT.
L’autenticazione a due fattori è particolarmente importante quando si tratta di proteggere i dati aziendali dalla criminalità informatica e dalle frodi. Il vantaggio più importante affrontato dagli OTP è che, a differenza delle password statiche, non sono vulnerabili agli attacchi di replay.
L’autenticazione a due fattori (sotto forma di password monouso), indurisce un ID utente tradizionale e un sistema di password statiche aggiungendo un’altra credenziale dinamica. Anche se gli utenti utilizzano la stessa (o simile) password per ogni sistema, il sistema è reso meno vulnerabile in quanto è improbabile che entrambi i livelli di sicurezza siano compromessi da un hacker.
C’è anche un terzo fattore disponibile, ad esempio impronte digitali, scansione retina, impronta vocale, riconoscimento facciale, ecc., che possono essere utilizzati per aggiungere un altro livello di sicurezza. È ovvio che più fattori sono necessari per l’autenticazione, più sicuri saranno i tuoi sistemi.
Clicca qui per la nostra guida sulla Strong Customer Authentication (SCA), un requisito per i pagamenti online entro la fine del 2020.
Al ribasso, le password monouso forti sono difficili da memorizzare per gli esseri umani, quindi richiedono una tecnologia aggiuntiva per funzionare. Per i sistemi OTP che si basano sulla sincronizzazione di lock-step o counter, i generatori di password devono far fronte alla situazione in cui un token elettronico non è sincronizzato con il proprio server, il che comporta costi di sviluppo aggiuntivi. I sistemi sincronizzati nel tempo, d’altra parte, evitano questo a scapito di dover mantenere un orologio nei token elettronici (e un valore di offset per tenere conto della deriva dell’orologio).
Le soluzioni più economiche (e migliori) sono quelle che offrono OTP senza i costi associati all’hardware proprietario. Metodi semplici come elenchi generati manualmente o griglie numeriche offrono soluzioni a basso costo, ma sono lenti e difficili da mantenere. Gli utenti sono tenuti a portare un elenco di password in giro e tenere traccia di dove si trovano nella lista.
Inoltre, se l’elenco cade nelle mani sbagliate, qualcuno ha tutte le tue password. Le migliori soluzioni, quindi, utilizzano un dispositivo esistente (ad esempio un telefono cellulare) e forniscono password monouso senza i costi associati alla messaggistica SMS (ad esempio la notifica push).
Clicca qui per leggere i nostri pensieri sulla condivisione delle password (sappiamo che anche tu sei colpevole di questo!)
Per mantenere al sicuro i dati aziendali, è necessario sapere come generare password monouso sicure per l’autenticazione a due fattori o a più fattori. Devi anche sapere come distribuire le password monouso a clienti o dipendenti, in modo che il sistema che hai creato non sia vulnerabile agli attacchi. Parla con un esperto di sicurezza come 10Duke per scoprire come implementare l’autenticazione sicura a due fattori o a più fattori, per proteggere i tuoi dipendenti e le tue applicazioni.