Entwicklertools · JWT Decoder
JWT Nutzlasten sind nicht verschlüsselt: Jeder mit dem Token kann sie lesen
· Warum es wichtig ist
jwt Datenschutz Sicherheit
Base64url sieht nach einer Verschlüsselung aus, ist aber eine umkehrbare Kodierung. Dieser Beitrag zeigt, wie lesbar die Ansprüche eines signierten Tokens sind, was dazu gehört und wann Sie stattdessen JWE benötigen.
Es sieht verschlüsselt aus – das Missverständnis, dass persönliche Daten in Tokens gespeichert werden
Lange base64url-Segmente sehen durcheinander aus, was Teams dazu verleitet, sie als verborgene Daten zu behandeln. Der visuelle Effekt ist irreführend. Jeder, der über eine signierte JWT verfügt, kann die öffentliche Codierung umkehren und eine JSON-Nutzlast lesen, ohne über einen Signatur- oder Verifizierungsschlüssel zu verfügen.
ToolAcre demonstriert diese Eigenschaft durch die lokale Dekodierung von Header und Payload. Die Verschlüsselung wird dadurch nicht unterbrochen, da normale JWS-Nutzlasten nicht verschlüsselt sind. Die einfache Überprüfung sollte das Token-Design prägen: Es werden nur Informationen kodiert, die jeder rechtmäßige Inhaber und jeder zufällige Empfänger sehen kann.
Signiert, nicht versiegelt: Ein gültiger JWS kann die Integrität schützen, nicht die Vertraulichkeit der Nutzdaten
Eine gültige Signatur oder MAC kann es einem ordnungsgemäß konfigurierten Verifizierer ermöglichen, Änderungen zu erkennen und das Token mit vertrauenswürdigem Schlüsselmaterial in Verbindung zu bringen. Dabei handelt es sich um Integritäts- und Herkunftsnachweise im Rahmen der Richtlinien des Prüfers. Der geschützte Inhalt wird nicht vor dem Client, einem Proxy, einem Logger oder anderen Personen verborgen, die die kompakte Zeichenfolge erhalten.
Der Decoder kann nicht einmal diese Integrität herstellen, da er nie überprüft. Es zeigt, was das Token über sich selbst aussagt und meldet Signaturbytes als nicht überprüft. Diese Unterscheidung vermeidet zwei gegensätzliche Fehler: Die Annahme, dass lesbar ist, bedeutet gefälscht, und die Annahme, dass signiert bedeutet, dass es vertraulich ist.
Was ein Decoder anzeigt – jeder Anspruch, im Klartext JSON, ohne dass ein Schlüssel erforderlich ist
Für Header und Nutzlast übersetzt ToolAcre die Base64-URL, stellt die Auffüllung wieder her, stellt Bytes als UTF-8 wieder her und analysiert JSON-Objekte. Kein Geheimnis beteiligt sich. In der Anspruchstabelle werden dann Zeichenfolgenwerte direkt und strukturierte Werte als JSON-Text angezeigt, mit Beschreibungen für registrierte Namen wie `sub`, `aud` und `exp`.
Diese Ausgabe ist eine Transparenzhilfe, kein Wahrheitsorakel. Ein gefälschter Token kann das gleiche Thema und die gleiche Rolle wie ein legitimer Token aufweisen. Für das Lesen eines Anspruchs ist kein Schlüssel erforderlich. in der Überzeugung, dass dafür eine erfolgreiche Verifizierung sowie Emittenten-, Zielgruppen-, Zeit- und Anwendungsprüfungen im verbrauchenden Dienst erforderlich sind.
Wo Token durchsickern – Protokolle, URLs, Referrer-Header, Browserverlauf und Skripte von Drittanbietern
Token können durch Anwendungsprotokolle, kopierte Support-Nachrichten, URLs, Referrer-Verbreitung, Browserverlauf, Screenshots und Skripte, die auf das Feld zugreifen können, durchsickern. Die genauen Pfade hängen vom System ab, aber die Lesbarkeit der Nutzlast bedeutet, dass ein abgelaufener oder unbrauchbarer Token möglicherweise immer noch persönliche oder betriebliche Informationen preisgibt.
Halten Sie kompakte Anmeldeinformationen aus URL-Abfragezeichenfolgen und Routineprotokollen fern. Schwärzen Sie sie, bevor Sie Diagnosen weitergeben. Eine Signatur bereinigt die Ansprüche nicht und die Transportverschlüsselung schützt die Daten nur während der Übertragung zwischen Endpunkten. Autorisierte Endpunkte und versehentliche Speicherung können weiterhin Klartext-Token-Zeichen sehen.
Was in eine Nutzlast gehört – Identifikatoren und Autorisierungsdaten, niemals Geheimnisse oder Daten, die der Inhaber nicht sehen sollte
Nutzlasten benötigen im Allgemeinen Identifikatoren und Autorisierungskontext, damit Empfänger nach der Überprüfung Entscheidungen treffen können. Sie sollten keine Passwörter, privaten Schlüssel oder Informationen enthalten, die der Token-Inhaber nicht lesen darf. Minimieren Sie persönliche Daten und vermeiden Sie die praktische Duplizierung von Profilfeldern, die kein aufwendiger Dienst benötigt.
Rollen und Bereiche sind nicht nur deshalb geheim, weil sie verschlüsselt sind, sondern sie sind bis zur Überprüfung weiterhin nicht vertrauenswürdig. Gestalten Sie den Anspruchssatz nach dem Prinzip „Least Disclosure“ und „Least Privilege“. Wenn ein Verbraucher ein Feld nicht benötigt, um seine dokumentierte Aufgabe auszuführen, verringert das Weglassen dieses Felds die Folgen von Leckagen.
Funktioniertes Beispiel – Dekodieren eines Beispiel-Tokens und genaues Auflisten, was ein Unbeteiligter lernen würde
Dekodieren Sie eine synthetische Nutzlast, die `sub`, `email`, `tenant`, `roles`, `iat` und `exp` enthält. Ein Unbeteiligter erfährt die benannte Kontokennung, die Adresse, den Organisationskontext, die geltend gemachten Berechtigungen und den Zeitpunkt ohne Schlüssel. Ob diese Behauptungen echt sind, ist eine andere Frage; Ihr Text ist bereits bekannt gegeben.
Wiederholen Sie die Prüfung mit jedem Token-Profil, das Ihr Aussteller erstellt, und verwenden Sie dabei nur abgelaufenes oder Testmaterial. Erfassen Sie jedes Feld und seinen Verbraucher. ToolAcre kann bei der Aufzählung sichtbarer Inhalte helfen, kann jedoch nicht über rechtmäßige Verarbeitungs-, Vertraulichkeits- oder Aufbewahrungsregeln für Ihr Unternehmen entscheiden.
Verschlüsselte kompakte Token bestehen aus fünf Teilen, die dieser JWS-Decoder identifiziert und nicht entschlüsselt
Wenn Ansprüche gegenüber dem Inhaber oder Vermittlern vertraulich bleiben müssen, kann ein verschlüsseltes Design erforderlich sein. Compact JWE besteht aus fünf Teilen und verwendet Empfänger-Entschlüsselungsschlüssel. ToolAcre identifiziert fünf Segmente als verschlüsselte Eingabe und erklärt, dass der Inhalt ohne Schlüssel nicht offengelegt werden kann.
Die Verschlüsselung führt über diesen Decoder hinaus Schlüsselverteilung, Algorithmusrichtlinien und Betriebsfehlermodi ein. Auch Integritäts- und Autorisierungsprüfungen entfallen dadurch nicht. Wählen Sie es aus einem Bedrohungsmodell und nicht als kosmetisches Upgrade einer Nutzlast, die weniger Daten hätte enthalten sollen.
Takeaway: Gehen Sie davon aus, dass die Nutzlast öffentlich ist – dekodieren Sie einen Ihrer eigenen Token im ToolAcre JWT-Decoder und prüfen Sie, was er offenlegt
Gehen Sie davon aus, dass eine gewöhnliche JWT-Nutzlast überall dort lesbar ist, wo sich das Token bewegt. Verwenden Sie die reine Dekodierungsansicht von ToolAcre, um die Offenlegung von Ansprüchen zu prüfen, nicht um nachzuweisen, wer die Werte ausgegeben hat. Entfernen Sie Geheimnisse und unnötige persönliche Felder, anstatt sich auf base64url zu verlassen, um sie zu verschleiern.
Wenn Vertraulichkeit wirklich erforderlich ist, verwenden Sie einen Mechanismus, dessen dokumentierte Sicherheitseigenschaften dies umfassen, und verwalten Sie die Schlüssel entsprechend. Ob signiert oder verschlüsselt, Vertrauen entsteht immer noch durch die konfigurierte kryptografische Validierung und Richtlinie, niemals durch die Tatsache, dass ein Decoder eine strukturierte Ausgabe angezeigt hat.