Copyrigtht © 1986 Universita' di Firenze. All rights reserved.
Free license available.
CAFE (Conditional
Access For Europe) è un progetto che si inserisce
all'interno del programma ESPRIT della Comunità Europea.
Il suo obiettivo è quello di sviluppare sistemi innovativi
per accesso condizionato, cioè sistemi digitali che amministrano
alcuni diritti dei propri utenti. Tali diritti possono essere
forme digitali di passaporto, accesso confidenziale a dati, ingresso
in edifici, o, esempio importante, sistemi di pagamento digitali.
Un rilevante aspetto di CAFE è l'alto grado di sicurezza di tutte le parti coinvolte. Questo è garantito senza la necessità che ciascuna parte debba fidarsi delle altre. In CAFE, sia il fornitore di denaro che il singolo utente hanno, per ciò che riguarda la sicurezza, una dipendenza limitata dai dispositivi anti-intrusioni.
Altre caratteristiche, esaminate poi in dettaglio, sono:
Il sistema CAFE è un sistema di pagamento di tipo pre-paid e
off-line. Il sistema base
è fondamentalmente pensato per effettuare pagamenti dal
borsello ad un terminale di un qualsiasi punto vendita. Il beneficiario
del pagamento (cioè il venditore) deve depositare il denaro
elettronico presso un acquirente, prima di poterlo usare per pagamenti
propri.
Eventuali prelievi di denaro elettronico (cioè caricamento
di denaro elettronico dentro il proprio borsello) rappresentano
transazioni on-line. Possono
essere eseguiti da sportelli pubblici tipo ATM o da altri tipi
di terminali base.
Il sistema base CAFE prevede le seguenti caratteristiche addizionali:
Il sistema base CAFE è, sotto molti aspetti, un sistema aperto:
Il progetto CAFE mira a fare della sicurezza il punto di forza del proprio disegno.
Molti sistemi esistenti di pagamento digitale propongono tecniche in cui tutti i partecipanti devono confidare nell'onestà di una singola parte, più precisamente un fornitore di denaro elettronico. Basti pensare agli sportelli ATM (da noi sportelli Bancomat) dove la sicurezza del cliente si basa sulla fiducia nella banca: tutto quello che il cliente sa, la banca sa; dunque, tutto quello che il cliente può fare, un impiegato disonesto della banca può farlo.
È da notare inoltre che il numero di possibili truffatori cresce enormemente quando, oltre agli impiegati della banca, si vadano a considerare tutte quelle istituzioni (e i loro impiegati) che abbiano avuto a che fare con progetto, produzione, installazione e mantenimento delle parti hardware e software del sistema di pagamento.
Per ridurre al massimo il rischio di contestazioni il sistema CAFE propone una soluzione in cui i requisiti di sicurezza di ogni parte sono garantiti senza la necessità di fidarsi di nessun altro. In particolare non è prevista alcuna forma di fiducia reciproca tra parti con conflitto di interessi (come banca e cliente, per esempio).
La sicurezza multi-parte (oltre ad implicazioni dal punto di vista del protocollo, descritto oltre) ha le seguenti implicazioni sul progetto e sul processo produttivo:
Previsto per un utilizzo di massa, il sistema CAFE dovrebbe essere
particolarmente adatto per pagamenti di basso importo (shopping
giornaliero, chiamate telefoniche, utilizzo sui trasporti pubblici).
Al contrario di quello che succederebbe con l'utilizzo di carte
di credito, chi sfrutta il proprio borsello elettronico risulta
non tracciabile: il denaro usato non lo identifica,
né rispetto al venditore né rispetto alla banca.
Inoltre, pagamenti diversi effettuati dallo stesso utente non
sono collegabili, dato che non è possibile sapere, osservando
due monete, se queste sono state spese dallo stesso compratore.
Tuttavia questo non significa che il compratore non possa essere
identificato con altri mezzi, per esempio con un protocollo di
identificazione basato su crittografia.
In particolare, si può fissare un limite superiore per
la somma che può essere spesa senza identificazione. Comunque,
se tutte le misure di sicurezza del protocollo base CAFE vengono
osservate, tale limite può essere piuttosto alto, per esempio
2500 ECU, dato che la sicurezza del fornitore di denaro elettronico
non dipende da questo.
Inoltre, potrebbe essere utile avere un limite più basso
(per esempio 500 ECU) oltre il quale i pagamenti debbano essere
effettuati on-line, pur rimanendo non tracciabili; questo aumenterebbe
la sicurezza del fornitore e non danneggerebbe la riservatezza
dell'operazione.
Inoltre:
Questione molto importante è la seguente: come conciliare la sicurezza del fornitore di denaro elettronico e pagamenti off-line? Dopo tutto, il denaro elettronico è solo una stringa di bit. Dunque, anche se un sistema è sicuro nel senso che gli utenti non possono produrre nuovo denaro, cioè una nuova stringa di bit valida, chiunque abbia visto tale stringa potrà riprodurla nel tentativo di spendere la stessa moneta, anche più di una volta.
Il sistema CAFE propone la seguente soluzione:
Una misura di sicurezza standard che deve essere applicata è la firma digitale. Tale tecnica è indispensabile per sistemi con sicurezza multi-parte.
Senza entrare nei dettagli, è utile ricordare che schemi
di autentifica simmetrica non sono indicati per rimpiazzare la
firma reale (non elettronica), dal momento che non consentono
di risolvere contese fra parti in disaccordo.
È inoltre importante notare che, in un sistema di pagamento,
ogni messaggio con un qualche valore legale deve essere firmato
per acquistare certezza legale. In particolare, il borsello deve
inviare un ordine firmato per prelevare denaro dal fornitore,
e chi riceve pagamenti deve possedere una ricevuta firmata per
depositare denaro.
Inoltre, l'inizializzazione del borsello deve garantire che i
segreti utilizzati per creare la firma non siano noti a nessuna
altra parte.
I dispositivi anti-intrusione che proteggono il fornitore di denaro elettronico dalla doppia spesa dello stesso devono essere installati sul borsello elettronico del compratore: dato che i pagamenti sono off-line, è qui che ogni tentativo di spendere due volte lo stesso denaro può essere scoperto. Comunque, poiché agli utenti non è richiesto di fidarsi di tali dispositivi (anti-intrusione), essi sono aggiunti ai borselli, nei quali è invece riposta piena fiducia.
In CAFE, il guardiano è un chip smartcard dotato di processore per crittografia inserito all'interno del borsello. Il guardiano può essere fissato all'interno del borsello o montato su una smartcard, in modo da poter essere cambiato.
Dal momento che si suppone che il possessore del borsello non si fidi del guardiano che vi è dentro, al guardiano non è consentito di comunicare su iniziativa propria con nessun altro dispositivo: gli è solo permesso di comunicare attraverso il borsello, il quale controlla e modifica a piacere i messaggi che il guardiano invia e riceve.
Il guardiano protegge il fornitore di denaro elettronico, dato che nessuna transazione sarà possibile senza la sua cooperazione. In particolare, nessun pagamento è accettato fino a che il guardiano non abbia dato il proprio assenso, e per ogni unità di denaro elettronico il guardiano dà il proprio assenso una sola volta. Tale assenso è una specie di firma del guardiano, ma tale da non consentire al venditore e al fornitore né di riconoscere quale guardiano l'abbia emesso né di ricavare alcuna informazione sul compratore.
Ogni fornitore di moneta elettronica che operi nel sistema CAFE
si augura, ovviamente, che i guardiani resistano ad ogni tipo
di attacco venga loro portato; tuttavia, l'integrità di
tale dispositivo molto dipende dalle risorse di chi tenta la frode.
Per questo motivo CAFE fornisce un servizio di protezione retroattiva
del fornitore: anche nello sfortunato caso in cui le difese del
guardiano siano superate, l'utente che sfrutta questo guardiano
per spendere più denaro di quanto permesso sarà
identificato, e la sua identità potrà essere provata
(e dunque usata in tribunale).
Tale tipo di protezione aggiuntiva non utilizza ulteriori dispositivi
hardware anti-frode ma utilizza protocolli crittografici.
Tali tipi di sistemi di pagamento dove l'utente onesto ha la propria segretezza, mentre chi spende due volte è identificato, vengono chiamati sistemi di denaro elettronico off-line (electronic off-line coin). Originariamente, erano nati per uno scenario in cui l'utente possedeva solo il borsello, senza guardiano. È naturale che sia così, poiché anche nel nostro scenario abbiamo bisogno di tali protocolli nel momento in cui il guardiano è superato dall'utente disonesto.
Tutti i sistemi di pagamento dove chi paga non è tracciabile si basano su schemi di firma cieca (blind signature). In essi, la firma è un protocollo tra due parti: colui che firma e colui che riceve. Come risultato del protocollo, il destinatario riceve un messaggio con la firma di chi spedisce. Il messaggio, comunque, è sconosciuto al firmatario (perciò cieco), ma questi può essere garantito che tale messaggio ha una certa forma. Implementazioni efficienti della firma cieca esistono per RSA e per lo schema di firma Schnorr.
L'uso tipico della firma cieca nei sistemi di pagamento è il seguente: il denaro elettronico è rappresentato da messaggi di una certa forma, firmati dal fornitore di denaro elettronico. Tali messaggi firmati sono chiamati monete elettroniche (il messaggio firmato è anche chiamato numero di moneta). Come mostrato in Figura 1, durante un prelievo, un dispositivo del fornitore di denaro elettronico opera una firma cieca su un messaggio sconosciuto al fornitore stesso, ma di forma appropriata. Quindi il cliente ottiene una moneta elettronica (e solo una), ma il fornitore non sa a cosa somigli. Dunque, quando il venditore deposita, in seguito, questa moneta (con cui è stato pagato), il fornitore non è in grado di riconoscerla e non potrà risalire a chi l'abbia spesa. Questo rende il pagamento non tracciabile.
Figura 1 - Sistema di pagamento con firma cieca
Per un esempio di utilizzo di firma cieca riferirsi al protocollo Ecash.
Il sistema con firma cieca è tuttavia adatto esclusivamente per pagamenti on-line: garantisce che i clienti non producano nuove monete, ma per garantire che ogni moneta sia spesa una sola volta sarebbe necessario un database centrale delle monete spese.
L'idea per pagamenti off-line è la seguente: l'identità
di chi paga è codificata all'interno del numero di moneta.
Quando una moneta è usata in un pagamento, chi paga deve
divulgare alcune parti della codifica della propria identità
a colui che riceve il pagamento. Se la stessa moneta è
usata in due pagamenti, il pagante avrà divulgato due differenti
parti della codifica. Poiché tale tipo di codifica è
costruita in modo che da due parti di essa si possa risalire all'identità,
mentre una sola parte di essa non fornisce alcuna informazione,
ecco raggiunto l'obiettivo desiderato.
Una semplice versione di tale tecnica è la seguente: l'identità
I è codificata con una chiave P, e la
moneta è formata da due parti. In una contiene l'identità
codificata I+P, nell'altra la sola chiave P.
Ogni parte è ulteriormente nascosta con uno schema di codifica
ad incapsulamento che prevede che nessuno possa trovare due chiavi
tali che lo stesso testo cifrato possa essere decodificato, con
queste due chiavi, come due differenti messaggi. Perciò
il nostro numero di moneta è formato dai due contenitori
C(I+P) e C(P). In un pagamento, chi paga dovrà
"aprirne" uno, e il suo contenuto sarà o solo
I+P o solo P: questi dati non forniscono alcuna
informazione sull'identità dell'utente. È evidente
però che un successivo pagamento renderebbe disponibile
la coppia di dati I+P e P, sufficienti per decodificare
l'identità I.
Al fine di individuare gli utenti disonesti, ogni fornitore di
denaro elettronico deve memorizzare per un certo tempo tutte le
monete depositate e cercare le "coppie".
In molti dei sistemi pre-paid un compratore che perde il proprio
borsello elettronico perde tutto il denaro memorizzato in esso.
Lo stesso accade se il borsello smette di funzionare o viene rubato.
Il sistema CAFE garantisce la restituzione di tale denaro.
L'idea base è quella di tenere copia del denaro dell'utente
da qualche parte al di fuori del borsello. Tale copia non deve
infrangere la privacy del compratore e dunque deve essere o su
una "carta di backup" dell'utente o, in forma crittografata,
presso il fornitore di denaro elettronico.
Se l'utente perde il borsello, si valuta il backup in cooperazione
con l'utente e con il fornitore: il denaro elettronico è
ricostruito, e la parte di esso non ancora spesa è accreditata
sul conto dell'utente. La cifra già spesa si ricava confrontando
il denaro ricostruito con quello depositato.
È da notare che tale tipo di backup non infrange la sicurezza
del fornitore: l'utente non può usare la copia del denaro
elettronico per effettuare pagamenti poiché non esiste
nessun guardiano che dia il proprio assenso ad un tale tipo di
operazione
Esiste un fattore che limita la tolleranza a tali situazioni di emergenza:
Per questo motivo CAFE invita i propri utenti a scegliere propri PIN, e in particolare a scegliere il PIN per il pagamento differente dal PIN per il prelievo.