Security/Features/Cert Blocklist via Update Ping
|Cert Blocklist via Update Ping|
|Product manager||Sid Stamm|
|Directly Responsible Individual||David Keeler|
|Lead engineer||David Keeler|
|Security lead||Curtis Koenig|
|Privacy lead||Sid Stamm|
|Product marketing lead||`|
The general blocklisting mechanism currently in Firefox is potentially being redesigned. As the simplest way to implement this feature is to piggyback on the blocklist, any changes to that mechanism will have to be taken into consideration. See https://etherpad.mozilla.org/BlocklistWishlist.
Stage 1: Definition
1. Feature overview
This feature is a subscription-based blocklisting of certs via update ping. It allows Mozilla to push out rapid blocklist of certificates when something bad happens in the PKI infrastructure. This prevents us from having to ship an update to disable a root or block a certificate.
2. Users & use cases
There are currently three use cases this feature addresses:
- A CA is no longer trusted (in its entirety)
- A CA's intermediate certificate is no longer trusted
- The key of an end-entity certificate belonging to a high-profile entity is compromised (e.g. a bank, government, etc.)
Instead of spinning up and releasing a binary update, we simply add entries as appropriate to the blocklist. Next time the user's browser pings us for updates, we ship them the new blocklist and the changes instantly take effect.
- The ability to block root certificates, intermediate certificates, and end-entity certificates
- The ability to block certificates using specific keys
- The ability to undo a block should one be applied erroneously
This will not serve the same purpose as shipping a white-list of all intermediate certificates, which is another proposal under discussion. In theory, once that feature is realized, only end-entity entries will be put on the blocklist and CA intermediate or root certs can simply be removed from the white-list.
This does not solve revocation in general. We will not add Joe Schmoe's compromised server certificate to the blocklist.
Stage 2: Design
5. Functional specification
6. User experience design
There should not be any UX changes.
Stage 3: Planning
7. Implementation plan
Quality Assurance review
Stage 4: Development
Stage 5: Release
10. Landing criteria
|Theme / Goal||Product Hardening|
Team status notes