6. ESEMPIO: UN GENERICO SISTEMA DI PAGAMENTO

Europay, MasterCard e Visa hanno lavorato congiuntamente durante il corso degli ultimi anni per sviluppare specifiche che definiscano un insieme di requisiti per assicurare interoperabilità tra smartcards e terminali, indipendentemente dal costruttore della card, da dove essa venga usata e dall'istituto di credito. Le ultime specifiche descrivono i requisiti minimi richiesti ad un ICC e un terminale per poter operare correttamente e in tutta sicurezza. Per un maggiore approfondimento è possibile consultare le specifiche in copia locale o al sito http://www.emvco.com/.

I principi guida per realizzare un tale sistema di pagamento basato su smartcards sono:

Autenticazione statica dei dati
Autenticazione dinamica dei dati
Ciclo di vita per la certificazione di una chiave pubblica del CA
Gestione dei certificati

6.1 Autenticazione statica dei dati

L'autenticazione statica dei dati viene effettuata da un terminale che usa uno schema di firme basato su tecniche di chiave pubblica per confermare la legittimità dei dati statici residenti nella smartcard.
L'autenticazione richiede l'esistenza di un'Autorità di Certificazione (CA), un ente che offre un servizio di verifica dei dati critici di una smartcard. Ogni terminale conforme a queste specifiche contiene un certificato di autenticazione per ogni chiave pubblica associata all'applicazione utilizzata. Nella seguente figura viene mostrato la relazione tra i dati e le chiavi crittografate.


Figura 6.1

 

Ogni card contiene diversi elementi, tra i quali distinguiamo fondamentali:

L'autenticazione statica dei dati utilizza l'algoritmo asimmetrico RSA. La chiave pubblica del distributore (PI) viene certificata con la chiave privata del CA (SCA). Quindi il terminale utilizza la chiave pubblica del CA (PCA) per verificare la validità del certificato rilasciato e la stessa PI per verificare la firma digitale della card.

Per supportare questo tipo di autenticazione, ogni terminale deve essere capace di memorizzare più chiavi pubbliche del CA e associare a ciascuna di essi delle informazioni sulle stesse chiavi in modo tale che il terminale possa, in futuro, supportare algoritmi multipli e permettere semplici passaggi da un algoritmo all'altro.
Ogni terminale deve essere capace di localizzare ogni chiave con relative informazioni grazie a un identificativo RID (Registered Application Provider Identifier) che  viene applicato sull'Indice delle chiavi pubbliche del CA.

6.2 Autenticazione dinamica dei dati

L'autenticazione dinamica dei dati viene effettuata da un terminale che usa uno schema di firme basato su tecniche di chiave pubblica per confermare la legittimità dei dati dinamici residenti nella card e garantire i dati ricevuti dal terminale. Questo esclude la falsificazione di qualsiasi cards.
Anche l'autenticazione dinamica richiede l'esistenza di un CA. Ogni terminale conforme a queste specifiche contiene un certificato di autenticazione per ciascuna chiave pubblica associata a ogni applicazione utilizzata. Nella seguente figura viene mostrato la relazione tra i dati e le chiavi crittografate.

Figura 6.2

Ogni card contiene diversi elementi, tra i quali distinguiamo fondamentali:

La chiave pubblica della card (PIC) viene certificata con la chiave privata del distributore (SI) e la chiave pubblica della distributore (PI) viene certificata con la chiave privata del CA (SCA). Quindi, durante la comunicazione, il terminale usa:

Per supportare l'autenticazione dinamica, ogni ICC deve possedere la propria coppia di chiavi che consistono di una chiave privata per la firma e di una chiave pubblica per la verifica. La chiave pubblica viene conservata sulla ICC in un apposito certificato; più precisamente viene utilizzato uno schema di certificazione a tre strati. Ciascuna chiave pubblica della ICC viene certificata dal suo distributore e la CA certifica l'autenticità della chiave pubblica del distributore. Questo implica che per la verifica della firma di una ICC il terminale deve verificare l'autenticità di due certificati prima di recuperare e autenticare la chiave pubblica dell'ICC che a sua volta è utilizzata per verificare la firma dinamica della stessa ICC.

Affinché sia possibile implementare l'autenticazione dinamica, bisogna che il terminale sia in grado di memorizzare la chiave pubblica del CA per ciascuna applicazione che l'ICC può richiedere e deve poter associare a ciascuna chiave le informazioni indispensabili al suo utilizzo. In questo modo è possibile in futuro supportare più algoritmi e permettere una transizione da un algoritmo all'altro senza compromettere la tecnologia. Dato il RID e la chiave pubblica del CA il terminale deve essere in grado di individuare la chiave e le informazioni corrispondenti.

