Capitolo 1 Introduzione - Agent and Pervasive Computing Group
Capitolo 1 Introduzione - Agent and Pervasive Computing Group
Capitolo 1 Introduzione - Agent and Pervasive Computing Group
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Capitolo</strong> 1<br />
<strong>Introduzione</strong><br />
<strong>Capitolo</strong> 1 – <strong>Introduzione</strong> alla Tesi<br />
Negli ultimi decenni il mondo industrializzato ha assistito ad un crescendo esponenziale<br />
nell’innovazione tecnologica, nella ricerca scientifica, nelle telecomunicazioni: le distanze si sono<br />
accorciate, milioni di persone ogni giorno percorrono per terra, per cielo e per mare immense<br />
distanze, ma soprattutto in pochi secondi è possibile stabilire una comunicazione anche tra punti<br />
opposti del globo terrestre. L’informatica non riguarda più solo il computer, ma è diventato un<br />
modo di vivere: il gigantesco computer centrale, il cosiddetto mainframe, è stato in gran parte<br />
rimpiazzato dai personal computer; abbiamo visto i computer uscire dalle gr<strong>and</strong>i stanze climatizzate<br />
per entrare in armadi, passare poi sulle scrivanie per finire quindi sulle nostre ginocchia e infine<br />
nelle nostre tasche.<br />
Aument<strong>and</strong>o le interconnessioni virtuali tra gli individui, molti dei valori tradizionali propri<br />
dello stato-nazione lasceranno il passo a quelli di comunità elettroniche, gr<strong>and</strong>i o piccole che siano;<br />
socializzeremo con un vicinato digitale dove lo spazio fisico sarà irrilevante e il tempo giocherà un<br />
ruolo differente da quello che siamo abituati a percepire oggi. Inoltre si stanno verific<strong>and</strong>o grossi<br />
cambiamenti nel mondo delle telecomunicazioni: da sempre il commercio mondiale consiste nello<br />
spostare lentamente, con fatica e con costi rilevanti, per migliaia di chilometri, impieg<strong>and</strong>o parecchi<br />
giorni, una massa enorme e pesante di “atomi”: persino la musica registrata con tecniche digitali è<br />
distribuita su CD di plastica, con grossi costi di imballaggio, spedizione e immagazzinamento.<br />
Tutto ciò sta cambi<strong>and</strong>o rapidamente: il lento spostamento manuale di gran parte dell’informazione<br />
sotto forma di libri, riviste, quotidiani, musicassette, videocassette, CD-ROM, DVD si sta<br />
trasform<strong>and</strong>o nello spostamento istantaneo e poco costoso di dati elettronici che si muovono alla<br />
velocità della luce. In questo modo l’informazione diventa veramente accessibile.<br />
Il passaggio “dagli atomi ai bit” è un processo irreversibile e inarrestabile: è chiaro che solo una<br />
parte dei prodotti potranno essere convertiti in forma digitale (come le informazioni), ma ciò non<br />
significa che le tecnologie digitali non possano essere d’aiuto nel progettare, vendere e gestire<br />
business basati sugli “atomi”.<br />
Questo processo di accorciamento delle distanze e abbreviazione dei tempi si sta afferm<strong>and</strong>o<br />
così prepotentemente che, ormai, non ci si stupisce più di niente e sembra normale ciò che poco<br />
tempo fa si poteva soltanto sognare, leggendo romanzi di fantascienza; in particolare, in alcuni di<br />
essi non era difficile trovare personaggi dotati di piccoli dispositivi, che potevano servire<br />
contemporaneamente da block notes, dizionario, enciclopedia e registratore. Questi aspetti di per sé<br />
non rappresentano nulla di speciale, poiché i desktop possiedono queste funzionalità ormai da<br />
decine d’anni, ma la caratteristica peculiare di questi dispositivi descritta in tali romanzi, ovvero<br />
quella di essere sufficientemente piccoli da poter essere sempre trasportati insieme ai loro<br />
proprietari, li rendeva immediatamente molto più potenti, permettendo l’accesso immediato a tutte<br />
le informazioni in essi contenute in qualsiasi momento e in qualsiasi luogo.<br />
Ormai anche i computer portatili, o laptop, sono una realtà; il primo computer portatile,<br />
l’Osborne-1, che fu prodotto nel 1981, aveva le dimensioni di una valigia e pesava più di dieci chili,<br />
per cui non era particolarmente facile da trasportare, ma i suoi successori si sono evoluti in versioni<br />
1
<strong>Capitolo</strong> 1 – <strong>Introduzione</strong> alla Tesi<br />
sempre più piccole, leggere e veloci ogni anno; l’attuale tecnologia permette a laptop estremamente<br />
potenti di essere trasportati quasi ovunque in una piccola valigetta.<br />
L’accesso a dati personali o di altro genere, memorizzati localmente su un dispositivo, è<br />
certamente molto importante, ma non bisogna dimenticare l’importanza della comunicazione: un<br />
computer è in sé certamente un valido strumento di lavoro e di svago, ma risulta molto noioso e<br />
limitativo, se paragonato con uno connesso in rete, specie se per “rete” si intende Internet! I telefoni<br />
mobili permettono, ormai da molti anni, di comunicare in modo pressoché istantaneo con chiunque,<br />
ovunque e in qualunque momento: essi sono sufficientemente piccoli da poter essere comodamente<br />
trasportati e sono anche diventati estremamente diffusi, specie negli ultimi tempi.<br />
Esistono anche dispositivi più piccoli dei laptop, i palmtop, che sono davvero sufficientemente<br />
piccoli per essere portati ovunque, ad esempio in tasca, esattamente come i moderni telefonini:<br />
come dice il nome “stanno sul palmo di una mano”. I palmtop non sono potenti come i laptop o<br />
come i computer desktop, ma sono comunque sufficientemente potenti per implementare molte<br />
funzioni utili.<br />
Adesso abbiamo dunque a disposizione telefoni mobili, che forniscono la connettività, e i<br />
laptop e i palmtop, che forniscono la necessaria potenza di calcolo: il passo successivo non può<br />
essere che quello di combinare insieme le due tecnologie.<br />
I telefoni cellulari possono funzionare, se dotati ad esempio di una porta a infrarossi con la quale<br />
comunicare con un portatile, come modem wireless per i computer portatili, fornendo accesso alla<br />
rete da qualsiasi luogo in cui ci sia copertura da parte di una rete mobile: questo presenta,<br />
naturalmente, alcuni problemi tecnici, legati alla b<strong>and</strong>a limitata e alla gr<strong>and</strong>e percentuale di errore<br />
delle reti mobili; necessita anche il trasporto di due dispositivi e la connessione tra loro, mentre un<br />
singolo dispositivo capace di comunicare e di processare dati sarebbe sicuramente irresistibile per il<br />
mercato di massa.<br />
Con le centinaia di milioni di telefoni cellulari in uso in tutto il mondo, il mercato dei servizi<br />
orientati agli utenti mobili è immenso: anche servizi molto semplici hanno tantissimi utenti, in<br />
quanto sono utili o divertenti. Riuscire a ricevere le news, inviare le email o essere intrattenuti in<br />
modo piacevole, in qualunque luogo ci si trovi, sono possibilità estremamente appetibili per una<br />
gr<strong>and</strong>e quantità di persone, mentre servizi più sofisticati rendono le cose attraenti pressoché per<br />
chiunque: la possibilità di accedere alle informazioni con dispositivi wireless rappresenta l’attuale<br />
sviluppo evolutivo del mondo telematico.<br />
In questa ottica, WAP (Wireless Application Protocol) rappresenta una risposta a queste<br />
necessità. Infatti, la tecnologia WAP ha una prospettiva di sviluppo particolarmente promettente nel<br />
mondo di Internet e delle telecomunicazioni. Il terreno è fertile e il coinvolgimento dei giganti del<br />
settore non lascia spazio ai dubbi sul futuro successo del progetto; resta comunque da fare il passo<br />
più difficile: convincere gli utenti della bontà e delle possibilità offerte da questo nuovo mezzo.<br />
Questa Tesi si aggiunge al gr<strong>and</strong>e impegno e ai gr<strong>and</strong>i sforzi che la comunità informatica sta, da<br />
qualche anno, port<strong>and</strong>o avanti nel settore wireless: essa sorge da un vivo interesse e da un notevole<br />
dose di curiosità nei confronti delle tematiche trattate e si propone di fornire una panoramica il più<br />
possibile completa sui vari argomenti presi in considerazione.<br />
Gli obiettivi della Tesi sono molteplici:<br />
• realizzazione della Tesi nell’ambito di una realtà aziendale, pur mantenendo il contatto con<br />
l’Università di Modena e Reggio Emilia: il raggiungimento di questo obiettivo è considerato<br />
estremamente importante, per la futura vita professionale, anche perché una azienda, con i<br />
suoi ritmi e la sua continua ricerca di innovazione, rappresenta sicuramente una realtà<br />
estremamente stimolante. L’azienda scelta rappresenta una realtà vitale e all’avanguardia<br />
nello sviluppo di tecnologie Object Oriented client/ server, sia in ambito Internet sia in<br />
ambito wireless: si tratta di O.T.Consulting S.r.l. (Reggio Emilia).<br />
• Utilizzo di linguaggi e tecnologie Object Oriented, come Java e UML (Unified Modeling<br />
Language): si pensa che il futuro dell’informatica non possa che dirigersi in questa<br />
direzione, dal momento che i problemi da affrontare si avvicinano sempre più alla vita<br />
2
<strong>Capitolo</strong> 1 – <strong>Introduzione</strong> alla Tesi<br />
comune e che la progettazione ad oggetti ricalca molto da vicino le strutture del pensiero<br />
umano (si pensi alla classificazione, alla generalizzazione, all’ereditarietà e al forte legame<br />
che concettualmente esiste tra i dati e le azioni da intraprendere su essi). L’informatica è<br />
destinata a diventare sempre più pervasiva e l’utilizzo di strumenti vicini al comune modo di<br />
ragionare allevia il carico di lavoro che grava sugli sviluppatori.<br />
• Approfondimento delle tematiche wireless: “Internet a portata di mano” sarà senza dubbio<br />
una realtà, nel prossimo futuro. Le tecnologie che si ha intenzione di analizzare e mettere in<br />
opera nella presente Tesi rappresentano i primi passi in questa direzione e senza dubbio le<br />
tecnologie future partiranno dai presupposti e dagli sforzi compiuti in questi ultimi anni in<br />
campo WAP. La tecnologia WAP stessa prende fortemente spunto dal mondo Internet: è<br />
logico pensare che anche la tecnologia UMTS (Universal Mobile Telecommunication<br />
System), di cui tanto si parla oggi, sfrutterà molto del lavoro già svolto in WAP.<br />
• Realizzazione di una applicazione vera e propria, che affronti problematiche client/server,<br />
che sfrutti che le tecnologie wireless e che permetta di utilizzare Java e UML. Sarebbe<br />
estremamente formativo riuscire a seguire dall’inizio un progetto e portarlo a termine,<br />
attravers<strong>and</strong>o tutte le varie fasi di specifica e analisi dei requisiti, progettazione,<br />
implementazione e testing: infatti significherebbe mettere in pratica molte nozioni e molti<br />
strumenti con i quali si era entrati in contatto nel corso degli studi e rappresenterebbe il<br />
coronamento di un lungo percorso di studio e formazione.<br />
Di seguito viene presentata una breve panoramica sull’organizzazione del presente lavoro di<br />
Tesi: tale panoramica è intesa specialmente per essere d’aiuto al Lettore, il quale potrà focalizzare la<br />
propria attenzione sugli argomenti da lui reputati più interessanti.<br />
La Tesi sarà organizzata in nove Capitoli e sei Appendici: alcune Appendici saranno<br />
strettamente collegate ad alcuni dei Capitoli, ma si preferisce questa organizzazione per dare al<br />
Lettore una visione completa, ma non eccessivamente tecnicistica degli argomenti trattati. Inoltre,<br />
essendo questa Tesi orientata ad un pubblico dotato di una spiccata preparazione informatica, è<br />
facile che parecchi argomenti presenti nelle Appendici siano già noti.<br />
Schema organizzativo:<br />
• <strong>Capitolo</strong> 1 - <strong>Introduzione</strong>.<br />
• <strong>Capitolo</strong> 2 - Tecnologie wireless.<br />
• <strong>Capitolo</strong> 3 - Sicurezza.<br />
• <strong>Capitolo</strong> 4 - Public Key Infrastructure (PKI).<br />
• <strong>Capitolo</strong> 5 - Architettura WAP.<br />
• <strong>Capitolo</strong> 6 - Wireless Markup Language (WML).<br />
• <strong>Capitolo</strong> 7 - Push e Short Message Service (SMS).<br />
• <strong>Capitolo</strong> 8 - Applicazione.<br />
• <strong>Capitolo</strong> 9 - Conclusioni.<br />
• Appendice A - Glossario e acronimi.<br />
• Appendice B - Architettura WAP (dettagli).<br />
• Appendice C - EXtensible Markup Language (XML).<br />
• Appendice D - WAP Gateway (esempi).<br />
• Appendice E - Unified Modeling Language (UML).<br />
• Appendice F - Notifiche HTTP.<br />
Il <strong>Capitolo</strong> 2 presenterà un panoramica delle tecnologie wireless oggi disponibili,<br />
focalizz<strong>and</strong>osi principalmente su WAP e il gr<strong>and</strong>e progetto di st<strong>and</strong>ardizzazione ad esso collegato:<br />
l’obiettivo dichiarato è quello di integrare la telefonia mobile con Internet, per garantire agli utenti<br />
servizi sempre più ricchi e professionali, ma soprattutto per fornire loro l’opportunità di accedere al<br />
commercio elettronico mobile, comunemente chiamato “mobile commerce”. Le statistiche delle più<br />
3
<strong>Capitolo</strong> 1 – <strong>Introduzione</strong> alla Tesi<br />
famose agenzie che studiano il fenomeno sono accomunate da gr<strong>and</strong>i aspettative e da una gr<strong>and</strong>e<br />
fiducia nel futuro del wireless. Naturalmente la realizzazione pratica di questi obiettivi non è<br />
semplice e si scontra con problemi sia tecnici sia economici, che saranno, nel <strong>Capitolo</strong> 2,<br />
presentatati per sommi capi. Un’altra parte interessante riguarda i servizi wireless di trasmissione<br />
dati, in particolare SMS (Short Message Service), CSD (Circuit Switched Data), USSD<br />
(Unstructured Supplementary Services Data) e GPRS (General Packet Radio Service): tali servizi<br />
saranno brevemente trattati, insieme ai relativi vantaggi e svantaggi. Seguiranno alcuni accenni<br />
riguardanti l’architettura WAP (trattati poi diffusamente nel <strong>Capitolo</strong> 5 e nell’Appendice B), le<br />
possibili applicazioni della tecnologia e, naturalmente, alcune critiche e punti irrisolti. Come<br />
corredo del <strong>Capitolo</strong> 2 (e in generale come aiuto alla lettura di tutta la Tesi) si è inteso aggiungere<br />
l’Appendice A, che contiene molte definizioni e acronimi: ad essa si rim<strong>and</strong>a il Lettore tutte le<br />
volte che il significato di una sigla o di una locuzione non dovesse risultare chiara durante la lettura.<br />
Il <strong>Capitolo</strong> 3 riguarderà essenzialmente l’argomento “sicurezza”: prima di tutto verranno<br />
presentate alcune considerazioni sulla fiducia nel mondo Internet (fiducia diretta e indiretta),<br />
introducendo nel contempo alcuni importanti concetti come quelli riguardanti i certificati digitali e<br />
le Certification Authority (CA) o Autorità di Certificazione. Addentr<strong>and</strong>osi, poi, maggiormente<br />
nell’argomento principale, verranno trattati i quattro concetti che rappresentano la base della<br />
sicurezza (privacy, autenticazione, integrità e non ripudio), seguiti da una sommaria descrizione<br />
delle tecniche crittografiche oggi maggiormente adottate in campo informatico (crittografia<br />
simmetrica e asimmetrica, firma digitale) e da alcuni particolari riguardanti la distribuzione sicura e<br />
l’ottenimento dei certificati digitali. Anche se l’argomento principe della Tesi sarà il mondo<br />
wireless, non bisogna dimenticare che, per molti aspetti, esso rappresenta una sorta di universo<br />
parallelo al mondo wired: infatti molte tecnologie e protocolli rappresentano in buona parte una<br />
versione ottimizzata di soluzioni già adottate e funzionanti nel mondo Internet: questo è il caso del<br />
protocollo di sicurezza WTLS (Wireless Transport Layer Security), adattamento di SSL (Secure<br />
Socket Layer), utilizzato nel mondo wired. Infine, la conclusione del <strong>Capitolo</strong> 3 consisterà in una<br />
serie di considerazioni sulla crittanalisi e diverse tipologie di attacchi pratici alle tecniche di<br />
sicurezza: prima di pensare a come evitare un pericolo, è buona norma approfondirne la<br />
conoscenza.<br />
Il <strong>Capitolo</strong> 4 riguarderà un argomento strettamente legato alla sicurezza e alle Autorità di<br />
Certificazione: si tratta delle PKI (Public Key Infrastructure). Gestire una gr<strong>and</strong>e quantità di chiavi<br />
digitali o di password è difficile anche per una sola persona: si immagini alla confusione che<br />
potrebbe scaturire moltiplic<strong>and</strong>o il numero di persone, ad esempio nell’ambiente di una gr<strong>and</strong>e<br />
azienda con centinaia di dipendenti, nella quale le informazioni sulle chiavi rivestono, per di più,<br />
un’importanza cruciale! Per questo motivo sono sorte le PKI, che alleviano le fatiche delle aziende,<br />
occup<strong>and</strong>osi della gestione della loro sicurezza in modo professionale e affidabile. Nel <strong>Capitolo</strong> 4<br />
saranno presentati una serie di argomenti riguardanti l’organizzazione interna di una PKI, quali, ad<br />
esempio, le funzioni assolte e i vari tipi di certificati emessi, la gestione delle catene di certificati ed<br />
i certificati incrociati, alcuni protocolli leggeri di accesso ai database dei certificati e le modalità di<br />
revoca dei certificati stessi. Seguirà, nella seconda parte del <strong>Capitolo</strong> 4, un esempio pratico:<br />
VeriSign e la sua apertura al mondo wireless, nonché un rapido accenno ai problemi legati alla<br />
diffusione e all’utilizzo degli algoritmi crittografici che hanno rivoluzionato il mondo delle<br />
telecomunicazioni.<br />
Il <strong>Capitolo</strong> 5 si occuperà di presentare l’architettura WAP, fornendo inizialmente un parallelo<br />
con la tecnologia WWW, per poi addentrarsi nella struttura a livelli del protocollo. Saranno quindi<br />
descritti, con vari gradi di dettaglio, il modello e i componenti del livello di applicazione WAE<br />
(Wireless Application Environment), i servizi di connessione del livello di sessione WSP (Wireless<br />
Session Protocol), le caratteristiche del livello di trasporto WTP (Wireless Transaction Protocol), il<br />
modello di sicurezza implementato dal livello WTLS (Wireless Transport Layer Security) e le<br />
funzionalità/cuscinetto del livello datagram WDP (Wireless Datagram Protocol), che garantisce agli<br />
altri livelli una interfaccia comune nei confronti delle reti mobili sottostanti. Per chi fosse<br />
4
<strong>Capitolo</strong> 1 – <strong>Introduzione</strong> alla Tesi<br />
interessato ad ulteriori approfondimenti, si consiglia la consultazione dell’Appendice B, che<br />
conterrà dettagli implementativi dei quattro livelli: sessione, trasporto, sicurezza e datagram.<br />
Il <strong>Capitolo</strong> 6 si proporrà come una introduzione al linguaggio WML (WML sarà utilizzato nella<br />
realizzazione dell’Applicazione): inizialmente verrà presentata una panoramica dei costrutti base,<br />
dei tipi di dati, dello stato e delle variabili. Successivamente si tratterà la metafora organizzativa<br />
deck/card e la navigazione basata sugli eventi che tale organizzazione permette all’utente. Infine<br />
vengono presentati alcuni elementi di formattazione del testo. Ma lo scopo del <strong>Capitolo</strong> 6 non è<br />
solamente quello di presentare un linguaggio: infatti WML è un esempio di linguaggio creato<br />
utilizz<strong>and</strong>o un ormai universalmente noto meta-linguaggio (linguaggio per la definizione di altri<br />
linguaggi) chiamato XML. L’importanza di XML sta crescendo sempre più, ma essendo ormai<br />
molto noto, ne viene solo presentata una breve panoramica nell’Appendice C, a cui si rim<strong>and</strong>a il<br />
Lettore eventualmente interessato su tale argomento.<br />
Il <strong>Capitolo</strong> 7 riguarderà l’architettura Push di WAP: in particolare saranno considerati i soggetti<br />
basilari di tale architettura e i protocolli attraverso i quali essi comunicano. Si spiegherà, peraltro,<br />
perché la tecnologia Push WAP non possa essere attualmente utilizzata a fini pratici. Per questo<br />
motivo, dovendo l’Applicazione contenere anche un servizio push, sarà necessario percorrere una<br />
diversa strada: SMS (Short Message Service). Per un approfondimento, invece, su alcune tematiche<br />
architetturali, si rim<strong>and</strong>a il lettore all’Appendice D, in cui vengono presentati due diversi esempi di<br />
realizzazione di WAP Gateway.<br />
Il <strong>Capitolo</strong> 8, infine, riguarda la realizzazione pratica di una Applicazione push/pull WAP<br />
sicura, realizzata anche attraverso l’utilizzo di SMS: in particolare le funzionalità pull si<br />
appoggeranno al protocollo WAP, mentre la parte push sfrutterà la tecnologia SMS. Inizialmente si<br />
introdurranno i software utilizzati, come ad esempio il WAP Gateway e il Web server: ognuno di<br />
questi sarà scelto in previsione del raggiungimento dell’obiettivo finale della sicurezza. Nel seguito<br />
verrà presentata l’applicazione realizzata, nelle sue principali fasi, quali la specifica e l’analisi dei<br />
requisiti, il progetto e l’implementazione. Tutto questo sarà corredato di schemi riguardanti i<br />
diagrammi UML utilizzati: per quanto riguarda UML, si potrà trovarne una panoramica<br />
nell’Appendice E. Alla fine del <strong>Capitolo</strong> 8 si possono anche trovare alcuni screenshot<br />
dell’applicazione in funzione. Infine si è aggiunta anche una piccola Appendice F, che contiene il<br />
significato di alcuni degli errori HTTP riscontrati in fase di sviluppo dell’Applicazione: essa è<br />
risultata molto comoda, perciò la si propone come corredo finale del lavoro svolto.<br />
5
<strong>Capitolo</strong> 1 – <strong>Introduzione</strong> alla Tesi<br />
6