Appendix D. Notes on Key Selection (Note sulla selezione delle chiavi)
Esistono diversi modi per identificare la chiave utilizzata per verificare un JWS. Per massimizzare l'interoperabilità, le applicazioni dovrebbero (SHOULD) utilizzare il parametro header "kid" (key ID, ID chiave) per indicare la chiave utilizzata per verificare il JWS. In alternativa, le applicazioni possono (MAY) utilizzare altri parametri header, come "jku" (JWK Set URL) o "x5c" (X.509 certificate chain, catena di certificati X.509).
Strategie di selezione delle chiavi
Le applicazioni possono utilizzare una delle seguenti strategie per selezionare la chiave di verifica:
-
Uso del parametro "kid": Se il parametro header "kid" è presente, utilizzare il suo valore per cercare la chiave corrispondente nel set di chiavi disponibili.
-
Uso del parametro "jku": Se il parametro header "jku" è presente, recuperare il JWK Set dall'URL specificato e utilizzare una delle chiavi in esso contenute per la verifica.
-
Uso del parametro "jwk": Se il parametro header "jwk" è presente, utilizzare direttamente il JWK incorporato per la verifica.
-
Uso dei parametri "x5u" o "x5c": Se sono presenti parametri header relativi a X.509, utilizzare la chiave pubblica del certificato per la verifica.
-
Metodi specifici dell'applicazione: Le applicazioni possono (MAY) utilizzare altri metodi per determinare la chiave di verifica, ad esempio in base all'emittente, al pubblico o ad altre informazioni contestuali.
Considerazioni sulla sicurezza
Quando si seleziona una chiave, le applicazioni dovrebbero:
- Verificare l'origine e l'autenticità della chiave
- Assicurarsi che la chiave sia compatibile con l'algoritmo atteso
- Verificare il periodo di validità e lo stato di revoca della chiave
- Implementare politiche appropriate di gestione delle chiavi
Per ulteriori informazioni sull'identificazione delle chiavi, vedere la sezione 6.