Ruolo ed importanza della Cyber security per le società moderne. Descrizione di varie tipologie di exploit contemporanei ed analisi dell’andamento dei crimini informatici negli ultimi anni. Difesa perimetrale e moderni vettori di attacco. Password ed altri strumenti e procedure di autenticazione. Privacy, Reti sociali e Big Data. I concetti e i principi di base della Cyber security. Classificazione delle minacce. La triade CIA (Confidenzialità, Integrità e Disponibilità) e relativi controlli. La triade MOM (Motivo, Opportunità e Metodo) e relative contromisure.
Ruolo e principi della crittografia moderna. Obiettivi della crittografia in relazione alla triade CIA. Cifrari classici e loro contributi alla nascita della crittografia moderna.Cenni di probabilità per spazi discreti.One Time Pad e segretezza perfetta. Generatori di bit pseudo-casuali. Cifrari a flusso e relativi attacchi. Sicurezza semantica dei cifrari a flusso. Alcuni esempi di cifrari a flusso di uso pratico con applicazioni. Cifrari a blocchi e relativi attacchi. Sicurezza semantica dei cifrari a blocchi. Alcuni esempi di cifrari a blocchi di uso pratico con applicazioni. Modalità operative dei cifrari a blocchi. Codici di autenticazione di messaggio (MAC) e relativi attacchi. Inalterabilità. Alcuni esempi di MAC di uso pratico con applicazioni. Resistenza alle collisioni e funzioni hash crittografiche. Cifratura con autenticazione (AE) e relativi attacchi. Terze parti fidate e crittografia asimmetrica (a chiave pubblica). Elementi di Teoria dei numeri. Alcuni esempi di cifrari asimmetrici di uso pratico con applicazioni.
Modulo Laboratorio:
Approcci metodologici per lo sviluppo e la gestione di software sicuro. Bash e Python usati come calcolatrice. Parole riservate. Metacaratteri. Variabili di ambiente. Lavorare con le stringhe e tipi di dati strutturati. Costrutti di controllo. Funzioni. Gestione dell’I/O. Chiamate a comandi esterni. Elementi di programmazione di rete. Creazione di software: script, moduli e packages. Librerie crittografiche..