Beheben von JWT-Problemen (Teil 2)

Makronen sind leckerer als Kekse :)

In einem meiner früheren Beiträge zu Problemen mit JWT-Token habe ich über ein dringendes Problem gesprochen, das Sie hier finden können:

Geschichte eines unlösbaren Problems mit JWT! (Teil 2)

Das Problem nur der Kürze halber zusammenfassen: Die Befugnisse eines JWT-Tokens können nicht reduziert werden, wenn es mit anderen Diensten oder Entitäten geteilt wird. Angenommen, Sie möchten Google APIs verwenden und möchten nur, dass Ihre App-Skripte Ihre E-Mails lesen und einige Informationen daraus extrahieren, aber Sie möchten nicht, dass Ihre App-Skripte etwas anderes tun, wie E-Mails senden oder Ihre Dokumente lesen oder teilen mit anderen. Fair genug richtig! Aber wenn Sie daran denken, Ihr JWT-Token (oder das OAuth-Token) mit Ihren App-Skripts zu teilen, würden Sie ihnen am Ende alle Privilegien geben, die Sie haben! Und das wollen wir nicht richtig...

Die Frage lautet also: Wie können wir dieses Problem überhaupt vermeiden?

Wie delegieren wir die Berechtigungen mit einem Schema, bei dem es einen „Abschwächungseffekt“ gibt?

Denken Sie einen Moment nach ... Können Sie sich etwas einfallen lassen, das die JWT-Token repariert? Oder brauchen wir dafür ein anderes Konstrukt?

Sie brauchen Makronen!

Die Antwort lautet: NEIN, wir können JWTs für diese Aufgabe nicht so reparieren, wie es ist. JWT-Token behaupten die Autorisierung, aber wenn mehrere Parteien beteiligt sind, sind JWTs in diesen Fällen nicht gut geeignet, wie wir im obigen Beispiel gesehen haben!

Was machen wir dann?

MAKRONEN! Ja, kein Scherz, wir würden Makronen verwenden. Sie sind lecker und machen ihren Job…

Von Mockaroon auf Unsplash

Makronen sind die Konstrukte, die für Delegation und Dämpfung sorgen . Klingt zu schön um wahr zu sein? Es kommt noch besser: Mit Makronen können Sie auch „Drittanbieter“-Bedingungen ausdrücken!

Also, worum geht es bei all diesem leckeren Zeug und wie kann es meine Probleme lösen?

Makronen verwenden den HMAC des delegierten Tokens und verwenden Vorbehalte, die die Behauptung sind, die es macht (stellen Sie sich das wie JWT-Ansprüche vor).

Die Idee ist also:

Der Server sendet Ihnen eine Makrone, indem er sie mit einem Schlüssel signiert, den er besitzt. Der HMAC des Makronens (unter Verwendung des Signaturschlüssels) wird daran angehängt, um die Integrität zu erzwingen!

Nun, sage ich , die Privilegien zu meiner App Script delegieren möchten, was ich tun würde , ist, fügen Sie eine weitere Behauptung, das heißt, füge ich eine weitere Einschränkung auf die Makronen , dass ich habe , und es unterzeichnen den HMAC - Wert des bestehenden macaroon verwenden.

Auf diese Weise kann eine Vertrauenskette mit den Vorbehalten (die als Behauptungen fungieren) aufgebaut werden.

Wenn nun ein Server überprüft, ob die Operationen für einen bestimmten Benutzer zulässig sind, überprüft er die Makronen, überprüft ob alles korrekt ist, indem er die Makronen-Vorbehalte unterschreibt und die letzte Stufe erreicht. Und wenn alles in Ordnung ist, werden die für den Zugriff auf einen Dienst erforderlichen Berechtigungen mit allen Vorbehalten überprüft. Wenn alles gut geht, erhält der Benutzer oder die Entität den Zugriff, um die Aufgabe auszuführen!

Schön, nicht wahr :)

Fazit

