WISSENSARTIKEL / CYBERSICHERHEIT

JSON Web Token (JWT) – Sicherer und flexibler Authentifizierungsstandard

Ein offener Standard für sichere und kompakte Übertragung von Informationen

◎ KURZDEFINITION

Json Web Token Jwt JSON Web Token (JWT) ist ein kompakter, URL-sicherer Token, der Informationen in Form eines JSON-Objekts enthält und digital signiert ist, um Authentifizierung und Autorisierung zu ermöglichen.

Eigenständig verständliche Definition
✦

Das Wichtigste auf einen Blick

  • JWT ist ein offener Standard für sichere Informationsübertragung als JSON-Objekt.
  • Tokens bestehen aus Header, Payload und Signatur.
  • JWTs werden häufig für Authentifizierung und Autorisierung in Webanwendungen genutzt.
  • Digitale Signaturen gewährleisten die Integrität und Authentizität des Tokens.
  • JWTs sind kompakt und URL-sicher, daher gut für Web- und Mobilanwendungen geeignet.
  • Die Verwendung von JWT ermöglicht zustandslose Authentifizierung ohne Server-Sitzungsverwaltung.
01

Überblick: Json Web Token Jwt

JSON Web Token (JWT) ist ein offener Standard (RFC 7519), der es ermöglicht, Informationen sicher und kompakt zwischen Parteien auszutauschen. JWTs sind vor allem in der Webentwicklung und API-Sicherheit verbreitet, um Benutzer zu authentifizieren und Zugriffsrechte zu verwalten. Durch die digitale Signatur kann die Integrität und Authentizität der übertragenen Daten gewährleistet werden.

02

Was ist ein JSON Web Token (JWT)?

Ein JSON Web Token (JWT) ist ein kompakter, URL-sicherer Token, der Informationen in Form eines JSON-Objekts enthält. Er wird digital signiert, um die Authentizität und Integrität der Daten sicherzustellen. JWTs werden hauptsächlich zur Authentifizierung und Autorisierung in webbasierten Anwendungen verwendet.

03

Aufbau eines JWT

Ein JWT besteht aus drei Teilen, die jeweils Base64Url-kodiert sind und durch Punkte getrennt werden: Header, Payload und Signatur.

04

Bestandteile eines JWT

BestandteilBeschreibungBeispielinhalt
HeaderBeschreibt den Typ des Tokens und den verwendeten Signaturalgorithmus{"alg":"HS256","typ":"JWT"}
PayloadEnthält die Claims, also die zu übermittelnden Informationen{"sub":"1234567890","name":"Max Mustermann","iat":1516239022}
SignaturDigitale Signatur zur Sicherstellung der Integrität und AuthentizitätHMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)
05

Verwendung von JWT in der Praxis

JWTs werden häufig verwendet, um Benutzer nach der Anmeldung zu authentifizieren. Der Server erstellt einen Token, der im Client gespeichert wird (z.B. im Browser-LocalStorage) und bei nachfolgenden Anfragen zur Autorisierung mitgeschickt wird. Dadurch kann der Server zustandslos arbeiten, da keine Session-Daten gespeichert werden müssen.

06

Sicherheitsaspekte von JWT

Die Sicherheit eines JWT hängt von der Stärke des verwendeten Signaturalgorithmus und der Geheimhaltung des Schlüssels ab. Unsachgemäße Implementierung kann zu Sicherheitslücken führen, z.B. durch Verwendung schwacher Schlüssel oder fehlende Überprüfung der Signatur.

07

Vor- und Nachteile von JWT

VorteileNachteile
Kompaktes Format, gut für Web und MobilToken können bei Diebstahl missbraucht werden
Zustandslose Authentifizierung ohne Server-SessionsToken können nicht einfach invalidiert werden
Standardisiert und weit verbreitetPayload ist nicht verschlüsselt, nur signiert
08

Häufige Anwendungsfälle

JWTs werden eingesetzt für Single Sign-On (SSO), API-Authentifizierung, Informationsaustausch zwischen Diensten und als Ersatz für klassische Session-IDs in Webanwendungen.

