Syllabus for Computer Science 257


[Home]

Information Security in the Real World, Fall 2020


MW 2:30-3:45, zoom only. Meeting ID: 946 8477 5984

Stephen Slade
014 AKW, 432-1246 stephen.slade@yale.edu
Office hours (via zoom. Meeting ID 459 434 2854): Wednesday 4 to 6 pm, and by appointment.

Teaching Assistants: Please see Instructor and TA contact information.

Course Description

Introduction to information security, the practice of protecting information from unauthorized actions, in the context of computer systems. Topics include current security-related issues, basic adversarial models and threats to computer systems, potential defenses, security tools, and common security breaches and their wider impacts.

Prerequisite: CPSC 100, 112, or equivalent programming experience, or with permission of instructor.

Course Overview

Information security is a rapidly evolving field. The majority of our communications, including sensitive communications such as financial and business transactions, medical information, and personal exchanges, happen on the Internet. We depend on often very complex computer systems to protect these communications. We specifically aim at preserving confidentiality, integrity and availability of information. However, the modern challenges of information security, the practice of protecting information from unauthorized actions, are vastly different from what they used to be as the adversarial models and threats continue to change at a fast pace. As a result, we have witnessed a surge of serious security breaches in the past couple of years because organizations and individuals find themselves unprepared to deal with those challenges.

This course covers the essentials of information security, as applied to real-world systems, required to

The course also covers the practical aspects of implementing security in real systems, including the human component. Topics of privacy, anonymity and surveillance will also be discussed. A variety of modern, widely available tools for secure communication will also be covered as means to improving the security of personal information.

Topics

The course will cover the following topics. Midterm Exam Monday, October 12th at the regular class time and room.

Final Exam TBA.

Guest Speakers

There will be a couple of guest speakers with significant cryptography and information security experience. In the past, we arranged informal dinners with the speakers. Unfortunately, we cannot do that this year. The speakers will be online, not in person. Tant pis.

Course Structure

Prerequisites: This is an undergraduate level course and does not require prior background in information security. However, it assumes a familiarity with basic concepts of computer science and programming such as are covered in the official prerequisite courses, CPSC 100 and CPSC 112.

Required textbooks: There is one required textbook and it is available at Yale as a licensed ebook. This means you can read it online for free. We will also use assigned readings from a variety of sources: white papers, news articles, etc.

Other Resources

Web page
The course web page is at http://zoo.cs.yale.edu/classes/cs257.
Piazza
Students will be enrolled in a piazza site for the course. which permits an interactive exchange of questions and information: www.piazza.com Note: students are not allowed to post code to piazza.
Canvas
We may use canvas for submission of assignments. canvas
Zoo accounts
The Zoo is a collection of computers located on the 3rd floor of AKW at the front of the building, as well as room 111 in 17 Hillhouse. You will need a course account for CPSC 257 on the Zoo. When you register for this class, your course account should be created within one hour or so of signing up. A Zoo tutorial is available on-line from the course web page.
Course directory
The course directory, /c/cs257 is accessible from your Zoo course account. It contains copies of handouts.

Course Requirements

Final exam will be given during the officially-scheduled examination period. Students will be assigned readings. Together with homework assignments, students will be expected to do ∼6 hours of work per week outside the classroom.

Please try not to leave the homework to the last minute. You will be more efficient, learn more, have more chance to get help, and generally be calmer and happier if you do the associated reading first and start the programming or other problems early.

Programming:

You will be required to write programs to solve many of the homework assignments. We do not specify which language to use. In class, we will usually use Python or bash shell scripts, but may use C or even racket. With the homework assignments, you will be graded on the answer, but it is usually a good idea to show your work if you want partial credit. The way to do that is to submit your source code.

Late Policy

Late work without a Dean's excuse will be assessed a penalty of 5 points per day, based on the submission timestamp. At the end of term, up to 25 points will be deducted from the total lateness penalties your homework has accrued. However, according to Yale College regulations, *no* homework can be accepted after the end of Reading Week without a Temporary Incomplete (TI) authorized by your dean.

If you have a Dean's excuse or a TI, making up missed work may involve alternative assignments, at the discretion of the instructor; please check with the instructor in this case.

Policy on Working Together

Unless otherwise specified, the homework assignments are your individual responsibility. Plagiarism is a violation of University rules and will not be tolerated. You must neither copy work from others (at Yale or elsewhere) nor allow your own work to be copied. You are definitely on the wrong side of the boundary if you give or receive a printed or electronic copy of your or anyone else's work for the course from this term or previous terms.

You are encouraged to ask others for help with the zoo, programming, general questions about the concepts and material of the course, but if you need more extensive help with a program or other assignment, please ask a TA or the instructor for assistance. Working in groups to solve homework problems is not permitted in this course. Please talk to the instructor if you have any questions about this policy.

Course Outline

Week Date Topic
1 Aug 31, Sep 2 Introduction. [MS1: Mark Stamp Chapter 1]
Cryptography
2 Sep 7, 9 Crypto Basics [MS2]
3 Sep 14, 16 Symmetric Key Crypto [MS3]: Stream Cyphers, Block Cyphers DES, 3DES, AES
4 Sep 21, 23 Public Key Crypto [MS4] RSA, Diffie-Hellman
5 Sep 28, 30 Hash Functions [MS5] Birthday Attack, HMAC
Access Control
6 Oct 5, 7 Authentication [MS7] Authorization [MS8]
7 Oct 12, 14 Review for midterm
Oct 14 Midterm Exam.
Protocols
9 Oct 19, 21 Simple Authentication Protocols [MS9]
Real-World Security Protocols [MS10] SSH, SSL, IPSec, Kerberos, WEP, GSM
10 Oct 26, 28
10/26: Guest speaker: Richard Ledgett, ex-NSA deputy director.

10/28: Guest speaker: Richard Boscovich, Director, Microsoft Digital Crime Unit1
11 Nov 2, 4
Software
12 Nov 9, 11 Software Flaws and Malware [MS11]
November 9th: Guest Speaker: Morrow Long, Yale Information Security Officer.
13 Nov 16, 18 Insecurity in Software [MS12]
14 Nov 30, Dec 2 Operating Systems and Security [MS13] Review for final exam.
Dec TBD Final Exam

[Home]