Copyrigtht © 1986 Universita' di Firenze. All rights reserved.
Free license available.
Stabilito che nessuno desidera perdere denaro e tutti richiedono la piena riservatezza dei propri affari di una certa entità, i requisiti di sicurezza dei sistemi di pagamento variano in dipendenza delle loro caratteristiche, come vedremo.
Generalmente, dunque, devono essere soddisfatti uno o più dei seguenti requisiti:
Per un sistema di pagamento, integrità significa che nessuna parte vuole esporsi finanziariamente prima che un pagamento sia esplicitamente autorizzato dalla parte stessa. In più, una parte può richiedere di non ricevere denaro senza il proprio consenso, per esempio per prevenire qualsiasi forma di corruzione.
Tecnicamente questo si ottiene autenticando quei messaggi che causano il trasferimento di denaro (prelievo/pagamento/deposito nei sistemi cash-like, pagamento/compensazione nei sistemi cheque-like).
Esistono diverse possibilità per fare questo:
La parte che verifica avvisa con un messaggio alla parte che autorizza
e richiede che tale parte approvi o rifiuti, fuori linea, l'autorizzazione,
usando un canale sicuro (per esempio la posta ordinaria o il telefono).
Questo è l'approccio corrente per pagamenti con carta di
credito negli ordini postali e telefonici (Mail Order and
Telephon Order: MOTO):
la transazione è eseguita senza firma, cioè chiunque
sia a conoscenza dei dati della carta di credito del compratore
può intraprendere tale tipo di pagamento.
Il compratore deve controllare le operazioni effettuate con la
propria carta di credito ed eventualmente reclamare per ogni transazione
indesiderata presente a suo carico.
Se nessun reclamo perviene entro un certo tempo (solitamente 90
giorni) la transazione si considera approvata (per default).
Tale tecnica presenta l'evidente problema del ritardo causato dalla comunicazione fuori banda. Richiede inoltre molta attenzione da parte di chi autorizza le transazioni: occorre controllare accuratamente gli avvisi di pagamento, specialmente se "approvato" è il valore di default come nei pagamenti con carte di credito.
La parte che verifica richiede che i messaggi che provengono dalla parte che autorizza includano un valore di controllo crittografico, che si basi su un'informazione segreta, nota solo alle parti che verificano e autorizzano; per esempio un Personal Identification Number (PIN) oppure una "passphrase" o in generale un "segreto condiviso".
In crittografia questo sistema è chiamato autenticazione simmetrica e il valore di controllo è detto MAC (Message Authentication Code).
Tutto ciò garantisce protezione dagli estranei, ma un'eventuale
lite tra la parte che autorizza e la parte che verifica sull'origine
di una corretta autentifica di un messaggio non può essere
risolta. Questo significa che, per esempio, un tribunale non sarà
in grado di decidere, basandosi sui messaggi scambiati, se un
pagamento contestato sia stato autenticato dal compratore o da
un impiegato disonesto della banca del compratore.
Inoltre, la condivisione di codici segreti corti (come PIN di
4 o 6 cifre) non fornisce un alto grado di sicurezza.
La probabilità di indovinare un PIN corretto è piuttosto
alta, specialmente nel caso di PIN scelti dall'utente (spesso
correlati alla sua data di nascita, numero telefonico ecc.). Nel
caso peggiore l'aggressore può utilizzare il cosiddetto
"attacco del dizionario":
noto un valore X, funzione deterministica del PIN, tale X viene
sfruttato per cercare il PIN corretto all'interno del set completo
dei possibili PIN.
Dunque tali tipi di segreti condivisi dovrebbero essere usati solo per controllare l'accesso a dispositivi fisici come smartcard o borselli elettronici i quali forniranno l'autorizzazione definitiva basata su meccanismi di crittografia realmente sicuri.
La parte che verifica richiede una firma digitale della parte
che autorizza.
La firma digitale consente di individuare l'origine di un messaggio:
solo il proprietario della chiave segreta può firmare un
messaggio (mentre chiunque conosca la corrispondente chiave pubblica
può verificare la firma. In crittografia si parla in questo
caso di autenticazione asimmetrica).
È così possibile risolvere eventuali contestazioni
nel caso in cui la parte che verifica e quella che autorizza siano
in disaccordo sull'autenticità di un messaggio.
È necessario inoltre assicurare la "freschezza"
di un messaggio autenticato: tale messaggio deve inconfutabilmente
appartenere esclusivamente al contesto attuale (per esempio all'attuale
transazione di pagamento), non deve cioè essere la ripetizione
di un precedente messaggio.
Per questo motivo si aggiungono al messaggio autenticato timbri
temporali, numeri sequenza, "nonce" (nonce
è un valore casuale scelto dalla parte che verifica e spedito
alla parte che autentifica. Poiché i nonce sono imprevedibili
ed usati in un solo contesto, assicurano che il messaggio non
possa essere riusato in transazioni successive).
Il capitolo 4 elenca alcuni esempi di sistemi di pagamento suddivisi secondo la tecnica usata per autorizzare un ordine di trasferimento bancario del compratore.
Le parti coinvolte nelle transazioni (o almeno alcune di esse) possono pretenderne la riservatezza. Questo significa che la conoscenza dell'identità del compratore, dell'identità del venditore, del contenuto dell'acquisto e del suo ammontare, è riservata ai partecipanti alla transazione o solo ad alcuni di essi (per esempio quando vengano richiesti anonimato e non tracciabilità).
Tutte le parti richiedono di poter effettuare o ricevere pagamenti
ogni qualvolta se ne presenti la necessità.
Inoltre le transazioni di denaro devono avvenire completamente
o non avvenire per niente, e mai rimanere in uno stato di indeterminatezza.
Nessun compratore accetterà di perdere denaro a causa di
una "caduta" della rete o per un crash del server del
venditore.
Disponibilità e affidabilità presuppongono dunque che i servizi di rete e tutti i componenti software e hardware siano sufficientemente affidabili.
Abbiamo visto che per garantire transazioni sicure sono necessarie
firme digitali e funzioni di distribuzione di chiavi segrete:
tutte le parti interessate devono avere accesso agli archivi delle
chiavi segrete.
Se i pagamenti devono essere possibili da ogni workstation, l'archivio
di chiavi segrete di un utente deve essere mobile, il che implica
che l'utente sia provvisto di smartcard o di altri simili dispositivi
di sicurezza.