Modules
The class is divied based on the high-level topics being covered. Each module listed on the sidebar has a list of lectures and associated resources based on that module.
Lecture Module Resources
Under each lecture module you will find links to many sources of information on the topic. These are optional readings, you are not required to read any of them. I am often asked after class about where to look to learn more about a topic or where to go if the topic is a bit challenging to understand from the lecture content. These resources are a good place to start for those interested.
I am always happy to add new resources to these lists, so if there is something recent that I have left off. Or even just something fun that you think others might enjoy, feel free to email me about them.
Subsections of Modules
Introduction
Slides
Remember
From 01-Introduction:
- CIA
- Confidentiality - computer-related assets are accessed only by authorized parties.
- Integrity - assets can be modified only by authorized parties and only in authorized ways.
- Availability - assets are accessable to authorized parties at appropriate times.
- CIAAA adds two more:
- Accountability - actions are traceable to entities responsible.
- Authentication - user or data origin accurately identifiable.
- Swiss cheese model
- Data breaches are usually caused by multiple security failures.
From: 02-Threat Models
- Role of threat models in security
- Who is the adversary?
- What needs to be protected and what risks can be accepted?
Additional Resources
Videos
How Chinese Criminals Steal Your Credit Card With Just One Text
News and blogs
Authentication
Authentication is about determining that an entity, such as a person, has a desired property, such as knowing a password. The goal of authentication is ensuring that the system knows who or what is interacting with it and can therefore make later decisions, such as access control decisions, with confidence.
Slides
Remember
02-Authentication
- Something you …
- Multi-factor authentication
- Authenticating identity vs a property
- Continuous authentication
- Password entropy
03-Authentication
- Hashing and salting passwords
- Online vs offline guessing of passwords
- How online and offline attacks differ
Additional Resources
Recommended Reading
News
Laws, regulations, and guidance
Research
- Joseph Bonneau. The Science of Guessing: Analyzing an Anonymized Corpus of 70 Million Passwords. In Proceedings of IEEE SP 2012.
- Blase Ur, Felicia Alfieri, Maung Aung, Lujo Bauer, Nicolas Christin, Jessica Colnago, Lorrie Faith Cranor, Henry Dixon, Pardis Emami Naeini, Hana Habib, Noah Johnson, William Melicher. Design and Evaluation of a Data-Driven Password Meter In Proceedings of CHI 2017.
- Florian Mathis, John H. Williamson, Kami Vaniea, Mohamed Khamis (2020). RubikAuth: Fast and Secure Authentication in Virtual Reality. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems.
- Ur, Blase, et al. “How does your password measure up? The effect of strength meters on password creation.” 21st USENIX security symposium (USENIX Security 12). 2012.
Random Fun Stuff
- * The password game - Simple game that keeps giving you new harder, more crazy, password rules as you progress.
Access Control
Access control is how the system manages access to various resources. Classically access control is defined in terms of who wants to perform what action on what resource and if that tripple of (who, action, resource) should be allowed.
Slides
- 04-Access-Control
- Access Control
- Principle of least privilege
- Reference monitor
- Access control implementations
- Access Control Directory
- Access Control Matrix
- Access Control Tripples
- Access Control Lists
- 05-Information-Flow-Control
- Access Control Capabilities
- Multi-level security models
- Cookies
News
Wikipedia and other education pages
Research
Cryptography
Cryptography is the study of encryption approaches and is one of the most basic tools used in security. In this module we will cover some of the basic principles of cryptography and some of the most common cryptography aprroaches.
Slides
2025 Slides
Recommended Reading
Security in Computing - Chapter 2.1 and 2.2
Learning Goals
Understand
Encryption is not magic, it does not protect all things from all attacks, it is built on assumptions and like all tools is designed to perform specific tasks.
Different types of cryptography are designed to solve different problems, think about the problems, constraints, and assumptions that can be made before selecting a cryptographic approach.
Remember
Difference between symetric and asymetric cryptography
Keys, what they are for, assumptions about them, and what they do
Stream and block ciphers
Apply
Think about the different tools that you use on a daily basis that claim they use encryption to protect you. Try looking up what kind of encryption they use and reason about why that type was chosen.
Additional Resources
Networking
Networking is how we reliably move data between computers over unstable and sometimes untrusted connections managed by strangers.
Slides
2025 Slides
- 09 Networking Introduction
- Packets, IP addressing, OSI network model, ports, TCP
- 10 Networking
- Autonomous Systems, BGP Routing, VPNs
- 11 Networking
- Threat Models, Onion Routing, Denial of Service, Firewalls, NAT
- 12 Networking
Educational Networking Games
- CS4G Network Simulator - an easy to understand and play simulator game that takes you through some of the most basic attacks in networking such as spoofing and a man in the middle attack
- Permission Impossible - a simple drag-and-drop game designed to teach firewall concepts and rules
- Blue Team - a more complicated firewall game that has you set firewall policies for multiple computers in a network, upper levels include some simple interaction with an intrusion detection system
News
Additional Resources
Secure Programming
Secure programming is a broad topic but roughly covers the security of operating systems and applications.
Slides
2025 Slides
News from Lecture
Below are some of the news stories cited in lecture or during the first 5 minutes.
Try it out
Below are some capture the flag sources online. These are not required for the course, but you may find them interesting to try out.
Additional Resources
Industry reports and resources
Research Papers
Web Security
Web security covers the security of web servers, browsers, users, and organizations that all interact over the Internet. This module starts with a quick course in how the Internet and websites function then moves on to more classic website attacks like Cross Site Scripting.
Slides
2025 Slides
- 16-WebSecurity
- Topics: How websites are built
- 17-Cookies
- Topics: Cookies, web tracking, cookie access control
- 17-WebSecurity-XSS
- Topics: Cross Site Scripting (XSS)
- Note that a few “New Slide” slides were added after lectuer to give examples of a few points that were confusing.
- 18-WebSecurity
News
Additional Resources
Research Papers
Privacy
There are many deffinitions of privacy, in this class we will learn about: contextual privacy, boundary management, user control over data flows, and some privacy laws.
Slides
2025 Slides
Topics
- Definition of privacy
- Data privacy tactics
- Data privacy approaches in the US and Canada
- Privacy harms examples
Learing Goals
- Explain multiple definitions of privacy, including privacy as confidentiality, control over information flows, anonymity, pseudonymity, and contextual integrity.
- Differentiate privacy from security, particularly why confidentiality, encryption, and access control alone do not guarantee privacy.
- Describe how trust operates in online systems, including trust transfer, collective trust signals, and the role of privacy policies as crossâsite trust mechanisms.
- Explain why privacy policies emerged as a technicalâlegal response to trust problems in early eâcommerce.
- Explain the role of enforcement bodies (e.g., FTC, OPC) and how inaccurate or misleading privacy policies can result in sanctions.
- Contrast GDPR with U.S. privacy models, especially differences in responsibility allocation between users, organizations, and governments.
- Explain why encryption â privacy, using adversary models to explain the difference.
Additional Resources