JWT-Decoder
Dekodieren Sie ein JSON Web Token (JWT), um Header, Payload und Signatur anzuzeigen. Nützlich zum Debuggen und Untersuchen von JWT-Tokens, die für Authentifizierung und Autorisierung verwendet werden. Der Inhalt Ihres JWT wird nirgendwo gespeichert.
Payload (Claims):
Header (Signaturalgorithmus & Token-Typ):
Signatur:
Die Signatur wird als Base64URL-kodierte Daten angezeigt. Eine Signaturverifizierung wird von diesem Tool nicht durchgeführt.
Mehr über JSON Web Tokens
JWT-Format
Ein JSON Web Token (JWT) ist ein kompaktes, URL-sicheres Mittel zur Darstellung von Ansprüchen, die zwischen zwei Parteien übertragen werden. Es besteht aus drei Base64URL-kodierten Teilen, die durch Punkte getrennt sind: header.payload.signature. Der Header enthält typischerweise den Token-Typ (JWT) und den Signaturalgorithmus. Der Payload enthält die Claims—Aussagen über eine Entität (typischerweise den Benutzer) und zusätzliche Metadaten. Die Signatur wird verwendet, um zu überprüfen, dass die Nachricht unterwegs nicht verändert wurde.
JOSE (JSON Object Signing and Encryption)
JWT ist Teil des größeren JOSE-Frameworks (JSON Object Signing and Encryption), das eine standardisierte Methode zur Sicherung von JSON-basierten Daten bietet. JOSE umfasst mehrere verwandte Spezifikationen: JWS (JSON Web Signature) für signierte Tokens, JWE (JSON Web Encryption) für verschlüsselte Tokens, JWK (JSON Web Key) zur Darstellung kryptografischer Schlüssel und JWA (JSON Web Algorithms) zur Spezifikation kryptografischer Algorithmen.
JSON Web Signature (JWS)
Die meisten JWTs, denen Sie begegnen, sind JWS-Tokens—sie sind signiert, aber nicht verschlüsselt. Das bedeutet, dass jeder den Payload durch Base64URL-Dekodierung lesen kann, aber er kann ihn nicht ändern, ohne die Signatur ungültig zu machen. JWS bietet Integrität und Authentizität: Sie können überprüfen, dass das Token von einer vertrauenswürdigen Partei ausgestellt wurde und nicht manipuliert wurde.
Signaturalgorithmen
JWS unterstützt verschiedene kryptografische Algorithmen zum Signieren von Tokens. Diese fallen in zwei Kategorien: symmetrische Algorithmen (gleicher Schlüssel zum Signieren und Verifizieren) und asymmetrische Algorithmen (privater Schlüssel zum Signieren, öffentlicher Schlüssel zum Verifizieren).
HMAC-Algorithmen (Symmetrisch)
HS256, HS384 und HS512 verwenden HMAC (Hash-based Message Authentication Code) mit SHA-256, SHA-384 bzw. SHA-512. Dies sind symmetrische Algorithmen—der gleiche geheime Schlüssel wird sowohl zum Signieren als auch zum Verifizieren des Tokens verwendet. HMAC-Algorithmen sind schnell und einfach, erfordern aber eine sichere Schlüsselverteilung, da beide Parteien das gleiche Geheimnis benötigen.
RSA-Algorithmen (Asymmetrisch)
RS256, RS384 und RS512 verwenden RSASSA-PKCS1-v1_5 mit SHA-256, SHA-384 oder SHA-512. PS256, PS384 und PS512 verwenden RSASSA-PSS (probabilistisches Signaturschema). RSA-Algorithmen verwenden einen privaten Schlüssel zum Signieren und einen öffentlichen Schlüssel zum Verifizieren. Dies ermöglicht es, den Verifizierungsschlüssel öffentlich zu teilen, ohne die Sicherheit zu gefährden—ideal für verteilte Systeme, in denen mehrere Dienste Tokens verifizieren müssen.
Elliptische-Kurven-Algorithmen (Asymmetrisch)
ES256, ES384 und ES512 verwenden ECDSA (Elliptic Curve Digital Signature Algorithm) mit P-256-, P-384- bzw. P-521-Kurven. EC-Algorithmen bieten die gleiche Sicherheit wie RSA, aber mit kleineren Schlüsselgrößen, was zu kleineren Signaturen und schnelleren Operationen führt. ES256 wird aufgrund seiner Effizienz zunehmend für moderne Anwendungen bevorzugt.
JSON Web Encryption (JWE)
Während JWS signierte Tokens bietet, bietet JWE verschlüsselte Tokens, bei denen der Payload vertraulich ist. JWE-Tokens haben fünf Teile statt drei: Header, verschlüsselter Schlüssel, Initialisierungsvektor, Chiffretext und Authentifizierungs-Tag. JWE unterstützt verschiedene Verschlüsselungsalgorithmen einschließlich AES-GCM und AES-CBC mit HMAC. Beachten Sie, dass dieser Decoder nur JWS-Tokens verarbeitet; JWE-Tokens erfordern eine Entschlüsselung mit dem entsprechenden Schlüssel.
RFC-Spezifikationen
Die JWT- und JOSE-Standards sind in mehreren IETF-RFCs definiert: