Department of Electrical and Computer Engineering
EEC 693/793 Special
Topics in Electrical Engineering
Secure
and Dependable Computing
Spring 2006
Course Objectives: This course provides an extensive overview of secure
and dependable distributed computing systems. Topics include computer and
network security, faults models, process and data replication, reliable group
communication, message logging, checkpointing and
restoration, Byzantine fault tolerance and intrusion tolerance.
Pre- or co-requisite: EEC484/584, Computer Networks
Textbook: Lecture
notes and handouts
Instructor: Dr.
Wenbing Zhao
Office: SH317
Phone: (216)
523-7480
Fax: (216)
687-5405
E-mail: wenbing@ieee.org
Lecture time: M W 6:00-7:50pm
Office hours: M W 4:00-6:00pm
and by appointment
|
Week |
Topics |
|
|
1 (Jan 16 - 20) |
Martin Luther King Day – Jan 16 (no
class) Lecture 1 (notes): Syllabus discussion;
Overview of secure and dependable computing |
A. Avizienis,
J.C. Laprie, B. Randell,
C. Landwehr: ‘Basic Concepts and Taxonomy of
Dependable and Secure Computing’, IEEE Trans. on Dependable and Secure Computing,
vol. 1, no. 1, Jan-March 2004, pp.11-33 |
|
2 (Jan 23 – 27) |
Lecture 2 (notes): Introduction to computer
& network security Lecture 3 (notes): Elementary
cryptography (part 1) |
Security in Computing (3rd Ed.) chapter 1 Security in Computing (3rd Ed.) chapter 2 |
|
3 (Jan 30 – Feb 3) |
Lecture 4 (notes): Elementary
cryptography (part 2) Lab 0 – Getting familiar with Linux (Lab report due at the end of the lab) |
Security in Computing (3rd Ed.) chapter 2 |
|
4 (Feb 6 – 10) |
Lecture 5 (notes): Public key management;
Authentication protocols Lecture 6 (notes): Access control; Program
security |
Computer Networks (4th Ed., Tanenbaum) chapter 8 Security in Computing (3rd Ed.) chapter 3 |
|
5 (Feb 13 – 17) |
Midterm Test #1 (lecture 1-6) – Monday, Feb 13 Lecture 7 (notes): Secure communication
1 - secure shell |
SSH, the Secure Shell (2nd
Edition) |
|
6 (Feb 20 – 24) |
President Day – Feb 20 (no class) Lab 1 - Secure shell (session 1) (Lab report due at the end of the lab) |
|
|
7 (Feb 27 – Mar 3) |
Lab 1 - Secure shell (session 2) (Lab report due at the end of the lab) Lecture 8 (notes): Secure communication
2 (Kerberos, PGP; SSL, IPsec, VPN) |
|
|
8 (Mar 6 – 10) |
Lab 2 – Secure computing in Java (session 1) Lab 2 – Secure computing in Java (session 2) (Lab report due at the end of the lab) |
|
|
9 (Mar 13 – 17) |
Spring Recess (no class) |
|
|
10 (Mar 20 – 24) |
Lecture 9 (notes): Intrusion detection
and prevention Lab 3 – Intrusion detection with Snort (Lab report due at the end of the lab) |
|
|
11 (Mar 27 – 31) |
Lecture 10 (notes): Failures and their
manifestation; Consensus Lecture 11 (notes): Replication
techniques; replica consistency |
|
|
12 (Apr 3 – 7) |
Midterm #2 (lecture 7-11, lab1-3) – Monday, April 3 Lecture 12: Group communication systems; The Spread toolkit |
|
|
13 (Apr 10 – 14) |
Lecture 13: ProSkills – by
Jim Watson (Attendance mandatory) Project outline due: April 10 Lecture 14: Logging, checkpointing and
recovery |
|
|
14 (Apr 17 – 21) |
Lab 4 – Spread toolkit (session 1) (Lab report due at the end of the lab) Lab 4 – Spread toolkit (session 2) (Lab report due at the end of the lab) |
|
|
15 (Apr 24 – 28) |
Lecture 15: Byzantine fault tolerance; Intrusion tolerance Project progress report due; April 24 Lecture 16: Secure group communication |
|
|
16 (May 1 – 5) |
Lecture 17: Recovery-oriented computing Project presentation – May 3 (Attendance mandatory) |
|
|
17 (May 8 – 12) |
Project presentation – May 10, Wednesday 6:00-8:00pm (Attendance mandatory) |
|
Course Project
Implementation track: You are expected to build a secure
and/or dependable software application/system based on the tools and systems
you have learned during the labs.
-
A team of no more than two students for each project
-
A presentation and a demo of your project is required
-
A typed comprehensive report of your project is required
Theory track: You are expected to survey comprehensively
a topic of your interest in the field of secure and dependable distributed
systems.
-
Individual project
-
A presentation of your survey is required
-
A typed comprehensive report of your project is required
Grading
Midterms 40% (20% each)
Labs 40% (based on lab participation and lab report due at the end of each lab)
Course project: implementation-track (30%), theory-track (20%)
Examines are closed-book and closed-notes. However, you can bring with you one page of formulas and definitions (US Letter size or smaller). There will be no make-up tests. If you have serious reasons for missing a test (accident, medical emergency, death in the family), upon presentation of an official written document validating the circumstance the test will be rescheduled.
Security in Computing (3rd Edition), by Charles P. Pfleeger, Shari
Computer Networks (4th Edition), by Andrew S. Tanenbaum,
Prentice Hall, 2003
Cryptography and Network
Security: Principles and Practices (3rd Edition), by William Stallings,
Prentice Hall, 2003
SSH, the Secure Shell (2nd Edition),
by Daniel J. Barrett, Robert G. Byrnes, Richard E. Silverman, O'Reilly, 2005
Reliable Computer
Systems: Design and Evaluation (3rd
Edition), by Daniel P. Siewiorek and Robert S. Swarz, A K Peters, 1998
Distributed Systems: Principles and Paradigms, by Andrew S. Tanenbaum, and Maarten van Steen, Prentice Hall, 2002
Reliable Distributed
Systems: Technologies, Web Services, and Applications, by Kenneth P. Birman, Springer, 2005
Delta-4: A Generic Architecture for Dependable
Distributed Computing, by D. Powell
(Ed.), Pringer-Verlag, 1991