TUF / Notary Deep Dive
summary
TUF defines a JSON metadata hierarchy — root/timestamp/snapshot/targets — with canonical serialization, expiring versions, delegated keys and path restrictions; Notary’s Go implementation uses base64 encoding, supports multiple hash algorithms and enforces length+hash checks so clients reject zip‑bombs, slow‑retrieval or rollback attacks. The design is compromise‑resilient: separate online timestamp keys and offline root keys, plus multi-signature thresholds and key rotation to recover from stolen keys. Example fixes come from past apt/yum failures that filled memory or disk; a proof‑of‑concept desktop installer (conman) demonstrates the system works.
AI-written summary · about
chapters (17)
- 0:00Intro
- 1:22Key Hierarchy
- 2:42Metadata Verification
- 3:54File Structure
- 6:33Target Structure
- 8:52Keys and Roles
- 14:59Software Repositories
- 15:20Attack: Slow Retrieval
- 15:52Attack: Endless data
- 16:16Problem: Endless data - Filling Memory
- 16:56Problem: Endless Data -- Filling Disk
- 18:00Attack: Zip Bomb
- 21:24Version
- 21:52Attack: Reverting packages
- 26:01The Problem with TLS
- 27:52The Problem with GPG / RSA
- 34:48Maximum security model (PEP 480)
related talks
41mDeep Dive: TUF / Notary
34mWhen the Going Gets Tough, Get TUF Going! [I]
39mIntro: TUF / Notary
41mWhen The Going Gets Tough, Get TUF Going!
18mBeyond signatures: Using TUF and Notary to Secure Software Distribution
29mTUF-en up Your Software Supply Chain
26mTUF-En Up Your Signatures
41mUsing TUF to Mitigate Repository Compromises
