Home Admissions Students Careers Research Business People Help
Text size A A A A A

| STUDENTS > Distributed Systems and Security |

Distributed Systems and Security

Note: Whilst every effort is made to keep the syllabus and assessment records correct for this course, the precise details must be checked with the lecturer(s).


Code: M030 (Also taught as: GZ03)
Year:4
Prerequisites:good understanding of object-oriented programming and design and networking protocols
Term: 1
Taught By: Brad Karp (100%)
Aims:The aim of this course is to instruct students on how secure distributed and networked systems can be built. The course will introduce the principles of distribution middleware that enables objects on different machines to communicate with each other. It will cover both principles of such distribution middleware (resolution of heterogeneity, dynamic requests and different synchronisation primitives used for the communication between distributed objects), and discuss solutions to a number of design problems for building distributed systems, such as locating distributed objects, the life cycle of distributed objects, persistence of distributed object state and distributed transactions. The course will then provide an overview of the threats associated with networked and distributed systems and mechanisms for addressing those threats. In doing this, we examine both the range of standards available for the actual deployment of secure systems and other issues of current concern.
Learning Outcomes:Students will be able to identify and discuss the basic principles underlying distributed objects. They will be able to construct distributed applications based on distributed object middleware. The students will be able to demonstrate how middleware achieves activation and communication between distributed objects. They will be able to analyse tradeoffs in how such middleware systems resolve the different dimensions of heterogeneity that occur in practice and how dynamic interactions can be employed to achieve flexible applications. Students will be able to differentiate between the different communication primitives that are available. They will be able to compare and contrast the primitives that are available for locating distributed objects, in particular naming and trading. They will be able to assess the importance of persistence and be able to build stateful server objects that can store their state on persistent storage. They will be able to assess the importance of transactions and be able to build applications that are resilient against failures. Students will be able describe the principal mechanisms and requirements for securing the network infrastructure, including the underlying cryptographic protocols and mechanisms for key generation and key exchange. They will be able to describe in detail the major components of a security infrastructure and be able to diagnose the types of security threats that apply in a given scenario and thence deduce and appraise suitable mechanisms for protection given cost/manpower constraints. Students will be able to propose a workable security policy for a given scenario.

Content:

IntroductionDistributed System Case Studies
Transparency in Distributed Systems
Principles of Middleware
Examples of Object-Oriented MiddlewareCORBA
RMI
HeterogeneityProgramming Language Heterogeneity
Data Representation Heterogeity
Middleware Heterogeneity
ReflectionDynamic Invocation
Interface Repositories
Advanced CommunicationSynchronization
Multiplicity
LocationNaming
Trading
Object Life Cycle
PersistencePrinciples of Persistence
Persistent State Services
Data Storage Technologies
Distributed Object Concurrency Control
Distributed Object Transactions
Security threats
Encryption techniquesSecret vs public key encryption
Exponentiation vs discrete logs
Details of Feistel ciphers, RSA, RC6, etc.
Random number generatorsEntropy
RNG output analysis
LCG
X9.17, BBS
Key escrow
Key exchange protocolsDiffie Hellman
ISAKMP
Needham Schroeder
Kerberos
CertificationX.509
PGP
Cross certification
CRLs
Message digest and digital signaturesDSS/SHA
MD5
HMAC
Authentication via biometrics, physical tokens etc [time permitting]
OS models, Bell and La Padula and the problems with them
Security policy definition and auditingIntroduction to BS7799
IETF activities: IPSEC
TLS (SSL)
Others: PKIX, DNSSEC, etc.
Mail systemsS/MIME
PGP
Firewalls
Wider aspects [time permitting]
Tempest, quantum approaches, viruses, formal methods
Political and legal issues

Method of Instruction:

Lecture presentation, lab sessions and tutorial sessions .

Assessment:

The course has the following assessment components:

  • Written Examination (2.5 hours, 85%)
  • Coursework Section (2 pieces, 15%)
To pass this course, students must:
  • Obtain an overall pass mark of 50% for all sections combined
The examination rubric is:
Answer three questions out of five. All questions carry equal marks. N.B. This course is examined in the pre-Easter examination session.

Resources:

W. Emmerich. Engineering Distributed Objects. ISBN 471-98657-7. Wiley 2000

Link to the recommended text book

Lecture notes (Steve Hailes)

Lecture notes (Brad Karp)

This page last modified: 26 May, 2010 by Nicola Alexander

Computer Science Department - University College London - Gower Street - London - WC1E 6BT - Telephone: +44 (0)20 7679 7214 - Copyright © 1999-2007 UCL


Search by Google
Link to UCL home page