Instructor:
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.
Prerequisites:
· Introduction to Computer Security
· Cryptography
· 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