Politecnico di Torino | |||||||||||||||||
Anno Accademico 2011/12 | |||||||||||||||||
01OWGPG Servizi informatici innovativi |
|||||||||||||||||
Corso di Laurea Magistrale in Ingegneria Gestionale - Torino |
|||||||||||||||||
|
|||||||||||||||||
|
|||||||||||||||||
Presentazione
Questo corso si propone di completare la formazione dello studente nel campo dei sistemi ICT (Information and Communication Technologies) affrontando due aspetti fondamentali per la creazione di soluzioni informatiche innovative: la loro sicurezza e la capacità di adattarsi a dispositivi mobili.
Per quanto riguarda la sicurezza informatica, saranno studiate le debolezze e gli attacchi che riguardano i moderni sistemi di rete, considerando sia agli aspetti tecnologici sia quelli organizzativi. Si passerà quindi ad esaminare le principali tecniche di protezione, al fine di valutarne l’applicabilità a casi specifici e di progettare una soluzione di sicurezza per un’applicazione ICT. La parte relativa alle applicazioni su dispositivi mobili è rivolta alle tecniche e metodologie di progetto e sviluppo per applicazioni su dispositivi mobili. Verranno studiati gli aspetti relativi all’esistenza di vincoli di progettazione correlati alle caratteristiche dei dispositivi mobili, alla disponibilità di soluzioni alternative per l’interazione con l’utente ed alle criticità associate alla gestione delle comunicazioni di rete. Verrà usata come piattaforma di riferimento l’ambiente di sviluppo rappresentato dalla piattaforma Android. |
Risultati di apprendimento attesi
- Conoscenza dei problemi di sicurezza in ambiente ICT. Capacità di analizzare un’architettura ICT per identificarne punti di forza e di debolezza relativamente alla sua sicurezza.
- Conoscenza delle soluzioni disponibili per proteggere i sistemi ICT. Capacità di progettare ad alto livello un sistema di protezione per un sistema informatico o per un’applicazione di rete. - Conoscenza dei principi basilari della programmazione su dispositivi mobili. Capacità di applicare tali principi alla progettazione di soluzioni applicative concrete. - Conoscenza delle caratteristiche di base ed avanzate dell’ambiente Android. Capacità di applicare la conoscenza delle peculiarità delle tecniche di programmazione in ambiente Android alla soluzione di problemi complessi. |
Prerequisiti / Conoscenze pregresse
Conoscenza delle reti di computer (cablate e wireless), della rete Internet (e relative applicazioni) e della programmazione ad oggetti. Capacità di programmare in linguaggio Java.
|
Programma
- (1 CFU) Debolezze delle reti e dei sistemi di elaborazione: problemi e tipologie di attacco (sniffing, spoofing, DOS, ...)
- (1 CFU) Tecniche per la protezione delle informazioni: steganografia, crittografia, digest, certificati X.509, autorità di certificazione (CA) ed infrastrutture a chiave pubblica (PKI); tecniche di autenticazione (password, sistemi a sfida, Kerberos) e relativi dispositivi hardware di autenticazione (token e smart-card) - (1 CFU) Sicurezza di rete e delle applicazioni: uso di firewall e IDS per la creazione di sottoreti protette, le reti private virtuali (VPN) con e senza IPsec, sicurezza delle reti wireless, protezione dei messaggi di posta elettronica (PGP, S/MIME), sicurezza del web (SSL, TLS), sviluppo di applicazioni web sicure - (1 CFU) Organizzazione e gestione della sicurezza in azienda e certificazione della sicurezza (TCSEC, ITSEC, Common Criteria, ISO-27001, ISO27002) - (1 CFU) Programmazione su dispositivi mobili, gestione delle risorse, tecnologie abilitanti, introduzione alla piattaforma Android - (1 CFU) Ambiente di sviluppo ed emulatore, progettazione e realizzazione di applicazioni - (1 CFU) Gestione degli eventi, interazione con l’utente - (1 CFU) Gestione dei dati e comunicazioni di rete, multimedialità e funzionalità avanzate |
Organizzazione dell'insegnamento
Il corso include esercitazioni di laboratorio su alcuni argomenti del corso.
Per la parte di sicurezza sono previste esercitazioni relative alla crittografia (cifratura e firma digitale di file), alla protezione di rete (firewall e VPN) ed alla sicurezza del web (creazione di un sito web con SSL/TLS). Per la parte di mobilità, le esercitazioni di laboratorio mirano a sperimentare le funzionalità principali dell’ambiente Android e supportare lo sviluppo delle capacità relative alla risoluzione di problemi di progettazione e codifica in tale ambiente. Tali esercitazioni prevedono lo svolgimento di esercizi specifici di approfondimento delle parti teoriche, propedeutici alla predisposizione del lavoro di gruppo oggetto dell’esame per questa parte. |
Testi richiesti o raccomandati: letture, dispense, altro materiale didattico
Il materiale usato dal docente a lezione sarà reso disponibile in formato elettronico sul sito web del corso.
Inoltre può essere utile consultare i seguenti testi per approfondire determinati aspetti del corso: • (per la parte di sicurezza informatica) o W. Stallings, "Crittografia e sicurezza delle reti", Prentice-Hall o C.Pfleeger, S.Pfleeger, "Sicurezza in informatica", Prentice-Hall o R.Anderson, "Security Engineering: A Guide to Building Dependable Distributed Systems", Wiley • (per le applicazioni su dispositivi mobili) o M.Carli, "Sviluppare applicazioni per Android", Apogeo, 2011 o M.Carli, "Android, Guida per lo sviluppatore", Apogeo, 2010 o M.Gargenta, "Learning Android", O'Reilly, 2011 o J.Steele, N.To, "The Android Developer's Cookbook: Building Applications with the Android SDK", Addison-Wesley Professional, 2011. |
Criteri, regole e procedure per l'esame
L’esame consiste in una prova scritta di circa 2 ore che verte su tutto il programma
E’ possibile sostituirla in tutto o in parte con lavori di gruppo: ad esempio, per la parte di sicurezza è possibile analizzare attacchi celebri o raccomandazioni e standard circa la protezione dei sistemi ICT, mentre per la parte di applicazioni per dispositivi mobili è possibile realizzare un’applicazione Android in grado di interagire con l’utente e con il contesto esterno per risolvere un particolare problema applicativo. |
Orario delle lezioni |
Statistiche superamento esami |
|