CS468 Secure Programming and Systems

Location: Exploratory Hall L003
Meeting Time: Friday 1:30 pm to 4:10 pm
Instructor: Dr. Robert Simon
Office: 5322 Engineering Building
Phone: 703-993-1556
E-mail: simon AT gmu dot edu
Office Hours: Friday 11 am to noon, or by appointment

Description:

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. Topics include security and cryptography basics, vulnerability analysis, secure software development for communications and distributed system security. Projects involve designing and programming basic security tools, secure programs, and distributed systems.

PREREQUISITES

Grade of C or better in CS310 and CS 367.

REQUIRED TEXTBOOK

Cryptography and Network Security: Principles and Practice, 7/E by William Stallings.
ISBN-13: 9780134444611
Publisher: Prentice Hall

TOPICS

CLASS MATERIALS

All class materials, including lecture notes, are available through your blackboard accounts.

HOMEWORKS

There will be several homeworks assigned throughout the semester. They will be a mixture of written questions and programs. The programs involve the design and implementation of a protocol for encrypted and authenticated secure network communication. All programs will be written in the C language.

Please NOTE

GRADING POLICY

Your grade will be calcuated as follows:

No credit if your project does not compile. Projects are due at the start of class, not during class. Late assignments/projects lose 10% credit per day and will not be accepted 3 days after the due date.

No early exams will be given. If you must miss an exam an makeup will be arranged at the discretion of the instructor, provided you have a written and verified excuse.

COURSE OUTCOMES

  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. Describe how Operating Systems implement security for critical system components.
  7. Explain network and transport level security protocols with IPSec.
  8. Illustrate fundamental understanding of security principles by programming projects in cryptography, secure programming and communications.

DISABILITY STATEMENT

If you have a learning or physical difference that may affect your academic work, you will need to furnish appropriate documentation to GMU Disability Resource Center. If you qualify for accommodation, the DRC staff will give you a form detailing appropriate accommodations for your instructor. If you have such a condition, you must talk to the instructor during the first week of the term about the issue.

Disability Resource Center

HONOR CODE

The GMU Honor Code will be strictly enforced. Please make sure that you are familiar with it. We will discuss this further in class. Below is the link to the code.

Honor Code