Zum Inhalt springen
ecdsa.com

JWT (JSON Web Token)

Ein kompaktes, URL-sicheres Token (RFC 7519) mit einem JSON-Objekt aus Claims, signiert als JWS oder verschlüsselt als JWE, verwendet für ID-Tokens, Access Tokens und viele API-Sitzungen.
Auch geschrieben alsJSON Web TokenJWT tokenRFC 7519

Ein signiertes JWT hat die Form header.payload.signature, jeder Teil base64url ohne Padding: Der Header nennt Algorithmus (alg), Schlüssel (kid) und Typ (typ), und die Payload enthält Claims wie iss, sub, aud, exp, nbf, iat und jti (RFC 7519 §4.1) sowie anwendungsspezifische Claims. Verschlüsselte JWTs haben fünf Teile. Die Payload eines signierten JWT kann jeder lesen, der das Token hat: Das Signieren schützt die Integrität, nicht die Vertraulichkeit.

Die Prüfung hat zwei Hälften: zuerst die Signatur, mit einem Algorithmus und einem Schlüssel, die der Verifizierer vorab festgelegt hat, dann die Claims – Aussteller, Audience, Ablauf mit kleiner Toleranz für Uhrenabweichungen und der Token-Typ, damit kein ID-Token akzeptiert wird, wo ein Access Token erwartet wird. RFC 8725 (JWT Best Current Practices) führt diese Regeln auf; die meisten JWT-Schwachstellen entstehen, weil eine davon übersprungen wird.

Die Wahl des Algorithmus ist eine Abwägung, die ES256 vs. RS256 und HS256 vs. RS256 behandeln. Der JWT-Debugger dekodiert und prüft Tokens lokal.

Standards und Quellen

Alle Begriffe