RETI DI CALCOLATORI ED INTRODUZIONE ALLA CYBERSECURITY
3° Anno - Primo Semestre
Frequenza Non obbligatoria
- 9 CFU
- 72 ore
- ITALIANO
- Sede di Trieste
- Obbligatoria
- Convenzionale
- Orale
- SSD ING-INF/05
- Caratterizzante
Conoscenza e capacità di comprensione:
Conoscenza dei principi base del funzionamento di Internet ai livelli di astrazione applicativo ed internetwork.
Conoscenza dei concetti fondamentali del funzionamento di DNS, email, web.
Conoscenza dei concetti fondamentali del funzionamento di network e internetwork.
Conoscenza dei concetti fondamentali della crittografia applicata alle reti di calcolatori.
Capacità di applicare conoscenza e comprensione:
Capacità di descrivere in dettaglio gli scambi di messaggi che si verificano in situazioni specifiche, indicando le informazioni fondamentali in ogni messaggio, il modo in cui sono ottenute, il modo in cui sono utilizzate.
Capacità di apprendimento:
Lo studente deve acquisire la capacità di descrivere ed evidenziare il processo logico seguito per risolvere un problema, separando chiaramente dati del problema, ipotesi, deduzioni, componenti necessarie, componenti ridondanti o non necessarie e così via.
Autonomia di giudizio:
Capacità di determinare in maniera autonoma i principali componenti architetturali necessari per il funzionamento di un applicativo Internet.
Abilità comunicative:
Lo studente deve acquisire la capacità di descrivere sistemi ed algoritmi utilizzando la terminologia corretta, sia da un punto di vista tecnico sia da un punto di vista logico.
Concepito per essere self-contained
Non richiede particolari pre-requisiti di conoscenze informatiche (a parte la pratica
nell'utilizzo di e-mail e navigazione web)
Adatto anche per corsi di studio diversi da Ingegneria Informatica
Applicazioni e protocolli. Comunicazione client-server. Numeri di porta. Interfaccia socket. Proprietà dei servizi di comunicazione.
DNS: nomi, RR, domini. Type A, MX, CNAME. Response Records, Additional Records. Domain tree.
Proprietà dei domini. Identità dei proprietari. Vincoli su nome e proprietà.
Cenni alla realizzazione del DNS. Creazione domini.
Web: generalità. URL: struttura. Terza parte URL. Tipologie di contenuti web
Introduzione a HTML. Elementi e Attributi. Tag A e IMG. IFRAME. Tag link e cenni a CSS. Tag script e cenni a Javascript. Pagina web e sito web. URL relativi. Contenuti statici e dinamici.
Query string.
HTTP request e response. Header: Host, Location, Referrer, User-Agent
Proxy: funzionalità e motivazioni; realizzazione. Invio dati a web server: FORM, INPUT, richieste POST, esempi. Web hosting: custom domain, non-custom domain, esempi.
Sessioni HTTP: necessità e requisiti. Tabella delle sessioni. Cookie. Personalizzazione e protezione (autorizzazione). Autenticazione: idea di base
Autenticazione FORM. Session hijacking. Esempi. BASIC authentication
Navigazione in incognito. Servizi di analytics. Pubblicità web (cenni architetturali).
Email: dominio e mailbox. Architettura. Invio email. Configurazione mail client e gestione di mailbox multiple
SMTP, POP. Sending address spoofing. Interazione diretta con server Internet. Mailing list.
Network: funzionalità. Network: Implementazione Ethernet. Proprietà, formato frame. Switch e Access point. Switch table.
Internetwork: funzionalità. Internetwork: proprietà network virtuale IP. Pacchetti. Funzionamento di base internetwork. Proprietà rappresentazioni binarie per indirizzi IP.
Network number: requisiti e procedimento di assegnazione. Notazione. Host number. Subnet mask. Test appartenenza a network. Configurazione statica e dinamica.
Configurazione dinamica: DHCP semplificato. ARP. Routing statico e dinamico. Tabella di routing statico
Routing statico: esempi ed errori comuni. Indirizzi IP privati. Funzionalità NAT. Network point-point, PPP (cenni). Collegamenti residenziali
ICMP: ping, traceroute. Firewall: necessità, frontiera, personal. Formato regole.
Network attacker. Proprietà di sicurezza (autenticazione, riservatezza, integrità). Crittografia a chiave privata e a chiave pubblica. Message Authentication Code. Distribuzione delle chiavi. Metodi basati su crittografia a chiave pubblica e certificati.
TLS/HTTPS: funzionalità. Implementazione semplificata. Esempi specifici su server authentication
Firma digitale: requisiti, funzionalità. Applicazioni. Certificati: rilascio, firma, verifica. Certificati self-signed. TrustSet e KeySet: implementazione
Nessuno. L'intero corso si basa su slide fornite dal docente.
Lezioni frontali su slide preparate dal docente su ogni argomento trattato nel corso.
Esercizi selezionati dal docente, svolti in maniera autonoma dagli studenti e discussi collettivamente in classe.
Archivio di errori comuni aggiornato nel corso degli anni e consultabile via web.
Materiale didattico ed informazioni utili su https://bartoli.inginf.units.it (sezione didattica)
Esame scritto prevalentemente basato su esercizi, eventualmente seguito da esame orale. Gli esercizi si basano su scenari sempre diversi e richiedono di analizzare traffico generato, indicare le configurazioni necessarie a soddisfare i requisiti forniti, discutere garanzie di sicurezza e limitazioni corrispondenti. L'esame scritto può comprendere anche domande di carattere descrittivo su argomenti specifici. La partecipazione all'esame richiede lo sviluppo e messa in linea di un semplice sito web in maniera autonoma da parte dello studente. In ogni tipologia di contenuto prodotto dallo studente per essere ammesso o per partecipare ad una prova d’esame (progetti, relazioni, esercizi, test), l’eventuale uso di strumenti Large Language Model (ChatGPT e simili) deve essere dichiarato esplicitamente. Questo requisito deve essere rispettato anche in caso di uso parziale. A prescindere dalle modalità di verifica dell'apprendimento, il docente si riserva comunque la possibilità di approfondire con un esame orale l’effettivo contributo dello studente in ogni tipologia di contenuto prodotto.
Questo insegnamento approfondisce argomenti strettamente connessi a uno o più obiettivi dell’Agenda 2030 per lo Sviluppo Sostenibile delle Nazioni Unite.