11. Security Considerations (Sicherheitsüberlegungen)
Alle Sicherheitsüberlegungen aus den JWS [JWS]- und JWE [JWE]-Spezifikationen gelten für diese Spezifikation. Daher sollten Implementierer die Abschnitte zu Sicherheitsüberlegungen dieser Spezifikationen sorgfältig lesen.
11.1. Trust Decisions (Vertrauensentscheidungen)
Die Fähigkeit, JWT-Inhalte für Vertrauensentscheidungen zu verwenden, hängt von der Authentizität und Integrität dieser Inhalte ab. Bei Verwendung von digitalen Signaturen oder MACs zum Schutz von JWTs können die Authentizität und Integrität der JWT-Inhalte überprüft werden.
Das Signieren oder MAC-Schützen eines JWT bietet jedoch keine Garantie über die Herkunft der JWT-Inhalte. Die Signatur oder der MAC kann nur überprüfen, dass die Inhalte seit der Erstellung der Signatur oder des MAC nicht verändert wurden. Die Überprüfung einer Signatur oder eines MAC bestimmt nicht, wer die Signatur oder den MAC erstellt hat -- nur, dass der Inhaber des für die Signatur oder den MAC verwendeten Schlüssels diese Operation durchgeführt hat.
Daher müssen Implementierungen eine Vertrauensbeziehung zwischen den JWT-Inhalten und der Partei herstellen, die die Signierungs- oder MAC-Operation durchgeführt hat (MUST). Für JWTs, die Public-Key-Kryptographie verwenden, könnte dies beispielsweise die Überprüfung der Zertifikatskette des für die Signierung verwendeten öffentlichen Schlüssels umfassen, um die Identität des Unterzeichners zu bestimmen.
11.2. Signing and Encryption Order (Signierungs- und Verschlüsselungsreihenfolge)
Wenn sowohl Signierung als auch Verschlüsselung auf ein JWT angewendet werden, sollte das JWT im Allgemeinen zuerst signiert und dann das signierte JWT verschlüsselt werden. Dies verhindert, dass ein Angreifer die Signatur entfernt und durch seine eigene Signatur ersetzt.
Wenn ein JWT möglicherweise mehreren Zielgruppen ausgesetzt ist, ist es besonders wichtig, den "aud" (audience) Anspruch zu verwenden, um die beabsichtigten Empfänger des JWT einzuschränken.