Sei sulla pagina 1di 69

Corso di Laurea in

Sicurezza dei Sistemi e delle Reti Informatiche

SECURITY PROTOCOL CHEQUE

RELATORE
Prof. Ernesto DAMIANI

TESI DI LAUREA DI
Paolo Andrea SALA

CORRELATORI

Matr. 764959

Ing. Claudio SANTACESARIA


Dott. Fulvio FRATI

Anno Accademico 2012/2013

Ai miei Genitori,
a Stefania.

II
Indice

Sommario ................................................................................................................... IV
Introduzione ................................................................................................................ V
Capitolo 1

Assegno e Sicurezza ................................................................................ 1

1.1

L'Assegno tra Passato e Presente .................................................................... 1

1.2

L'Assegno Come Strumento di Pagamento .................................................... 3

1.3

Norme e Servizi Legati alla Sicurezza dell'Assegno Oggi ............................. 3

1.4

Assegno e Tipi di Frode ................................................................................. 5

1.5

Riferimenti Quantitativi delle Frodi ............................................................... 6

1.6

Alcuni Casi Recenti di Frodi Tratti dalla Cronaca Nazionale ........................ 7

1.7

Breve Cenno sull'Assegno Elettronico ........................................................... 9

Capitolo 2

Progetto Security Protocol Cheque (SPC) ............................................ 11

2.1

Assegno Sicuro: Fase Uno di Tre ................................................................. 11

2.2

Crittografia e Sue Applicazioni nellAssegno .............................................. 11

2.2.1

Analisi degli Algoritmi di Firma Digitale ............................................. 13

2.2.2

Firma Realizzata con RSA .................................................................... 13

2.2.3

Firma Realizzata con ECDSA ............................................................... 14

2.2.4

Funzioni Hash ....................................................................................... 16

2.2.5

HMAC ................................................................................................... 17

2.2.6

Cenno ai Certificati Digitali .................................................................. 18

2.2.7

Autenticit e Integrit nellAssegno...................................................... 19

2.3

Definizione della Soluzione Grafica ............................................................ 19

2.3.1

I Codici a Barre Bidimensionali ............................................................ 20

2.3.2

Tipi e Formati di Codici a Barre Bidimensionali .................................. 20

2.3.3

QR Code ................................................................................................ 23

2.3.4

Data Matrix ........................................................................................... 25

2.3.5

Confronto tra QR Code e Data Matrix .................................................. 27

2.4

SPC e Dematerializzazione .......................................................................... 29

III
Capitolo 3
3.1

Implementazione ................................................................................... 31

Software Cheque Data Sign.......................................................................... 31

3.1.1

Cheque Data Sign: Tab Encode ............................................................ 32

3.1.2

Cheque Data Sign: Tab Decode ............................................................ 38

3.1.3

Cheque Data Sign : Tab Key Management ........................................... 39

Capitolo 4

Test e Risultati....................................................................................... 41

4.1

Risultati Generati dagli Algoritmi Asimmetrici ........................................... 41

4.2

Risultati Generati da HMAC ........................................................................ 45

Capitolo 5

Conclusioni ........................................................................................... 47

5.1

Applicazioni Attuali ..................................................................................... 47

5.2

Applicazioni Future ...................................................................................... 53

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:
-

Nel Cap. 1 viene presentata unanalisi evolutiva dellassegno, mediante

un confronto dello strumento di pagamento odierno e del passato. Attraverso una


serie di dati quantitativi si evidenzia quanto lassegno sia tuttoggi ancora molto
usato, non solo in Italia, ma nel mondo. Sono state riportate le pi recenti
normative esclusivamente legate alla sicurezza e i servizi offerti in tale ambito.
Dopo un breve cenno allassegno elettronico, ci si occupa di riassumere i
principali tipi di frode, unitamente ai relativi valori statistici. Infine si sono
richiamati alcuni casi recenti di cronaca.

Nel Cap 2 vengono illustrate tecniche crittografiche, come firma digitale

e MAC (Message Authentication Code), applicate al progetto. Dopo una rapida


descrizione di alcuni algoritmi, lattenzione si concentra su quelli pi adatti allo
scopo come: RSA e ECDSA per quanto riguarda la cifratura asimmetrica e
HMAC come soluzione alternativa (queste funzioni sono state confrontate tra
loro in modo da comprendere le differenze che le caratterizzano). Alcune delle
tematiche inerenti la scelta degli algoritmi verranno affrontate nel capitolo
successivo. Si anche fatto cenno ai certificati digitali e al loro impiego.

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

(CDS) e delle sue funzionalit. CDS realizza la codifica bidimensionale (2D)


della firma digitale dei dati caratterizzanti lassegno, trattati nei capitoli
precedenti. I codici 2D verranno successivamente stampati sugli assegni per dar
vita alla prima fase dellassegno sicuro. Essendo una proof of concept le
implementazioni previste nel software, devono considerare diversi aspetti che,
probabilmente nel concreto, sono trattati in modo diverso. Un esempio potrebbe
essere la gestione delle chiavi. In CDS previsto che sia il software stesso a
generare le chiavi per permettere di realizzare molteplici test, mentre in realt
queste potrebbero essere fornite da terze parti con lavallo di unautorit
certificativa (CA).
Il layout, intuitivo ed essenziale, prevede tre form con specifici scopi.
La form principale Encode, quella che contiene la maggior parte delle opzioni
di settaggio e come da definizione, usata per cifrare i dati di input e per salvare
in diversi formati limmagine realizzata.
La form Decode, viene impiegata per la decodifica di immagini 2D prese
dallesterno. Questa opzione principalmente usata per verificare la correttezza
dei risultati ottenuti.
Infine attraverso la form Key management, si d modo di selezionare lalgoritmo
di cifratura voluto e la conseguente generazione delle chiavi. Queste vengono
salvate su cartelle predefinite, mentre il path di destinazione lasciato alla scelta
dellutente.

Nel Cap 4 si mostrano le diverse soluzioni di abbinamento

assegno/codice bidimensionale. Alcuni risultati iniziali non erano molto


incoraggianti per via delle dimensioni delloutput. Analizzandolo, si osserva che
il peso della firma e luso dellXML incidono in maniera rilevante sulla
dimensione dellimmagine. Questa una delle ragioni per cui si sono proposti

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.

Nel Cap 5 vengono presentate le conclusioni di questa prima fase del

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.

In Italia diverse disposizioni di legge lo riguardano, ma la norma principale


il Regio decreto del 21 dicembre 1933 n 1736.

Figura 1.1 - Assegno bancario attuale

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.

Figura 1.2 - Assegno bancario del 1900

Le principali caratteristiche, risalenti ai primi anni 60', che hanno modernizzato


