Verso una nuova generazione di sistemi basati su smart card
La moderna società dell'informazione offre servizi avanzati attraverso l'impiego di metodologie e tecnologie caratterizzate da una crescente "dependability" (affidabilità). Maggiore è l'affidabilità che questi servizi devono garantire, maggiore è la stabilità imposta ai componenti del sistema, soprattutto nel caso di sistemi critici basati su software, come ad esempio le smart card, gli impianti di segnalazione e controllo ferroviari e gli apparecchi di diagnostica medica. le smart card che utilizziamo nella maggior parte delle transazioni quotidiane sono assimilabili a blocchi che racchiudono e proteggono dati e applicazioni. Queste schede possono offrire diverse funzionalità attraverso nuove applicazioni, sotto forma di codici scaricabili a seguito dell'emissione. Tuttavia, l'esecuzione di tali applicazioni dev'essere effettuata nel modo più sicuro possibile, senza compromettere l'affidabilità e la riservatezza della smart card. I partecipanti al progetto MATISSE hanno utilizzato degli accurati metodi d'ingegneria software su base matematica, o più semplicemente metodi formali, per consentire l'attività di convalida durante l'intero ciclo di sviluppo. Ciò ha permesso non solo di procedere con precisione alla definizione delle specifiche e alla progettazione, ma anche di elaborare tecniche di simulazione e di verifica dei modelli. Questi metodi formali possono consentire di potenziare la sicurezza e l'affidabilità delle smart card, nonché di migliorarne la progettazione. Nello specifico, i partecipanti al progetto hanno sviluppato un verificatore integrato di "byte code" – uno dei componenti di sicurezza più importanti nelle smart card –per una carta Java. Grazie all'impiego dei metodi formali, è stato dimostrato matematicamente che l'implementazione del verificatore è avvenuta in base alle specifiche. Inoltre, la carta è in grado di scaricare nuove applicazioni in modo assolutamente autonomo, senza richiedere il dispiegamento di un'infrastruttura materiale. Grazie a quest'innovativo verificatore, i fornitori di smart card potranno controllare la validità delle applicazioni in modo indipendente, evitando il ricorso ad autorità esterne di certificazione. Nel contempo, il processo di sviluppo offre una maggiore affidabilità, senza aumentare i costi dei piccoli dispositivi con limitazioni di spazio, grazie all'impiego di una macchina virtuale Java per l'integrazione. Il grado di sicurezza raggiunto in questo modo dovrebbe rafforzare la fiducia nelle transazioni mediante smart card e promuovere la diffusione di servizi come il commercio elettronico.