Sarà anche giusto criticare l’utente medio perché le password che sceglie non sono mai troppo complesse altrimenti farebbe fatica a ricordarle, ma la cronaca ci insegna che di questi tempi il rischio più grande che corriamo è che le nostre password – sicure o non sicure – siano rubate dai criminali informatici che violano le reti delle aziende che ci forniscono servizi. Per questo sta prendendo piede l’autenticazione a due fattori che richiede, oltre alla passsword, un secondo codice che si può usare solo una volta o che scade dopo un certo tempo.
Il tema dell’autenticazione a due fattori viene approfondito ampiamente nel numero di settembre di Applicando, qui descriviamo il funzionamento di Google Authenticator, l’app probabilmente più diffusa per avere con sé e generare automaticamente i codici per questa forma potenziata di autenticazione ai servizi online: dalla posta di Gmail all’ecommerce di Amazon.
Cos’è l’Authenticator
Google Authenticator è un’app da scaricare sul proprio dispositivo iOS, idealmente l’iPhone. Il suo funzionamento, dal punto di vista dell’utente, è quasi banale: per ogni servizio a cui lo associamo mostra un codice numerico di sei cifre che scade ogni trentina di secondi. Quando accediamo a un account protetto da Authenticator, ci viene prima chiesta la solita coppia username-password e poi appunto un codice numerico.
A quel punto lanciamo l’app e digitiamo il codice che viene visualizzato sul display dall’Authenticator. Quando mancano pochi secondi allo scadere della sua validità il codice diventa rosso, segno che probabilmente vale la pena aspettare quello successivo. Se digitiamo il codice proprio mentre sta scadendo, c’è il rischio che l’autenticazione ci venga rifiutata.
Perché l’Authenticator è sicuro
Molti siti prevedono l’autenticazione a due fattori e possono usare il Google Authenticator come generatore di codici. Ad esempio lo fanno Facebook, Microsoft per gli account collegati a Office 365 od Outlook, PayPal, Amazon, Dropbox, WordPress ed Evernote. Ma come fa questo sistema a essere così trasversale e allo stesso tempo personale?
Quando si associa l’Authenticator a un servizio, prima o poi si deve inquadrare con l’app un codice a barre bidimensionale. In questo modo il server di autenticazione del servizio stesso e l’app si scambiano una chiave che è unica e resta segreta per tutti, noi compresi. Usando come “basi” questa chiave e l’ora del giorno, o per meglio dire l’istante, l’Authenticator genera continuamente codici di accesso che valgono solo per noi.
Lato server il controllo del codice di accesso è semplice: anche il sistema di autenticazione può fare gli stessi calcoli e a partire dal momento del giorno e dalla nostra chiave personale genera il codice di autenticazione valido in quell’istante. Se è uguale a quello che Google Authenticator ci ha fornito, il gioco è fatto.