Algorithms for HTTP message signatures
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 30/100
- Tipo di issue
- Documentazione
- Chiarezza
- Da chiarire
- Stato di attività
- Tranquilla
- Ambito
- cryptography, documentation, security
Direzione di ricerca
Inizia leggendo la FAPI 2.0 Message Signing specification insieme a RFC 9421 e alla Section 5.4 del FAPI 2.0 Security Profile. Determina se i JWK alg values debbano essere obbligatori e se HTTP message signatures debbano usare le algorithm restrictions elencate; il lavoro è completato quando la specifica registra chiaramente i requisiti stabiliti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Originally submitted by Takahiko Kawasaki (Takahiko Kawasaki) on 2024-10-07
There are two topics: one is how to identify the algorithm of a given HTTP message signature, and the other is whether to impose restrictions on the algorithms.
How to identify the algorithm
Even if a key can be identified in a vendor-neutral manner by using the keyid parameter (ISSUE 721), the verifier must be able to determine the algorithm for verification. Since JWTs always include the alg parameter (RFC 7518 Section 3.1), identifying the algorithm is straightforward. However, HTTP message signatures do not always provide information about the algorithm.
The alg parameter (RFC 9421 Section 2.3) in the signature metadata appears to be usable, but Section 3.3.7. JSON Web Signature (JWS) Algorithm of RFC 9421 explicitly states the following:
JSON Web Algorithm (JWA) values from the "JSON Web Signature and Encryption Algorithms" registry are not included as signature parameters. Typically, the JWS algorithm can be signaled using JSON Web Keys (JWKs) or other mechanisms common to JOSE implementations. In fact, JWA values are not registered in the "HTTP Signature Algorithms" registry (Section 6.2), and so the explicit
algsignature parameter is not used at all when using JOSE signing algorithms.
This excerpted paragraph above implies that, when the key is represented as a JWK, the alg parameter (RFC 7517 Section 4.4) within the JWK should be referenced. However, the parameter is optional. Therefore, in practice, it is necessary to require the alg parameter within the JWK to be mandatory when the key is represented as a JWK. It may be worth mentioning this in the FAPI 2.0 Message Signing specification. Otherwise, client applications may register their public keys in JWK format without the alg parameter, leading to failed verification of HTTP message signatures. As a result, resource server providers will have to spend time instructing client application developers to include the alg parameter when registering JWKs.
Whether to impose restrictons on the algorithm
It should be explicitly stated that the algorithms for HTTP message signatures are restricted to those listed in Section 5.4. Cryptography and Secrets of the FAPI 2.0 Security Profile, if we intend to apply the same restrictions to them.
This is a minor detail, but the FAPI 2.0 Security Profile states “when creating or processing JWTs.” However, the format of HTTP message signatures is not JWT. Therefore, unless explicitly required, the algorithm restrictions stated in the FAPI 2.0 Security Profile do not apply to HTTP message signatures.
Of course, it is also possible to decide not to impose such restrictions on the signature algorithms for HTTP message signatures.
Bitbucket status: open
Bitbucket origin: issue 722
- Lingua principale
- HTML
- Stelle
- 4
- Fork
- 3
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 openid/fapi
-
component: FAPI 1: Advanced migrated-from-bitbucket priority: major type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
migrated-from-bitbucket priority: trivial type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
-
component: Implementation & Deployment Advice
Difficoltà 2/5 1-3 ore Idoneità per principianti 55/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
-
init variableAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
EVerest/EVerest#3052 · 1 reazione ·
I maintainer di solito rispondono entro 2 giorni
-
[Defect]: FFDH pattern treats ephemeral E as requiredForse già presa @Mehrn0ush l’ha presa 1 giorno fa. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
CycloneDX/specification#1147 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
status:untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
midnightntwrk/midnight-zk#558 ·
I maintainer di solito rispondono entro 1 giorno