|   |
Course Syllabus
Course objectives:
This course is a graduate-level survey of modern topics in computer security focusing on
distributed systems, including applied cryptography, distributed access control, mobile code,
key management, and networks. A project is required as well as summaries of key research papers
discussed in class.
Student Work:
- Students will be given periodic written assignments and papers to review.
- Students are also expected to complete a course project of a substantial nature
involving the topics covered during the semester.
- Tests: One in-class midterm exam and one final exam (both open book, open notes).
Grades: Will be calculated from grades received for project (35%), assignments
(25%), and tests (20% each).
Topics
Weeks 1 & 2: Basic Security Principles. Principle of least privilege (Do not give
someone more power than what they need for their job). Trust, trusted computing bases,
trusted paths. Reference monitors, inline reference monitors. Access control.
Week 3: Cryptography Review. Simple cryptography: substitution, transposition.
Symmetric key cryptography: DES, AES. Asymmetric key cryptography: Diffie-Hellman-Merkle,
Rivest-Shamir-Adelman. Topics: confidentiality, integrity, non-repudiation. Key management
and certificates.
Weeks 4 & 5: Group-based Security. Group key management. Group authentication. Group
membership changes and non-repudiation. Case studies.
Weeks 6, 7, & 8: Secure Multiparty Computation. Secure two-party models. Oblivious
transfer. Secure n-party models
Weeks 9, 10, & 11: Distributed cryptographic methods. One-way accumulators. Secure
function evaluation. Computing with encrypted data. Computing with encrypted functions.
Secret sharing. Threshold Cryptography.
Weeks 12 & 13: Mobile Code Security. Least privilege. Confinement of un-trusted code:
digital signatures, interpreted code, wrappers and sandboxes, fault isolation, proof-carrying
code, reference monitors. Case Studies: ActiveX, Java, .NET, agents.
Weeks 14&15: Peer-to-Peer Security. The Sybil Attack. Distributed hash tables.
Dispersive routing vulnerabilities. Review.
Basic Bibliography
Primary Text (required):
- Ross Anderson. Security Engineering: A Guide to Building Dependable Distributed Systems.
John Wiley & Sons, 2001.
- The primary text will be augmented with several research papers and tutorials.
Secondary Texts (recommended):
- Alfred J. Menezes, Paul C. van Oorshot, Scott A. Vanstone. Handbook of Applied
Cryptography. CRC Press, 1997.
- Oded Goldreich. Foundations of Cryptography: Basic Tools. Cambridge University Press, 2001.
|
|
  |