Resources

Lecture Slides

# Topic
1 Welcome & Introduction
2 Security Policy & Aspects
3 Beyond the Attacks
4 Goals and Requirements
5 Assurance
6 Architectural Approaches to Security
7 CPU Security: Meltdown and Spectre
8.1 Cryptography: Introduction
8.2 Cryptography: One-Time Pads
8.3 Cryptography: Block Ciphers
8.4 Cryptography: Stream Ciphers
8.5 Cryptography: Nonce and IV
8.6 Cryptography: DH and PKI
8.7 Cryptography: Authentication
8.8 Cryptography: Hashes and Key Distribution Functions
8.9 Cryptography: Random Numbers and Entropy
8.11 Cryptography: Libraries
8.12 Cryptography: Developer Mistakes
8.13 Cryptography: Developer Best Practices
10.1 Authentication: Intro
10.2 Authentication: Passwords
10.3 Authentication: Tokens and Certificates
10.4 Authentication: 2FA
10.5 Authentication: OAuth
10.6 Authentication: Kerberos
10.7 Authentication: Biometrics

Cryptography

Software Security

  • Michael Howard, David LeBlanc, and John Viega. 2009. 24 Deadly Sins of Software Security: Programming Flaws and how to Fix Them. McGraw-Hill, Inc., New York, NY, USA.
    • Note: See Canvas site, Files folder