6.3 Ciclo di vita per la certificazione di una chiave pubblica del CA

Questa sezione definisce principi e politiche che un sistema di pagamento deve utilizzare per poter gestire le Certification Authority Public Keys usate per l'autenticazione statica e dinamica dei dati. Quindi ogni sistema dovrebbe fare riferimento a tali linee guida nell-implementare il proprio set di procedure.

La fase di progettazione richiede una continua revisione e progettazione delle chiavi. La durata, le date di terminazione e le nuove chiavi sono stabilite per scongiurare i rischi dovuti ad attacchi crittoanalitici. Il ciclo di vita della certificazione di una chiave pubblica autorizzata in normali circostanze può essere divisa nelle seguenti fasi:

Progettazione

Generazione

Distribuzione

Impiego

Revoca

6.3.1 Progettazione

Durante la fase di progettazione, il sistema di pagamento investiga sui requisiti per una nuova certificazione di chiave pubblica autorizzata. Questi requisiti sono legati al numero di chiavi richieste ed ai parametri di queste chiavi. Una parte importante della fase di progettazione è rivedere la sicurezza dell'RSA per determinare un tempo approssimativo del ciclo di vita delle nuove chiavi create. Rivedere la sicurezza equivale a selezionare la lunghezza e la scadenza delle date per le nuove chiavi e le potenziali modifiche di queste date.

6.3.2 Generazione

Se il risultato della fase di progettazione richiede l'introduzione di nuove coppie di chiavi di autorizzazione, queste dovranno essere generate dal sistema di pagamento. Più precisamente la certificazione di chiavi di autorizzazione dovrebbe essere generata in modo sicuro utilizzando l'RSA. In conseguenza alla generazione delle chiavi, devono essere mantenute sia la segretezza e l'integrità delle stesse che l'integrità della chiave pubblica e privata.

6.3.3 Distribuzione

Nella fase di distribuzione la CA provvede a distribuire le chiavi ai distributori delle cards e agli acquirenti:

Per prevenire l'introduzione di Certification Authority Public Keys fasulle, le interfacce tra la CA, i distributori e gli acquirenti devono garantire l'integrità della distribuzione delle chiavi.

6.3.4 Utilizzo

La Certification Authority Public Key è utilizzata nei terminali per garantire l'autenticazione statica e dinamica dei dati. La Certification Authority Public Key è utilizzata dal CA per generare gli Issuer Public Key Certificates. Più precisamente avremo il seguente schema:

Figura 6.3

Per prevenire eventuali chiavi fasulle, l'interfaccia tra il distributore e la CA deve garantire l'integrità della trasmissione delle chiavi utilizzate per la certificazione.

6.3.5 Revoca

Quando una coppia di chiavi ha raggiunto la data di scadenza programmata durante la fase di progetto deve essere rimossa dal servizio. Praticamente avremo:

6.4 Compromissione di un certificato

Nel caso in cui si verifica una compromissione di una chiave è necessario accelerare il processo di revoca per quanto riguarda l'autorizzazione delle chiavi. In questo caso abbiamo le seguenti fasi:

Scoperta

Valutazione

Decisione

Revoca

6.4.1 Scoperta

Un compromesso per una coppia di chiavi pubbliche certificate può essere:

La scoperta di una chiave varia dalla consapevolezza di una interruzione fisica del sistema a causa della transazione fraudolenta di un intruso che può mettere a rischio l'intero sistema e i suoi membri oppure dallo sviluppo scientifico di nuove tecniche crittografiche.

6.4.2 Valutazione

La valutazione di una coppia di chiavi compromesse può includere le tecniche, i rischi, le frodi e i più importanti attacchi per il sistema e per i suoi membri. I risultati di una valutazione includeranno la conferma della compromissione, la determinazione delle possibili strade di azione contro i costi e rischi di compromissioni; i risultati della valutazione dovranno condurre a una precisa decisione.

6.4.3 Decisione e Revoca

Basato sui risultati della fase di valutazione, la CA deciderà se la coppia di chiavi sono state compromesse. Nel peggiore dei casi, questa decisione consisterà nella revoca della coppia di chiavi prima delle scadenze delle date. La decisione di revocare una chiave pubblica porterà i membri del sistema a stabilire nuove date di terminazione delle chiavi.