File system e Set dei comandi APDU di eToken PRO
Il file system di eToken PRO è leggermente diverso da quello di eToken R2, in particolare è più complesso in quanto i file possono avere diverse strutture e vengono introdotti elementi speciali detti oggetti.
File
I tipi di file disponibili nel file system di eToken PRO sono:
DF: Directory file. Contiene altri file e/o oggetti. Ogni DF può contenere un numero illimitato di file, ma solo un determinato numero di oggetti.
MF: Main File. Come nell'eToken R2, MF è la madre di tutte le directory.
EF: Elementary File.
TLV: questo tipo di file mappa i tag in coppie di tipo <lunghezza, valore>.
Gli EF di eToken PRO possono essere di vari tipi:
BINARY file: file non strutturato contenente dati binari.
LINEAR FIXED file: file strutturato in una sequenza lineare di record di taglia fissa; una volta che tutti i record sono stati riempiti, il file è dichiarato pieno.
CYCLIC FIXED file: file strutturato in una sequenza ciclica di record di taglia fissa; quando tutti i record sono stati riempiti, i nuovi dati sovrascrivono record già esistenti.
Le taglie di tutti i file sono fissate al momento della loro creazione e non possono essere cambiate. Anche nel caso del DF vale questa regola, in quanto al momento della creazione di un DF si specifica la taglia del suo corpo in modo da limitare il numero di oggetti creati all'interno di quel DF. I nomi dei file sono degli interi nel range [0x0000 0xffff], comunque alcuni interi sono riservati, e si può fare in modo da assegnare ai DF dei nomi più semplici cioè in forma human-readable.
Oggetti
Come abbiamo accennato in precedenza, gli oggetti sono delle entità
particolari introdotte in eToken PRO. I tipi principali di oggetti sono:
Basic Security (BS) Object;
Security Environment (SE) Object.
I nomi degli oggetti BS o SE, in genere, sono interi nel range [0x01 0xFE]. Nel momento in cui si voglia fare un referenziamento ad un oggetto, è possibile usare il backtraking dal DF corrente fino a salire al MF, oppure cercarlo direttamente sotto il MF. Purtroppo non è possibile ottenere una lista di tutti gli oggetti presenti in un dato DF.
Oggetti BS
In base all'uso che ne viene fatto, si distinguono quattro categorie di oggetti
BS secondo la tabella seguente:
Tipo di Oggetto |
Descrizione |
TEST |
L'unico tipo di oggetto che può agire sullo status di sicurezza di un DF-tree |
AUTH |
Chiavi simmetriche e asimmetriche usate nell'autenticazione |
SM |
Chiavi simmetriche usate nel Secure Messaging |
PSO |
Chiavi simmetriche e asimmetriche usate in crittografia general purpose |
In pratica gli oggetti BS vengono fortemente usati in un contesto puramente crittografico. Di solito, in eToken PRO le chiavi RSA sono oggetti BS di tipo PSO. Le parti private e pubbliche delle chiavi costituiscono ognuna un oggetto BS e possono essere usate indipendentemente l'una dall'altra. Le chiavi possono essere generate on-chip, o importate nel token, ma non possono essere esportate. Anche le chiavi DES sono degli oggetti BS di tipo PSO, però esse non possono né essere generate sulla card, né essere esportate da essa.
Oggetti SE
Un oggetto di SE è caricato prima di qualsiasi attività crittografica
(con un comando di tipo PSO) e costituisce l'ambiente di sicurezza corrente (CSE).
In altri termini, gli oggetti SE specificano quali oggetti BS saranno usati
in una data operazione crittografica. Il CSE viene memorizzato temporaneamente
nella memoria RAM e deve essere sempre presente prima che l'utente si appresti
ad effettuare un comando PSO. Ovviamente, nel momento in cui si resetta la
smartcard, non esiste alcun CSE. Le componenti dei CSE variano secondo il
comando che si sta dando all'eToken secondo la tabella seguente:
Componente del CSE |
Usata nei comandi |
CC |
PSO_CCC, PSO_VCC |
DS |
PSO_CDS, PSO_VDS |
HASH |
PSO_H |
CON |
PSO_DEC, PSO_ENC |
IA |
INTERNAL AUTHENTICATE |
I vari tipi di comandi sono descritti in dettaglio
nell'apposita sezione.