questo titolo di credito sono la carta filigranata e la codeline, questultima realizzata con
una particolare tecnologia denominata MICr (Magnetic Ink Character Recognition).
Questa prevedeva font dei caratteri specifici per luso bancario e la loro stampa
avveniva attraverso un toner magnetico, tale da garantire unottima affidabilit di lettura
anche nel caso di sovrapposizione di altre stampe.

Figura 1.3 - Primi assegni ad impiegare la tecnologica MICr

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.

1.2 L'Assegno Come Strumento di Pagamento


L'assegno ha una lunga tradizione, ed giustamente identificato, gi da diversi anni,
come uno strumento di pagamento tradizionale, qualcuno potrebbe definirlo obsoleto.
In realt per, cos come si usa ancora la carta moneta (o banconote), anche l'assegno
tutt'oggi ha notevole rilevanza nelle compravendite.
I dati estratti da un rapporto dellABI, Associazione Bancaria Italiana, del 2012,
evidenziano nell'ultimo decennio una decrescita del loro utilizzo, pari al 38,3%, poich
il numero di titoli di credito circolanti passato da 447,3 mln a 275,7 mln, per un
controvalore di 793.312 milioni di euro [1].
Queste stime, in termini assoluti, dimostrano e confermano quanto gli assegni siano
ancora importanti nel sistema di pagamento italiano.
Lo scenario europeo rispecchia quello nazionale in riferimento alla decrescita, ma in
valore assoluto ci sono paesi (Francia, Inghilterra, Canada, Stati Uniti dAmerica) con
quantitativi ben superiori ai nostri.
Ad esempio l'Inghilterra nel 2012 ha rilevato 970 mln di assegni circolanti e
una decrescita nellultimo decennio, pari al 62,2% [2].
Infine va considerato, che questo protocollo dovrebbe potersi applicare a tutti gli
assegni del mondo, quindi la sua portata ha una certa rilevanza.

1.3 Norme e Servizi Legati alla Sicurezza dell'Assegno Oggi


In Italia, l'assegno bancario ha visto recenti modifiche normative che hanno
riguardato nel 2007, con il Decreto Legislativo num. 231 del 21 Novembre,
l'obbligatoriet della clausola Non Trasferibile per emissione di assegni di importo
superiore ai 1.000 euro. Ci al fine di prevenire il riciclaggio di denaro.
Con il Decreto Legge, denominato Decreto Sviluppo del 13 maggio 2011 num 70,
che ha modificato la c.d. Legge Assegno (di cui al R. D. n. 1736/1933), convertito in
legge con modificazioni dell'art 1 comma 1 Legge del 12 Luglio 2011 n. 106, si dato

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.

Figura 1.4 - Home page sito CAI

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.

Il rischio quindi legato alla sola autenticit.

1.4 Assegno e Tipi di Frode


Le frodi che riguardano il titolo di credito che stiamo analizzando sono molteplici:

1) Creazione di un assegno identico all'originale


Questo tipo di frode attualmente viene contrastata con l'uso di carta non
fluorescente, filigranata e reagente cromaticamente e con speciali inchiostri e
tecniche di stampa.
Con hardware non particolarmente costosi, e software di grafica, si possono
realmente creare dei cloni difficili da riconoscere come tali.
Anche i dati riportati in un assegno reale sono facilmente determinabili perch
trattasi di numeri spesso consecutivi, o comunque noti.

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.

3) Furto/smarrimento di un assegno vero, non compilato


Si indicato anche lo smarrimento, perch pu succedere che per svariati
motivi, ad esempio voler evitare di fare un viaggio con molto denaro contante,
un soggetto conservi uno o due assegni non compilati.
Questa casistica oggi, d vita potenzialmente, alla frode pi efficiente.

4) Furto/smarrimento di un assegno compilato


Pu capitare che il traente non sappia che lassegno andato perso o stato
trafugato, ad esempio spesso gli assegni spediti per posta possono smarrirsi o
essere rubati.
Il truffatore potrebbe tentare di modificare il nome del beneficiario a suo favore.

5) Emissione di assegno non coperto


E il caso in cui il titolare di un conto corrente, emette regolare assegno, e al
momento dell'incasso da parte del beneficiario, l'importo del titolo di credito
maggiore rispetto alle disponibilit presenti in quel momento.

1.5 Riferimenti Quantitativi delle Frodi


Secondo alcune stime dell'Interpol, gi nel 2000 le frodi perpetrate attraverso l'uso
illecito e la falsificazione degli assegni, avrebbero rappresentato oltre il 46% delle truffe
a danno delle banche [3].
Alla fine del 2012 risultavano iscritti in CAI, nel segmento relativo agli assegni
revocati per mancanza di fondi e per mancanza di autorizzazioni, circa 518.000 assegni,
per un importo totale di circa 2.167 milioni di euro [4].
Fino al 2008 questi valori sono andati crescendo e il rapporto con gli assegni
circolanti arrivato a sfiorare il 2 per mille [3].
Nel 2012 questo dato era poco al di sotto dell1 per mille [4].

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].

1.6 Alcuni Casi Recenti di Frodi Tratti dalla Cronaca


Nazionale
Caso1) Va in banca, chiede un assegno circolare di pochi euro e poi a casa ci si mette
dimpegno e miracolo: cinque euro possono diventare 500 o 750 o anche pi.
E a quel punto compra della merce per un importo inferiore all'assegno e si fa dare il
resto in contanti [5].

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.

I frequenti contatti facevano credere ai galleristi di avere di fronte un cliente interessato


e soprattutto onesto.
I negozianti si accorgevano solo il luned che gli assegni erano falsi o proventi di un
furto [7].

Caso 4) Identificato il mago delle truffe. I carabinieri hanno denunciato un uomo


perch, secondo le indagini, sfruttava il suo domicilio di Castiglione per raggirare
esercizi commerciali della rete Internet. L'indagato accusato di truffa per aver pagato
prodotti di vario genere con assegni risultati scoperti o denunciati per smarrimento.
La firma non era mai la stessa [8].

Caso 5) Domanda: Buongiorno controllando i movimenti del mio conto corrente


mi sono accorto che mi stato addebitato un assegno di 2.500 Euro che io non ho mai
compilato e firmato. Ho fatto la denuncia di smarrimento ai carabinieri ed stato
verificato che la firma era falsa.
In caso non riuscissi ad ottenere i soldi da chi ha incassato lassegno volevo sapere se
le banche sono assicurate contro questo tipo di truffe o comunque sono tenute a risarcire
il cliente in quanto sono loro che hanno accettato un assegno con firma falsa.
Ringrazio anticipatamente per la cortese collaborazione Gianmarco.

Risposta: Salve, mi pare di capire che qualcuno le ha rubato un assegno e poi lo ha


