Erhöhen Sie die Sicherheit Ihrer Webanwendung mit JSON-Web-Tokens: Erfahren Sie, wie sie funktionieren und warum Sie sie brauchen

Feb 20, 2023 0 Minuten lesen 1980
David Bonchuk Frontend dev
Erhöhen Sie die Sicherheit Ihrer Webanwendung mit JSON-Web-Tokens: Erfahren Sie, wie sie funktionieren und warum Sie sie brauchen

In diesem Artikel werden Sie den Begriff JWT, seine Rolle in der modernen Web-Entwicklung und die dahinter stehende Technologie verstehen. JSON Web Token (JWT) ist ein Satz verschlüsselter Daten, mit deren Hilfe es möglich ist, Informationen, die für die Identifizierung des Benutzers in den angeforderten Ressourcen (Server und Anwendungen) notwendig sind, sicher zu speichern und zu übermitteln, und als Ergebnis die Lieferung der notwendigen und gültigen Informationen als Antwort. Dieser Ansatz ist eine beliebte Authentifizierungsmethode und ein allgemein akzeptierter Standard für die Erstellung von Zugriffstoken auf der Grundlage von JSON (RFC 7519).

Prinzip der Leistung von JWT

Was also ist JWT, und wozu dient es? Hier sind einfache Erklärungen in Bildern.

Stellen Sie sich vor, Sie sollen sich in einer örtlichen Klinik einer medizinischen Untersuchung unterziehen, bevor Sie eine neue Stelle antreten. Dazu müssen Sie 3 Ärzte aus verschiedenen Abteilungen aufsuchen und die Ergebnisse der Untersuchung abholen. Als Erstes müssen Sie natürlich zum Anmeldeschalter gehen und sich ein Dokument ausstellen lassen, in dem steht, wer Sie sind, was genau untersucht werden soll und warum. 

(Siehe Abb.1)

Schließlich können Sie nicht einfach in die Praxis eines Chirurgen gehen und verlangen, dass Ihnen der Blinddarm entfernt wird, ohne dass ein entsprechendes Dokument vorliegt. Um solche unbefugten Anträge zu verhindern, gibt es die JWT-Technologie.

Principle of performance of JWT

Lassen Sie uns unsere Bilder entschlüsseln:  

  • Identifizierung ist ein Benutzerautorisierungsprozess; ;
  • Single Pass ist ein JWT-Token, den wir erhalten und mit dem wir die benötigten Informationen von den Servern anfordern können. 

Es ist auch zu erwähnen, dass die Rechte, die bestimmten Nutzern gewährt werden, bei Bedarf eingeschränkt werden können. Zum Beispiel, um neuen Benutzern keinen Zugang zu Funktionen zu geben, die sie noch nicht benötigen.

Principle of performance of JWT - 2

Mehr über die Struktur

In seiner kompakten Form besteht ein JWT aus drei Teilen:

  1. Kopfzeile. Er besteht normalerweise aus zwei Teilen: Art des Tokens (JWT) und verwendeter Signaturalgorithmus, z. B. HMAC SHA256 или RSA.
  2. Nutzlast. Es handelt sich um eine Nutzlast, die Anweisungen enthält. Anweisungen enthalten Informationen über ein Objekt (normalerweise über einen Benutzer) und zusätzliche Daten.
  3. Unterschrift. Die Signatur wird verwendet, um zu überprüfen, dass die Nachricht nicht verändert wurde, und im Falle von Token, die mit einem privaten Schlüssel signiert wurden, kann sie auch überprüfen, ob der Absender des JWT derjenige ist, der er vorgibt zu sein.

Die JWT-Struktur sieht normalerweise so aus: xxxxx.yyyyy.zzzzz
Boost Your Web App Security with JSON Web Tokens

Brauche ich es wirklich? Dieses Zeichen von dir

Woran erkennen Sie, dass Sie die JWT-Technologie in Ihrem Projekt implementieren sollten? Es gibt zwei Hauptkriterien, anhand derer Sie feststellen können, ob Ihre Webanwendung ein JSON Web Token benötigt:

Autorisierung: Dies ist das häufigste JWT-Nutzungsszenario. Sobald der Benutzer eingeloggt ist, enthält jede nachfolgende Anfrage das JWT und erlaubt dem Benutzer den Zugriff auf die Routen, Dienste und Ressourcen, die mit diesem Token autorisiert sind. Single Sign-On ist eine Funktion, die derzeit aufgrund des geringen Overheads und der einfachen Verwendung in verschiedenen Bereichen von JWT häufig genutzt wird. 

Informationsaustausch: JSON-Web-Tokens sind eine gute Möglichkeit zur sicheren Übertragung von Informationen zwischen Parteien. Da JWTs signiert werden können, z. B. mit öffentlichen und privaten Schlüsseln, können Sie sicher sein, dass die Absender die sind, für die sie sich ausgeben. Da die Signatur anhand des Headers und der Nutzdaten berechnet wird, können Sie außerdem sicherstellen, dass der Inhalt nicht verändert wurde.

Resource

Die oben genannten Szenarien sind unverzichtbare Funktionen, zum Beispiel für Webanwendungen wie:

  • CMS-Systeme
  • Online-Shops
  • Cloud-Dienste
  • Anwendungen mit mehrschichtiger Architektur 
  • Nachrichtenübermittler
  • Soziale Netze

Im Gegenteil, für die nachstehende Liste sind JWT überhaupt nicht erforderlich:

  • Statische Websites, die die API nicht nutzen 
  • Websites, auf denen keine Nutzerdaten gespeichert oder verwendet werden 
  • Websites ohne Authentifizierung 
  • Websites, für die keine ausgefeilte Sicherheit erforderlich ist. 

Сonclusions

Zusammenfassend lassen sich mehrere Schlussfolgerungen ziehen:

  1. JWT ermöglicht es, die vom Benutzer benötigten Informationen schnell und effizient an die Server zu übermitteln, was wiederum die Übermittlung der erforderlichen Informationsmenge an den Benutzer ermöglicht.
  2. JWT bietet einen Sicherheitsmechanismus, der vor Angriffen und Fälschungen schützen kann.
  3. Die JWT-Technologie wird in den meisten Webanwendungen verwendet, die eine Autorisierung erfordern, was Sie nicht gleichgültig lassen kann und sollte, um die Prinzipien ihrer Funktionsweise zu verstehen.

Unsere Fachleute sind immer bereit, Sie bei Fragen zu beraten, die Sie interessieren.

Software Development Hub bietet Dienstleistungen für die Entwicklung von mobilen Anwendungen, Web-Apps und Software für verschiedene Bereiche. Die kompetente Umsetzung der Kundenideen wird durch das Fachwissen der technischen Spezialisten ermöglicht, deren Arbeit durch einen erfahrenen Projektmanager koordiniert wird.

Categories

JSON JSON Tokens

Share

Benötigen Sie einen Projektkostenvoranschlag?

Schreiben Sie uns, und wir bieten Ihnen eine qualifizierte Beratung.

x