Scheda programma d'esame
FOUNDATIONS OF CYBERSECURITY
GIANLUCA DINI
Academic year2022/23
CourseCOMPUTER ENGINEERING
Code880II
Credits9
PeriodSemester 2
LanguageEnglish

ModulesAreaTypeHoursTeacher(s)
FOUNDATIONS OF CYBERSECURITYING-INF/05LEZIONI90
GIANLUCA DINI unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

Lo studente acquisirà conoscenze sulla crittografia applicata, la codifica sicura e la sicurezza web. Il corso ha l'obiettivo di mettere uno studente in grado di progettare e realizzare un'applicazione distribuita sicura.

Più precisamente, lo studente acquisirà una conoscenza dettagliata delle principal primitive crittografiche (cifari, funzioni hash, firme digitali), delle loro proprietà in termini di sicurezza e prestazioni e del loro uso appropriato nella progettazione e costruzione di protocolli e sistemi. Lo studente riceverà anche nozioni di base sulla codifica sicura, sulla sicurezza web e sui relativi principali attacchi, tra cui buffer overflow e iniezione SQL.

Knowledge

The student will acquire knowledge about applied cryptography, secure coding and web security. The objective of the course is to make a student able to properly design and implement a secure distributed application.

More precisely, the student will get a detailed knowledge of the main cryptographic primitives (ciphers, hash functions, digital signatures), their properties in terms of security and performance, and their appropriate usage in designing and building protocols and systems. The student will also get basic notions about secure coding, and web security and the related main attacks including buffer overflow and SQL injection.

Modalità di verifica delle conoscenze

La verifica delle conoscenze avverrà per mezzo di una prova scritta e di una prova orale in ogni sessione d'esame.

Assessment criteria of knowledge

Knowlege assessment will take place by means of a written test and an oral test in each exam session.

Capacità

Alla fine del corso,

  • lo studente saprà progettare e realizzare protocolli ed applicazioni distribuite sicure utilizzando una libreria crittografica;
  • lo studente sarà in grado di presentare in una relazione scritta i risultati delle attività progettuale e di sviluppo svolte;
  • lo studente sarà in grado di concepire e realizzare semplici attacchi di critto-analisi
Skills

At the end of the course,

  • the student will be able to design and implement secure distributed protocols and applications using a cryptographic library;     
  • the student will be able to present the results of the project and development activities carried out in a written report;     
  • the student will be able to conceive and carry out simple crypto-analysis attacks.
Modalità di verifica delle capacità

Le capacità saranno verificate come segue:

  • durante le sessioni di laboratorio informatico saranno svolti piccoli progetti tesi al comprendere l'utilizzo di una o più libreria crittografica;
  • durante le sessioni di laboratorio informatico saranno svolti esempi di semplici attacchi di crittoanalisi ad algoritmi e schemi crittografici;
  • alla fine del corso, prima dell'esame, lo studente dovrà preparare e presentare il progetto e la realizzazione di un'applicazione distribuita sicura, corredato da una relazione scritta che riporti i risultati dell'attività di progetto e di sviluppo.
Assessment criteria of skills

The skills will be checked as follows:

  • during the computer lab sessions, small projects will be carried out aimed at understanding the use of one or more cryptographic libraries;
  • during the computer lab sessions, examples of simple cryptanalysis attacks on algorithms and cryptographic schemes will be carried out;
  • at the end of the course, before the exam, the student must prepare and present the project and the implementation of a secure distributed application accompanied by a written report that reports the results of the project and development activity.
Comportamenti

Lo studente potrà acquisire e sviluppare sensibilità alle problematiche relative alla cybersecurity ed all'impatto che questa viene avere sul business delle aziende, sui servizi della pubblica amminsitrazione e sulla sicurezza e privacy dei cittadini. A questo scopo, durante il corso saranno presentati casi reali presi dalla cronaca.

Behaviors

The student will be able to acquire and develop awareness to issues related to cybersecurity and the impact that this has on the business of companies, services of public administration, and the security and privacy of citizens. For this purpose, real cases taken from the news will be presented during the course.

 

 

 

Modalità di verifica dei comportamenti

Durante la discussione del progetto sarà richiesto allo studente di discutere l'impatto che le misure di sicurezza progettate hanno nel contesto applicativo considerato.

Assessment criteria of behaviors

During the project discussion the student will be asked to argue about the impact that the planned security measures have in the application context considered.

Prerequisiti (conoscenze iniziali)
  • Calcolo delle probabilità
  • Teoria della complessità
  • Linguaggi di programmazione
  • Architettura del calcolatore
  • Sistemi operativi
  • Reti di calcolatori