compilato ed incassato. In questo caso le denunce permettono di stornare il pagamento
ed evitare anche il protesto. Ma le consiglio di seguire la cosa con attenzione.
Infatti, in questo caso, lei almeno responsabile della "pessima" custodia del blocchetto
di assegni e potrebbe quindi essere ritenuto obbligato a sopportarne i danni.

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].

Caso 6) Domanda: Ho ricevuto dallestero un euro-cheque da 2.000 euro quale


restituzione di un prestito e lho versato sul mio conto per lincasso.
Non avendo mai visto assegni di quel tipo ho chiesto alla mia banca se era un titolo
regolare e se poteva essere incassato e questultima mi ha risposto che era tutto ok,
quindi lho versato sul mio conto e dopo 5 giorni lho incassato.
Dopo 20 giorni circa la banca mi comunica che il titolo risultava contraffatto e mi ha
addebitato i 2.000 euro pi le spese di incasso dicendomi di rivalermi sullemittente del
titolo. [10].

1.7 Breve Cenno sull'Assegno Elettronico


L'assegno elettronico uno strumento di pagamento virtuale che riproduce tutte le
caratteristiche dellassegno cartaceo tradizionale.
Particolarmente impiegato nelle-commerce, potr diventare un mezzo di pagamento
anche per le transazioni non commerciali, qualora aumenti, in maniera significativa, la
diffusione delle banche on line tra le famiglie.
Le condizioni di funzionamento del sistema assegno elettronico sono:
-

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
-

Il soggetto debitore invia per e-mail al creditore lassegno elettronico contenente


lordine alla propria banca di pagare la somma dovuta e il soggetto creditore gira
lassegno inviandolo al computer della propria banca di appoggio per laccredito
in conto.

Attraverso la firma digitale, unica e irripetibile, si realizza la sottoscrizione


dellassegno per lemissione e la girata. La banca trassata pu facilmente
verificare sia la firma che leventuale girata.

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

esperti a credere che lassegno elettronico sostituir la carta di credito nelle-commerce


che, a differenza di questultima, i pagamenti con assegni elettronici non possono
essere ritrattati dal debitore. In aggiunta, il creditore non pu maggiorarli abusivamente.

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.

2.2 Crittografia e Sue Applicazioni nellAssegno


La crittografia una branca della crittologia, che si occupa di studiare nuovi sistemi
per rendere uninformazione indecifrabile a tutti, tranne al diretto interessato. E una
scienza che risale allantichit, e con il passare del tempo si sempre pi evoluta.
Con lavvento dei computer e il supporto di fondamenti matematici, la crittografia ha
espanso i suoi campi di applicazione. Gli algoritmi adottati, ovvero procedimenti che
risolvono un determinato problema in un numero finito di passi, sono generalmente di
due tipi: simmetrici (o convenzionali) e asimmetrici (o a doppia chiave).
Nei primi, la chiave di cifratura, quella che trasforma il testo in chiaro in un testo
incomprensibile, e la chiave di decifratura, quella che realizza il passaggio inverso, sono
la stessa. Quindi, due soggetti che vogliono comunicare in maniera riservata, possono
farlo avendo il medesimo strumento.

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

Analisi degli Algoritmi di Firma Digitale

Esistono molteplici algoritmi asimmetrici, i pi conosciuti sono: ElGamal, DSS


(Digital Signature Standard) che incorpora DSA (Digital Signature Algorithm),
Diffie-Helmann, RSA, e ECDSA (Elliptic Curve Digital Signature Algorithm).
Nel presente progetto, la scelta ricaduta su questi ultimi due per diverse ragioni, le
principali sono:
-

non tutti gli algoritmi asimmetrici permettono la firma digitale, come ad


esempio Diffie-Helmann.

rappresentano i 2 modelli pi usati per questo scopo.

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.

ECDSA utilizza una dimensione di chiave decisamente ridotta, a parit di livello


di sicurezza con gli altri algoritmi. Anche la firma ne beneficia in tal senso.

2.2.2

Firma Realizzata con RSA

La sicurezza dei crittosistemi a chiave pubblica, dalla loro invenzione


(Dieffie-Hellman 1976) a oggi, dipende dalla difficolt del problema matematico su cui
si basano. Nel corso degli anni ne sono stati proposti diversi, molti dei quali sono stati
rotti, ossia risolti. Allo stato attuale solo due tipi di problemi, su cui si basano tali
sistemi, si possono considerare sicuri ed efficienti:
- problema di fattorizzazione degli interi
- problema del logaritmo discreto definito su due tipi di strutture matematiche:
aritmetica modulare e curve ellittiche.
Lalgoritmo RSA (dalle iniziali dei suoi inventori Rivest, Shamir e Adleman) fu
realizzato nel 1978. E basato sul problema di fattorizzazione degli interi, ovvero sulla
difficolt, dato un certo valore n, di trovare i numeri primi p e q che lo hanno generato.
Risulta invece molto facile calcolare n conoscendo p e q. Questi valori rappresentano il
punto di partenza per la generazione delle chiavi pubbliche e private, esposte nei
paragrafi precedenti. Il livello di sicurezza direttamente proporzionale alla lunghezza
del numero n. Inizialmente era composto da 155 cifre decimali (corrispondenti a 512
bit), oggi con laumento della potenza di calcolo degli elaboratori, per aver un buon

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

Firma Realizzata con ECDSA

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

Si pu osservare che per raggiungere un buon grado di sicurezza, RSA deve


impiegare

1024

bit

di

modulo,

mentre

il

valore

corrispondente

in ECC (Elliptic Curve Cryptography) di 160 bit, un rapporto superiore a 6:1.


Relativamente allefficienza, i due fattori di maggiore interesse sono:
-

Computer overhead: quanti calcoli sono richiesti per eseguire trasformazioni da


chiavi pubbliche a chiavi private.

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]:
-

One-way (pre-image resistant): dato y computazionalmente difficile trovare


M tale che y = h(M).

Sicurezza debole (2nd pre-image resistance): dato M computazionalmente


difficile trovare un altro M tale che h(M) = h(M).

Sicurezza forte (collision resistance): computazionalmente difficile trovare due


diversi messaggi con lo stesso valore di hash.

La differenza tra le ultime due la seguente: nella seconda, si ha M e si cerca di


generare un M tale che i reciproci valori di hash coincidano, ossia h(M)=h(M).

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

Con il termine MAC (Message Authentication Code) si identifica un algoritmo


capace di prendere in input un messaggio di lunghezza arbitraria M, e una chiave
segreta K, per produrre in output un messaggio cifrato Y.
Le propriet del MAC sono:
-

Easy computation: dato un valore M e la chiave K, MAC (K,M) facile da


calcolare.

Compression: M di lunghezza finita, output di lunghezza fissata.

