Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
RELATORE
Prof. Ernesto DAMIANI
TESI DI LAUREA DI
Paolo Andrea SALA
CORRELATORI
Matr. 764959
Ai miei Genitori,
a Stefania.
II
Indice
Sommario ................................................................................................................... IV
Introduzione ................................................................................................................ V
Capitolo 1
1.1
1.2
1.3
1.4
1.5
1.6
1.7
Capitolo 2
2.1
2.2
2.2.1
2.2.2
2.2.3
2.2.4
2.2.5
HMAC ................................................................................................... 17
2.2.6
2.2.7
2.3
2.3.1
2.3.2
2.3.3
QR Code ................................................................................................ 23
2.3.4
2.3.5
2.4
III
Capitolo 3
3.1
Implementazione ................................................................................... 31
3.1.1
3.1.2
3.1.3
Capitolo 4
Test e Risultati....................................................................................... 41
4.1
4.2
Capitolo 5
Conclusioni ........................................................................................... 47
5.1
5.2
Glossario .................................................................................................................... 54
Indice delle Figure...................................................................................................... 56
Bibliografia ................................................................................................................ 58
Ringraziamenti ........................................................................................................... 59
IV
SOMMARIO
La tecnologia ha influito e continuer sempre pi a farlo, in tutte le attivit
delluomo.
Anche gli strumenti di pagamento sono stati coinvolti in questo processo evolutivo,
infatti hanno preso vita nuove forme e servizi ad essi collegati. Le monete metalliche
sono state affiancate dalla carta moneta, poi sono nati assegni, pagher cambiari,
cambiale tratta e via via bancomat, carte di credito e carte di debito.
Con la nascita dellUnione Europea, le nuove banconote e le monete sono state
realizzate con le pi moderne tecniche anti contraffazione, le carte di debito e di credito
ultimamente sono state dotate di chip, per evitarne la clonazione, i pagamenti on line
hanno svariati servizi di sicurezza, un esempio su tutti PayPal, ma lassegno?
Questo titolo di credito, al contrario di altri, sopravvissuto al trascorrere del tempo
ma, di fatto, non si pressoch rinnovato. Il presente progetto di tesi, nasce dallidea
che anche questo strumento di pagamento debba e possa evolvere, quindi viene spiegato
quale percorso stato scelto per ottenerne un profondo rinnovamento.
Il titolo dellelaborato, sottolinea come lottenimento dello scopo proposto, sia
raggiunto con lapplicazione di una serie di procedure, abbinate alluso di software
dedicati che incorporano tecniche crittografiche.
Si sono previste, per ogni aspetto critico, pi soluzioni e i risultati conseguiti
dimostrano che lapplicazione pratica del progetto efficace e spesso efficiente.
INTRODUZIONE
Il Security Protocol Cheque (SPC), nasce da un'originale idea della societ
Rototype S.p.A. La collaborazione tra l'Universit degli Studi di Milano, nella persona
del Prof. Ernesto Damiani, e la Rototype S.p.A. ha reso possibile lo sviluppo di un
progetto concreto, cui hanno contribuito con il proprio lavoro i tesisti Valerio Coviello,
Michelangelo Formigari e Paolo Sala.
La finalit ricercata quella di rendere l'assegno, bancario e circolare, protetto dalle
principali tipologie di frodi, ricorrendo a moderni strumenti software abbinati a tecniche
crittografiche.
In aggiunta alle caratteristiche di sicurezza, quali autenticit del titolo di credito e
integrit dei dati in esso contenuti, si prevede un servizio opzionale di check amount,
ovvero di conferma della copertura economica dell'assegno.
Si voluto ringiovanire un mezzo di pagamento rimasto immutato per decenni,
con il supporto di moderni strumenti software abbinati a tecniche crittografiche.
Questo restyling, anche grafico, il prodotto di numerosi test e ricerche che hanno
coinvolto non solo i tesisti ma anche professionisti del settore bancario.
Attraverso tre tesi si pienamente esplicitato il Security Protocol Cheque:
allinterno di questa prima esposizione, ci si occupati di studiare e dimostrare quale
fosse la miglior soluzione per ottenere e rappresentare autenticit e integrit degli
elementi statici dell'assegno (lato banca).
La seconda, si occupa di sviluppare unapplicazione (Android) capace di interagire
con lassegno per verificare, non solo il risultato ottenuto nella prima tesi, ma anche per
generare codici utili al controllo della copertura dell'assegno (lato client).
La terza parte, riguarda la gestione del web service durante il collegamento tra
beneficiario dellassegno e la sua banca, tra questultima e la banca del traente.
Infine nel caso venga utilizzato HMAC anche la gestione delle chiavi condivise.
A fronte del moltiplicarsi del numero delle frodi, evolutesi di pari passo con la
tecnologia, si sono studiate e valutate diverse ipotesi che in ultima istanza hanno
decretato ladozione nellassegno di un codice a barre bidimensionale (diversi da quelli
che siamo solitamente abituati a vedere sulla maggior parte dei beni di consumo).
In particolare, vengono presentati i risultati ottenuti con i QR Code e i Data Matrix.
VI
Questi codici conterranno una serie di informazioni predefinite, come per esempio la
codeline ossia: il numero dell'assegno, l'ABI, il CAB, riferite alla banca emittente,
opportunamente sottoposte a procedure crittografiche.
Si sono usati algoritmi di hash della famiglia SHA, chiavi asimmetriche come RSA e
curve ellittiche ECDSA, e si valutata anche limplementazione di HMAC.
Nel momento in cui il titolare di un assegno sicuro dovesse utilizzarlo, il ricevente
dello stesso in una prima fase, senza la necessit della connessione alla rete, pu
usufruire di unapplicazione software, in gergo denominata App, installata su
smartphone dotato di fotocamera, per controllare l'autenticit dell'assegno.
Con un servizio aggiuntivo, e un software dedicato, il progetto SPC prevede inoltre il
rilascio di una serie di codici che, indicati nell'assegno dal titolare, permettono al
beneficiario, di verificare la disponibilit delle somme indicate nel titolo di credito e
volendo, anche di accreditare/addebitare l'importo in questione.
Lo sviluppo del progetto verr presentato in questo elaborato in questa sequenza:
-
VII
Dopo aver delineato le propriet dei codici a barre in genere e dei codici
bidimensionali nello specifico, viene presentata la soluzione grafica scelta per
riassumere le caratteristiche desiderate. Le due tipologie selezionate sono:
QR Code e Data Matrix. Il capitolo termina con un riferimento al processo
legato alla dematerializzazione e ai vantaggi derivanti dalluso di SPC.
Nel Cap 3 viene data ampia descrizione del software Cheque Data Sign
VIII
pi algoritmi (anche se probabilmente si opter per le curve ellittiche ECDSA).
Anche HMAC ha un ottimo riscontro in questo senso, ma la sua adozione
compromette i vantaggi derivanti dalluso della cifratura asimmetrica.
Dal punto di vista grafico, si sono fatti diversi confronti legati allimpiego di
QR Code e Data Matrix. Vengono valutate varie ipotesi, non ultima quella di
separare il testo in chiaro dalla firma, dando vita a due distinti codici
bidimensionali.
Questa soluzione, parte dal presupposto che unapplicazione pratica del progetto
si potrebbe basare sulla definizione, sia di un unico algoritmo di firma, sia di un
sistema di codifica dellelenco delle banche. Questa presunzione snellirebbe il
peso dei dati da cifrare.
progetto Security Protocol Cheque. In funzione delle ricerche, degli studi e dei
test realizzati, si giunge alle considerazioni finali. Il software sicuramente
migliorabile, ma lo scopo quello di produrre unapplicazione che fornisce lo
strumento per concretizzare unidea innovativa.
Sono state anche ipotizzate alcune proposte che potrebbero trovare facile
impiego pratico, in un prossimo futuro.
Capitolo 1
ASSEGNO E SICUREZZA
1.1 L'Assegno tra Passato e Presente
L'assegno bancario (Figura 1.1) uno strumento di pagamento che consente a chi
titolare di un conto corrente bancario, di pagare una somma a un altro soggetto o a se
stessi.
E' un titolo pagabile a vista e il presupposto per la sua emissione l'autorizzazione da
parte
La
della
sua
banca
nascita
la
risale
presenza
alla
fine
di
somme
del
disponibili
XVIII
secolo
sul
a
conto.
Londra.
Se confrontiamo l'immagine sopra con quella della pagina seguente (Figura 1.2)
relativa a un assegno del 1900, ci si rende conto che a distanza di pi di cento anni le
differenze sono minime.
Nella codeline, solitamente sono riassunti alcuni dati del documento come:
il numero dell'assegno, l'ABI e il CAB della banca emittente e altri codici identificativi.
3
La sua adozione maggiormente legata a fattori di automazione nei processi
lavorativi, piuttosto che per ragioni di sicurezza, ma anche questo aspetto comunque
migliorato.
La difficolt per i falsari che volessero ricreare un assegno dal nulla, oltre al
particolare tipo di carta, legata al reperimento dello specifico tipo di inchiostro.
4
inizio al progetto di dematerializzazione degli assegni e di disciplina dell'assegno
elettronico, che affronteremo nel seguito.
A oggi il principale servizio riguardante la validit di un assegno ricevuto in
pagamento offerto da CAI, Centrale d'Allarme Interbancaria, che rappresenta
l'archivio informatizzato degli assegni e delle carte di credito irregolari, istituito presso
la Banca d'Italia.
Attraverso un sito dedicato (Figura 1.3), inserendo la codeline (numero dell'assegno,
ABI e CAB) sono resi pubblici i dati non nominativi degli assegni bancari e postali di
cui stato denunciato il furto o lo smarrimento, nonch di quelli emessi in difetto di
autorizzazione o risultati senza provvista, ovvero non restituiti alle banche e agli uffici
postali dopo la revoca dell'autorizzazione ad emettere assegni.
CAI pubblica anche la lista dei nomi di persone e societ che hanno emesso in
passato assegni non coperti da fondi. Tutti questi valori sono conservati per 10 anni.
Esistono anche societ private, che nel corso del tempo, hanno realizzato delle
proprie banche dati che unite a informazioni di tipo pubblico, come CAI, permettono di
offrire un servizio di garanzia dell'incasso.
In sostanza il loro cliente, tramite telefono, POS, oppure via web, inserisce i dati
dell'assegno e del traente e attende la conferma a procedere nell'accettare il titolo di
credito. Queste societ si assumono il rischio del mancato incasso legato a qualsiasi
problematica. Il servizio vincolato a ogni specifica richiesta dinformazione
dell'assegno e quindi non interviene per il semplice fatto di essere un abbonato.
Ci sono anche servizi che trattano l'assegno come fosse una carta di credito, quindi
attraverso un terminale e un hardware dedicato, ne leggono alcuni valori, inseriscono i
dati del titolare e successivamente alla transazione, rilasciano lo scontrino che deve
essere controfirmato.
L'assegno circolare, d maggiore sicurezza rispetto a quello bancario, poich viene
emesso dallistituto di credito solo se sul conto del richiedente esistono somme di
importo
pari
superiore,
al
momento
del
suo
rilascio.
6
2) Modificazione dell'importo
Il beneficiario potrebbe modificare la cifra, ad esempio aggiungere
uno o pi zeri. E' un'ipotesi abbastanza remota, perch costui si dovrebbe
preoccupare di cambiare anche l'importo scritto in lettere, oltre al fatto che
sarebbe ovvio l'autore della frode.
7
In termini assoluti si tratta di una differenza consistente, circa 100.000 unit.
Sfortunatamente Banca d'Italia suddivide i dati sopra menzionati, solo in 2 macro
categorie, assegni revocati per mancanza di fondi e per mancanza di autorizzazione.
Sarebbe interessate fare un'analisi riferita alle tipologie di frodi, come avviene in
Inghilterra, dove si ha una casistica ripartita nelle seguenti 3 macro classi:
Forged cheque fraud (furto e riutilizzo di assegni originali):
dal 2008 alla fine del 2012 questa categoria diminuita del 21% passando da 17,4 mln a
11,4 mln di sterline.
Fraudulently altered cheque (alterazione di assegni originali):
anche la percentuale di questa frode, nel medesimo periodo, scesa del 5% passando da
16,9 mln a 11,4 mln di sterline.
Counterfeit cheques (contraffazione di assegni originali):
in netta contro tendenza rispetto ai primi due, questo tipo di raggiro incrementato del
57%, passando da 7,6 mln di sterline a 12,3 mln. [2].
Caso 2) Acquista auto e moto in vendita su Internet pagandoli con assegni falsi.
Le vittime si accorgono della truffa solo quando ormai i veicoli sono gi stati rivenduti a
terzi.
Dopo aver raggirato una ottantina di persone nella zona di Ortona e un paio a
Lanciano, nelle scorse settimane, i carabinieri hanno rintracciato e arrestato, a San
Severo (Foggia), il presunto truffatore. La particolarit era che gli incontri avvenivano
sempre di venerd pomeriggio: cos facendo, infatti, dopo aver proceduto al disbrigo
burocratico presso unagenzia specializzata, il venditore doveva attendere il luned
mattina per incassare lassegno. Solo allora scopriva di essere incappato in una truffa
[6].
8
Caso 3) Contattava galleristi e commercianti, dimostrandosi interessato all'acquisto
di un'opera, si ripresentava nel fine settimana e pagava con assegni che risultavano poi
falsi o rubati.
Le truffe addebitate a S.M., 59 anni, arrestato a Misano dai carabinieri del nucleo
Tutela patrimonio culturale di Bologna sono diverse e si sono verificate fra marzo 2012
e febbraio 2013. L'uomo che ora in carcere a Rimini si presentava sotto falso nome; in
alcuni
casi
ha
anche
mostrato
una
carta
d'identit,
anch'essa
rubata.
9
Comunque la banca che ha pagato lassegno ha lobbligo di stornarlo al proprio
cliente. Se ha pagato male (cio a persone non conosciute) in questo caso provveder a
coprire.
Per essere pi precisi, la banca deve anzitutto recepire la sua denuncia all'autorit
giudiziaria la quale provvede al sequestro del titolo impedendone, di fatto, laddebito.
Naturalmente la procedura ha lo scopo di non effettuare il pagamento e di non avere
protesti per questo motivo. Il suo "punto debole" nella "incauta" custodia del titolo.
Lei ha subito il furto del modulo? Se cos dovr accettare il fatto che era responsabile
della custodia dello stesso. Le conseguenze deve valutarle un legale. Saluti. [9].
lesistenza di almeno una banca on line, nella quale uno dei due soggetti, creditore
e debitore, o entrambi, intrattengono un rapporto di conto corrente. I due individui
devono avere lautorizzazione alluso degli assegni, possedere dispositivi
hardware (PC, modem), una connessione alla rete, un software specifico e un
sistema di crittografia.
10
-
Lemittente di questo tipo dassegno, per evitare frodi da parte del ricevente o del
beneficiario finale, cifra il proprio numero di conto sfruttando la chiave pubblica
della banca.
Pur essendo una forma di pagamento sperimentale, una ragione che fa propendere gli
11
Capitolo 2
PROGETTO SECURITY PROTOCOL CHEQUE (SPC)
2.1 Assegno Sicuro: Fase Uno di Tre
Lo scopo del progetto ottenere un assegno con requisiti tali da permettere il
superamento delle frodi esaminate nel capitolo precedente. Lottenimento di questo
risultato passa attraverso varie iterazioni tra le parti in causa, per questa ragione stato
utilizzato il termine protocollo.
La prima fase, esplicitata in questo elaborato, si occupa di studiare come
concretizzare le caratteristiche di autenticit e integrit legate allassegno, e quindi come
riuscire a determinare se il titolo di credito in questione, stato realmente emesso da
una banca. Successivamente, stata realizzata unapplicazione (lato banca) capace di
implementare nellassegno uno strumento che lutente possa agevolmente sfruttare per
verificare queste propriet, e allo stesso tempo, si sono creati i presupposti per il
raggiungimento delle altre fasi del progetto.
12
Negli algoritmi asimmetrici, le chiavi di cifratura e decifratura sono diverse ma
legate tra loro da principi matematici tali, da rendere impossibile calcolarne una,
conoscendo laltra. Un soggetto, titolare di entrambe le chiavi, una definita pubblica,
per comodit indicata con kp, e una definita privata indicata con ks,. pu ottenere un
duplice fine. Rendendo nota la parte pubblica kp a tutti, permette a chiunque la utilizzi,
di inviare testi codificati. Solo il titolare di ks sar in grado di decifrarli.
Utilizzando ks per cifrare un testo, si d origine alla firma digitale.
Questa comunicazione, potr essere letta da tutti gli utenti che possiedono kp, per cui lo
scopo, in questo caso, non quello di celare il contenuto di un messaggio, ma di
dimostrare, come nella tradizionale firma di un documento cartaceo, che questo stato
inviato dal titolare (unico) della chiave privata ks. Solitamente oltre alla firma, si invia
anche la parte in chiaro da cui questa originata, in modo che i destinatari possano
verificarne la corrispondenza e quindi lintegrit.
Si ricorda brevemente che un algoritmo di cifratura (cifrario) robusto se, pur
essendo noti ad un intruso: lalgoritmo utilizzato, una parte del testo in chiaro ed il
corrispondente testo cifrato, impossibile risalire al completo recupero della
pubblicazione
in
chiaro,
ovvero
decifrare
il
messaggio
criptato.
Condizioni necessarie, ma non sufficienti, che un algoritmo deve soddisfare per essere
valido e discretamente robusto sono:
- essere fondato su equazioni matematiche cos complesse da impedire di risolverlo
per mezzo di attacchi esaustivi, analitici, statistici.
- nel caso di algoritmi matematicamente meno complessi, il costo e il tempo
necessari per decrittare un comunicato devono risultare proibitivi, in termini di
passi di computazione richiesti o di memorizzazione di dati necessari.
Inoltre le condizioni suddette devono risultare soddisfatte anche nel caso in cui
lattaccante disponga di un gran numero di elaboratori che possano esser utilizzati per
scopi crittoanalitici.
Di base la forza dellalgoritmo non risiede nella sua segretezza, ma nella difficolt per
un avversario, di risalire alla chiave, che per questo deve essere ben occultata [12].
13
2.2.1
RSA, il pi noto e diffuso schema a chiave pubblica. E stato uno dei primi
algoritmi di questo tipo ad essere inventato, ed attualmente inviolato,
testimonianza di estrema validit.
2.2.2
14
livello di confidenza, n deve essere lungo almeno 300 cifre decimali (corrispondenti a
1024 bit). In campo miliare si usano chiavi di lunghezza superiore a 2048 bit.
Nel progetto si scelto di utilizzare RSA con chiavi a 1024 bit, anche se la
generazione della firma di pari entit il che, come vedremo in seguito, comporta
qualche problema.
RSA computazionalmente impegnativo sia nella fase di cifratura che in quella di
decifratura. Una soluzione a questa criticit potrebbe essere la scelta di un esponente
pubblico col criterio di minimizzare le operazioni per lelevazione a potenza [11].
2.2.3
Lutilizzo di questo schema di firma stato proposto da Scott Vanstone nel 1992, e
nel 2000 diventato standard IEEE (Institute of Electrical and Electronics Engineers).
Si basa sul problema del logaritmo discreto, che in termini informali possiamo definire
in questo modo: dati 3 valori interi a, n, b si desidera definire x tale che: ax = b mod n.
Lincognita x si ottiene attraverso il logab mod n, che rappresenta il logaritmo discreto
di a.
Cos come per lalgoritmo RSA, i parametri in questione, saranno utilizzati per
originare le chiavi pubbliche e private. Questa funzione unottima candidata per la
categoria one-way, ossia quelle funzioni facili da calcolare in un verso, ma
estremamente complicate se invertite. Il compito viene reso ancora pi arduo dalla
dimensione del valore n, e dallessere un numero primo.
Il confronto pi interessante tra RSA e ECDSA riguarda due aspetti: sicurezza e
efficienza. La risoluzione di tali crittosistemi, impone la dimostrazione matematico
formale del problema su cui si basano. In riferimento al problema del logaritmo discreto
su curve ellittiche, per piccole classi di curve ellittiche, questo relativamente semplice,
anche se il miglior algoritmo per la risoluzione del problema richiede tempo pienamente
esponenziale. Il problema del logaritmo discreto modulo p e la fattorizzazione degli
interi, hanno entrambi tempo di risoluzione sub esponenziale [11].
Questo significa che il problema del logaritmo discreto su curve ellittiche oggi
considerato pi difficile sia del problema della fattorizzazione degli interi che del
logaritmo discreto su aritmetica modulare.
Quanto sopra concretamente osservabile nella seguente (Figura 2.1), in cui sono
confrontati i tempi per risolvere RSA o DSA, utilizzando vari moduli (di diverse taglie)
e i migliori algoritmi conosciuti.
15
I valori sono confrontati in MIPS, un anno MIPS, rappresenta il tempo di
computazione di un anno su una macchina capace di eseguire un milione di operazioni
al secondo. Normalmente si accetta come banco di misura ragionevolmente sicuro,
1012 anni MIPS.
Figura 2.1 - Confronto del grado di sicurezza tra gli algoritmi RSA e ECC
1024
bit
di
modulo,
mentre
il
valore
corrispondente
Key size: quanti bit sono richiesti per immagazzinare la coppia di chiavi e altri
parametri di sistema.
Il confronto deve essere fatto tra sistemi con livelli simili di sicurezza (es: 160 bit
ECC, vengono confrontati con 1024 bit di RSA). Per il primo parametro, il risparmio
computazionale in RSA, pu essere ottenuto utilizzando un esponente piccolo (bench
questo potrebbe mettere a rischio la sicurezza) per velocizzare la verifica della firma e la
crittografia.
16
In ECC la generazione della firma e la trasformazione crittografica possono essere
pre-computate. Si possono utilizzare basi particolari per un campo finito F2m, al fine di
ottenere performance migliori rispetto allaritmetica modulare. Luso dellesponente
pubblico piccolo per lRSA, pu fare in modo che la crittografia e la verifica della firma
abbiano un tempo comparabile con il tempo impiegato da ECC.
Sia in riferimento al secondo parametro, key size, sia confrontando la dimensione
delle chiavi e lentit della firma, evidente che ECDSA offre maggiore efficienza
rispetto a RSA.
Unultima ma importante differenza tra le due funzioni la seguente:
RSA un algoritmo deterministico, mentre ECDSA randomizzato, ovvero, nella
fase di generazione della firma si usa un intero casuale, in questo modo la firma non
dipende solo dal testo in chiaro, ma anche da questo valore che, cambiando di volta in
volta, fa variare la creazione delloutput. In fase di decodifica il parametro random si
semplifica e quindi non c la necessit di conoscerlo.
Infine va ricordato che molti degli algoritmi a curve ellittiche sono protetti da
brevetti [11].
2.2.4
Funzioni Hash
Allinterno del processo di firma digitale, e quindi nel passaggio da testo in chiaro a
testo cifrato, prassi adottare delle funzioni di hash. Queste sono particolari algoritmi
capaci di prendere in input un messaggio di lunghezza arbitraria, ma finita, per restituire
un output con una predeterminata lunghezza di bit. Il valore hash, solitamente indicato
con h(M), una rappresentazione non ambigua e non falsificabile del messaggio.
Le propriet che caratterizzano queste funzioni sono [11]:
-
17
In questo caso si parla di collisione. Nella terza, ho solo il valore di hash, dal quale
dovrei riuscire a desumere sia M che M.
Limpiego delle funzioni hash allinterno delle firme digitali, indipendentemente
dallalgoritmo di firma utilizzato, hanno un duplice scopo, il primo: comprimere
messaggi
di
lunghezza
potenzialmente
superiore
quella
del
modulo
n.
Nel qual caso si violerebbe la regola fondamentale tale per cui, la dimensione del
messaggio deve essere compresa tra 0 e n. Secondo fine: assicurare lintegrit dei dati e
tutelare, ad esempio RSA, da potenziali attacchi qualora venga utilizzato senza hash.
Nel Security Protocol Cheque, si sono utilizzate le seguenti funzioni di hash:
SHA1 abbinato a RSA e SHA256 abbinato a ECDSA.
2.2.5
HMAC
Gli obiettivi raggiunti con MAC sono i medesimi della firma digitale realizzata con
algoritmi asimmetrici, ovvero garantire autenticit e integrit di M, per presente una
differenza sostanziale. In MAC la chiave segreta K condivisa tra i due utilizzatori,
ovvero entrambi, chi cifra M e chi vuole decifrarlo, devono detenere la stessa chiave
segreta K, prima di iniziare le comunicazioni. Si quindi in presenza di un metodo di
cifratura simmetrica.
Le funzioni MAC posso essere generate attraverso cifrari a blocchi oppure con
funzioni
hash.
Questultima
tipologia
di
MAC,
prende
il
nome
18
In HMAC, le funzioni di hash vengono usate come delle scatole nere per cui
possibile prevedere delle implementazioni predefinite come modulo centrale del codice
che realizza HMAC. Inoltre le funzioni hash sono facilmente intercambiabili, ossia
basta inserire nella costruzione presentata da HMAC una nuova funzione hash, per
ottenere comunque un MAC utilizzabile. E un grande vantaggio nel momento in cui si
scoprissero delle vulnerabilit riguardanti la funzione adottata [11].
Allinterno di SPC, questa soluzione stata individuata per ovviare alle
problematiche legate alla dimensione delloutput della firma digitale. Ci si avvalsi
della funzione hash SHA1 (Secure Hash Algorithm) che produce un valore di hash di
160 bit. Come avremo modo di approfondire nei prossimi paragrafi, luso di HMAC
cambia in maniera consistente il processo di generazione dellassegno sicuro.
2.2.6
19
2.2.7
potrebbe
pensare
che
un
codice
utile
allo
scopo
possa
essere
lIBAN (International Bank Account Number). Cos non , poich questo codice viene
generato dal numero di conto corrente. La cifratura dei dati dellassegno avviene
precedentemente alla sua assegnazione al cliente finale. Quindi, il numero del conto
corrente ancora sconosciuto.
20
I codici a barre lineari, quelli comunemente presenti nei prodotti di consumo
(Figura 2.2), furono unevoluzione del tipo ovale, e vennero realizzati sempre da
Woodland, presso IBM, e adottati nel 1973.
Tra i numerosi tipi di codici a barre, il Security Protocol Cheque si concentrato su
quelli bidimensionali e in particolare su: QR Code e Data Matrix.
2.3.1
una
fino a 26 codici.
grande
capacit
di
dati,
si
possono
concatenare
21
High Capacity Color Barcode (HCCB) (Figura 2.4) un barcode a colori studiato
da Microsoft per la tecnologia di codifica dei dati. Utilizza dei triangoli colorati invece
dei pixel quadrati bianchi e neri. HCCB a seconda dellobiettivo, pu variare la
dimensione della griglia. Gli elementi che permettono il cambiamento sono: la densit
(dimensione di stampa dei triangoli) e il numero dei colori usati, da otto a due.
Si pu arrivare ad avere fino a 3.500 caratteri per pollice quadrato. Laspetto negativo
lessere una tecnologia proprietaria non di pubblico dominio.
22
PDF417: Portable Data File (Figura 2.6). E stato inventato nel 1991 per conto della
Symbol Technologies. La sigla 417 fa riferimento allunit di dati elementari del codice
detta Codewords, composta da 4 barre e 4 spazi per un totale di 17 moduli.
Consente di concatenare pi simboli aumentando la capacit di memorizzazione,
poich i simboli vengono letti in sequenza. Ha una serie di parametri di setting come il
numero di righe e di colonne oltre alla possibilit di regolare il livello di correzione
degli errori.
bersaglio.
I cerchi
di
bit
esterni al
centro
rappresentano
dati.
A differenza dei codici a barre, gli ShortCode non memorizzano i dati in regioni
rettangolari, ma sfruttano lapertura angolare per determinare i bit dinformazione.
Un elemento negativo il non essere una tecnologia libera.
23
2.3.3
QR Code
pixels
(versione 1),
quella pi
grande 177x177
(versione 40).
24
In termini di capacit di archiviazione dei dati, si passa da 41 numeri o 25 caratteri
alfanumerici della versione 1, a 7089 numeri o 2699 caratteri alfanumerici della
versione 40, per la codifica a 8 bit i valori sono compresi tra 7 e 2953.
I QR Code hanno la possibilit di definire il livello di correzione dellerrore.
Quando attraverso unapplicazione come quella sviluppata nel SPC, si codifica un testo,
esiste lopzione di creare una ridondanza di dati che aiuteranno la lettura del simbolo
nel caso in cui una parte di questo sia rovinato o cancellato. Ci sono quattro livelli di
correzione: L (lowest) permette la decodifica nel caso in cui il 7% del suo contenuto sia
danneggiato. M (medium) la percentuale aumenta al 15%, Q (quality) 25%, e
H (highest) 30%.
Loutput del QR Code dipende quindi da tre fattori: la versione, il livello di
correzione dellerrore e il tipo di dato da decodificare. Questultimo ha tre possibilit:
numerico, alfanumerico, binario. Vi sono alcuni software di generazione di QR Code
che permettono una quarta tipologia, il Kanji, ovvero i caratteri di origine cinese usati
nella scrittura giapponese.
25
Data Matrix
26
Rispetto ai QR Code si possono avere versioni pi piccole, infatti i valori partono da
10x10 pixel nei quali possibile memorizzare 6 numeri o 3 caratteri alfanumerici, per
arrivare alla 144x144, nella versione quadrata, mentre per la forma rettangolare si va da
8x18 a 16x48 pixel.
I Data Matrix (Figura 2.12) sono suddivisi in celle (o moduli), ognuna delle quali
rappresenta un bit. In base alla codifica utilizzata, una cella di colore chiaro pu
rappresentare il bit 0 e una di colore scuro il bit 1 (o viceversa).
27
I simboli di grandi dimensioni contengono diverse regioni, ognuna delimitata dal
Finder Pattern, e questo circondato a sua volta su tutti i lati da una zona
libera (Quiet Zone) usata come margine. E previsto un sistema di correzione degli
errori, solitamente lECC200, che aggiunge byte al messaggio codificato in modo da
rendere leggibile anche un codice parzialmente danneggiato. LECC200 supporta
avanzati algoritmi di controllo e di correzione degli errori (come Reed-Solomon).
Permette la ricostruzione fino al 30% dellintera serie dei dati codificati. Ci significa
che anche quando il simbolo per il 30% danneggiato, esso ancora leggibile cosa che
sarebbe impossibile utilizzando i codici a barre lineari.
I codici Data Matrix stanno diventando sempre pi comuni, infatti vengono stampati
anche su supporti cartacei come lettere e buste (Figura 2.13).
28
Data Matrix non contiene informazioni di formato ed ha un minor numero di
elementi per la cattura (finder), pertanto consente una densit maggiore rispetto al QR
Code. Questi ultimi, cos come Data Matrix, utilizzano i codici di correzione
ReedSolomon (ECC200). Il numero di errori rilevabili e correggibili determinato dal
numero di codici di correzione extra, inclusi nel messaggio originario. Data Matrix
utilizza un livello fisso di correzione degli errori che non configurabile dallutente. La
percentuale di correzione varia dal 62.5% per i simboli pi piccoli, fino al 28% per
quelli pi grandi. I QR Code invece, come si gi accennato, hanno quattro livelli di
correzione da un minimo del 7% a un massimo del 30%. In termini assoluti, il QR Code
ha una capacit di memorizzazione maggiore rispetto al Data Matrix. Questultimo
arriva a 144x144 pixel con 1.558 byte, mente i QR Code arrivano a 177x177 pixel con
2953 byte e una percentuale di correzione al 7%.
Nelle applicazioni in tempo reale, dove il tempo per decodificare limmagine
importante, si deve valutare quanto tempo occorre a individuare il simbolo.
Il QR Code ha il vantaggio di avere un unico elemento di ricerca (uno dei tre quadrati
negli angoli). Il Data Matrix ha invece una L tratteggiata ed facilmente confondibile
con il resto del simbolo, oltre al fatto che non contiene informazioni sul formato
utilizzato, mentre il QR Code rende disponibili velocemente le dimensioni del simbolo e
quindi la conferma della sua correttezza. Al riguardo, da fonti non ufficiali,
sembrerebbe che la lettura dei QR Code rispetto ai Data Matrix sia pi veloce di quattro
volte.
In USA, un comitato indipendente dellAssociazione per lElettronica di Consumo
(CEA) ha analizzato queste due tipologie di codifica delle informazioni con lintento di
sviluppare le specifiche IEC62090. La conclusione a cui arrivata, che il Data Matrix
ha migliore gestione dello spazio tra tutti i codici a barre bidimensionali.
In figura 2.14, i simboli incorporano entrambi lURL http://www.google.it.
Si nota che a parit di dimensione dei punti, il QR Code composto da 25 punti per
lato mentre il Data Matrix da 18, si ha un risparmio del 61% di spazio.
29
30
Poich storicamente le banche hanno gi utilizzato il Data Matrix, si sta
considerando la possibilit di dotare il titolo di credito di questo codice bidimensionale
per facilitare la lavorazione dellassegno nellambito della dematerializzazione.
Il Security Protocol Cheque prevede lutilizzo di un codice a barre 2D, e poich
svolge un compito propedeutico allincasso dellassegno, si potrebbe valutare la
generazione di un codice 2D che sia sinergico anche al processo successivo alla
riscossione dellassegno, in questo modo si raggiungerebbe unottimizzazione
dimpiego.
31
Capitolo 3
IMPLEMENTAZIONE
Nel Capitolo 2 si descritta e motivata la soluzione grafica (codici a barre 2D) che
verr stampata sugli assegni. Nel presente capitolo vengono descritte nel dettaglio le
diverse funzionalit del software Cheque Data Sign (CDS).
32
Il software, come da richiesta della societ Rototype S.p.A. stato realizzato con
linguaggio C#. Questo per motivi legati allintegrazione del programma con altri
applicativi esistenti in azienda. Il framework adottato Microsoft .NET versione 4.5 e
nello specifico Visual Studio Ultimate 2012. Si rileva che per il corretto funzionamento
di CDS, indispensabile almeno la versione 3.5 a causa delluso di classi relative
allalgoritmo ECDSA.
Il layout del programma, studiato per seguire la corretta logica di concatenazione
delle fasi di costruzione delloutput finale.
3.1.1
33
Encode la prima ad essere visualizzata. Attraverso le funzionalit inserite in
questo form, possibile ottenere la generazione di QR Code o di Data Matrix, con
specifiche propriet.
Un riquadro con sfondo bianco visualizza loutput della codifica.
Al
di
sotto,
sono visibili
tre campi
riguardanti
dati
da
elaborare:
Questi
dati
nel
capitolo
precedente,
sono
stati
definiti
come testo in chiaro. Sono statici, perch noti prima della generazione del codice 2D.
Identificativi, perch consentono di individuare con certezza la filiale emittente
lassegno.
In questa fase del ciclo di vita dellassegno, non possibile aggiungere nessun altro
tipo di informazione come ad esempio il numero del conto corrente, la data di
compilazione dellassegno, limporto, il beneficiario, perch nessuno di questi stato
ancora stabilito.
Nel presente elaborato si considerato il caso italiano, dove il testo in chiaro
rappresentato dal numero dellassegno, il nome della banca, corrispondente al numero
ABI (Associazione Bancaria Italiana), e la filiale di appartenenza ovvero il numero
CAB (Codice di Avviamento Bancario).
Nel secondo campo, definito Input Data, vengono mostrate in aggiunta ai caratteri
della Codeline, anche delle etichette, o tag, XML.
LXML (eXtesible Markup Language) un linguaggio indipendente dallhardware,
dal software o dalla piattaforma usata, avente lo scopo di trasmettere informazioni.
Poich i codici 2D sono stati generati in un ambiente fisico e logico totalmente
differente rispetto a quello nel quale dovranno essere interpretati, ovvero lapplicazione
Android, questo strumento permette una migliore interazione.
Nel capitolo seguente sar interessante valutare luso di questi tag XML, in
riferimento allincremento della dimensione del testo da cifrare e conseguentemente al
formato dellimmagine 2D.
Nellultimo campo, Signed Data, oltre ad essere ripresi integralmente i dati descritti
nel capo Input Data, viene aggiunta la cifratura della Codeline a seguito della
digitazione del pulsante Sign, una volta stabiliti i parametri indicati nella sezione
sottostante, denominata Signature.
34
Allo scopo di realizzare il maggior numero di test, si lasciata la possibilit di
modificare i dati allinterno dei tre campi sopra enunciati. Per garantire un buon
funzionamento e ridurre la probabilit di errore di digitazione, opportuno limitare tale
facolt solo al primo campo.
Cheque Digital Sign, presenta due sezioni funzionali: Signature e Code 2D
(Figura 3.3).
35
La funzione HMAC utilizzata, si basa sullhash SHA1 (Secure Hash Algorithm) che
origina un digest (il risultato creato dallapplicazione dellhash) di 160 bit.
Viene implementata come soluzione antitetica alle prime due, sia per ragioni di test, sia
per offrire allutente (il generico istituto di credito) una possibile alternativa.
La sua adozione risponde pienamente alla volont di ridurre al minimo loutput della
cifratura e conseguentemente la misura dellimmagine bidimensionale. Questo permette
una migliore implementazione del codice 2D nellassegno. Lo svantaggio per la
perdita del grande beneficio derivante dal coinvolgimento di terze parti, nel processo
descritto in SPC.
Encoding fornisce uno strumento di ottimizzazione per la codifica (Figura 3.4).
A seconda dei caratteri impiegati nel campo Signed Data, si pu selezionare uno dei tre
standard: numerico, alfanumerico o byte. Questultimo tipo, considera tutti i caratteri
che non siano numeri o lettere maiuscole. Viene usato nella totalit dei casi, quindi
stato impostato come default.
Bank ID la propriet che permette linserimento del nome della banca emittente
lassegno (Figura 3.4). I nomi saranno preventivamente indicati nella terza
tab, Key Management, che analizzeremo in seguito. Verr automaticamente aggiunto
nei campi Input Data e Signed Data con gli appropriati tag XML, per essere anchesso
codificato.
36
Questo identificativo, stato inserito per permettere una migliore gestione delle chiavi
sia per lapplicazione sviluppata in ambiente Android, sia nel caso in cui CDS venga
utilizzato da una societ come Rototype S.p.A. che stampa assegni per una pluralit di
istituti di credito.
Nella sezione Signature presente un unico tasto, o pulsante, denominato: Sign.
Sign attiva le classi di codice C# deputate a calcolare, a seconda delle impostazioni
selezionate, la firma digitale e conseguentemente le funzioni hash associate.
I risultati della cifratura, vengono inseriti tra gli opportuni tag XML del campo Sign
Data.
-
37
Per Data Matrix, lunica scelta possibile quella di variare la forma del codice
bidimensionale, da quadrato a rettangolare. Questultima ha diverse misure, la massima
di 16x48 pixel, corrispondente a una capacit complessiva di 47 caratteri della
codifica Base 256. Essendo un valore esiguo per gli scopi previsti, lunica ad essere
stata impostata (Figura 3.6).
I pulsanti di questa sezione sono tre: Compute, Encode e Save (Figura 3.6).
Compute controlla che in Version vi sia il minor valore accettabile, in riferimento al
numero di dati presenti in Sign Data. Si pu predisporre un numero maggiore, ma mai
uno minore. Digitando questo tasto, si ha il vantaggio di tornare velocemente al limite
minimo.
Encode realizza la codifica stabilita nel campo Type, e prende in input tutte le altre
opzioni indicate nelle sezioni funzionali. Calcola il valore minimo per il campo Version.
ed effettua un controllo su questo valore. Se al di sotto del minimo consentito, Encode
ripristina il dato corretto. Non lo modifica nel caso in cui sia superiore.
Save
esporta
il
codice
bidimensionale
risultante,
in
diversi
38
3.1.2
In calce a questa seconda form, tre pulsanti eseguono gli opportuni compiti.
Open apre la finestra di Windows relativa al file system, attraverso la quale ricercare
la posizione del file da importare.
Decode risolve limmagine e riporta sia il testo in chiaro sia la firma digitale.
Verify attraverso la chiave pubblica, o condivisa di HMAC, controlla la
corrispondenza tra la decodifica della firma e il testo in chiaro.
39
Per la verifica, CDS usa lalgoritmo pi idoneo, basandosi sullindicazione
del tag XML. Il risultato del confronto, Signature Ok o Errore Signature,
riportato in un campo a destra del pulsante Verify (Figura 3.7).
3.1.3
Lultimo modulo del software CDS, gestisce lorganizzazione delle chiavi logiche e
il campo Bank ID (Figura 3.8). In questultimo possibile indicare pi di un nome
riferito agli istituti di credito. Di default assegnato un nome inventato: Dolphinbank.
Come indicato nel Capitolo 2, per realizzare i diversi test, si nella necessit di
sostituirsi
allautorit
certificatrice
preposta
al
rilascio
delle
chiavi.
40
La gestione delle chiavi avviene in duplice modo.
- Possono essere generate internamente attraverso la selezione dellalgoritmo
desiderato e la digitazione del pulsante Generate Keys. Nel file system, al path
predefinito indicato nel campo Key folder, si crea una specifica cartella denominata
come il nome della banca indicato in Bank ID. Questa cartella conterr le
sottocartelle identificative degli algoritmi, per i quali sono state create le rispettive
chiavi.
- Nel caso in cui le chiavi vengano importate, si possono posizionare nelle
sottocartelle, appena nominate, oppure si deve impostare il path appropriato,
avvalendosi del pulsante a lato del campo Key folder. La modifica del path, sar la
nuova destinazione nel caso in cui ne vengano generate internamente, di nuove.
41
Capitolo 4
TEST E RISULTATI
Nei paragrafi seguenti, vengono confrontate ed esaminate diverse soluzioni relative
alle molteplici opzioni di setting, fornite dal software Cheque Data Sign (CDS).
Tutte le tabelle dei valori, inserite nel capitolo e riferite ai codici 2D, sono originate
dallo studio e dallanalisi dei test effettuati.
Le immagini dei codici bidimensionali proposte, sono ottenute da CDS con la
funzione Save, della form Encode. Inizialmente la risoluzione di 96 dpi (legate a una
scheda video da 1280x800 pixel), successivamente vengono portare a una definizione di
300 dpi per ragioni di stampa.
42
Il numero di caratteri per questa stringa 267.
Di seguito (Figura 4.1) la rappresentazione dei codici 2D. Si iniziato con
Data Matrix, successivamente si affianco il QR Code corrispondente in termini di
livello di correzione.
1)
2)
3)
4)
5)
Dalla tabella sopra riportata (Figura 4.2) si evidenzia come Data Matrix a parit di
livello di correzione sia pi piccolo rispetto al QR Code. In termini percentuali si ha un
guadagno del 25% circa. Per eguagliare le dimensioni, si deve dimezzare il
correction level nel QR Code. Il parametro size 3 stato valutato come un appropriato
punto di partenza. Size 1 e 2 risultano troppo piccoli per le attuali fotocamere degli
smartphone, oltre a creare problemi di stampa. Incrementando di ununit e passando a
size 4 (Figura 4.3), si ottiene un aumento dellarea dellimmagine di circa il 33%.
43
1)
2)
3)
4)
5)
I valori di riferimento per size 4 sono espressi nella tabella sottostante (Figura 4.4).
1)
2)
3)
4)
5)
44
I valori di riferimento per i codici bidimensionali di ECDSA size 3 sono espressi
nella tabella sottostante (Figura 4.6).
1)
2)
3)
4)
5)
45
riportata in Figura 4.9, questa percentuale non per presente nel confronto tra le
dimensioni dei codici bidimensionali. Tale valore varia tra il 12% e il 23,5%.
Una
delle
ragioni
da
ricercare
nel
confronto
versione/numero
di
1)
2)
3)
4)
5)
46
Figura 4.10 - Data Matrix e QR Code con HMAC size 3
1)
2)
3)
4)
5)
47
Capitolo 5
CONCLUSIONI
Al fine di confermare la concreta applicazione di questa prima fase del
progetto Security Protocol Cheque, si sono studiati una decina di assegni autentici, di
emittenti diversi. Allinterno degli assegni pubblicati, sono state modificate le sole
caratteristiche di riconoscimento degli istituti presi a campione, per ovviare a questioni
di privacy e autorizzazioni nelluso degli originali. Le immagini degli assegni,
proposte per dimostrare il risultato finale, sono a 300 dpi mentre le dimensioni, pur
mantenendo le proporzioni, sono state ridotte rispetto alloriginale, di circa il 35% per
ragioni di stampa. Per consentire una valutazione pi attendibile, tutti i codici 2D, sono
realizzati utilizzando la medesima Codeline e lo stesso Bank ID.
48
Figura 5.1 - Implementazione di Data Matrix con ECDSA size 3
immagine
bidimensionale,
ottenuta,
per
gli
algoritmi
asimmetrici, con Data Matrix ed ECDSA size 3, (1,24 cm x 1,24 cm) e per
gli algoritmi simmetrici Data Matrix con HMAC size 3 (1,12 cm x 1,12 cm).
In realt per, il solo formato dellimmagine, non sufficiente per una corretta
valutazione. I codici 2D devono prima poter essere stampati anche con hardware non
particolarmente evoluti (i presenti sono ottenuti con una normale stampate a getto
dinchiostro) e poi, devono poter essere letti dalle fotocamere degli smartphone.
Questi due elementi risultano fondamentali per la prosecuzione del processo di
sicurezza dellassegno, SPC.
Si ritiene quindi necessario, per aumentare le probabilit di successo, ladozione di
codici 2D con la misura pi grande possibile, compatibilmente con gli spazi messi a
disposizione nellassegno. In calce si presentano due ipotesi.
La prima Figura 5.3 ottenuta con un QR Code di ECDSA, livello di
correzione high (H) e size 4, corrispondente a 2,48 cm.
49
50
La prima rappresentata dalla possibilit di stampare il codice 2D sul retro
dellassegno (Figura 5.5). Lo spazio utile in questo caso pu arrivare fino a
6 cm x 6 cm circa, che corrisponde a un aumento percentuale del 240%, rispetto a
quanto ipotizzato per la parte frontale. Ci si rende conto che limpatto visivo rilevante,
per trattasi della dimensione massima.
51
La seconda ipotesi quella di valutare un codice bidimensionale diverso
da Data Matrix e QR Code.
Il codice a barre PDF417, affrontato brevemente nel Capitolo 2, ha diverse
caratteristiche interessanti. Oltre a possedere molteplici livelli di correzione degli errori,
permette la gestione della forma dellimmagine attraverso la selezione del numero di
righe e colonne. In questo modo non si vincolati alla sola forma quadrata dei codici
2D visti finora, ma possibile ottenere anche un formato rettangolare, pi efficiente per
sfruttare gli spazi liberi nellassegno (Figura 5.7).
Questa tipologia, era stata scarta perch a parit di condizioni, limmagine ottenuta
con PDF417 4 volte pi grande delle rivali esaminate nellelaborato.
I tre software per smartphone testati, hanno dato tutti esito negativo nella decodifica
anche con un livello di correzione degli errori al massimo indice e una dimensione del
codice 2D come quella in Figura 5.7, pari a 7 cm x 2,2 cm.
Si comunque menzionato questo codice bidimensionale perch non si certi
che tali software contemplino, ad esempio, tutti i tipi di formati. Non escluso che
programmi pi performanti, possano riuscire a ottenere risultati migliori.
52
Lultima ipotesi prevede il reale utilizzo di SPC nel mondo bancario, e ladozione di
alcuni assunti:
1) Lente di riferimento, ad esempio lISO (International Organization for
Standardization),
stabilisce
lutilizzo
di
un
algoritmo
predefinito
nella
lettura
dei
codici
bidimensionali
parit
di
ingombro.
53
avr
generato
con
le
specifiche
crittografiche
del
caso.
54
GLOSSARIO
ABI
Android
App
CA
CAI
Codice ABI
Codice CAB
Data Matrix
ECDSA
HMAC
55
MAC
MICr
Path
PayPal
POS
QR Code
RSA
SHA
XML
56
57
Figura 4.6 - Specifiche codici bidimensionali per ECDSA, size 3 ............................ 44
Figura 4.7 - Data Matrix e QR Code con ECDSA e size 4 ........................................ 44
Figura 4.8 - Specifiche codici bidimensionali per ECDSA, size 4 ............................ 44
Figura 4.9 - Confronto dimensione firma digitale/codici 2D..................................... 45
Figura 4.10 - Data Matrix e QR Code con HMAC size 3 .......................................... 46
Figura 4.11 - Specifiche codici bidimensionali HMAC size 3 .................................. 46
Figura 4.12 - Data Matrix e QR Code con HMAC size 4 .......................................... 46
Figura 4.13 - Specifiche codici bidimensionali HMAC size 4 .................................. 46
Figura 5.1 - Implementazione di Data Matrix con ECDSA size 3............................. 48
Figura 5.2 - Implementazione di Data Matrix con HMAC size 3 .............................. 48
Figura 5.3 - Soluzione ottimale con QR Code ........................................................... 49
Figura 5.4 - Soluzione ottimale con Data Matrix ....................................................... 49
Figura 5.5 - Ipotesi 1: QR Code livello di correzione High, size 10 ......................... 50
Figura 5.6 - Ipotesi 1 bis: QR Code livello di correzione High, size 7 ...................... 50
Figura 5.7 - Ipotesi 2: utilizzo del codice PDF417 .................................................... 51
Figura 5.8 - Ipotesi 3: sdoppiamento codici 2D ......................................................... 52
58
BIBLIOGRAFIA
[1] Barbara Pelliccione. Progetto immagine assegni, SPIN 2012.
[2] Sito della Cheque and Credit Clearing Company ltd,
http://www.chequeandcredit.co.uk/cheque_and_credit_clearing/cheque_fraud.
[3] ABI. Accorgimenti per limitare le alterazioni e le falsificazioni di assegni bancari
e circolari, 2010.
[4] Banca dItalia. Supplementi al Bollettino Statistico, Indicatori monetari e
finanziari. Sistema dei pagamenti. 21/05/2013.
[5] Gazzetta di Mantova. 12/04/2013. http://gazzettadimantova.gelocal.it/.
[6] Il Centro. Giornale on line di Pescara, Chieti, lAcquila, Teramo. 15/6/2013
Disponibile on line: http://ilcentro.gelocal.it.
[7] La Repubblica.it, Bologna. 26 Giugno 2013.
Disponibile on line: http://bologna.repubblica.it.
[8] Quotidiano Il Giorno. 4 Luglio 2013, disponibile on line: http://www.ilgiorno.it/
[9] Adusbef. Associazione difesa utenti servizi bancari e finanziari.
21 Gennaio 2005 disponibile on line: http://forum.adusbef.it/leggi.asp?Id=7918
[10] Adusbef. Associazione difesa utenti servizi bancari e finanziari.
17 Luglio 2006 disponibile on line: http://forum.adusbef.it/leggi.asp?Id=7918
[11] Stelvio Cimato. Corso di Crittografia. Universit degli Studi di Milano. SSRI,
CDL On Line. 2011.
[12] Laura Citrini. Dispense di algoritmi crittografici.2010
59
RINGRAZIAMENTI
Con profonda riconoscenza e non per obbligo istituzionale, il primo grazie va al
Professor Ernesto Damiani e al Dottor Fulvio Frati, che nonostante i molteplici
impegni
mi
hanno
dedicato
tempo,
competenza
disponibilit.
Eros
Pedrini,
per
aver
risposto
sempre
tempestivamente
alle
Alle
componenti
fondamentali
miei
Genitori
la
mia
del
mio
compagna
cuore
Stefania.
e
Per
del
il
mio
solo
essere,
fatto
di
ma
non
per
questo
meno
importante,
voglio
ringraziare
60