Module 10 Overview
March 22-28 · Reading: 11 pages · Due: Lab 6 · Estimated total: 6.25 hours
Welcome back. Week 8 ended with an unanswered question: a signature verifies against a public key, but what tells you whose key it is?
This week is the answer. A certificate is a signed statement binding a public key to a name. Somebody you already trust signs it, and their key is vouched for by somebody else, up a chain to a root certificate. Your browser or operating system believes the root simply because it shipped with a list of them.
That last step is worth staring at. Four of the five basic checks a browser runs on a certificate are arithmetic. The fifth is a decision somebody made on your behalf, before you ever opened the browser.
Learning Objectives
By the end of this week, the successful student will be able to:
- 3.6: Interpret an X.509 certificate chain and identify the trust assumptions and failure modes of public key infrastructure.
Assignments and Tasks
Due by Sunday at 11:59 p.m. Mountain Time
- Read 10.01 Readings and Lecture Notes and work through the worked example (2 hrs 15 min)
- Complete 10.02 Lab 6: Certificates and TLS (Transport Layer Security) (1 hr 30 min, 38 points)
- Do the browser part (Step 1) before you run the script. It takes ten minutes and makes the script output make sense.
Time Estimate
| Activity | Time |
|---|---|
| Reading (11 pages) | 1 hr 35 min |
The notes page and running cert_inspect.py | 40 min |
| Lab 6 | 1 hr 30 min |
| Review and slack | 2 hrs 30 min |
| Total | ~6.25 hrs |