Computation resistance: data una o pi coppie MAC(K,Mi), non possibile


calcolare un nuovo MAC(K,Mj), MiMj.

Key non-recovery: data una o pi coppie MAC(K,Mi), non possibile


calcolare K.

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

di HMAC (Keyed-Hash Message Authentication Code).

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

Cenno ai Certificati Digitali

Nella crittografia asimmetrica si rende necessario stabilire unassociazione univoca


tra la chiave pubblica e la vera identit di un soggetto (una persona, fisica o giuridica,
un computer, etc) che dichiara di utilizzarla nellambito delle procedure di cifratura.
Il certificato digitale il documento elettronico che soddisfa questo compito.
Tale certificato, fornito da un ente terzo fidato e riconosciuto come autorit di
certificazione (CA), a sua volta sottoposto a firma, per evitare la falsificazione.
Essendo cifrato con la chiave privata dellassociazione, chiunque pu verificarlo,
attraverso la corrispondente chiave pubblica.
Quando luso delle chiavi pubbliche raggiunge valori rilevanti, limpiego dei
certificati diventa indispensabile per consentire lo scambio delle chiavi in modo sicuro
tra gli utenti.
I certificati digitali rappresentano una soluzione per superare questa problematica.
In un progetto come SPC sar adottato uno strumento simile, perch si potrebbe
verificare il caso in cui un truffatore diffonda una chiave pubblica in rete, simulando che
questa appartenga alla Banca X.
Per evitare questo problema, la Banca X, inserisce la sua chiave pubblica in un
certificato firmato da una terza parte fidata (trusted third party). Tutti quelli che la
riconoscono come tale, devono semplicemente controllare la firma per sapere se la
chiave pubblica appartiene veramente alla Banca X.

19
2.2.7

Autenticit e Integrit nellAssegno

Attraverso opportuni algoritmi, non solo di firma digitale, si raggiunto il primo


obiettivo: comprovare, con matematica certezza, autenticit e integrit del titolo di
credito.
Il testo in chiaro, nominato nei paragrafi precedenti, potr essere rappresentato da
pi di un dato, ad esempio in Italia, potrebbe essere il numero dellassegno, unito ai
numeri corrispondenti ad ABI e CAB. In qualche altra parte del mondo, una delle altre
possibili combinazione di elementi caratterizzanti.
Si

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.

2.3 Definizione della Soluzione Grafica


Si valutato che limplementazione di un codice a barre bidimensionale (2D)
nellassegno, pu essere una valida modalit di rappresentazione incorporante le
funzionalit ottenute con la firma digitale o con HMAC e contemporaneamente, essere
utile e di facile utilizzo per lutente finale.
I codici a barre sono stati inventati e sviluppati da Norma Joseph Woodland e
Bernard Silver, nel 1948. Lidea part dal noto codice Morse, ovvero i punti e le linee
venivano rappresentate graficamente con barre strette e barre larghe. Questa la ragione
della loro definizione: grafici a contrasto elevato.
La loro lettura avviene tramite appositi dispositivi che attraverso un sensore a
scansione, decodificano le linee per restituire linformazione contenuta.

Figura 2.2 - Codice a barra lineare

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

I Codici a Barre Bidimensionali

Questi codici si caratterizzano per il tipo di rappresentazione a schema matriciale


delle informazioni e dei dati. Sono definiti anche, mobile code (o tag 2d).
Hanno trovato una prima applicazione in ambito industriale e logistico, e
successivamente si sono diffusi nel mercato dei beni di consumo, quando il costo degli
scanner si fatto pi accessibile. Si possono trovare su prodotti di uso comune, riviste,
giornali, pubblicit, e anche biglietti da visita. Spesso si sente parlare di
one click content, perch la loro scansione evita linserimento manuale di complesse
URL sul browser del terminale mobile.
Con i moderni device mobili, smartphone, si ha modo di scaricare gratuitamente
da app store on line, software in grado di scansionare, attraverso una fotocamera digitale
equipaggiata al cellulare, i codici a barre bidimensionali.
In questo tipo di codici, evoluzione di quelli lineari, le informazioni sono
rappresentate da un insieme di pixel, o moduli, quadrati bianchi e neri ( in qualche caso
anche colorati) che formano figure di varie forme, tipicamente quadrate o rettangolari.
La loro capacit di contenere informazioni varia da pochi caratteri ad alcune migliaia.
2.3.2

Tipi e Formati di Codici a Barre Bidimensionali

Esistono numerosi tipi e formati di codici a barre bidimensionali di seguito si


riportano quelli pi noti:
Aztec codec: (Figura 2.3) pubblicato da AIM Inc nel 1997. Il codice pur essendo
brevettato, di pubblico dominio. Il simbolo pu supportare formati fino a 151x151
pixel, possono essere codificate, 1.914 byte di dati, 3.832 cifre,o 3.067 lettere. Quando
necessaria

una

fino a 26 codici.

grande

capacit

di

dati,

si

possono

concatenare

21

Figura 2.3 - Codice a barre Aztec

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.

Figura 2.4 - Codice a barre BarCode a colori

MaxiCode: (Figura 2.5) Particolarmente impiegato negli impianti di smistamento


delle merci per la sua alta velocit di lettura, ha dimensione e capacit fissa, ed di
pubblico dominio. Adatto per la gestione e il tracciamento della spedizione, assomiglia
ad un codice a barre, ma utilizza punti disposti in griglie esagonali.
Appare come un quadrato di circa un pollice, con un mirino nel mezzo, circondato da
una configurazione di punti esagonali. La capacit di memorizzazione supera
i 90 caratteri dinformazioni, ed possibile aumentarla unendo fino a 8 simboli insieme.

22

Figura 2.5 - Codice a barre MaxiCode

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.

Figura 2.6 - Codice a barre PDF417

E un formato di pubblico dominio che viene impiegato in vari contesti, in


particolare nei trasporti e nei documenti didentit. E stato valutato come codice da
utilizzare allinterno di SPC, ma a parit di dati occupa circa quattro volte lo spazio
occupato da QR Code e Data Matrix per cui stato abbandonato.

ShotCode: un barcode circolare creato da High Energy Magic of Cambridge


University (Figura 2.7). Ha una rappresentazione molto caratteristica in quanto simile
a un

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

Figura 2.7 - Codice a barre ShotCode

2.3.3

QR Code

Il codice bidimensionale QR Code (Quick Response code) codice di risposta


