Autenticazione a due fattori: che cos'è, perché usarla?

L'autenticazione a due fattori (Two Factor Authentication, 2FA) è un meccanismo molto importante per aumentare la sicurezza sui siti web. Grazie all'autenticazione a due fattori, possiamo proteggere i nostri account (ad esempio quelli che utilizziamo per fare acquisti sui siti e-commerce) e fare in modo di averne accesso esclusivo. In questo post, capiremo che cos'è l'autenticazione a due fattori, come mai è buona norma utilizzarla, e cosa fare per aggiungerla ai siti web che amministriamo.
Cos'è l'autenticazione a due fattori?
Il meccanismo che sta dietro all'autenticazione a due fattori è piuttosto semplice. Per poter effettuare il login su un sito, normalmente utilizziamo uno username e una password. Purtroppo però, se qualcuno riesce a scoprirli, ha la possibilità di accedere ai nostri dati. Questo, alla luce del GDPR, è un problema di sicurezza (data breach) in quanto le informazioni visualizzate potrebbero essere riservate. Per questo motivo, si è deciso di aggiungere a queste credenziali un ulteriore passaggio di sicurezza. Una volta inseriti username e password, ci sarà fornito (attraverso un SMS o una App dello smartphone) un secondo codice da inserire sul sito, per validare il nostro tentativo di accesso. Se il codice è corretto, il login sarà completato. In caso contrario, riceveremo un messaggio di errore e non sarà possibile accedere all'account.
Come possiamo implementarla?
Esistono molti modi per implementare l'autenticazione a due fattori: alcuni più moderni, altri più attempati. Il concetto che li accomuna è però che il codice di sicurezza venga fornito su un canale diverso dal sito web su cui stiamo effettuando il login (ad esempio uno smartphone). Questo è fondamentale, perché anche se il sito è compromesso (l'utente malintenzionato conosce la nostra password), ben difficilmente avrà accesso al nostro smartphone. Come dicevamo, esistono molti modi per implementare l'autenticazione a due fattori. Di seguito ne elenchiamo alcuni:
- Invio SMS: il sito genera un codice numerico casuale (solitamente di 4 o 6 cifre) e lo invia tramite SMS sullo smartphone dell'utente. Questa tecnica ha il vantaggio di essere facile da implementare, ma è piuttosto vecchia e ai giorni nostri non è ritenuta molto sicura. Potrebbe infatti accadere che la SIM sul telefono venga clonata, o che il messaggio SMS venga intercettato. Per maggiori approfondimenti, potete consultare questo articolo.
- Token hardware: si tratta di quei dispositivi che, specialmente in passato, venivano forniti dalle banche per eseguire l'accesso ai conti correnti. Un piccolo dispositivo elettronico (token hardware) genera una password temporanea (One time password, OTP) con una validità limitata (ad esempio 60 secondi). Tale password va inserita sul sito entro il tempo prestabilito. Rispetto al SMS presenta vantaggi di sicurezza, in quanto i token sono molto difficili da clonare, e nulla viene inviato sulla rete in quanto il codice è generato dal dispositivo. Ovviamente, questo comporta un costo oneroso per chi deve fornire il token (la banca), ed è il motivo per cui questi dispositivi sono stati progressivamente dismessi.
- App su smartphone: la tendenza ai giorni nostri è quella di utilizzare app sullo smartphone per generare le password temporanee (OTP). Le app hanno il vantaggio di generare in autonomia i codici (esattamente come i token hardware), con in più il pregio di essere a costo zero per il manutentore. L'unica spesa della banca sarà infatti quella di creare e manutenere la App per generare i codici. L'unico svantaggio è che alcune App, per funzionare, richiedono un'installazione sul nostro smartphone. In caso di furto del dispositivo, sarà quindi necessario effettuare una procedura per disabilitarne il funzionamento, ed installarla nuovamente sul nuovo smartphone.
Google Authenticator: come funziona?
Nel precedente paragrafo abbiamo capito che le App sono la tendenza per l'autenticazione a due fattori. In questo paragrafo, analizzeremo il funzionamento di una delle App disponibili: Google Authenticator. Come prima cosa è necessario installare questa App sul nostro smartphone. La possiamo reperire facilmente su App Store o Apple Store. Una volta installata, sarà necessario aggiungere il nostro sito all'elenco dei siti gestiti. Apriamo la App e dopo aver premuto il bottone di aggiunta, inquadriamo il codice QR generato da questa libreria. Per maggiori informazioni, rivolgetevi al vostro webmaster. Una volta aggiunto il sito, l'applicazione ci fornirà codici OTP con una validità di 30 secondi. Una volta implementato il form sul sito per verificare questi codici, potremo utilizzare la 2FA sul nostro portale. Anche in questo caso, per l'implementazione chiedete consiglio a chi vi ha sviluppato il sito web.
Conclusioni
In questo post abbiamo capito che cos'è l'autenticazione a due fattori e perché è così importante per proteggere la nostra sicurezza. Si tratta di un meccanismo utilizzato sempre più frequentemente sui siti web e che ci consente di accedere ai nostri account in modo protetto. Oltre a Google Authenticator, esistono molte altre App equivalenti (alcune gratuite, altre a pagamento), ma il principio di funzionamento è analogo a quello illustrato.