Catalog Data: EEC 688/788 Secure and Dependable Computing (4-0-4).
Textbook:
Prerequisite: EEC 584 .
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.
Reliable Distributed Systems: Technologies, Web Services, and Applications , by Kenneth P.
Birman, Springer, 2005
References:
Security in Computing
(3 rd Edition), by Charles P. Pfleeger, Shari Lawrence Pfleeger,
Prentice Hall, 2002
Cryptography and Network Security: Principles and Practices (3 rd
Edition)
, by William
Stallings, Prentice Hall, 2003
Distributed Systems: Concepts and Design (3 rd
Edition)
, by George Coulouris, Jean
Dollimore and Tim Kindberg, Addison-Wesley, 2000
Reliable Computer Systems: Design and Evaluation (3 rd Edition), by Daniel P. Siewiorek and
Robert S. Swarz, A K Peters, 1998
Coordinator: Dr. Wenbing Zhao, Assistant Professor of Electrical Engineering & Computer Science
Goals: In the Internet age, the security and reliability of computers systems have become essential requirements. The demand for highly skilled engineers in building such systems will increase exponentially with the increased connectivity and automation of enterprise, governmental and military activities. This course provides a comprehensive overview of the basic concepts and principles of secure and dependable distributed computing as well as the latest advances in this field. The lectures will be augmented with extensive lab-based tutorials and projects so that the students can get sufficient grasp of the theory and hands-on experiences in using, improving and building secure and dependable systems.
Prerequisites by Topic:
1.
Computer networks
2.
Operating Systems
3.
Data Structures and algorithms
4.
C++/Java programming languages
Course Outline:
Topics
1. Introduction to Secure and Dependable Computing
2. Distributed Computing Principles
3. Computer and Network Security
4. Replication, Logging and Checkpointing
5. Group Communication Protocols
6. Virtually Synchronous Execution Model
7. Byzantine Fault Tolerance
8. Intrusion Tolerance Techniques
9. Lab on Group Communication Systems (JavaGroups, Spread)
Lecture Hours
4
4
8
8
8
4
4
10. Lab on Byzantine Fault Tolerance Systems (BFT)
11. Project presentation
12. Review and Exam
4
4
4
4
4
60
Design Project: Design a secure and dependable computer systems based on existing toolkits such as GCS and BFT (group project, each group consists of 2-3 students)
Computer Usage: LAN-based secure and dependable distributed computing experiments, to be conducted at the Distributed Computing Systems Lab
Dual Processor Servers running the Linux operating system and connected by a Fast-
Ethernet LAN.
at FH 306. The Lab consists of 8 Intel Xeon
1. Learn how to configure, compile and install the toolkits
2. Learn how to configure and use the toolkits installed
3. Design and implement distributed applications/systems using the toolkits
4. Evaluate the correctness and performance of the systems built
Prepared by: Dr. Wenbing Zhao Date: Nov 7, 2006