Suggerisco di NON archiviare il numero di serie.
In genere l'archivio delle credenziali di autenticazione contiene alcune permutazioni di quanto segue:
- l'identificatore dell'utente (es. nome utente)
- l'identificativo del token (es. numero di serie)
- la password dell'utente
L'identificatore di token è combinato con una chiave di seed e il time stamp attuale per calcolare la "chiave" corrente che viene inviata dall'utente insieme al suo nome utente. Se un altro utente ha inviato questa "chiave", non dovrebbe funzionare perché non corrisponde al nome utente e alla password dell'utente vero.
Quando un utente perde o rompe un token, deve segnalarlo tramite il numero di serie, e un nuovo token e un nuovo numero di serie verrebbero emessi. A quel punto, si desidera che gli amministratori siano in grado di identificare facilmente i numeri di serie vecchi e nuovi e rimuovere il vecchio numero di serie. Essendo l'errore umano quello che è, direi che non è difficile determinare il numero di serie, altrimenti diventerà difficile verificare quale voce sia il vecchio token e quale sia il nuovo.
Diverse volte, ho dovuto identificare più token detenuti da un determinato utente (lavoro in un sistema di alta sicurezza in cui 1 utente può avere diversi token, ognuno per uno scopo diverso) - essere in grado di cercare il numero di serie sul token nel database è il modo migliore per evitare di bloccare l'account utente con tentativi di password errate. Un numero seriale casuale è MOLTO migliore, in questi casi, piuttosto che mettere un'etichetta sul token che recita "accesso al sistema top secret".
Detto questo, i numeri seriali sono collegati a una funzione di sicurezza e dovrebbero essere trattati con una certa cautela - non dovrebbe essere usato per l'autenticazione e, una volta trasmesso, assicurarsi che gli utenti lo trasmettano in modo sicuro.