rapida, nato con lobiettivo di permettere una rapida decodifica del suo contenuto,
stato sviluppato nel 1994 dalla compagnia giapponese Denso Wave, una controllata
della societ Toyota, allo scopo di monitorare i pezzi delle auto durante le fasi di
lavorazione.
E una matrice di righe e colonne composta da moduli, ovvero da pixel, nelle figure
sono i quadratini, che tipicamente possono assumere il valore 1 (colore nero) e
il valore 0 (colore bianco), pur avendo la possibilit di invertire i colori (Figura 2.8).
Nel 1999 la Denso Wave, ha conservato i diritti di brevetto, ma ha rilasciato luso del
codice QR con licenza libera. Il primo settembre 2006 stato approvato un nuovo
standard ISO (ISO/IEC 18004:2006).

Figura 2.8 - a) QR Code su sfondo bianco

b) QR Code su sfondo nero

La dimensione, meglio definita con il termine di versione, varia dalla pi piccola


21x21

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.

Figura 2.9 - Struttura del QR Code

Recentemente sono state sviluppate applicazioni orientante alla comodit, ovvero


finalizzate a sollevare lutente dal noioso compito dinserire dati nel proprio telefono
cellulare. Un esempio (Figura 2.10) laggiunta dei codici QR sui biglietti da visita,
semplificando notevolmente il compito dinserire i dettagli personali di un nuovo
contatto nella rubrica del proprio cellulare.

25

Figura 2.10 - Esempio di impiego dei QR Code

Si deciso di utilizzare questo genere di rappresentazione grafica in SPC per lottima


capacit di memorizzazione dei dati, per la crescente diffusione nelluso e per la
possibilit di poter regolare il livello di correzione degli errori.
2.3.4

Data Matrix

E un codice a barre bidimensionale a matrice, inventato dalla International Data


Matrix Inc (ID Matrix) che si unita alla RVSI/Acuity CiMatrix. Nel 2005 stata
acquisita da Siemens. E anche conosciuto con il nome di Semacode, unidea della
canadese Semacode Corporation di Simon Woodside che ha sviluppato attorno a questo
codice una piattaforma di marketing, che trova collocazione nel progetto
Semapedia.org. Pu avere sia una forma rettangolare che quadrata (Figura 2.11).

Figura 2.11 - Data Matrix quadrato e rettangolare

Si ha la possibilit di inserire dati testuali fino ad un massimo di 2.335 caratteri


alfanumerici. La quantit funzione della dimensione del simbolo usato.

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).

Figura 2.12 - Data Matrix

I bordi che delimitano un Data Matrix hanno la seguente configurazione:


due bordi adiacenti sono colorati in modo uniforme e formano una L definita Finder
Pattern. Questo viene utilizzato per permettere ai dispositivi di decodifica di localizzare
e orientare correttamente il Data Matrix. Gli altri due bordi adiacenti appaiono
tratteggiati a causa dellalternanza di celle di colore bianco e nero. Essi costituiscono il
Timing Pattern che permette di contare il numero di righe e colonne che lo
costituiscono.
Allinterno di questi bordi troviamo tutte le celle, organizzate in righe e colonne, che
compongono linformazione codificata. Ogni simbolo diviso in regioni di dati, ognuna
delle quali contiene un array regolare di moduli.

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).

Figura 2.23 - Esempio di utilizzo del Data Matrix

I blocchi dinformazione, composti da 8 bit, non sono disposti in modo ordinato e


lineare, tipo da sinistra a destra o dallalto verso il basso, ma sono posti in diagonale.
Il codice pu essere letto rapidamente da uno scanner che permette al supporto di
essere tracciato negli spostamenti.
E stato preso in considerazione in SPC per via della sua forma rettangolare, che
meglio si adatta agli spazi liberi allinterno dellassegno e per le evidenze indicate nel
paragrafo successivo.
2.3.5

Confronto tra QR Code e Data Matrix

Entrambe le codifiche sono di libero dominio, il QR Code era pi diffuso in oriente


perch fin dallinizio ha consentito luso dei caratteri Kanji/Kana (lalfabeto
giapponese) in seguito si poi diffuso anche in occidente.

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

Figura 2.34 - Confronto tra QR Code e Data Matrix

In conclusione, quando fondamentale la velocit delaborazione preferibile


scegliere il QR Code, mentre in applicazioni in cui la dimensione del simbolo deve
essere ridotta al minimo a discapito della performance di lettura, consigliabile
utilizzare Data Matrix.

2.4 SPC e Dematerializzazione


In una presentazione fatta da ABI allo SPIN ( Spinning Innovation in Payment) del
2012, stato affrontato largomento dematerializzazione introdotto con il Decreto
Legge 13 maggio 2011 n.70, convertito in legge, con modificazione, dellart.1 comma 1
Legge 12 Luglio 2011 n.106. Il Decreto Legge ha rettificato la Legge Assegno, in
particolar modo per quanto riguarda la lavorazione dellassegno da parte delle istituti di
credito, dopo lincasso. I punti salienti del decreto sono:
-

lassegno bancario e circolare pu essere presentato al pagamento in forma sia


cartacea sia elettronica.

Il protesto o la constatazione equivalente possono essere effettuati in forma


elettronica sullassegno presentato al pagamento in forma elettronica.

Le copie informatiche di assegni cartacei sostituiscono ad ogni effetto di legge


gli originali da cui sono tratte se la loro conformit alloriginale assicurata
dalla banca negoziatrice mediante lutilizzo di propria firma digitale e nel
rispetto delle disposizioni attuative e delle regole tecniche.

LABI ha organizzato un tavolo di lavoro, con i rappresentati dei principali istituti di


credito, nel quale stanno decidendo le diverse modalit di attuazione del decreto.

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).

3.1 Software Cheque Data Sign


Lapplicazione denominata Cheque Data Sign (CDS) (Figura 3.1), stata sviluppata
per realizzare i codici bidimensionali, affinch siano rappresentativi della firma digitale
di dati predefiniti oppure per incorporare lopzione HMAC.

Figura 3.1 - Layout di Cheque Data Sign

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

Cheque Data Sign: Tab Encode

Il software CDS, dopo lavvio, presenta tre form, in termine tecnico


tabs, denominate: Encode, Decode, e Key Management. (Figura 3.2)

Figura 3.2 - Tab Encode

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:

Codeline, Input Data, Signed Data.


Codeline, permette linserimento di dati alfanumerici statici e identificativi
dellassegno.

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).

Figura 3.3 - Tab Encode dettaglio su sezioni Signature e Code 2D

Nella sezione Signature si trovano:

Algorythm la prima propriet che lutente pu impostare. Attraverso un men a


tendina, si presentano tre diverse tipologie di algoritmi di cifratura, due asimmetrici,
RSA ed ECDSA, e uno simmetrico HMAC. I primi due sono strettamente correlati al
concetto di firma digitale. RSA viene usato con chiave a 1.024 bit, la firma risultate
avr la stessa entit. Mentre ECDSA sfrutta una chiave a 256 bit e loutput di firma a
512 bit. Si pone attenzione al peso della firma, poich questa strettamente correlata
allestensione dellimmagine 2D. Gli spazi a disposizione nella parte privilegiata
dellassegno, ovvero quella frontale, sono ristretti, pertanto questultimo algoritmo da
prediligere.

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.

