Che cos'è un codice rotante su un tag?
Un valore che il chip produce di nuovo a ogni lettura, così che un valore catturato una volta sia già speso quando qualcuno prova a usarlo. Batte la ripetizione, che è l'attacco in cui uno scambio viene registrato e rifatto. Non fa niente contro chi ha il tag in mano.
Che cosa fa
Ogni volta che il tag viene letto, il chip produce un valore che non è mai comparso prima. Il lettore non deve chiedere niente di particolare; il valore semplicemente cambia.
Di solito il valore è combinato con un contatore, così che il lato che riceve possa dire non solo che questa lettura è nuova, ma più o meno quante letture ci sono state.
La conseguenza è che un valore osservato una volta non vale niente dopo, perché presentarlo di nuovo presenta qualcosa di già visto.
Che cosa serve all'altra parte
Qualcosa che ricordi. Un valore rotante significa qualcosa solo per un verificatore che sappia quali valori sono già comparsi, o che possa calcolare quale debba essere il prossimo legittimo.
Questo è un servizio che contiene un segreto e un registro, che è lo stesso requisito di infrastruttura di ogni schema di autenticazione e lo stesso che ogni valutazione sottovaluta.
Un valore rotante letto da qualcosa che non ha memoria è un numero che cambia, e un numero che cambia non è una proprietà di sicurezza.
Che cosa ferma e che cosa no
Ferma la ripetizione: registrare uno scambio e rifarlo più tardi, che è altrimenti l'attacco più economico contro un tag che dice sempre la stessa cosa.
Non ferma chi ha il possesso fisico, perché gli basta leggere di nuovo il tag e ottenere un valore nuovo.
Non dimostra niente sull'articolo a cui il tag è attaccato, per lo stesso motivo per cui nessun meccanismo del chip lo fa.
E non aiuta se il verificatore accetta comunque un valore vecchio, che è una questione di configurazione e non di chip.
Il guasto da prevedere
I contatori derivano. Un tag letto più volte senza contatto con il verificatore avanza oltre quello che il verificatore si aspetta, e un verificatore severo rifiuta allora un tag autentico.
Ogni installazione ci arriva, di solito perché un tag viene provato durante la posa o letto per curiosità prima che il servizio parta.
Quindi il verificatore ha bisogno di una finestra di tolleranza e di un modo definito di rimettersi in pari, deciso prima dell'installazione invece che durante il primo incidente.
Uno schema che non ha risposta per un tag legittimo che non passa verrà spento nella settimana in cui comincia a rifiutare clienti.
Domande frequenti
Un codice rotante impedisce la clonazione?
Impedisce che uno scambio registrato venga rifatto. Non impedisce a qualcuno di prendere il tag e leggerlo di nuovo.
Mi serve un servizio per usarne uno?
Sì. Il valore significa qualcosa solo per un verificatore che ricorda quello che ha visto o che può calcolare quello che viene dopo.
Che cosa succede se il contatore va avanti?
Un verificatore severo rifiuta un tag autentico. Prevedi una finestra di tolleranza e un modo di rimettersi in pari prima di installare.
È la stessa cosa dell'autenticazione?
Ne è una famiglia. L'altra invia una sfida a cui il chip deve rispondere, e non ha bisogno di seguire alcun contatore.