Appendix D. Notes on Key Selection (Notes sur la sélection de clé)
Il existe plusieurs façons d'identifier la clé utilisée pour vérifier un JWS. Pour maximiser l'interopérabilité, les applications devraient (SHOULD) utiliser le paramètre d'en-tête « kid » (key ID, identifiant de clé) pour indiquer la clé utilisée pour vérifier le JWS. Alternativement, les applications peuvent (MAY) utiliser d'autres paramètres d'en-tête, tels que « jku » (JWK Set URL) ou « x5c » (X.509 certificate chain, chaîne de certificats X.509).
Stratégies de sélection de clé
Les applications peuvent utiliser l'une des stratégies suivantes pour sélectionner la clé de vérification :
-
Utilisation du paramètre « kid » : Si le paramètre d'en-tête « kid » est présent, utilisez sa valeur pour rechercher la clé correspondante dans l'ensemble de clés disponibles.
-
Utilisation du paramètre « jku » : Si le paramètre d'en-tête « jku » est présent, récupérez le JWK Set à partir de l'URL spécifiée et utilisez l'une des clés qu'il contient pour la vérification.
-
Utilisation du paramètre « jwk » : Si le paramètre d'en-tête « jwk » est présent, utilisez directement le JWK intégré pour la vérification.
-
Utilisation des paramètres « x5u » ou « x5c » : Si des paramètres d'en-tête liés à X.509 sont présents, utilisez la clé publique du certificat pour la vérification.
-
Méthodes spécifiques à l'application : Les applications peuvent (MAY) utiliser d'autres méthodes pour déterminer la clé de vérification, par exemple en fonction de l'émetteur, de l'audience ou d'autres informations contextuelles.
Considérations de sécurité
Lors de la sélection d'une clé, les applications devraient :
- Vérifier l'origine et l'authenticité de la clé
- S'assurer que la clé est compatible avec l'algorithme attendu
- Vérifier la période de validité et le statut de révocation de la clé
- Mettre en œuvre des politiques appropriées de gestion des clés
Pour plus d'informations sur l'identification des clés, voir la section 6.