Computing & Security

|

MSc

|

Full Time

| Admissions status: Open
An MSc in Computing & Security will provide you with the knowledge and practical expertise to evaluate, design and build computer security systems. Delivered by of the Department of Informatics, which has an enviable reputation for research-led teaching and project supervision from leading experts in their field.

KEY BENEFITS
  • Unrivalled location in the heart of London giving access to major libraries and leading scientific societies, including the BCS Chartered Institute for IT, and the Institution of Engineering and Technology (IET).
  • Addresses a growing interest in advance security methods by providing theoretical and practical knowledge of a broad range of techniques for developing security solutions.
  • Aims to give coverage of the whole field of security and related computing areas, rather than specialising on one area.
  • Develops critical awareness and appreciation of the changing role of computing in society, motivating graduates to pursue continuing professional development and further research.
  • Access to speakers of international repute through seminars and external lectures, enabling students to keep abreast of emerging knowledge in computing and security and related fields.
     
KEY FACTS
Student destinations
Via the Department’s Careers Programme, students are able to network with top employers and obtain advice on how to enhance career prospects. Our graduates have gone on to have very successful careers in industry and research. Our graduates are working in general software consultancy companies, specialised software development companies and the IT departments of large institutions (financial, telecommunications and public sector). Recent employers include Hang Seng Bank, Lloyds Banking Group and Merrill Corporation. Other graduates have entered into the field of academic and industrial research in areas such as software engineering, algorithms and computer networks.
Programme leader/s
Dr Jeroen Keppens
Awarding Institution
King's College London
Credit value (UK/ECTS equivalent)
UK 180/ECTS 90
Duration
One year FT, September to September.
Location
Strand Campus.
Year of entry 2013
Offered by
School of Natural and Mathematical Sciences
Department of Informatics
Closing date
31 July or until places are filled.
Intake
Up to 20-30 FT.
Fees
FT Home: £7900 (2013)
FT Overseas: £20000 (2013)
CONTACTS
Contact information
Postgraduate Officer, Centre for Arts & Science Admissions (CASA)
tel: +44 (0) 20 7848 7210/ 2574
fax: +44 (0) 20 7848 7200  
Email Website

PURPOSE
For graduates in computer science, science, or engineering, this MSc will provide specialised training in computing and security. Completing research for your individual project will provide valuable preparation for a career in research or industry.

DESCRIPTION

This programme addresses the growth in interest in advanced security methods for solving a huge range of problems, including combating crime and terrorism. It is built around taught core modules such as cryptography and information security, access control and privacy policies and computer forensics and cybercrime. These modules are complemented by a range of optional modules that relate to various aspects of computing. The final part of the programme is an individual project which is closely linked with the Department's research activities.



STRUCTURE OVERVIEW
Core programme content
  • Individual Project


Indicative non-core content

Compulsory Modules:

  • Access Control & Privacy Policies
  • Advanced Security Topics
  • Computer Forensics & Cybercrime
  • Cryptography and Information Security
  • Group Project.


Optional Modules:

  • Advanced Research Topics
  • Advanced Software Engineering - Software Measurement & Testing
  • Computational Models
  • Data Structures and their Implementation in C++
  • Database Technology
  • Distributed Systems
  • IT Law for IT Professionals
  • Software Engineering of Internet Applications
  • Text Searching and Processing
  • The Internet.


FORMAT AND ASSESSMENT

Lectures; tutorials; seminars; laboratory sessions; optional career planning workshops. Assessed through: coursework; written examinations; final project report.



MODULES
More information on typical programme modules.
NB it cannot be guaranteed that all modules are offered in any particular academic year.

Module code: 7CCSMAPP
Credit level: 7

To provide specialist knowledge and understanding of the core aspects of policy representation in the context of Computer Science, including an understanding of access control and privacy policy formulation and implementation for centralised and decentralised computer systems.
Module code: 7CCSMAST
Credit level: 7
Credit value: 15
Semester:  Semester 2 (spring) 

