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.
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.
La verifica delle conoscenze avverrà per mezzo di una prova scritta e di una prova orale in ogni sessione d'esame.
Knowlege assessment will take place by means of a written test and an oral test in each exam session.
Alla fine del corso,
At the end of the course,
Le capacità saranno verificate come segue:
The skills will be checked as follows:
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.
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.
Durante la discussione del progetto sarà richiesto allo studente di discutere l'impatto che le misure di sicurezza progettate hanno nel contesto applicativo considerato.
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.
Nessuno.
None
Nessuno
None.
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.
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.
Nessuna
None.
Durante la Fase 2:
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
Soluzioni alternative al foglio ed il pennarello possono essere:
Nel caso di utilizzo dello smartphone per l'inquadramento del foglio o della lavagna, il dispositivo deve essere fissato in una posizione stabile.
During the Phase 2
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
Alternative solutions could be:
When using the smartphone to frame a sheet or a whiteboard/blackboard, it has to be fixed in a stable position.
Non sono previste forme di stage, tirocini o collaborazioni con terzi durante lo svolgimento del corso.
There are no forms of internships, traineeships or collaborations with third parties during the course.
Home page del Corso di Laurea Magistrale in Computer Engineering:
https://computer.ing.unipi.it/ce-lm
Home page dell'Università di Pisa
Home page of the MsC Program in Computer Engineering:
https://computer.ing.unipi.it/ce-lm
Home page of of the University of Pisa
Nessuna.
None.