Security and Fault-tolerance in Distributed Systems

Course at ETH Zurich, Department of Computer Science, Spring Semester 2009

251-0470-00L

Description

This course presents methods for building dependable and secure distributed systems. The emphasis is on replication as the means to tolerate faults. Topics include group communication, failure detectors, reliable broadcast protocols, distributed cryptography, threshold cryptosystems, Byzantine agreement, quorum systems, and more. Applications to cluster computing, highly available systems (e.g., Amazon's Dynamo), Internet services (e.g., DNS), and storage systems (e.g., IBM's GPFS) will be presented.

The course presents principles and fundamental methods, and shows how they are applied to real-world systems.

Organization

Lecturer. Dr. Christian Cachin, IBM Zurich Research Lab.
Teaching Assistant. Matus Harvan, Information Security group, ETH Zürich.

Dates.
Attention: Time has shifted!
Lecture: Thursday, 15:15-17:00, RZ F21, starting 19. Feb. 2009.
Exercise: Thursday, 17:15-18:00, RZ F21, starting 19. Feb. 2009.

Web page. http://www.zurich.ibm.com/~cca/sft09/,

The course is part of the Information Security Master Track.

Prerequisites. Knowledge in information security and/or network security, distributed systems, and cryptography.

List of Topics

  1. Introduction
  2. Dependability Concepts
  3. Quorums
  4. Shared Memory
  5. Consensus and Broadcast
  6. Group Communication and High Availability
  7. Distributed Cryptography
  8. Byzantine Agreement
  9. Service Replication
  10. Data Storage

Schedule

Date Lecture notes Assigned exercise / reading
19. Feb. Introduction & Dependability Exercise 1
26. Feb. Quorum Systems Exercise 2
  5. Mar. Shared Memory Exercise 3
12. Mar. Consensus Exercise 4
19. Mar. Reliable Broadcasts Exercise 5
26. Mar. View-synchronous Group Communication Programming Project 1 (due: April 2)
  2. Apr. Group Communication with JGroups Programming Project 2 (due: April 23)
  9. Apr. View-synchronous Group Communication, GPFS Exercise 6 (due: April 23)
16. Apr. -- No lecture / Easter vacaction --
23. Apr. Distributed Cryptography Exercise 7
30. Apr. Broadcasts with Byzantine Faults Exercise 8
  7. May Byzantine Agreement, Amazon Dynamo Exercise 9
14. May Cryptographic protection for storage
21. May -- No lecture / Ascension --
28. May Distributed Storage

Additional Recommended Articles

Literature references are contained in the lecture notes. This list contains only additional material.


Last updated Wednesday, 02-Sep-2009 10:30:48 CEST, by Christian Cachin.