Figura 3.4 - Dettaglio sulle funzioni Encoding e Bank ID

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.
-

Code 2D la seconda sezione funzionale (Figura 3.5).

Attraverso lopzione Type si pu scegliere tra QR Code, setting di default


e Data Matrix. Size ridimensiona, in aumento o decremento, la visualizzazione
dellimmagine 2D presente nel riquadro con sfondo bianco. Non viene variata la
disposizione delle celle (pixel), ma il loro numero.

Figura 3.5 - Sezione Code 2D

In funzione del tipo di codice 2D definito, si avr la possibilit di apportare delle


regolazioni. Per il QR Code, con Corr Lev, si ha modo di optare per uno dei quattro
livelli di correzione previsti dallo standard, e con Version, una delle quaranta versioni
disponibili. Si ricorda che per versione si intende il numero di pixel, da 21x21 a
177x177 (Figura 3.6).

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).

Figura 3.6 - Dettagli su funzioni Correction Level, Version, Data Matrix

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

formati: Jpeg Image, Bitmap Image, Gif Image, PNG Image.

risultante,

in

diversi

38
3.1.2

Cheque Data Sign: Tab Decode

Questa scheda viene utilizzata per decodificare un immagine importata dallesterno.


Vi sono due riquadri con sfondo bianco, il primo visualizza la figura 2D, il secondo
Data, mostra il risultato della decodifica (Figura 3.7).

Figura 3.7 - Tab Decode

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

Cheque Data Sign : Tab Key Management

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

Per questa ragione presente il pulsante Generate Key.

Figura 3.8 - Tab Key Management

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.

4.1 Risultati Generati dagli Algoritmi Asimmetrici


Tutti i codici 2D presenti nellelaborato, sono stati realizzati utilizzando
la medesima Codeline e lo stesso Bank ID, allo scopo di consentire una valutazione pi
attendibile dei risultati. La sola variante quindi rappresentata dallalgoritmo di
cifratura, che origina una differente firma digitale. Come specificato nei capitoli
precedenti, luso di RSA con chiavi a 1024 bit, comporta una firma di pari entit.
Lalgoritmo ECDSA con un livello di sicurezza superiore, chiavi a 256 bit, origina
firme a 512 bit. Loutput delle firme stato convertite in esadecimale, per permetterne
la rappresentazione.
Si ricorda che i dati campionati sono: nome della banca, numero dellassegno,
numero ABI, numero CAB, ed infine il tipo di algoritmo impiegato.
- Per RSA i dati da codificare sono:
<cs><cheque BID="DOLPHINBANK"
CL="a0101510001d504062430e"></cheque><sign
ALG="RSA">NarZpPDepTr6yWNL8eptJU1uaABNMlO3RNNgOBoZ7WD8xdk
W3KoYKWlavAPMMyGzFuw8nUy08rBJM3uBvR6ZfA+Z+bXYewzoYgsOSm
fVkNmr0wawF2LF46DE1cqn3COHvz0LwrW6bEsOt81pdCegWLSYMnjXfMw
AJTpxXP77en8=</sign></cs>.

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)

Figura 4.1 - Data Matrix e QR Code con RSA e size 3

Figura 4.2 - Specifiche codici bidimensionali per RSA, size 3

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)

Figura 4.3 - Data Matrix e QR Code con RSA e size 4

I valori di riferimento per size 4 sono espressi nella tabella sottostante (Figura 4.4).

Figura 4.4 - Specifiche codici bidimensionali per RSA, size 4

- I codici 2D e i dati riferiti ad ECDSA si ottengono analizzando la seguente stringa:


<cs><cheque BID="DOLPHINBANK"
CL="a0101510001d504062430e"></cheque><sign
ALG="ECDsa">MD0CHCcbRmjyYulLLzD6THRBOOQpKCQfwK4AO4Dk/LQ
CHQD1CLADTH5TUxN3y/pgvoOj7ztbnn0S92mZAm4T</sign></cs>.
Il numero di caratteri per questa stringa 181.

La rappresentazione dei codici 2D per ECDSA con size 3 in Figura 4.5

1)

2)

3)

4)

5)

Figura 4.5 - Data Matrix e QR Code con ECDSA e size 3

44
I valori di riferimento per i codici bidimensionali di ECDSA size 3 sono espressi
nella tabella sottostante (Figura 4.6).

Figura 4.6 - Specifiche codici bidimensionali per ECDSA, size 3

La differenze rispetto a RSA, si rileva nella comparazione delle dimensioni tra


QR Code e Data Matrix. In ECDSA, il QR Code deve ridurre ulteriormente il livello di
correzione da M a L, per poter assumere una misura simile a quella del Data Matrix.

1)

2)

3)

4)

5)

Figura 4.7 - Data Matrix e QR Code con ECDSA e size 4

Figura 4.8 - Specifiche codici bidimensionali per ECDSA, size 4

Esaminando i dati, emerge una differenza sostanziale tra le 2 firme digitali.


ECDSA ha il 32% in meno di caratteri rispetto a RSA. Come dimostrato dalla tabella

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%.

Figura 4.9 - Confronto dimensione firma digitale/codici 2D

Una

delle

ragioni

da

ricercare

nel

confronto

versione/numero

di

caratteri/dimensione immagine 2D. Le dimensioni delle immagini sono legate alle


versioni, le quali hanno dei range predefiniti in funzione del numero dei caratteri da
codificare. Il rapporto percentuale tra il numero massimo di dati di una versione e la
successiva fortemente decrescente allinizio. Lincremento sul formato delle
immagini, nel passaggio da una versione allaltra, invece, nettamente meno
accentuato.

4.2 Risultati Generati da HMAC


Di seguito vengono riportati i dati da codificare per lalgoritmo HMAC:
<cs><cheque BID="DOLPHINBANK"
CL="a0101510001d504062430e"></cheque><sign
ALG="HMAC">XnKTqAp2I6FbJqJUXiIrcc7fGIE=</sign></cs>
Il numero di caratteri per questa stringa 124.
I codici bidimensionali risultanti con opzione size 3, sono presenti in Figura 4.10.

1)

2)

3)

4)

5)

46
Figura 4.10 - Data Matrix e QR Code con HMAC size 3

Figura 4.11 - Specifiche codici bidimensionali HMAC size 3

Anche i dati riferiti allalgoritmo HMAC confermano quanto evidenziato in