Aims
To introduce the underlying concepts and practical applications of information security engineering at a level that reflects the current state-of-the-art.

Learning Outcomes
On successful completion of this module, you should be able to understand in detail how different types of attacks on computer systems and networks are carried out; understand how such attacks can be reliably prevented or detected.

Provisional Syllabus
Minimal Linux and scripting
Physical attacks
DNS, queries and resolvers, DNS poisoning
ARP, principles, spoofing and poisoning
Network and port scanning
Network packet factory
Firewall and Intrusion Detection technologies
Web security: server side (SQL, Xpath and code injections)
Web security: client side (Phishing, XSS)
Email security

Module code: 7CCSMCFC
Credit level: 7
Credit value: 15
Semester:  Semester 2 (spring) 

Aims
The aim of this module is to define, analyse and compare abstract models of computation and their associated programming paradigms.

Learning Outcomes
On successfully completing the module you should be able to demonstrate a deep knowledge and understanding of the fundamentals of formal languages and the principal models of computation and be able to work with theoretical/research-based knowledge at the forefront of the subject; judiciously apply and combine tools and techniques (frequently in novel ways) to solve a range of complex subject-specific problems with minimal direction; analyse subject material, draw inferences, and find relationships that demand that innovative thinking be engaged in and creativity be exhibited in formulating solutions; critically evaluate, exercise judgement, and compare and contrast relevant material with minimal guidance and to consider and argue for alternative, novel approaches; demonstrate a high degree of independence in managing your own learning and reflecting upon it in order to complete research tasks autonomously.

Provisional Syllabus
Introduction to abstract models of computation
Finite Automata, Push-Down Automata and applications to parsing
Turing machines
Functional calculi
Interaction-based systems
Concurrent computation

Module code: 7CCSMCIS
Credit level: 7
Credit value: 15
Semester:  Semester 1 (autumn) 

Aims
To introduce both theoretical and practical aspects of cryptography, authentication and information security.

Learning Outcomes
On successful completion of this module, you should be able to understand the relevant mathematical techniques associated with cryptography; understand the principles of cryptographic techniques and perform implementations of selected algorithms in this area; appreciate the application of security techniques in solving real-life security problems in practical systems.
You should note that this module contains several advanced mathematical techniques. For students having a reasonable mathematical background, it should not be a problem. Explanations are given during the lectures/tutorials and examples are studied in details. Nevertheless, an in-depth understanding of these techniques is required for the examination and personal work has to be anticipated.

Provisional Syllabus
Basic terminology and concepts:
Goals of cryptography, terminology and notation players; Basic cryptographic functions
Number theory preliminaries:
Congruent modulo n, equivalent class modulo n; Integer modulo n (Zn):
Multiplicative inverse:
Relatively prime; Euler‟s theorem; Fermat‟s little theorem:
EEA (Extended Euclidean Algorithm)
CRT (Chinese Remainder Theorem)
Ciphers:
Block ciphers (substitution, transposition, product); Stream ciphers; Modes of operation (ECB, CBC, CFB, OFB)
Cryptosystems:
Block cipher: DES (Data Encryption Standard), AES (Advanced Encryption Standard)
Public-key: RSA (Rivest-Shamir-Adelman), El gamal
One-way hash function: SHA and MD5 (Message Digest 5)
Key-establishment protocols:
Symmetric and asymmetric techniques (Diffie-Hellman, Needham-Schroeder, Otway-Rees)
Public-key encryption, basic and advanced Kerberos protocols
Authentication and identification:
Concepts; Fiat-Shamir and Feige-Fiat-Shamir protocols; Zero-knowledge identification protocol
Digital signatures:
Classification; Digital signature schemes: RSA; El-Gamal; DSA (Digital Signature Algorithm) and DSS (Digital Signature Standard)
Information Security:
Password systems: number of acceptable passwords for a given password policy, exhaustive search
password ageing
Introduction to viruses, secure communication, social engineering (phishing), firewalls, buffer overflow, denial of services

Module code: 7CCSMGPR
Credit level: 7