Dieses Problem mit JWT kann überhaupt nicht behoben werden! Wir brauchen also ein anderes Konstrukt, um dies anzugehen, und wir haben gesehen, wie Makronen genau dieses Problem angehen!

Ich hoffe, dieser Beitrag hat Ihnen geholfen, etwas Interessantes zu lernen. Für mich war es eine Offenbarung zu wissen, dass es so etwas gibt! Mir persönlich hat es gefallen :)

Ich könnte einen zukünftigen Beitrag zu Makronen schreiben und ihn vielleicht genauer beschreiben und einige Beispiele mit Beispielcode zeigen. Hört sich interessant an? Lass es mich wissen, wenn du diesen Beitrag sehen möchtest :)

Hat Ihnen dieser Beitrag gefallen? Lass mich deine Meinung in den Kommentaren unten wissen :)

Übrigens, wenn dir meine Arbeit gefällt und du mich unterstützen möchtest, dann schau doch mal auf meiner Patreon-Seite vorbei:

Tschüss!
Bis zum nächsten Mal, lerne weiter und viel Spaß beim Hacken :)

Suggested posts

TryHackMe, eine Plattform, die in die Irre gegangen ist

TryHackMe, eine Plattform, die in die Irre gegangen ist

Eigentlich war ich von der TryHackMe-Plattform positiv überzeugt. Denn im Gegensatz zu CTFs sind die Inhalte dauerhaft verfügbar und das Preismodell absolut günstig.

So sichern Sie Spring Boot mit JWT-Authentifizierung und -Autorisierung

So sichern Sie Spring Boot mit JWT-Authentifizierung und -Autorisierung

Hallo Lernende, hier lernen wir etwas über die Implementierung von Spring Security mit Spring Boot 3.0 und JWT.

Related posts

Die Verfolgung von Christen: Das Hassverbrechen, über das wir nicht sprechen

Vergessen Sie Islamophobie: Christen (und Juden) sind die Hauptopfer religiöser Hassverbrechen.

Die Verfolgung von Christen: Das Hassverbrechen, über das wir nicht sprechen

Jeder rational denkende Mensch weiß, dass die politischen und medialen Kreise von der Linken dominiert werden, sogar von der extremen Linken, ein Zustand, der zu einem Ungleichgewicht im politischen Diskurs führt. Im Bereich der Religion ist dieses Ungleichgewicht deutlich sichtbar: Linke Zeitungen und Netzwerke beeilen sich nicht, den christlichen Glauben zu verteidigen.

Die Workplace-Revolution: Top-Experten diskutieren über Hybrid- und Remote-Arbeit

Die Workplace-Revolution: Top-Experten diskutieren über Hybrid- und Remote-Arbeit

In der sich schnell entwickelnden Geschäftslandschaft von heute hat das Konzept der Hybrid- und Remote-Arbeit eine beispiellose Dynamik erlangt. Während sich Unternehmen weiterhin an die sich verändernden Bedürfnisse und Erwartungen ihrer Mitarbeiter anpassen, sind Experten aus verschiedenen Bereichen zusammengekommen, um die Vorteile, Herausforderungen und die Zukunft dieser transformativen Arbeitsweise zu diskutieren.

Gefährliche Gespräche

Gefährliche Gespräche

Wenn wir auf diesem Planeten weiterhin erfolgreich sein wollen, müssen wir gefährliche Gespräche führen. Diejenigen, die das in Frage stellen, was wir getan haben, was wir tun und was wir derzeit weiterhin tun werden (oder planen).

Medien neu denken: McChesneys fünf Wahrheiten und die Zukunft der Kommunikation

In der heutigen hypervernetzten Welt spielen Mediensysteme eine entscheidende Rolle bei der Bildung der öffentlichen Meinung und damit bei der demokratischen Entscheidungsfindung. In seiner tiefgreifenden Analyse der politischen Ökonomie der Kommunikation stellt der Wissenschaftler Robert McChesney die herkömmliche Meinung in Frage und präsentiert die „fünf Wahrheiten“ über die Medien, wie er sie nennt.