JWKS (JSON Web Key Set)
Ein JWKS (JSON Web Key Set) ist eine Liste öffentlicher Schlüssel im JSON-Format nach RFC 7517, mit der Prüfstellen Signaturen eines Ausstellers prüfen.
Jeder Schlüssel im Set ist ein JSON Web Key mit Schlüsseltyp, Parametern wie Kurve und Koordinaten, einer Schlüssel-ID (kid) und meist Algorithmus und Verwendungszweck. Aussteller veröffentlichen ihr JWKS unter einer festen HTTPS-Adresse; signierte Token nennen im Header die kid, damit die Prüfstelle den passenden Schlüssel findet. Ein JWKS enthält nie private Schlüssel.
Über das JWKS lassen sich Schlüssel wechseln, ohne Prüfstellen neu einzurichten: Neue Schlüssel kommen hinzu, alte bleiben, bis die damit signierten Nachweise abgelaufen sind.
Beispiel
Ein Mandatsdienst veröffentlicht sein JWKS mit zwei Schlüsseln: einem aktuellen für neue Mandate und einem älteren, der noch für laufende Mandate gilt. Eine Bank lädt das JWKS einmal und hinterlegt es; jedes Mandat nennt in der kid, mit welchem Schlüssel es signiert ist.
Abgrenzung
Ein JWKS ist eine Liste öffentlicher Schlüssel ohne Aussage darüber, wem man vertrauen soll. Ein Vertrauensanker ist die Entscheidung der Prüfstelle, einem Schlüssel oder Zertifikat zu vertrauen. Ein X.509-Zertifikat verbindet einen Schlüssel zusätzlich mit einer geprüften Identität.
In der Praxis
- Veröffentlichen Sie Ihr JWKS unter einer festen HTTPS-Adresse und nennen Sie sie in Ihrer Dokumentation.
- Setzen Sie in jedem Nachweis die kid, damit Prüfstellen den richtigen Schlüssel finden.
- Prüfen Sie vor jeder Veröffentlichung, dass kein privater Anteil im JWKS steht.
Bezug zu KYA
KYA nimmt Schlüssel der Prüfstelle als JWK oder JWKS entgegen. Erst ein so hinterlegter Schlüssel macht den Aussteller zur belegten Tatsache; ein nur eingebetteter Schlüssel gilt als selbst behauptet.
Zugehöriger Prüfschritt: Aussteller (issuer_resolution). Ist der Schlüssel an den Aussteller gebunden – über eine DID oder weil die prüfende Stelle ihm vertraut?
Häufige Fragen
Was ist ein JWKS?
Eine Liste öffentlicher Schlüssel im JSON-Format nach RFC 7517. Prüfstellen nutzen sie, um Signaturen eines Ausstellers zu prüfen.
Wozu dient die kid?
Die Schlüssel-ID verbindet einen signierten Token mit dem passenden Schlüssel im JWKS, auch wenn das Set mehrere Schlüssel enthält.
Wo wird ein JWKS veröffentlicht?
Unter einer festen HTTPS-Adresse des Ausstellers, häufig unter /.well-known/. Die genaue Adresse legt der Aussteller fest und dokumentiert sie.
Darf ein JWKS private Schlüssel enthalten?
Nein. Ein JWKS enthält nur öffentliche Schlüssel. Ein privater Anteil, etwa das Feld d, darf dort nie stehen.
Lädt KYA das JWKS selbst?
Nein. Die Prüfstelle lädt das JWKS aus einer vertrauenswürdigen Quelle und hinterlegt es. So bleibt die Prüfung reproduzierbar und unabhängig vom Netz.