Standard Smart Card: Che cosa significano tutti gli standard?
Con così tanti standard esistenti in relazione alle Smart Card è importante comprendere il loro significato e la loro modalità di interesse. In questo articolo forniamo una panoramica di alcuni standard principali e del ruolo che giocano nell'eco-sistema delle Smart Card.
Ciascuno standard discusso in questo articolo definisce un aspetto chiave del comportamento o della funzionalità di una Smart Card. Questi standard fondamentali sono al cuore della maggior parte delle principali Smart Card sul mercato oggi.
Gli standard discussi in questo articolo sono:
ISO 7816
Uno degli standard più importanti per le Smart Card, ISO 7816 è uno standard fondamentale a sostegno di molte Smart Card disponibili oggi. Molte altre tecnologie di Smart Card fanno riferimento a parti di ISO 7816 per aspetti riguardanti la loro funzionalità.
ISO 7816 si compone di 15 parti, ciascuna delle quali definisce un aspetto diverso della capacità di livello della carta. Non descriveremo tutte le 15 parti qui ma due aspetti cruciali definiti dallo standard sono (1) l'interfaccia elettrica con la carta mediante i contatti e (2) il protocollo di comunicazione tra un lettore di Smart Card (chiamato dispositivo di interfaccia nello standard) e una Smart Card.
ISO 7816 è stato in origine scritto per le carte con i contatti elettrici esposti sulla superficie della carta (“carte con contatto”). Lo standard descrive i segnali e i protocolli di trasmissione dell'interfaccia elettrica per le carte con contatto. Queste informazioni sono utilizzate dai produttori di hardware che realizzano i lettori di carte che hanno bisogno di conoscere come comunicare con una carta al livello I/O più basso. Le Smart Card contactless sono definite da uno standard separato, lo standard ISO 14443, trattato di seguito.
Il protocollo di comunicazione definito da ISO 7816 si compone di una serie di comandi che possono essere utilizzati per controllare e gestire una Smart Card e anche la struttura dei carichi utili di comando/risposta scambiati tra un lettore di Smart Card e una Smart Card, l'Application Protocol Data Unit (APDU).
Le APDU si presentano in due forme, APDU di comando e APDU di risposta. Le APDU di comando sono inviate da un lettore di carte a una carta e contengono il codice di istruzione, i parametri e i dati. Le APDU di risposta sono inviate da una carta di nuovo al lettore di carte e contengono i dati di risposta e il codice di stato.
ISO 14443
ISO 14443 definisce il funzionamento delle Smart Card contactless o carte di prossimità, cioè le carte che hanno un'antenna di frequenza (RF) integrata. Lo standard descrive il protocollo di comunicazione wireless utilizzato al livello del link tra una carta e un lettore di carte che funziona a 13.56 MHz (RFID HF).
Le carte di prossimità ISO 14443 sono alimentate attraverso induzione elettromagnetica quando la carta viene portata nel campo RF generato da un lettore di carte. Le carte conformi hanno un intervallo operativo fino a 10 cm ma questo è limitato dalla dimensione dell'antenna nella carta e dalla potenza del segnale del lettore di carte o del terminale, quindi in pratica l'intervallo operativo è spesso entro 1 cm.
Cosa importante, ISO 14443 non definisce il protocollo di comunicazione di livello superiore (la serie di comandi) utilizzato dalle applicazioni. Molte carte conformi a ISO 14443 utilizzano la serie di comandi definita in ISO 7816-4 ma alcune, come le MiFARE DESFire, utilizzano la propria serie.
NFC
NFC, cioè Near Field Communication, è una serie di protocolli di comunicazione wireless con portata chiusa che consente a due dispositivi di comunicare tra loro e scambiare dati. NFC incorpora diversi standard tra cui ISO 14443 (vedi sopra).
NFC definisce due modalità di comunicazione, attiva e passiva. In modalità passiva un dispositivo alimentato come un lettore di Smart Card genera un campo RF che alimenta il destinatario, una Smart Card, per esempio. La modalità attiva consente a due dispositivi NFC di comunicare peer-to-peer.
NFC definisce tre modalità di funzionamento come segue:
- Lettore/Dispositivo di scrittura - In questa modalità il dispositivo con abilitazione NFC può agire come un dispositivo di interfaccia hardware tradizionale che può leggere da e scrivere su Smart Card/Tag contactless (ISO 14443) .
- Emulazione carta - In questa modalità il dispositivo con abilitazione NFC, come uno smartphone, può agire come Smart Card o Tag e diventare destinatario per un altro dispositivo con abilitazione NFC, come un terminale di pagamento con carta. La tecnologia di pagamento mobile come Apple Pay funziona con lo smartphone che opera in questa modalità.
- Peer-to-Peer - In modalità peer-to-peer due dispositivi NFC possono partecipare a una comunicazione a due vie per scambiare dati in modo personalizzato.
PC/SC
PC/SC è una piattaforma multipla API de facto per l'integrazione delle Smart Card in applicazioni desktop. In origine è stata definita per Windows di Microsoft alla fine degli anni '90 e chiamata WinSCard API. È stata trasferita a Linux e Mac dal progetto PCSC Lite.
L'API PC/SC consente a un'applicazione di scoprire i lettori di Smart Card collegati a un computer host e poi di collegarli e comunicare con una Smart Card che è presente nel lettore. L'API non distingue il modo in cui la carta è presente nel lettore così la carta potrebbe essere una carta tradizionale con contatto inserita nel lettore oppure potrebbe essere una carta contactless presente in un lettore di carte contactless.
ISO 7810
Questo standard definisce le caratteristiche fisiche delle carte di identificazione tra cui dimensione, resistenza alla piegatura e durata.
Le dimensioni importanti definite da questo standard includono:
- ID-1 - Una dimensione di 85,60 × 53,98 mm. Questa è utilizzata per la maggior parte delle Smart Card tra cui le carte bancarie (carte di credito, carte di debito, ecc.), carte di viaggio. Si utilizza anche per le patenti di guida in molti Paesi.
- ID-000 - Una dimensione di 25 mm × 15 mm con un angolo tagliato. Questa dimensione si utilizza per le SIM nei telefoni cellulari.
Java Card
Java Card è una tecnologia per le Smart Card che consente alle applicazioni sulla scheda di essere scritte in Java. Le Smart Card Java Card (Java Card) funzionano in un ambiente Java minimo e le applicazioni sulla scheda sono scritte come applet che funzionano su di essa. Le Java Card sono utilizzate comunemente per le applicazioni e-ID (ad es. PKI, carte d'identità), carte di pagamento (carte di credito/debito) e SIM per telefoni cellulari.
Un'applet Java Card solitamente gestisce una serie personalizzata di comandi e può come opzione gestire qualsiasi comando definito in ISO 7816-4.
La Java Card fornisce un ambiente sicuro per memorizzare le informazioni sensibili. Le applet sono isolate le une dalle altre e dal sistema operativo e dall'hardware della scheda sottostante. Le applet Java Card accedono alle funzioni di crittografia di una carta mediante library e runtime della Java Card.
GlobalPlatform
GlobalPlatform è uno standard per la gestione sicura del contenuto di una Smart Card, ad esempio l'installazione e la rimozione di applicazioni sulla/dalla scheda. La gestione è eseguita sui protocolli crittografici che autenticano e assicurano il processo.