To provide the experience of working in a syndicate to design, implement and document a substantial software product.

Module code: 7CCSMART
Credit level: 7
Credit value: 15
Semester:  Full-year 
Assessment:  coursework 

Aims
To teach you to read and understand research papers and research lectures on your own, and pursue a research topic.

Learning Outcomes
You should obtain a good understanding of a particular technical area at a level that goes substantially beyond the taughts MSc materia.  You should also learn to explore a research area, to identify the important issues and understand their connection with each other and to demonstrate your technical understanding by presenting the results to a scientifica audience.

Provisional Syllabus
In this optional module, you will study advance research literature preferably in an area that is related to the material taught in your programme.

7CCSMART is a first-term module, with work starting at the beginning of the first term, but with the assignment continuing into the second term. Lectures will cover research methods, report/paper writing, and presentation techniques. You must attend at least five selected research seminars during the first term and read several related research papers.

You must agree your choice of research topic with the module organiser, which must be on a topic of in the research area of one of the members of the Department. Towards the end of the first term, you must submit a first draft of a report (approximately 10-15 pages), which will be reviewed by the organiser and other students. The final draft of the report must be submitted in the second term. The submitted report forms the basis of the assessment.

Topics will include:
Doing Research
Writing
Writing Scientific Papers
Presenting Scientific Papers
References
Sources
Refereeing
Module code: 7CCSMASE
Credit level: 7
Credit value: 15
Semester:  Semester 1 (autumn) 

Aims
To convey an understanding of the basic elements of software measurement and testing, in particular focusing on automated test data generation and with a discussion of the relative strengths and weakness of each technique.

Learning Outcomes
To be able to describe, apply and critique several well-known software metrics. To be able to describe and apply several well-known software testing techniques. To be able to compare testing techniques and present arguments relating to the most appropriate choice thereof.

Provisional Syllabus
Measurement: Representation and modelling, Scales, Structural Measures
Unit testing: Control Flowgraph Based testing including Data Flow based testing
Finding test cases using test data generation techniques. Coverage
Slicing and static analysis techniques
Industrial applications and industrial relevance of testing
Comparative software testing techniques

Module code: 7CCSMCOM
Credit level: 7
Credit value: 15
Semester:  Semester 2 (spring) 

Aims
The aim of this module is to define, analyse and compare abstract models of computation and their associated programming paradigms.

Learning Outcomes
On successfully completing the module you should be able to demonstrate a deep knowledge and understanding of the fundamentals of formal languages and the principal models of computation and be able to work with theoretical/research-based knowledge at the forefront of the subject; judiciously apply and combine tools and techniques (frequently in novel ways) to solve a range of complex subject-specific problems with minimal direction; analyse subject material, draw inferences, and find relationships that demand that innovative thinking be engaged in and creativity be exhibited in formulating solutions; critically evaluate, exercise judgement, and compare and contrast relevant material with minimal guidance and to consider and argue for alternative, novel approaches; demonstrate a high degree of independence in managing your own learning and reflecting upon it in order to complete research tasks autonomously.

Provisional Syllabus
Introduction to abstract models of computation
Finite Automata, Push-Down Automata and applications to parsing
Turing machines
Functional calculi
Interaction-based systems
Concurrent computation

Module code: 7CCSMDSI
Credit level: 7

The aims of this course are to present properties, implementations, and applications of fundamental and advanced data structures required for the efficient representation, organisation, searching, and manipulation of computer data. The course uses the C++ programming language as the implementation environment.
Module code: 7CCSMDBT
Credit level: 7

To study present and predicted developments in database technology from a formal perspective.
Module code: 7CCSMDSM
Credit level: 7

This course aims to provide an overall understanding of the basic concepts and practical technology of distributed computing, an in-depth understanding of the considerations applied in designing software for distributed systems. It will give students knowledge of algorithmic and architectural techniques used to address these considerations, and provide means of assessing how well novel technologies are able to handle faults in distributed systems.
Module code: 7CCSMITL
Credit level: 7

