Security and Fault-tolerance in Distributed Systems

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

251-0470-00L

Description

According to Lamport, a distributed system is one where the crash of a computer that you've never heard of stops you from getting any work done. This course presents methods for building dependable and secure distributed systems. The emphasis is on fault-tolerant and distributed cryptographic protocols. Topics include group communication, failure detectors, reliable broadcast protocols, distributed cryptography, threshold cryptosystems, Byzantine agreement, quorum systems, and replication. Applications to cluster computing, Internet services, and storage systems 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. Dr. Davide Bilò, Institute of Theoretical Computer Science.

Dates.
Lecture: Thursday, 14:15-16:00, IFW D42, starting 21. Feb. 2008.
Exercise: Thursday, 16:15-17:00, IFW D42, starting 21. Feb. 2008.

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

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. Registers and Shared Memory
  5. Consensus and Broadcast
  6. View-synchronous Group Communication
  7. Distributed Cryptography
  8. Byzantine Agreement
  9. Service Replication
  10. Data Storage

Schedule

Date Lecture notes Assigned exercise / reading
21. Feb. Introduction & Dependability Exercise 1
28. Feb. -- no lecture --
  6. Mar. Quorums Exercise 2 (due: 13. Mar.)
13. Mar. Registers and Shared Memory Exercise 3 (due: 20. Mar.)
20. Mar. Consensus and Reliable Broadcasts Exercise 4 (due: 3. Apr.)
27. Mar. -- no lecture / Easter vacaction --
  3. Apr. Consensus and Reliable Broadcasts (cont.) Exercise 5 (due: 10. Apr.)
10. Apr. Consensus and Reliable Broadcasts (cont.) Exercise 6 (due: 17. Apr.)
17. Apr. View-synchronous group communication --
24. Apr. Distributed cryptography Exercise 7 (due: 8. May)
  1. May -- no lecture / more vacaction --
  8. May Agreement and Broadcasts with Byzantine Faults Exercise 8 (due: 15. May)

Programming Project(s)

The programming projects explore some of the concepts from the course in real-world group communication systems.

Additional Recommended Articles

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


Last updated Wednesday, 07-May-2008 23:04:48 CEST, by Christian Cachin.