AbstractThis course provides the necessary tools for analysing systems and security protocols.
In security I, you learned about the adversarial environment and how difficult it is to secure IT systems. In security II, we will take the opposite position: you learn how to design systems and protocols for security, for the adversarial environment.
You will learn how security properties are not compositional; that security is not absolute, that is, any "secure" system leaves residual assumptions, especially about trust; and learn about the reasoning techniques we use to understand these.
Specifically, the course covers the practical design, analysis and implementation of security protocols, using:
- security protocol design techniques such as mixnets, blockchains, zero-knowledge proofs,
- tool-based practical verification, e.g., using Proverif
- formal techniques in computational and symbolic models;
- security policies and properties, including confidentiality, privacy, integrity, verifiability
- case studies of major contemporary protocols such as TLS, Signal, …
Intended learning outcomes
After the course, the student should be able to:
- Identify potential groups of adversaries and their offensive capabilities and stakeholders and their trust capabilities
- Design protocols for adversarial environments
- Analyze security properties of protocol designs in the symbolic and computational model [3-8+9-12]
- Identify security policies and evidence for verifiability [15,16]
- Explain advanced security protocols, such as TLS , mixnets [19-20], block-chain protocol [23-24]
- Explain and apply basic principles and techniques for privacy [7, 19-20, 17-18]
Ordinary examExam type:
A: Written exam on premises, external (7-trinsskala)
A11: Written exam on premises. Open book exam.
Duration of the exam is 4 hours.