To provide students with a critical understanding of those aspects of the law that are most relevant to the work of IT-professionals.
Module code: 7CCSMSIA
Credit level: 7
Credit value: 15
Semester:  Semester 2 (spring) 

Aims
This module will cover different approaches for building internet applications and the choice of design techniques and technologies involved from a software engineering perspective, considering issues of efficiency, modularity and maintainability.

Learning Outcomes
You will gain the ability to design and implement internet-based applications in a modular manner, using appropriate languages and techniques. You will also gain the ability to specify and design medium-sized enterprise information systems using appropriate languages and techniques.

Provisional Syllabus
Model-driven architecture and application to internet applications
Client-side processing techniques: JavaScript, HTML
Server-side processing techniques: JSP, Servlets, database interfaces, sessions, connection pools
Modularity and maintainability of internet applications
Java EE architecture and patterns
Web services

Module code: 7CCSMTSP
Credit level: 7
Credit value: 15
Semester:  Semester 2 (spring) 

Aims
This unit is devoted to algorithms processing strings and texts efficiently. These types of algorithms are used for software design in the domains of operating systems utilities, search engines on the Internet, data retrieval systems, analysis of genetic sequences, and natural language processing, for example.

Learning Outcomes
On completing the module, you should be able to design and implement exact and efficient algorithms for matching patterns in textual data, building indexes for files, and more generally for solving algorithmic problems on strings and sequences.

Provisional Syllabus
Basic concepts:
Periods in strings
Finite automata and regular expressions
Exact pattern matching:
Brute-force algorithms for pattern matching
The Knuth-Morris-Pratt algorithm
The Boyer-Moore algorithm
The Karp-Rabin algorithm
Horspool's algorithm
Multiple pattern matching:
The Aho-Corasick automaton
Two-dimensional pattern matching
Structures for indexes:
Suffix arrays
Suffix trees
Suffix automata
Regular Pattern Matching
From regular expression to automata
Simulation of deterministic automata

Module code: 7CCSMINT
Credit level: 7
Credit value: 15
Semester:  Semester 1 (autumn) 

Aims
To provide an overall understanding of the communication model used on the Internet. To provide an in-depth understanding of the main underlying software components of the Internet. To provide an overview of the main languages used on the Internet. To provide an understanding of security threats to Internet application and the main technologies used to tackle them. To give you an understanding of the motivations behind internet technologies, suitable for you to evaluate current and future options.

Learning Outcomes
On successfully completing this module you will:
Development of Knowledge and Understanding
Have a comprehensive and detailed knowledge of the computational model underlying the Internet and recent developments in this area.
Know some of the languages used to display, represent, and manipulate information on the Internet.
Understand the security mechanisms used to protect Internet applications from unauthorised use.
Understand how protocols and languages combine to solve communication problems.
Be aware of the issues concerning privacy of personal information on the internet, and be able to apply techniques to protect privacy in any Internet applications you develop.
Cognitive/Intellectual Skills
Be able to analyse Internet-related problems using appropriate techniques and evaluating alternatives.
Be able to design solutions to such problems and evaluate the success of those solutions, possibly developing novel approaches.
Apply your knowledge of the Internet and its languages to these solutions.
Key/transferable skills
Know how to access and evaluate different sources of information regarding Internet standards, and technology standards more generally.
Have experience of solving technical, Internet-related, problems, and arguing for solutions to them.
Practical Skills
Be able to apply your knowledge of languages to meet appropriate software requirements.

Provisional Syllabus
Introduction to the Internet
Historical perspective and current context
Architecture of the Internet
Internet infrastructure
Addressing models
Web servers
Communication model
Internet reference model
TCP/IP
IPv4 and IPv6
Connection handling and flow control
HTTP and other application layer protocols
Resource location
Web languages fundamentals
HTML/XHTML
Form handling
XML
XML validation with schemas
Web service languages
Security on the Internet
Authentication methods
Digital certificates
Public and private key encryption
SSL
Introduction to Web models of information
Semantic Web
Grid computing


ACADEMIC ENTRY REQUIREMENTS
General entry advice

