
JWT
Ein JWT ist ein kleines digitales Ausweisdokument, das ein Server ausstellt und mit einer Signatur gegen Fälschung schützt. Damit weist ein Programm bei jeder Anfrage nach, wer es ist, ohne dass der Server sich das merken muss.
Wenn du dich bei einer Webseite anmeldest, prüft der Server einmal dein Passwort. Danach möchte er nicht bei jedem Klick erneut fragen, wer du bist. Also stellt er dir eine Art Eintrittskarte aus: eine kleine Textdatei, die deinen Namen und ein Ablaufdatum enthält. Diese Karte trägt eine mathematische Prüfsumme, die nur der Server erzeugen kann. Ein JWT ist genau so eine Karte, gespeichert in einem einfachen, weltweit genormten Textformat. Dein Browser schickt sie bei jeder weiteren Anfrage automatisch mit.
Warum Server sich niemanden mehr merken wollen
Früher lief Anmeldung anders. Der Server legte für jeden angemeldeten Nutzer einen Eintrag in seinem Speicher an, eine sogenannte Session. Der Browser bekam nur eine Nummer, mit der der Server diesen Eintrag wiederfand. Das funktioniert gut, solange ein einziger Server alles bedient.
Große Dienste laufen aber auf hunderten Rechnern gleichzeitig. Deine nächste Anfrage landet vielleicht auf einem ganz anderen Server als die letzte. Der kennt deinen Speichereintrag nicht. Man müsste also alle Server ständig miteinander abgleichen, und das kostet Zeit und Technik.
Ein JWT löst das anders herum. Alle nötigen Informationen stehen im Token selbst. Jeder Server kann die Signatur prüfen und weiß sofort Bescheid, ohne irgendwo nachzuschlagen. Fachleute nennen das zustandslos. Genau deshalb ist das Verfahren bei modernen Apps und Cloud-Diensten zum Standard geworden.
Drei Teile, getrennt durch Punkte
Ein JWT sieht aus wie eine lange Zeichenkette mit zwei Punkten darin. Die drei Abschnitte heißen Header, Payload und Signatur. Der Header nennt das verwendete Signaturverfahren. Die Payload enthält die eigentlichen Angaben, etwa die Nutzer-ID, die Rolle und den Ablaufzeitpunkt.
Ein wichtiger Irrtum: Die ersten beiden Teile sind nicht verschlüsselt. Sie sind nur in ein platzsparendes Format umkodiert, das jeder mit einem Online-Werkzeug in Sekunden zurückverwandeln kann. Ein JWT ist also lesbar wie eine Postkarte. Passwörter oder Kontodaten haben darin nichts verloren.
Der Schutz liegt allein im dritten Teil. Der Server berechnet aus Header und Payload zusammen mit einem geheimen Schlüssel eine Prüfsumme. Ändert jemand auch nur ein Zeichen an der Payload, passt die Prüfsumme nicht mehr. Der Server erkennt die Fälschung und lehnt die Anfrage ab. Wer aus seiner Rolle heimlich „Administrator“ machen will, scheitert also an der Signatur.
Ein Nachteil bleibt: Ein einmal ausgestelltes Token gilt, bis es abläuft. Der Server kann es nicht einfach zurückrufen, weil er ja nichts speichert. Deshalb setzt man die Gültigkeit oft auf wenige Minuten und erneuert das Token im Hintergrund.
Wo JWTs im Alltag auftauchen
Fast jede Handy-App, die ein Login hat, arbeitet im Hintergrund mit solchen Tokens. Auch der Knopf „Mit Google anmelden“ liefert eines. Google bestätigt darin deine Identität, und die fremde Seite prüft die Signatur, ohne dein Passwort je zu sehen.
Für KI-Dienste sind JWTs besonders wichtig. Wer eine Schnittstelle zu einem Sprachmodell nutzt, schickt bei jeder Anfrage ein Token mit. Der Anbieter erkennt daran das Konto und rechnet die verbrauchten Rechenkosten ab. Bei Millionen Anfragen pro Minute wäre eine Nachfrage in einer zentralen Datenbank ein echtes Nadelöhr.
In Nachrichten über Sicherheitslücken tauchen JWTs regelmäßig auf. Meist geht es dabei nicht um geknackte Verschlüsselung, sondern um schlampige Umsetzung. Ein häufiger Fehler war, dass Server die Angabe im Header blind übernahmen und Tokens ganz ohne Signatur akzeptierten. Solche Lücken zeigen: Das Verfahren selbst ist solide, entscheidend ist die sorgfältige Programmierung.