This is an introductory course on information security. The course focuses on introductory aspects of analysis, design and implementation of secure software.
Security is a fundamental aspect that is necessary to take care of in today's development of software.
The student taking this course will have an introductory knowledge on attacker models, cryptographic tools and principal security protocol from real-world scenarios.
The course addresses five major topics:
- The principal security requirements and attacker models
- The fundamental cryptographic tools in Information Security
- Primary security protocols and Internet standards (PKI, TLS)
- Practical techniques for penetrating and hardening IT-systems
Formal prerequisitesBefore taking this course you must: 1. be familiar with C and Operating Systems 2. be familiar with computer networks 3. be superficially familiar with scripting languages 4. be familiar with the SQL query language 5. know basic algorithms and data structures 6. have implemented at least two medium-size programming projects (7.5 ECTS each) 7. be able to design, implement, and test medium-sized programs in Java or C# or other mainstream languages. 8. be familiar with basic discrete mathematics BSWU graduates fulfil these requirements. Otherwise, individual requirements can be satisfied by taking the BSWU courses: (1) Operating Systems and C, (2) Mobile and Distributed systems, (4) Introduction to Database Design, (5) Algorithms and Data Structures, (6,7) Analysis, Design and Software Architecture, (8) Foundations of Computing - Discrete Mathematics. The student must always meet the admission requirements of the IT University.
Intended learning outcomes
After the course, the student should be able to:
- Describe, relate, and discuss basic security principles
- Identify and describe access control techniques
- Identify, describe, and evaluate design approaches meeting specific security requirements
- Illustrate, analyse, and evaluate security standards
- Identify and describe the proper use of cryptography in security
- Describe and compare most common attack practices
- Describe and explain intrusion detection and prevention
- Analyse an IT-system for security risks and reflect on potential improvements of the system
Teaching consists of lectures and exercises. Coursework takes the following forms:
- Experimental lab work
- Project work
In project weeks, you are expected to be work independently; there are no lectures or exercise classes. Both teachers and tas will be available for questions in the period via various media, notably on learnit forums and in person at office hours.
The course concludes with project work as follows. Based on a set of functional requirements, you will design and implement a prototypical IT system. You will conduct a security analysis and devise appropriate security measures for this system. You will then swap systems with another group, and carry out a security review of this other group's system.
Mandatory activitiesTo be eligible for the examination, you must:
- You must submit and have approved 3 mandatory exercise sets.
- You must submit and have approved 3 mini-projects.
- You must be present and participate actively in the course conclusion workshop.
All deadlines will be announced on the course page on LearnIT. Note that peergrade assignments are not considered approved unless you have both submitted yourself, as well as submitted feedback for at least two other assignments.
The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.
The course literature is published in the course page in LearnIT.
Ordinary examExam type:
A: Written exam on premises, external (7-trinsskala)
A11: Written exam on premises. Open book exam. You are allowed to use all aids (books, notes, software and online resources).
The duration of the written examination is 4 hours. You are allowed to use all aids (books, notes, software and online resoources).