precedenza. Per ottenere una dimensione dellimmagine equivalente tra i due codici
bidimensionali, QR Code deve ridurre il livello di correzione tra il 7% e il 15%.
Lincremento dellopzione size, da 3 a 4, riportata di seguito, in linea con quanto
mostrato per gli algoritmi asimmetrici.

1)

2)

3)

4)

5)

Figura 4.12 - Data Matrix e QR Code con HMAC size 4

Figura 4.13 - Specifiche codici bidimensionali HMAC size 4

Non si ritiene corretto produrre un confronto tra le cifrature asimmetriche e HMAC


per evidenti differenze sostanziali.

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.

5.1 Applicazioni Attuali


Gli assegni italiani esaminati, hanno tutti le stesse misure, 18 cm x 7 cm circa.
Si rilevato che lo spazio a disposizione nella parte frontale degli assegni mediamente
2,5 cm x 2,5 cm. Questarea pu aumentare notevolmente nel caso in cui si adottino
semplici riposizionamenti, ad esempio nei loghi utilizzati dalle banche, o pi
semplicemente la spaziatura per la firma del titolare. Le immagini proposte nel
proseguo, non contengono tali modifiche, per non alterare le considerazioni.
In base alle analisi e ai dati riportati nel Capitolo 4, esistono pi soluzioni confacenti
allo scopo. Le Figura 5.1 e 5.2 ne sono una prima esemplificazione.

48
Figura 5.1 - Implementazione di Data Matrix con ECDSA size 3

Figura 5.2 - Implementazione di Data Matrix con HMAC size 3

Si potrebbe quindi concludere che il miglior risultato sia da ricercare nella pi


piccola

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

Figura 5.3 - Soluzione ottimale con QR Code

La seconda , Figura 5.4, riferita a un Data Matrix con ECDSA size 5,


corrispondente a 2,20 cm.

Figura 5.4 - Soluzione ottimale con Data Matrix

I test riguardanti la decodifica dei codici bidimensionali attraverso smartphone,


hanno il solo scopo di constatare concretamente la lettura dellimmagine e non la
verifica della firma digitale. Questo primo target, ha permesso di usare diversi tipi di
device, non solo con sistema operativo Android. Si cos potuto osservare che le
fotocamere con autofocus risultano nettamente pi performanti e mediamente, in un
tempo indicativo di 2 secondi, risolvono unimmagine di circa 1,6 cm.
Per completare lindagine, al fine di aumentare le probabilit di successo del
processo SPC, si sono valutate tre soluzioni alternative.

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.

Figura 5.5 - Ipotesi 1: QR Code livello di correzione High, size 10

Mantenendo il tipo di codice 2D e diminuendo il size a 7 otteniamo una dimensione


di 4,3 cm x 4,3 cm che migliora laspetto grafico (Figura 5.6).

Figura 5.6 - Ipotesi 1 bis: QR Code livello di correzione High, size 7

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).

Figura 5.7 - Ipotesi 2: utilizzo del codice PDF417

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

(ad esempio: ECDSA).


2) Utilizzo di un codice simile allIBAN. Questultimo non riporter il numero
del conto corrente, perch non noto al momento della creazione del codice
2D, ma il numero dellassegno. Per il resto sar identico e quindi permette di
riconoscere tutti gli istituti di credito del mondo.
Date queste due condizioni, si potrebbero sdoppiare le informazioni da codificare
in due codici 2D distinti. Uno contenente il solo testo in chiaro ovvero quanto
indicato nel punto 2, il caso italiano consterebbe di 27 caratteri, uno contenente la sola
firma. Il vantaggio di questa soluzione rappresentata da una maggior probabilit di
successo

nella

lettura

dei

codici

bidimensionali

parit

di

ingombro.

Lo svantaggio una duplicazione della fase di lettura.


Naturalmente il software Android (fase due del progetto SPC), in questipotesi,
dovrebbe prevedere una diversa gestione dei dati.
Nella Figura 5.8 si propone un QR Code con ECDSA size 4.

Figura 5.8 - Ipotesi 3: sdoppiamento codici 2D

53

5.2 Applicazioni Future


Una prima applicazione pratica di SPC riferita alle norme riguardanti la
dematerializzazione degli assegni, ampiamente esposta nel paragrafo 2.4.
LABI sta esaminando le migliori soluzioni operative, al fine di attivare la
legislazione prevista in argomento. Gli istituti di credito adottano i Data Matrix
allinterno di alcuni processi, non si esclude che possano sfruttarli anche per la
dematerializzazione.
Il Security Protocol Cheque risulterebbe quindi sinergico alla messa in opera della
normativa.
Altri utilizzi futuri di SPC sono da ricollegare agli ATM (Automated Teller
Machine). Da poco tempo, negli istituti di credito nazionali si pu notare la presenza,
sia al loro interno che allesterno, di particolari bancomat che invece di erogare
banconote, dopo unappropriata autenticazione, danno la possibilit di stampare il
proprio libretto di assegni. Chiaramente questa opportunit riservata ai correntisti
dellistituto dove si svolge loperazione.
In questo contesto, SPC pu trovare applicazioni interessanti, nel trasferimento di
somme di denaro, senza la necessit di attendere i normali giorni valuta del bonifico.
Volendo fare delle ipotesi, e circoscrivendo per semplicit lambito a livello
nazionale, anche se facilmente estendibile a tutto il mondo, ci si potrebbe trovare nella
necessit di disporre di una somma pi o meno consistente, senza per detenerla n con
s, n sul proprio conto corrente. La soluzione pu essere rappresentata dallintervento
di un soggetto disposto ad anticipare limporto desiderato.
Questa persona, attraverso unapplicazione software dedicata, presente sul suo
smartphone, effettua la scansione del codice bidimensionale di un proprio
assegno sicuro realizzato da SPC. Lassegno in questione, non deve essere mai stato
utilizzato prima. Completa la procedura indicando altri dati come: il nome del
beneficiario, la data, e limporto. Al termine, invia un messaggio al beneficiario.
Il messaggio, sar un nuovo codice bidimensionale, contenente i dati di cui sopra, che il
software

avr

generato

con

le

specifiche

crittografiche

del

caso.

Il beneficiario, presentandosi allATM di una banca, trasferisce dal suo smartphone


il codice 2D ricevuto, e quindi potr stampare un assegno dedicato pronto per essere
speso.

54

GLOSSARIO
ABI

Associazione Bancaria Italiana lente che rappresenta


promuove e tutela gli interessi degli istituti di credito
nazionale.

Android

societ americana che ha dato il nome a un sistema operativo


per dispositivi mobili.

App

Abbreviazione di Application un termine usato per indicare


un software, tipicamente per device mobili.

CA

Certification Authority un ente pubblico o privato autorizzato


a rilasciare certificati digitali.

CAI

Centrale dAllarme Interbancaria rappresenta l'archivio


