Zum Hauptinhalt springen

Appendix D. Notes on Key Selection (Hinweise zur Schlüsselauswahl)

Es gibt mehrere Möglichkeiten, den zur Verifizierung eines JWS verwendeten Schlüssel zu identifizieren. Um maximale Interoperabilität zu gewährleisten, sollten (SHOULD) Anwendungen den "kid"-Header-Parameter (key ID, Schlüssel-ID) verwenden, um den zur Verifizierung des JWS verwendeten Schlüssel anzugeben. Alternativ können (MAY) Anwendungen andere Header-Parameter verwenden, wie "jku" (JWK Set URL) oder "x5c" (X.509 certificate chain, X.509-Zertifikatskette).

Strategien zur Schlüsselauswahl

Anwendungen können eine der folgenden Strategien verwenden, um den Verifizierungsschlüssel auszuwählen:

  1. Verwendung des "kid"-Parameters: Wenn der "kid"-Header-Parameter vorhanden ist, verwenden Sie seinen Wert, um den entsprechenden Schlüssel im verfügbaren Schlüsselsatz zu suchen.

  2. Verwendung des "jku"-Parameters: Wenn der "jku"-Header-Parameter vorhanden ist, rufen Sie das JWK Set von der angegebenen URL ab und verwenden Sie einen der darin enthaltenen Schlüssel zur Verifizierung.

  3. Verwendung des "jwk"-Parameters: Wenn der "jwk"-Header-Parameter vorhanden ist, verwenden Sie den eingebetteten JWK direkt zur Verifizierung.

  4. Verwendung von "x5u"- oder "x5c"-Parametern: Wenn X.509-bezogene Header-Parameter vorhanden sind, verwenden Sie den öffentlichen Schlüssel aus dem Zertifikat zur Verifizierung.

  5. Anwendungsspezifische Methoden: Anwendungen können (MAY) andere Methoden verwenden, um den Verifizierungsschlüssel zu bestimmen, beispielsweise basierend auf dem Aussteller, der Zielgruppe oder anderen Kontextinformationen.

Sicherheitsüberlegungen

Bei der Schlüsselauswahl sollten Anwendungen:

  • Die Herkunft und Authentizität des Schlüssels verifizieren
  • Sicherstellen, dass der Schlüssel mit dem erwarteten Algorithmus kompatibel ist
  • Die Gültigkeitsdauer und den Sperrstatus des Schlüssels überprüfen
  • Angemessene Schlüsselverwaltungsrichtlinien implementieren

Für weitere Informationen zur Schlüsselidentifikation siehe Abschnitt 6.