Cleveland State University
Department of Electrical
Engineering and Computer Science

EEC 688/788 Secure and Dependable Computing

Fall 2018

 

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.

 

Prerequisite:                   EEC484/584 Computer Networks. Furthermore, this course is designed for students who have sufficient computer engineering background. That means you are expected to have taken undergraduate-level operating systems, data structure and algorithms, and programming language courses.

 

Textbook:                         Building Dependable Distributed Systems, by Wenbing Zhao

 

Instructor:                       Dr. Wenbing Zhao    

Office:                SH317

Phone:                (216) 523-7480

Fax:                    (216) 687-5405

E-mail:               w.zhao1@csuohio.edu

Lecture time:      T Th 2-3:50pm

Office hours:      T Th 4:00-6:00pm

 

Tentative Schedule

 

WEEK

Topics

Reading

1

(Aug 27 - 31)

Aug 28:

  • Lecture 1: Syllabus discussion; Overview of the course (notes)
    (Online only, travel)


Aug 30:

  • Lecture 2: Introduction to dependability and security; Elementary cryptography (part 1) (notes)

 

 


 

Building Dependable Systems: chapter 1

 


2

(Sep 3 - 7)

Sep 4:

  • Lab 0 - Getting familiar with Linux (do it yourself, travel)

Sep 6:

  • Class canceled (travel)

 

Security in Computing: chapters 1 & 2

 
Computer Networks (4th Ed., Tanenbaum): chapter 8

3

(Sep 10 - 14)

Sep 11:

  • Lecture 3: Elementary cryptography (part 2) (notes)
  • Lab 0 report due

Sep 13:

  •  Lecture 4: Elementary cryptography (part 3), Public key management; Authentication protocols (notes)

 

 

 Computer Networks (4th Ed., Tanenbaum): chapter 8

 



4

(Sep 17 - 21)

Sep 18:

  • Lecture 5: Secure communication (SSH, SSL, PGP) (notes)

Sep 20:

  • Lecture 5: Secure communication (continued)
  • Lab 1 - Secure shell

 


SSH, the Secure Shell (2nd Edition)

5

(Sep 24 - 28)

Sep 25:

  • Lab 1 - Secure Shell (on your own)

Sep 27:

  • Lab 2 - Secure computing in Java (on your own)

 

 

 

 

6

(Oct 1 - 5)

Oct 2:

  • Discussion Session
  • Lab 1 and lab 2 reports due

Oct 4:

  • Midterm (lectures 1-5, labs 0-2)
  • Lab2 report due

 



7

(Oct 8 - 12)

Oct 9:

  • Columbus Day (no class)

Oct 11:

  • Class canceled (Travel)
  • Reading on intrusion detection (optional) (notes)

 



8

(Oct 15 - 19)

Oct 16:

  • Lecture 6: Checkpointing and Logging Part I (notes)

Oct 18:

  • Lecture 7: Checkpointing and Logging Part II (notes)

 




Building Dependable Systems: chapter 2


9

(Oct 22 - 26)

Oct 23:

  • Lecture 8: Recovery-Oriented Computing (notes)

Oct 25:

  • Lecture 9: Service and Data Replication (notes)

 

Building Dependable Systems: chapter 3



 

Building Dependable Systems: chapter 4

10

(Oct 29 - Nov 2)

    

Oct. 30:

  • Lecture 10: Group communication systems (notes)
Nov. 1:
  • Lecture 11: Consensus; Paxos algorithms (part 1) (notes)

 

Building Dependable Systems: chapter 5

 


Building Dependable Systems: chapter 6

11

(Nov 5 - 9)

Nov 6:

  • Lecture 12: Paxos algorithms (part 2) (notes)

Nov 8:

  • Lecture 13: Byzantine fault tolerance (notes)

 

Building Dependable Systems: chapter 6


Building Dependable Systems: chapter 7

12

(Nov 12 - 16)

Nov 13:

  • Lecture 14: Blockchain and distributed consensus (notes)

Nov 15:

  • Discussion session (lectures 6-14)

 

 

 

13

(Nov 19 - 23)

Nov 20:

  • Final exam (lectures 6-14)

Nov 22:

  • Thanksgiving Recess (no class)

 

 

 

14

(Nov 26 - 30)

Nov 27:

  • Project presentation (attendance mandatory for all)

Nov 29:

  • Project presentation (attendance mandatory for all)

 

 

 

15

(Dec 3 - 7)

Dec 4:

  • Project presentation (attendance mandatory for all)

Dec 6:

  • Project presentation (attendance mandatory for all)

 

 

 

 

16

(Dec 10 - 14)

Dec 13 12:30-2:30pm:

  • All deliverables due (midnight)
  • Project presentation (attendance mandatory for all)

 

 

Course Project

Write a short survey paper on a particular topic and make a presentation. The topic must be approved by the instructor. Must be done individually . The project is expected to survey 5-10 research papers, among them at least 2 must be published within 5 years. Topic and list of papers must be pre-approved.

 

Labs

There are 3 labs on a various topics related to security and dependability of distributed computing systems.

 

Class Participation

10% of the course credit is allocated to encourage student class participation. I may perform a roll call in the beginning of each class to determine the attendance.

Grading

Class participation 10%
Lab reports 10%

Projects 20%

Exam 60%

 

The final grading is based on your accumulated effort in this course. Your final grade is determined approximately based on the following schedule:

A: 90-100%

A-: 85-89%

B+: 80-84%

B: 75-79%

B-: 70-74%

C: 60-69%

F: <60%

 

Reference Books  

Security in Computing (4th Edition), by Charles P. Pfleeger, Shari Lawrence Pfleeger, Prentice Hall, 2006

Replication: Theory and Practice, Editted by by Bernadette Charron-Bost, Fernando Pedone, Andre Schiper, Springer, 2010

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

Network Intrusion Detection (3rd Edition), by Stephen Northcutt, Judy Novak, New Riders Publishing, 2002

 

Note

Examines are closed-book and closed-notes except that you can bring with you one sheet of formulas and definitions (US Letter size or smaller, and you can write on both sides of the sheet). Note that only handwritten sheet is allowed. 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.