CRL optimization: verify CRL signatures once, up-front.
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 38/100
- Tipo di issue
- Refactoring
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- rust
- Ambito
- cryptography, security
Direzione di ricerca
Inizia dalla gestione delle CRL nella pull request indicata e in src/verify_cert.rs intorno alle righe 219-222, quindi esamina RFC 5280 §6.3.3. Il lavoro è completato quando la convalida della firma della CRL viene eseguita una volta durante il caricamento o la preparazione, anziché a ogni controllo di revoca, preservando al contempo la relazione richiesta con il trust-anchor.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
In https://github.com/rustls/webpki/pull/66 we've staged support for using Certificate Revocation Lists (CRLs) to make revocation decisions during path building.
The code in that branch performs CRL signature verification as part of verifying the signatures on the end-entity to trust anchor path that was found from path building: https://github.com/rustls/webpki/blob/8425fa3f54ab7a8790a572023910e5bc850f55cc/src/verify_cert.rs#L219C10-L222
This was done for two a few reasons:
- It was easier to integrate with the existing path building code used for certificate validation. That code relies on building a linked list from trust anchor -> intermediate certificate(s) -> end entity certificate. It's not super trivial to generalize to building a path from trust anchor to CRL and we'd need that ability to verify a CRL signature outside the context of cert validation (e.g. when loading the CRL).
- From an end-user perspective, it's appealing to be able to load CRLs without needing to first parse each of the issuers associated with the CRL (and the issuers of the issuers up to a root). E.g. with the current implementation its easy to load CRLs for intermediate certificates without needing to source those intermediates up-front, if the TLS handshake provides intermediates associated with loaded CRLs they can be used during path building without extra effort up-front.
- On the topic of CRL processing, RFC 5280 §6.3.3 says:
(f) Obtain and validate the certification path for the issuer of
the complete CRL. The trust anchor for the certification
path MUST be the same as the trust anchor used to validate
the target certificate.
It will take some care to be able to meet this requirement outside the context of building and verifying the path used to validate an end entity certificate.
However, since signature validation is expensive and CRLs are loaded infrequently but consulted for revoked certificates frequently it would be a nice optimization if we could perform signature validation once-up front instead of per-access.
- Lingua principale
- Rust
- Stelle
- 167
- Fork
- 112
- Merge medio
- 4h 28m
- PR unite (30g)
- 4
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di rustls/webpki
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 22/100
-
Path building re-parses every intermediate on each budgeted call (unbudgeted CPU cost)Forse già presa @batmnnn l’ha presa 23 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
-
Improve error message when denying subject name due to wildcard in public suffixForse di nuovo libera @ctz l’ha presa 79 giorni fa e non c’è nessuna pull request aperta. Aperta
-
Consider all candidate CRLsForse di nuovo libera @cpu l’ha presa 85 giorni fa e non c’è nessuna pull request aperta. Aperta
-
Add opt-in support for ignoring URI name constraintsForse già presa @djc l’ha presa 135 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
Tutte le issue di rustls/webpki
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
pop-os/cosmic-settings#2296 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
Eyevinn/open-live-ingest#36 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Windows YAML bind mounts fail path validation while equivalent --mount-dir CLI mounts succeedAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
superradcompany/microsandbox#2071 ·
I maintainer di solito rispondono entro 1 giorno
-
app
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
bug bug jury peripheral:i2s
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
esp-rs/esp-hal#6828 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno