Cos’è l’Answer to reset o ATR

La prima risposta di una Smart Card inserita in un lettore si chiama ATR (Answer to reset). Lo scopo dell'ATR è descrivere i parametri di comunicazione supportati, la natura e lo stato della carta. L'ottenimento di un ATR viene spesso utilizzato come prima indicazione che questa sia operativa, e il suo contenuto viene esaminato come prima prova che sia del tipo appropriato per un determinato utilizzo. Il lettore di Smart Card, il driver del lettore e il sistema operativo utilizzeranno questi parametri per stabilire una comunicazione con la scheda.

L'ATR è descritto dallo standard ISO/IEC 7816-3. I primi byte dell'ATR descrivono i parametri elettrici, seguiti da byte che descrivono le interfacce di comunicazione disponibili e i rispettivi parametri. Questi byte di interfaccia sono quindi seguiti da byte storici che non sono standardizzati e sono utili per trasmettere informazioni proprietarie come il tipo di scheda, la versione del software integrato o lo stato della scheda. Infine questi byte storici sono eventualmente seguiti da un byte di checksum.

Potremmo riassumere che l'ATR contiene "un sacco di dati" che ci dicono vita morte e miracoli della Smart Card. Per esempio, scopriamo di più sull'ATR 3B 8F 80 01 80 4F 0C A0 00 00 03 06 03 00 01 00 00 00 00 6A  utilizzando il tool Smart card ATR parsing sviluppato da Ludovic Rousseau. La figura a seguire mostra le informazioni estratte alcune delle quali:

  • tipo di Smart Card e in questo caso si tratta della MIFARE Classic 1K;
  • produttore della Smart Card e in questo caso NXP;
  • standard tecnologici;
  • protocolli di comunicazione e in questo caso T=0 (orientato al byte, che costituisce l'unità minima di informazione scambiata) e T=1 (orientato al blocco di byte, grazie al quale la velocità di accesso è maggiore), protocollo solitamente utilizzato di default quando disponibile e supportato anche dal lettore.

Figura 11 - Dettagli estratti sull'ATR della Smart Card MIFARE Classic 1K Figura 11 - Dettagli estratti sull'ATR della Smart Card MIFARE Classic 1K

Ludovic Rousseau ha fatto un ottimo lavoro tracciando dal 2002 un gran numero di ATR costruendo un vero e proprio database. Così facendo è possibile identificare una Smart Card dato il suo ATR. All'interno della lista sono presenti anche le "nostrane Smart Card" come la TS-CNS (Tessera Sanitaria - Carta Nazionale Servizi) e CIE (Carta d'Identità Elettronica). È possibile utilizzare il comando pcsc_scan per ottenere informazioni di dettaglio sulla Smart Card, le stesse illustrate in figura 11. La figura 12 mostra l'output del comando menzionato da cui è possibile dedurre che la Smart Card analizzata è una CIE.

Figura 12 - Esempio di output del comando pcsc_scan che mostra le informazioni estratte dalla Smart Card, in questo caso CIE Figura 12 - Esempio di output del comando pcsc_scan che mostra le informazioni estratte dalla Smart Card, in questo caso CIE