2:1 BSc honours degree or equivalent in computer science or related subject, eg mathematics, physics, chemistry, electrical engineering, or a joint degree in two such subjects. Competence in computer programming in a high level language such as Pascal, C, C++, Java etc, to the level expected at the end of the first year of a BSc honours degree in computer science. We may lower entry qualifications for students with substantial relevant work experience.


APPLYING TO KING'S
To apply for graduate study at King's you will need to complete our graduate online application form. Applying online makes applying easier and quicker for you, and means we can receive your application faster and more securely.
King's does not normally accept paper copies of the graduate application form as applications must be made online. However, if you are unable to access the online graduate application form, please contact the relevant admissions/School Office at King's for advice.

APPLICATION PROCEDURE

Your application will be reviewed by an admissions tutor and we aim to respond to applications within four to six weeks, although this may take longer during busy and holiday periods.



PERSONAL STATEMENT & SUPPORTING INFORMATION

Please submit a one page personal statement with your application, explaining why you wish to apply for this programme and why you feel it matches your interests, academic background, and, if relevant, your career plans.  Please include transcripts of subjects taken in the relevant degrees and copies of all certificates and relevant qualifications mentioned in your application.



FUNDING
Students are generally self-funded. Some College funding is available, please see the Graduate School webpages for details.


Student profiles

Computing & Security MSc
King's College London, a renowned university ranked among the best in the world, presented the perfect opportunity to undertake postgraduate study and excel in the field of computing and security. I had the opportunity to be taught by world-renowned academics that produce cutting edge work and publications.

 

King's provides a multi-cultural environment with the chance of meeting students from around the world. KCL also gave me the opportunity to network socially and make lifetime friends as well as getting involved in study groups. The libraries and other facilities are well equipped and staffed. Additionally, the campuses could not be better located for any student looking to experience London.

 

Due to the flexible nature of my course, I could work part time and study full time; this enabled me to fund my studies and gain industry experience while studying. King's has a high employment rate for its graduates because it prepares and equips students for the wider industry. I plan to look for jobs in firms with security concerns where I can apply the knowledge and skills I have gained. King's does not just provide materials for learning; it also provides the ideal environment for personal and professional growth and achievement.

Computing & Security MSc
My choice of studying at postgraduate level at King’s was informed by the fact it is a renowned institution in the area of research in all fields, particularly the physical sciences. There is an emphasis on quantitative and analytical skills offered in my programmme of study and this is exhibited in all the course modules.



Attending the computer science colloquia series, which was part of a requirement for a course module and also being actively involved in organising extra tutorial classes, for another course module, were very illuminating experiences.



The environment is exceptional in terms of both learning and social facilities, especially the study spaces, in particular the areas set aside specifically for postgraduate students. The College’s central location in London affords and boasts many benefits such as discounts, not enjoyed by students studying elsewhere, coupled with the lively social atmosphere offered at all King’s campuses, it makes for an overall memorable experience.

Staff profiles

Computing & Security MSc

Informatics is concerned with the study of the representation, storage, processing, and communication of information. It has many different aspects, including Computer Science, Artificial Intelligence, Robotics and Telecommunications. The Department of Informatics at King's seeks to address fundamental challenges and problems in these areas.

 

The MSc in Computing and Security is unique in that it balances the most topical issues in information assurance, computer and network security, cyber-forensics and cyber-crime with an equal mix of more traditional topics such as advanced algorithms and data structures.

 

I have been doing research and consultancy in many aspects of information security since 1996, much of it in collaboration with the Department of War Studies at King's, the Computer Forensics Research Group at the University of Hong Kong, the UK Ministry of Defence, and BAe Systems.

 

I am currently doing research in cyber-warfare, digital forensics, the analysis and interpretation of cyber-crime statistics, denial of service detection and mitigation, and malware detection.

 

Due to the exponential rise in information security breaches and the urgent need to develop increasingly effective cyber defences for government, industry and commerce, there is an almost inexhaustible demand for well qualified and competent post-graduates from the information security industry.