17.11.2012 Views

Capitolo 1 Introduzione - Agent and Pervasive Computing Group

Capitolo 1 Introduzione - Agent and Pervasive Computing Group

Capitolo 1 Introduzione - Agent and Pervasive Computing Group

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!