09

Beispiel eines JWT

✦

Ein typisches JWT sieht folgendermaßen aus: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6Ik1heCBNdXN0ZXJtYW5uIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

10

Wichtig

✦

JWTs sind nicht verschlüsselt, sondern signiert. Sensible Daten sollten daher nicht unverschlüsselt im Payload gespeichert werden.

◇

Zusatzinformationen

◇

Begriff: JSON Web Token (JWT)

Standard: RFC 7519

Format: Base64Url-kodierte JSON-Objekte

Bestandteile: Header, Payload, Signatur

Verwendung: Authentifizierung, Autorisierung, Informationsaustausch

Signaturalgorithmen: HMAC SHA-256, RSA, ECDSA

Vorteile: Kompakt, sicher, zustandslos

Einsatzgebiete: Web-APIs, Single Sign-On (SSO), Mobile Apps

Aa

Synonyme und alternative Bezeichnungen

?

Häufige Fragen zu Json Web Token Jwt

Was ist der Unterschied zwischen JWT und Session-Cookies?

Session-Cookies speichern Sitzungsinformationen serverseitig, während JWTs zustandslos sind und alle nötigen Informationen im Token selbst enthalten. JWTs ermöglichen so skalierbare Anwendungen ohne zentrale Sessionverwaltung.

Wie wird ein JWT validiert?

Ein JWT wird validiert, indem die Signatur mit dem geheimen Schlüssel oder dem öffentlichen Schlüssel (bei asymmetrischer Verschlüsselung) überprüft wird und die enthaltenen Claims auf Gültigkeit geprüft werden.

Kann man JWTs verschlüsseln?

Standard-JWTs sind signiert, aber nicht verschlüsselt. Für verschlüsselte Tokens gibt es das verwandte Format JWE (JSON Web Encryption).

Wie lange ist ein JWT gültig?

Die Gültigkeitsdauer wird im Token selbst durch den Claim 'exp' (Expiration Time) definiert und sollte je nach Anwendung kurz gehalten werden, um Sicherheitsrisiken zu minimieren.

Welche Algorithmen werden für die Signatur verwendet?

Häufig genutzte Algorithmen sind HMAC mit SHA-256 (HS256), RSA (RS256) und ECDSA (ES256). Die Wahl hängt von Sicherheitsanforderungen und Infrastruktur ab.

Kann man JWTs widerrufen?

Da JWTs zustandslos sind, ist ein Widerruf schwierig. Man kann z.B. eine Blacklist auf dem Server pflegen oder die Lebensdauer der Tokens kurz halten.

Sind JWTs sicher für die Übertragung sensibler Daten?

JWTs sind signiert, aber nicht verschlüsselt. Sensible Daten sollten daher nicht im Payload gespeichert oder zusätzlich verschlüsselt werden.

▤

Quellen & weiterführende Informationen

Quellenvorschläge und Nachweise zum Artikel. Bitte externe Inhalte eigenständig prüfen.

3 Quellen
  1. 01
    RFC 7519 - JSON Web Token (JWT) ↗
    IETF· IETF JWT Working Group· StandarddokumentKI-Vorschlag · ungeprüft

    Offizieller Standard für JSON Web Tokens

    https://tools.ietf.org/html/rfc7519
  2. 02
    JWT.io - Introduction to JSON Web Tokens ↗
    Auth0· Auth0 Team· WebseiteKI-Vorschlag · ungeprüft

    Umfassende Einführung und Tools zu JWT

    https://jwt.io/introduction/
  3. 03
    OWASP JSON Web Token Cheat Sheet ↗
    OWASP· OWASP Community· SicherheitsleitfadenKI-Vorschlag · ungeprüft

    Best Practices und Sicherheitsaspekte bei JWT

    https://cheatsheetseries.owasp.org/cheatsheets/JSON_Web_Token_Cheat_Sheet.html
War dieser Artikel hilfreich?Dein Feedback hilft, die Wissensplattform zu verbessern.