Prerequisites
  • Probability Theory
  • Complexity theory
  • Programming languages
  • Computer architecture
  • Operating systems
  • Computer networks
Indicazioni metodologiche
  • Lezioni frontali con l'ausilio di slide in formato pdf scaricabili dalla piattaforma del corso.
  • Esercitazioni si svolgono in in aula informatica. Le esercitazioni sono state progettate in modo tale che lo studente possa utilizare  il proprio PC in modo tale da semplificare la logistica della fase di studio individuale. 
  • Durante le esercitazioni, il docente è coadiuvato da un codocente.
  • Il materiale didattico è distribuito attraverso la piattaforma del corso.
  • Il docente comunica con gli studenti per mezzo dell'email o attraverso i ricevimenti istituzionali.
  • L'insegnamento è erogato in lingua Inglese.
Teaching methods
  • Lessons lessons with the help of slides in pdf format downloadable from the course website.
  • Hands-on are held in the computer room. They have been designed in such a way that the student can use his/her PC in order to simplify the logistics of the individual study phase.
  • During hands-on lab, the teacher is assisted by a co-tutor.
  • The teaching material is distributed through the course website.
  • The teacher communicates with the students by email or through institutional meetings.
  • The course is delivered in English.

 

 

Programma (contenuti dell'insegnamento)

Applied cryptography

Symmetric Ciphers: one-time pad, stream-ciphers, and block-ciphers. The DES and AES ciphers. Encryption modes. Hash functions: message digest codes and message authentication code. Black box attacks: the birthday attack. Diffie-Hellman key establishment. Asymmetric ciphers: the RSA, ElGamal and Elliptic Curvces cryptosystems. Digital signatures, certificates, certification authorities, and public key infrastructures. The X.509v3 certificate format. Perfect forward security. Secure Pseudo-Random Generators. Side-channel attacks: timing attack; fault-injection attacks; power analysis. Case studies: IpSec: ESP and AH mode; Secure Socket Layer: Handshake and Record protocol; Kerberos: basic scheme; the Ticket Granting Service; delegation, forwarding and proxiable tickets; realms.

Programming secure applications

Basics of secure coding in C/C++. The OpenSSL cryptographic library. Threat modeling: how to identify and prioritize vulnerabilities. Design and analysis of secure protocols. The BAN logic. Basics of web security: SQL injection and cross-site scripting.

Syllabus

Applied cryptography

Symmetric Ciphers: one-time pad, stream-ciphers, and block-ciphers. The DES and AES ciphers. Encryption modes. Hash functions: message digest codes and message authentication code. Black box attacks: the birthday attack. Diffie-Hellman key establishment. Asymmetric ciphers: the RSA, ElGamal and Elliptic Curvces cryptosystems. Digital signatures, certificates, certification authorities, and public key infrastructures. The X.509v3 certificate format. Perfect forward security. Secure Pseudo-Random Generators. Side-channel attacks: timing attack; fault-injection attacks; power analysis. Case studies: IpSec: ESP and AH mode; Secure Socket Layer: Handshake and Record protocol; Kerberos: basic scheme; the Ticket Granting Service; delegation, forwarding and proxiable tickets; realms.

Programming secure applications

Basics of secure coding in C/C++. The OpenSSL cryptographic library. Threat modeling: how to identify and prioritize vulnerabilities. Design and analysis of secure protocols. The BAN logic. Basics of web security: SQL injection and cross-site scripting.

Bibliografia e materiale didattico
  • Christof Paar, Jan Pelzl. Understanding Cryptography: A Textbook for Students and Practitioners, Springer 2010
  • Bruce Schneier. Applied Cryptography: : Protocols, Algorithms and Source Code in C. Wiley 2015
  • Matt Bishop. Computer Security: Art and Science, 2nd edition. Addison-Wesley, 2019
  • Materiale fornito dal docente.
Bibliography

 

  • Christof Paar, Jan Pelzl. Understanding Cryptography: A Textbook for Students and Practitioners, Springer 2010
  • Bruce Schneier. Applied Cryptography: : Protocols, Algorithms and Source Code in C. Wiley 2015
  • Matt Bishop. Computer Security: Art and Science, 2nd edition. Addison-Wesley, 2019
  • Didactic material provided by the teacher.

 

Indicazioni per non frequentanti

Nessuna

Non-attending students info

None.

Modalità d'esame
  • L'esame è composto dalla discussione di un progetto, una prova scritta ed una prova orale.
  • Il progetto può essere svolto da gruppi di massimo tre studenti. La discussione del progetto deve avvenire prima della sessione d'esame a cui lo studente vuole partecipare. Per discutere il progetto, gli studenti devono fissare tramite email un ricevimento con i docenti. Uno studente può partecipare ad una sessione d'esame solo se ha preventivamente sostenuto con successo la discussione del progetto. Se superata, la discussione del progetto rimane valida anche per gli appelli successivi.
  • La prova scritta consiste in una o più domande ed uno o più problemi da risolvere. La prova scritta si svolge in aula e, se superata, rimane valida per un solo appello.
  • La prova orale consiste in un colloquio tra il candidato e il docente, o anche tra il candidato e altri collaboratori del docente titolare.

Durante la Fase 2:

  • La prova scritta è sostituita da un test di ammissione da svolgere online. Il test potrà prevedere domande con risposte a scelta multiple ovvero domande con risposte aperte. Il test si svolgerà sulla piattaforma Microsoft Team.
  • La prova orale sarà svolta in modalità a distanza sulla piattaforma Microsoft Team.

Per quanto riguarda il test e la prova orale, la stanza virtuale è pubblicata sulla scheda di registrazione all'esame.

Nel caso di risposte aperte, il candidato deve scrivere su un foglio di carta, scattare una foto dell'elaborato e caricare il file grafico/pdf risultante  sulla piattaforma Teams Una soluzione alternativa può essere l'utilizzo di un tablet o tavoletta grafica unitamente ad applicazioni grafiche come Microsoft Whiteboard (o equivalenti). Il file grafico/pdf risultante può essere inviato per per email ma solo come soluzione di emergenza preventivamente concordata con il docente. 

Per quanto riguarda la prova orale, il candidato deve

  1. dotarsi di uno o più fogli bianchi;
  2. dotarsi di un pennarello nero o comunque di inchiostro scuro;
  3. per tutta la durata della prova orale, inquadrare solo ed esclusivamente il foglio per mezzo di una telecamera (quella del PC o del cellulare).

Soluzioni alternative al foglio ed il pennarello possono essere:

  1. tablet o tavoletta grafica (soluzione preferita in assoluto);
  2. lavagna da inquadrare per mezzo di una telecamera.

Nel caso di utilizzo dello smartphone per l'inquadramento del foglio o della lavagna, il dispositivo deve essere fissato in una posizione stabile.

Assessment methods
  • The exam consists of a discussion of a project, a written test and an oral test.
  • The project can be developed by groups of max three students. The discussion of the project must take place before the exam session in which the student wants to participate. To discuss their projects, students must fix an appointment with the teachers by email. A student can participate in an exam session only if (s)he has previously successfully supported the discussion of the project. If passed, the discussion of the project remains valid also for subsequent exam rounds.
  • The written test consists of one or more questions and one or more problems to be solved.
  • The written test takes place in the classroom and, if passed, remains valid for one exam round only.
  • The oral exam consists of an interview between the candidate and the teacher, or even between the candidate and other collaborators of the titular teacher.

During the Phase 2

  • The written test is replaced by an admission test to be carried out online. The test may include questions with multiple choice answers or questions with open answers. The test will take place on the Microsoft Team platform.
  • The oral exam will be carried out remotely on the Microsoft Team platform.

 As for the test and the oral test, the virtual room is published on the exam registration form.

In order to attend the exam, the candidate must fulfill the following rules.

In the case of open answers, the candidate must write on a sheet of paper, take a photo of the paper and finally upload the resulting pdf/graphic file to the Teams platform. An alternative solution may be the use of a tablet or graphics tablet together with graphic applications such as Microsoft Whiteboard (or equivalent). It is possible to send the resulting pdf/graphic file by email but only as an emergency solution that has to be beforehand agreed with the teacher.

As for the oral test, the candidate must be equipped by

  1. one or more white sheets;
  2. a black marker or dark ink anyway;
  3. a camera (e.g., PC's or smartphone's one) that will be used to frame the sheet exclusively for the entire duration of the oral test.

Alternative solutions could be:

  1. a tablet or a graphics table (most preferred solution);
  2. a whiteboard/blackboard to be exclusively framed by a camera.

When using the smartphone to frame a sheet or a whiteboard/blackboard, it has to be fixed in a stable position.

Altri riferimenti web

Home page del Corso di Laurea Magistrale in Computer Engineering:

https://computer.ing.unipi.it/ce-lm

Home page dell'Università di Pisa

https://www.unipi.it/

Additional web pages

Home page of the MsC Program in Computer Engineering:

https://computer.ing.unipi.it/ce-lm

Home page of of the University of Pisa

https://www.unipi.it/

Note

Nessuna.

Notes

None.

Updated: 19/09/2022 12:06