3. Classificazione delle smart card

Per via delle diverse modalità di comunicazione col lettore e le differenti funzionalità incluse, le smart card sono classificate in modi differenti.

3.1. A contatto o senza contatto

Poiché le smart card hanno in esse inclusi dei processori, ne consegue che hanno bisogno di energia per funzionare e di alcuni meccanismi per comunicare, ricevere ed inviare i dati. Alcune smart card hanno placche dorate, ovvero degli insiemi di contatti, in un angolo della scheda. Questo tipo di smart card viene chiamato smart card a contatto (o contact smart card). Le placche sono utilizzate per fornire la necessaria energia e per comunicare attraverso contatti elettrici diretti con il lettore. Quando si inserisce la scheda nel lettore, i contatti di questo si appoggiano alle placche. In base agli standard ISO7816 le connessioni per il PIN sono le seguenti:
      ,----,            ,----,
      | C1 |            | C5 |         C1 : Vcc = 5V      C5 : Gnd
      '----'            '----'         C2 : Reset         C6 : Vpp
      ,----,            ,----,         C3 : Clock         C7 : I/O
      | C2 |            | C6 |         C4 : RFU           C8 : RFU
      '----'            '----'
      ,----,            ,----,
      | C3 |            | C7 |
      '----'            '----'
      ,----,            ,----,
      | C4 |            | C8 |
      '----'            '----'
    

I lettori per le smart card a contatto sono di solito dispositivi separati da collegare alla porta seriale od USB. Esistono tastiere, PC e PDA con inclusi lettori simili a quelli dei telefoni cellulari GSM, anche per mini smart card in stile GSM.

Alcune smart card non hanno connettori sulla propria superficie. La connessione tra il lettore e la scheda viene quindi effettuata via radiofrequenza (RF). Le schede contengono una piccola spira di filo conduttore che viene utilizzata come induttore per fornire energia alla scheda e per comunicare col lettore. Quando la scheda entra nel campo in RF del lettore, una corrente indotta si crea nella spira e viene quindi utilizzata come una sorgente d'energia. Grazie alla modulazione del campo in RF del lettore ed alla corrente indotta nella scheda, la comunicazione ha luogo.

I lettori di smart card di solito si collegano al computer per mezzo della porta seriale od USB. Quando le schede senza contatto (o contactless) non devono essere inserite nel lettore, di solito questo è composto solo da un'interfaccia seriale per il computer e da un'antenna per collegarsi alla scheda. I lettori per smart card senza contatto possono avere o meno un'alloggiamento: la ragione è che alcune smart card possono essere lette fino a 1,5 metri di distanza dal lettore, mentre altre devono essere posizionate a pochi millimetri da esso per poter essere lette con accuratezza.

Esiste un ulteriore tipo di smart card, le schede combinate. Una scheda combinata ha un blocco di contatti per la transazione di dati voluminosi, ad esempio le credenziali PKI, ed una spira in filo per la reciproca autenticazione. Le smart card a contatto vengono utilizzate soprattutto per la sicurezza elettronica, mentre quelle senza contatto vengono utilizzate nei trasporti e/o per l'apertura delle porte.

3.2. Memoria o microprocessore

Le smart card più diffuse e meno costose sono schede a memoria. Questo tipo di smart card contiene una memoria permanente EEPROM (Electrically Erasable Programmable Read-Only Memory). Poiché questa è permanente, quando si rimuove la scheda dal lettore e l'energia viene interrotta la scheda salva i dati. Si può immaginare la struttura di una EEPROM come un normale dispositivo d'immagazzinamento dei dati dotato di file system e gestito con un microcontrollore (di solito ad 8 bit). Questo microcontrollore è responsabile dell'accesso ai file e per -????- l'instaurazione della comunicazione. I dati possono essere bloccati con un PIN (Personal Identification Number), la propria parola chiave. I PIN sono normalmente composti da 3 ad 8 numeri che vengono scritti in un file speciale presente nella scheda. Poiché questo tipo di scheda non consente la crittografia, le schede a memoria vengono utilizzate per contenere credito telefonico, biglietti per il trasporto o denaro elettronico.

Le schede a microprocessore assomigliano molto ai computer che utilizziamo sulla nostre scrivanie. Hanno RAM, ROM e EEPROM con un microprocessore a 8 o 16 bit. Contenuto nella ROM c'è un sistema operativo per gestire il file system presente nella EEPROM e per eseguire le desiderate funzioni nella RAM.
               -----------------
              | microprocessore |
  Lettore <===|  a 8 o 16 bit   |-----+
               -----------------      |
                                      |
                                      |---> RAM
                    SCHEDA            |
              NON CRITTOGRAFICA       |---> ROM
                                      |
                                      +---> EEPROM
    
Come si vede dallo schema qui sopra, tutte le comunicazioni sono effettuate attraverso il microprocessore. Non c'è connessione diretta tra la memoria ed i contatti. Il sistema operativo è responsabile della sicurezza dei dati presenti in memoria perché è lui a controllare le condizioni d'accesso.

               -----------------             --------
              | microprocessore |           | Critto |
  Lettore <===|  a 8 o 16 bit   |-----------| Modulo |
               -----------------     |       --------
                                     |
                                     |---> RAM
                    SCHEDA           |
                CRITTOGRAFICA        |---> ROM
                                     |
                                     +---> EEPROM
   

Con l'aggiunta di un crittomodulo, la nostra smart card può ora gestire i complessi calcoli matematici relativi al PKI. Poiché la frequenza interna dei microcontrolli è compresa tra 3 e 5 MHz, si ha la necessità di aggiungere un componente che acceleri le funzioni crittografiche. Le schede crittografiche sono più costose di quelle non crittografiche, così come le schede a microprocessore lo sono più di quelle a memoria.

La scelta della scheda corretta dipende dalle proprie applicazioni.