Was sind JSON Web Tokens? JWT Einführung in 12 Minuten

preview_player
Показать описание
Was sind JSON Web Tokens? Wie sehen #JWT aus? Wozu braucht man sie?

JSON Web Tokens sind der De-Facto-Standard, wenn es um Sicherheitsmechanismen im Internetzeitalter mit REST-APIs geht. Es vergeht kein Tag, an dem kein #Token in meinem Namen im Internet unterwegs ist: Sei es bei Microsoft, Google oder Amazon.

Häufig werden JWTs als Magie gesehen, da sie für Menschen schwierig lesbar sind (eyJhbGciOiJIU...). Aber das muss so nicht sein, denn im Grunde ist der Inhalt, wie im Video erklärt, meistens sehr einfach. Für die Sicherheit essentiell ist, ein Verständnis dafür zu haben, was mit JWTs gemacht werden kann oder wie sie - gegebenenfalls - auch mißbraucht werden können.

00:00 Einleitung
00:26 Tokens
01:56 JSON Web Tokens
07:42 Claims sub, iat und die Header alg, typ
11:29 Fazit

Wir folgen der RFC 7519 und unterscheiden die JWTs strukturell in JWS (JSON Web Signature, also signierte Tokens; kommt meistens zum Einsatz) und JWE (JSON Web Encryption, also verschlüsselte Tokens). In der JWS-Struktur betrachten wir Header, Payload und Signature. Die ersten beiden sind base64url-kodierte JSON-Objekte. base64url ist dabei eine Abart von base64, bei der + durch - sowie / und _ ersetzt und = weggelassen werden. Damit werden JWTs URL- sowie HTTP-freundlich und lassen sich leicht einbetten.

Als Beispiel nutzen wir den 'einfachsten' symmetrischen Signaturalgorithmus HS256. Das Token setzen wir initial zur Autorisierung ('wird der Zugriff genehmigt?') am API ein, später im Video dann nur noch zur Authentifizierung ('in wessen Namen wird zugegriffen?').

Im gezeichneten Beispiel greift hat mein Handy ein JWT von mir (Tobias) und greift auf eine Schnittstelle (API) des Customer-Relationship-Management-System (CRM) zu, um eine Kundenliste abzurufen.

Wir gehen auf die Header "alg" und "typ" ein, sowie auf die Claims "sub" und "iat". Funktional erklärt, aber nicht explizit beschrieben werden "exp" ("bis wann ist das Token gültig?") und "nbf" ("ab wann ist das Token gültig?").

Schulungen Online, in Bonn oder als Firmenseminar:

#API REST Sicherheit

Mich, Tobias Polley, findet ihr auf:

Twitter: @rrayst
Рекомендации по теме
Комментарии
Автор

Danke für das Video. Sehr gut erklärt.

Was mich bei 11:10 etwas irritiert. Es wird angegeben, dass der User Admin ist. Wenn ein Mitarbeiter, welcher einen normalen Token (bsp, Admin false oder Groups = "Mitarbeiter") hat, könnte den Eintrag von false auf true setzen oder als Gruppe Admin hinzufügen. Den manipulierten Token könnte man dann in die Session schreiben und dieser würde dann bei der nächsten Anfrage mitgegeben. Dies wäre dan ein ziemliches Sicherheitsrisiko.

PsytekkLala
Автор

Ihr solltet Vorlesungen für IT-Studenten halten. So wichtiges Zeugs wird meist nicht vermittelt.

FilmfanOliver
visit shbcf.ru