Un token (chiamato anche, a seconda dei casi, security token o authentication token, o USB token o cryptographic token) è un dispositivo elettronico utilizzato per facilitare l'accesso a servizi web per cui è richiesta l'autenticazione dell’utente.
A cosa serve il token
Un security token è utilizzato per provare elettronicamente l'identità di una persona, come nel caso di un utente che tenta di accedere al proprio servizio di Internet banking. Il token è utilizzato al posto della password di accesso o in combinazione con essa per avere la certezza che l'utente sia chi dice di essere. Questo dispositivo, quindi, agisce come se fosse una chiave digitale.
Il token può contenere delle chiavi crittografiche, come una firma digitale o dati biometrici (la scansione dell'impronta digitale, ad esempio). Alcuni dispositivi sono dotati di un circuito in grado di generare stringhe alfanumeriche temporanee ed univoche visualizzate da un piccolo display LCD. Stringhe di questo tipo, legate ad esempio a un account bancario, possono essere utilizzate per confermare la propria identità dopo aver inserito le credenziali di accesso. [] Altri token, infine, sono dotati di connettore USB, modulo RFID o Bluetooth per collegare il dispositivo ad un computer e, tramite questo, inviare i codici alfanumerici direttamente al sistema di controllo centrale.
Tipologie di password
I token sono quindi oggetti preposti alla generazione di password in grado di provare l'identità del possessore. Per fare ciò questi dispositivi sono dotati di piccole porzioni di codice capaci di produrre codici di accesso in maniera automatica. I security token si distinguono a seconda della tipologia di password generata.
-
Password statica. Il token contiene un'unica password, cui l'utente non ha accesso né può visualizzarla. Il dispositivo invia la password al sistema di controllo centrale ogniqualvolta ce ne sia bisogno così da verificare l'identità del possessore. Un sistema di questo tipo, però, essendo dotato di una chiave d’accesso sempre uguale a se stessa, è vulnerabile ad attacchi del tipo replay attack
-
Password dinamica sincrona. Grazie all'utilizzo di un timer interno, il token genera nuove password, basandosi su un algoritmo a chiave temporale condiviso con il server di autenticazione, a intervalli di tempo regolari. Affinché il servizio possa funzionare, gli orologi interni del server di controllo e del token devono essere sincronizzati
-
Password asincrona. Una password monouso viene generata, a partire da un algoritmo di cifratura non basato su chiave temporale condiviso con il server di autenticazione, “a comando” dell'utente, utilizzando un pulsante presente sul token
-
Autenticazione a trabocchetto. Utilizzando un sistema di chiavi crittografiche pubbliche, il token presenta all'utente un quesito o una domanda a trabocchetto. Rispondendo correttamente alla domanda l'utente dà prova di essere il proprietario del dispositivo, autorizzando lo scambio di chiavi crittografiche tra token e server di controllo
Disconnected token e Connected token
I security token si distinguono tra loro non solo per la metodologia utilizzata per generare la password ma anche per le modalità di comunicazione con il sistema di controllo centrale. Il token più semplice – ma anche il più diffuso e utilizzato – non ha bisogno di alcuna connessione al computer per funzionare: come detto più volte, la password generata viene mostrata su un piccolo display LCD montato sul dispositivo stesso.
Si parla, in questo caso, di disconnected token (“token disconnessi”). I cosiddetti connected token (“token connessi”), invece, assolvono alle loro funzioni solo una volta connessi ad un computer o un altro dispositivo in grado di metterli in comunicazione diretta con i server di controllo. I connected token più comuni sono smart card e piccole chiavette USB. Da qualche tempo a questa parte, però, si stanno affacciando sul mercato token che utilizzano il jack audio da 3,5 millimetri come canale comunicativo privilegiato. Square, piccolo lettore di carte di credito, ne è un esempio.
Contactless token e mobile token
Oltre alle tipologie appena descritte troviamo anche i cosiddetti contactless token (“token non a contatto”) e i mobile token (“token mobili”). I primi, un sottoinsieme dei connected token, sfruttano tecnologie di comunicazione senza fili come RFID e Bluetooth per collegare in modalità wireless – e non fisicamente – il token al computer.
La sempre maggiore diffusione degli smartphone, infine, ha aperto la strada alla creazione di applicazioni capaci di svolgere le stesse funzioni dei token fisici, generando codici di accesso casuali ad account di varia natura (ne sono un esempio Google Authenticator, il Generatore di Codici di Facebook ed applicazioni di istituti bancari per l'internet banking). In casi come questi si parla di mobile token.