Dr. Robert Simon
Office: ST-II, Room 423
Phone: (703) 993-1556
E-mail: simon AT cs gmu edu
Office Hours: Tuesdays 1:30 to 3:30
This course is designed to provide students with an understanding of the theoretical underpinnings of modern security systems, along with the principles of secure system and protocol design. This course is intended for upper-division computer science students, along with other students whom possess the required programming and system software background. As part of the class students will gain the knowledge and experience of programming and validating a secure and distributed application. Successful completion of this class will give students some of the basic tools in how to design and implement secure systems.
· Introduction to Computer Security
· Secure Programming
· Secure Systems
· Securing Networks and Distributed Systems
· 40% Project
· 10% Assignments
· 25% Midterm exam
· 25% Final exam
1. Describe the fundamental ethical responsibilities computer scientists have in securing and protecting computers
2. Explain basic mathematical principles underlying encryption algorithms.
3. Explain basic mathematical principles underlying authentication algorithms.
4. Demonstrate an understanding of cryptographic protocols.
5. Demonstrate an understanding of secure programming via attack models and vulnerability analysis
6. Demonstrate an understanding of the fundamentals of secure software design
7. Describe how Operating Systems implement security for critical system components
8. Explain formal security policy models for access control
9. Explain network and transport level security protocols with IPSec.
10. Illustrate fundamental understanding of security principles by programming a self-encrypting and self-modifying program for file manipulation