informatizzato degli assegni e delle carte di credito irregolari,
istituito presso la Banca d'Italia.

Certificato digitale un documento che attesta labbinamento soggetto (fisico o


giuridico) e chiave crittografica pubblica.
Codici 2D

Anche detti codici a barre bidimensionali, o a matrice, sono


rappresentazioni grafiche di moduli, normalmente in bianco e
nero, che incorporano caratteri alfanumerici.

Codice ABI

E un numero di 5 cifre che identifica ogni istituto di credito


italiano.

Codice CAB

Codice di Avviamento Bancario un numero composto da 5


cifre che identifica la specifica filiale appartenente a una
banca.

Data Matrix

Tipo di codice bidimensionale o codice 2D.

ECDSA

Tipologia di algoritmo di cifratura asimmetrico che sfrutta le


curve ellittiche per la generazione della coppia di chiavi
pubbliche private.

HMAC

Keyed-Hash Message Authentication Code una tipologia di


cifratura simmetrica realizzata da funzioni di hash e MAC.

55
MAC

Message Authentication Code rappresenta un algoritmo di


capace di prendere in input un messaggio di lunghezza
arbitraria M, e una chiave segreta K, per produrre in output un
messaggio cifrato Y.

MICr

Magnetic Ink Character Recognition una particolare tipologia


di stampa usata negli assegni.

Path

termine con cui si identifica il percorso di un file allinterno


del file system.

PayPal

societ americana fondata nel 1998, specializzata nei servizi di


pagamento online. Il termine spesso usato come sinonimo di
strumento di pagamento.

POS

Point of Sale un dispositivo hardware che si interfaccia tra la


banca e la carta di pagamento (credito/debito) del cliente.

QR Code

Tipo di codice bidimensionale o codice 2D.

RSA

Tipologia di algoritmo di cifratura asimmetrico che sfrutta


laritmetica modulare per la generazione delle chiavi.

SHA

Secure Hash Algorithm sono un gruppo di funzioni hash.

XML

eXtesible Markup Language, un linguaggio indipendente


dallhardware, dal software o dalla piattaforma usata, avente lo
scopo di trasmettere informazioni.

56

INDICE DELLE FIGURE


Figura 1.1 - Assegno bancario attuale .......................................................................... 1
Figura 1.2 - Assegno bancario del 1900....................................................................... 2
Figura 1.3 - Primi assegni ad impiegare la tecnologica MICr ..................................... 2
Figura 1.4 - Home page sito CAI ................................................................................. 4
Figura 2.1 - Confronto del grado di sicurezza tra gli algoritmi RSA e ECC ............. 15
Figura 2.3 - Codice a barra lineare ............................................................................. 19
Figura 2.4 - Codice a barre Aztec .............................................................................. 21
Figura 2.5 - Codice a barre BarCode a colori ............................................................ 21
Figura 2.6 - Codice a barre MaxiCode ....................................................................... 22
Figura 2.7 - Codice a barre PDF417 .......................................................................... 22
Figura 2.8 - Codice a barre ShotCode ........................................................................ 23
Figura 2.9 - a) QR Code su sfondo bianco

b) QR Code su sfondo nero ................ 23

Figura 2.10 - Struttura del QR Code .......................................................................... 24


Figura 2.11 - Esempio di impiego dei QR Code ........................................................ 25
Figura 2.12 - Data Matrix quadrato e rettangolare ..................................................... 25
Figura 2.13 - Data Matrix........................................................................................... 26
Figura 2.14 - Esempio di utilizzo del Data Matrix..................................................... 27
Figura 2.15 - Confronto tra QR Code e Data Matrix ................................................. 29
Figura 3.1 - Layout di Cheque Data Sign .................................................................. 31
Figura 3.2 - Scheda Encode ....................................................................................... 32
Figura 3.3 - Scheda Encode dettaglio su sezioni Signature e Code 2D ..................... 34
Figura 3.4 - Dettaglio sulle funzioni Encoding e Bank ID ........................................ 35
Figura 3.5 - Sezione Code 2D .................................................................................... 36
Figura 3.6 - Dettagli su funzioni Correction Level, Version, Data Matrix ................ 37
Figura 3.7 - Scheda Decode ....................................................................................... 38
Figura 3.8 - Scheda Key Management ....................................................................... 39
Figura 4.1 - Data Matrix e QR Code con RSA e size 3 ............................................. 42
Figura 4.2 - Specifiche codici bidimensionali per RSA, size 3 ................................. 42
Figura 4.3 - Data Matrix e QR Code con RSA e size 4 ............................................. 43
Figura 4.4 - Specifiche codici bidimensionali per RSA, size 4 ................................. 43
Figura 4.5 - Data Matrix e QR Code con ECDSA e size 3 ........................................ 43

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.

Ringrazio lIngegner Claudio Santacesaria della societ Rototype S.p.A.


Ringrazio questUniversit, tutti i Docenti e i preziosissimi tutor della SSRI, per la
loro passione e dedizione nel trasmettere Sapere. Un grazie al personale
Tecnico/Amministrativo, che non si vede, ma che tutti i giorni lavora per noi.
Alla Dott.ssa Sabrina Papini, tutor di processo, insostituibile e onnipresente.
Grazie per i preziosi consigli, per la carica e lo sprono a non demordere.
Agli amici e colleghi di corso, Mario Bolignano e Dott. Andrea Valerio,
grazie per il paziente affiancamento (lato software).
Grazie ai tutor del corso di Crittografia, Dott.ssa Anna Lisa Ferrara e
Dott.

Eros

Pedrini,

per

aver

risposto

sempre

tempestivamente

alle

mie richieste di delucidazione.


Ringrazio la Dott.ssa Maria Meneguolo e la Dott.ssa Elisabetta DAmbrosio per
la loro preziosa consulenza tecnico/legislativa, in ambito bancario.
Un grande ringraziamento al mio Amico e compagno davventura Andrea Guido,
conosciuto allinizio di questo percorso formativo. Ci siamo reciprocamente motivati
durante i molteplici momenti di stanca e oggi, insieme, tagliamo lagognato
traguardo.
Come in tutti i progetti che si rispettino, c una componente grafica e a chi,
meglio di Stefano Rinetti e Guido Tattoni potevo affidarmi per suggerimenti e
soluzioni, grazie.

Alle

componenti

fondamentali

miei

Genitori

la

mia

del

mio

compagna

cuore

Stefania.

e
Per

del
il

mio
solo

essere,
fatto

di

esistere, grazie, per la vostra pazienza, comprensione e complicit, grazie !


Questo risultato totalmente dedicato a Voi.
Infine,

ma

non

il Dott. Fabio Furlani.

per

questo

meno

importante,

voglio

ringraziare

60

Potrebbero piacerti anche