Undergraduate Course: Computer Security (INFR10058)
|School||School of Informatics
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 10 (Year 3 Undergraduate)
||Availability||Available to all students
|Summary||Computer Security is concerned with the protection of computer systems and their data from threats which may compromise integrity, availability, or confidentiality; the focus is on threats of a malicious nature rather than accidental. This course aims to give a broad understanding of computer security. Topics include security risks, attacks, prevention and defence methods; techniques for writing secure programs; an overview of the foundations for cryptography, security protocols and access control models.
* Introduction and background. Risks and attacks: to privacy (theft, surveillance); integrity (fraud); availability (vandalism, denial of service). Additional security properties: authentication, accountability.
* Cryptography: basic functional foundations. Symmetric algorithms, for example: DES, Rijndael, RC4
* Public key cryptography. Algorithms including RSA, ElGamal. Hash functions, including SHA-1. Digital signatures and certificates.
* Authentication: mechanisms and attacks. Protocols for authentication and key exchange, including Needham-Schroeder, Otway-Rees, Kerberos, Diffie-Hellman.
* Formal approaches, including Burrows-Abadi-Needham logic for authentication and its application to security protocol analysis.
* Malicious code and network defences: Trojan horses, viruses and worms, attacks on faulty code. Auditing, intrusion detection, alarms and honey pots.
* Security engineering: security policy models, multi-level systems. Secure kernels and trusted computing bases. Anatomy of attacks, risk assessment, attack trees.
* Present internet technologies, for example: PGP, SSL, SSH, SMIME, DNSSEC, IPsec, firewalls and VPNs. The Java Security Model and security programming in Java.
* Copyright protection. Secure hardware and tamper resistance. Steganography and covert communication. Anonymity.
* Security futures, real-world issues. Topics chosen from: web security, e-commerce and e-cash; legalities; export control, key escrow; information warfare and cyber terrorism; human factors. Recent research areas.
Relevant QAA Computing Curriculum Sections: Security and Privacy
Entry Requirements (not applicable to Visiting Students)
||Other requirements|| This course is open to all Informatics students including those on joint degrees. For external students where this course is not listed in your DPT, please seek special permission from the course organiser.
For some parts of the course, good mathematical ability and basic understanding of logic (predicate calculus) are highly desirable. An ability to program in Java may be assumed for practical exercises.
Information for Visiting Students
|High Demand Course?
Course Delivery Information
|Academic year 2015/16, Available to all students (SV1)
|Learning and Teaching activities (Further Info)
Lecture Hours 20,
Seminar/Tutorial Hours 4,
Summative Assessment Hours 2,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||Two exercises. One involving programming such as implementing application-level security features using Java's security APIs or finding and fixing security flaws in a web application written in a scripting language such as Python. The other exercise will be written, requiring solving exercises in cryptography, protocols and network security.
You should expect to spend approximately 24 hours on the coursework for this course.
If delivered in semester 1, this course will have an option for semester 1 only visiting undergraduate students, providing assessment prior to the end of the calendar year.
||Hours & Minutes
|Main Exam Diet S2 (April/May)||2:00|
|Resit Exam Diet (August)||2:00|
On completion of this course, the student will be able to:
- Recognise the security threats against computer systems, and have at least a high-level idea of the ways to address them.
- Apply techniques and design principles underlying security solutions, including aspects of cryptography and security protocols.
- Be able to analyse simple security protocols using a formal method.
- Be able to use the World Wide Web to research the latest security alerts and information.
|* Ross Anderson, 'Security Engineering', 2nd Edition, John Wiley & Sons, 2008|
* Dieter Gollman, 'Computer Security', John Wiley & Sons, 1999
* Nigel Smart, 'Cryptography: An Introduction', McGraw-Hill, 2003
|Course organiser||Dr Myrto Arapinis
Tel: (0131 6)50 9981
|Course secretary||Miss Beth Muir
Tel: (0131 6)51 7607
© Copyright 2015 The University of Edinburgh - 18 January 2016 4:12 am