Java card
Le JavaCard sono dei particolari tipi di smart card che presentano una
serie di caratteristiche che le rendono estremamente competitive. Queste
sono:
- Indipendenza dalla piattaforma: un’applicazione
per Java Card (Java Card Applet) può essere utilizzata senza
modifiche su Java Card fornite da costruttori diversi;
- Supporto a più applicazioni: su
una stessa JavaCard possono coesistere diverse Java Card Applet indipendenti
fra loro e selezionabili singolarmente in fase di esecuzione;
- Caricamento di nuove applicazioni dopo la consegna:
dopo che una Java Card è stata consegnata all’utente finale,
è ancora possibile procedere al caricamento di nuove applicazioni
attraverso gli IFD
- Flessibilità: il linguaggio utilizzato
per programmare le JavaCard è un subset del linguaggio Java,
quindi la programmazione può sfruttare il paradigma della programmazione
ad oggetti;
- Compatibilità con gli standard delle SmartCard:
le JavaCard sono compatibili con lo standard ISO 7816.
L'infrastruttura di una JavaCard è descritta dalla seguente
figura.
Figura 1 - infrastruttura Java Card
JCVM
Questo tipo di Virtual Machine ha funzionalità ridotte rispetto
alla Java Virtual Machine disponibili per i PC o le workstation. La JCVM
è, in effetti, solo una porzione della JVM e non è in grado
di eseguire il loading delle classi e la risoluzione dei riferimenti:
lo scopo per cui è progettata è quello di eseguire il bytecode
Java Card e gestire gli oggetti. Per questo motivo i Converter (convertitori
utilizzati per tradurre il bytecode Java compilato su PC in un formato
che ne permetta il caricamento su Java Card) eseguono anche i compiti
di loading delle classi e risoluzione dei riferimenti.
|