Security and Fault-tolerance in Distributed Systems (2013)

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

252-0470-00L

Description

This course presents methods for building dependable, secure, and highly available distributed systems. Topics include replication, distributed storage, consensus, integrity and confidentiality for remote storage and remote computation on untrusted hosts.

The course has two main parts. In the first part, the emphasis is on replication as the means to tolerate faults. Applications to cluster computing and cloud computing services will be presented. In the second part, the goal is to protect clients from powerful but untrusted, remote storage and computation providers. The course presents principles and fundamental methods, and shows how they are applied to real-world systems.

Organization

Lecturer. Dr. Christian Cachin, IBM Research - Zurich.
Teaching Assistant. Pavel Raykov, Information Security & Cryptography, ETH Zürich.

Dates.
Lecture: Friday, 13:15-15:00, ML F 34.
Exercise: Friday, 15:15-16:00, ML F 34.

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

The course is part of the Information Security Master Track.

Prerequisites. Knowledge in information security and/or network security, cryptology, and distributed systems. In particular, this course uses concepts from public-key cryptology (RSA, Diffie-Hellman) and reliability in asynchronous message-passing systems. Corresponding to ETHZ D-INFK courses "Information Security" and "Verteilte Systeme" ("Distributed Systems") or equivalent.

Topics (tentative)

  1. Dependability
  2. Reliable broadcast
  3. Distributed storage
  4. Consensus
  5. System examples
  6. Distributed cryptography and proactive recovery
  7. Integrity and confidentiality for data stored by untrusted servers
  8. Confidentiality for computation on untrusted servers

Schedule

Exercises are usually due one week after assignment.

Date Lecture notes Assigned exercise
 
22. Feb. (1) Introduction and (2) Dependability
 
Exercise 1
1. March RAID-6 (EVENODD); Primitives (communication, failure detectors, cryptography)
[CGR11] 1; 2.1, 2.2, 2.4.1, 2.4.4, 2.5
 
Exercise 2
8. March Failure detectors; (2) Reliable broadcast, FIFO broadcast, causal broadcast
[CGR11] 2.6.1, 2.6.2; 3.1, 3.2, 3.3 (excl. 3.3.2), 3.9 (3.9.1-3.9.4)
 
Exercise 3
15. March (2ff.) Quorums; Causal and Byzantine broadcasts
[CGR11] 2.7.3; 3.9.7, 3.10 (excl. 3.10.4), 3.11
 
Exercise 4
22. March (3) Distributed storage, semantics and implementations
[CGR11] 4.1, 4.2, 4.3.1, 4.3.4, 4.4.1-4.4.2
 
Exercise 5
12. April (3ff.) Byzantine distributed storage; (4) Consensus and atomic broadcast
[CGR11] 4.7.1-4.7.2; 5.1.1, 5.2.1, 5.2.2, 6.1
 
Exercise 6
19. April (4ff.) Atomic broadcast, leader election, and fail-noisy uniform consensus (Paxos)
[CGR11] 6.1, 4.7.1-4.7.2; 5.1.1, 5.2.1, 5.2.2
 
Exercise 7
26. April (6) Distributed cryptography and proactive recovery
Handout sections 6.1-6.3
 
Exercise 8
3. May (6ff.) RSA threshold signatures and proactive cryptosystems (handout, 6.4-6.6); Non-blocking atomic commit ([CGR11] 6.6)
 
Exercise 9
10. May (7) Cryptography for storage systems (printer-friendly format)
For background concepts, see [WHKMV08].
 
No exercise
17. May (8) Oblivious transfer and secure computation
[S08] Chapter 24:3; Chapter 26:1-2. Alternative formulation in [LP09] Section 1.
 
Exercise 10
24. May (8ff.) More on two-party secure computation, CBMC-based garbled circuit evaluation [HFKV12]; Fully homomorphic encryption; Interaction is needed in secure computation [ACCK01] Sec. 1-2;
 
Exercise 11
31. May (8ff.) Commitments [S08] Chapter 24:2; Fairness and fair exchange;
(5ff.) Windows Azure Storage [CWO11].
 
No exercise

Literature

Main reference

[CGR11] Christian Cachin, Rachid Guerraoui, and Luís Rodrigues. Introduction to Reliable and Secure Distributed Programming (Second Edition). Springer, 2011.

Online at springerlink.com

Link to Amazon.de

The notes at the end of every chapter provide background literature. Chapter 7 points to related and more advanced literature.

Further references

Assessment

Exercises and Exam. The exercises are an integral part of the course. We encourage you to attend the exercise classes, to participate actively and to return your solutions. The main reference textbook [CGR11] contains also many exercises with solutions.

There will be an oral exam, held during the ETHZ exam session. The exam will cover the material presented in class and also some material presented in the exercises.


Last updated , by
Christian Cachin.