The course aims to provide the student with the knowledge of the main security mechanisms and protocols used for securing communications and for protecting computer networks; in particular the knowledge and understanding of:
- applied cryptography;
- main algorithms and protocols for authentication and for securing data exchanges;
- main communication security protocols;
- possible network vulnerabilities and main network protection mechanisms.
Applying knowledge and understanding are:
- analysis of authentication and data protection schemes based on symmetric and/or asymmetric cryptography;
- design of mechanisms for authentication and secure data exchange;
- configuration and use of standard security protocols and algorithms (e.g. IPSec and TLS protocols; AES, DES, 3DES, RSA cryptography algorithms; digital signature and certificates X.509 and PGP; etc.)
- use of tools for network monitoring and vulnerabilities scanning;
- configuration of systems (e.g. firewalls) for network protection.
Familiarity with TCP/IP stack and networking.
Course contents summary
Cryptography basics and algorithms;
Authentication mechanisms and digital signature;
Protocols for secure communications;
Main network threats, vulnerabilities, and countermeasures;
Systems for network protections;
Laboratory activities on cryptography, network vulnerabilities and network protection.
1) Basics of cryptography and authentication mechanisms
- Basics of symmetric (classic) cryptography and examples of algorithms (DES, 3DES, AES)
- Basics of asymmetric cryptography and examples of algorithms(RSA, Diffie-Hellman, DSA); advantages and disadvantages
- Hash and MAC functions (MD5, SHA, HMAC)
- Authentication algorithms, based on both symmetric and asymmetric cryptography
- Key exchange, agreement, and distribution
- Digital signature, digital certificates, certification authority, Public Key Infrastructure, standard X.509, PGP (Pretty Good Privacy)
2) Security protocols
- Protocols for authentication and key exchange (Kerberos, AAA, RADIUS)
- Protocols for secure communications at IP layer (IPSec/AH/ESP), and virtual private networks (VPNs)
- Protocols for secure communications at transport (SSL/TLS) and application layer
3) Network vulnerabilities and countermeasures
- Vulnerabilities of TCP/IP protocols, attacks and countermeasures (sniffing, network and port scanning, spoofing, flooding, buffer overflow, etc.)
- Firewall (packet filtering, ALG, NAT, DMZ), examples of network configurations
- Protocols for FW and NAT traversal (STUN e TURN)
- Intrusion Detection System (IDS)
- Anonymity networks
4) Laboratory activity
- Creation and use of digital certificates (X.509), CA, applications, PGP
- IPSec, TLS
- Protocol analyzer, Network scanning, Vulnerability test
- Firewall (Linux netfilter)
 L. Veltri, "Network Security", slides of the course, http://www.tlc.unipr.it/veltri
 W. Stallings, "Cryptography and Network Security: Principles and Practice", Prentice Hall
Class lessons (36h), and in class exercises (6h) carried out by the teacher with students, laboratoy acitvities (21h).
Assessment methods and criteria
The exam can be succeeded as:
1) divided into two written examinations, at the middle and the end of the course, that complete the exam; or
2) written exam, during regular scheduled examinations.
In both cases, the exam is written and composed of multiple choice questions, open answer questions, and some exercises.
Examples of exercises are shown and solved during the course.