Strumenti per sviluppatori · Decodificatore JWT
JWT I payload non sono crittografati: chiunque abbia il token può leggerli
· Perché è importante
jwt privacy sicurezza
Base64url sembra criptato ma è una codifica reversibile. Questo post mostra quanto sono leggibili le affermazioni di un token firmato, cosa appartiene ad esse e quando è invece necessario JWE.
Sembra crittografato: l'equivoco che inserisce i dati personali nei token
I segmenti lunghi base64url sembrano criptati, il che induce i team a trattarli come dati nascosti. L'effetto visivo è fuorviante. Chiunque sia in possesso di un JWT firmato può invertire la codifica pubblica e leggere un payload JSON senza possedere una chiave di firma o di verifica.
ToolAcre dimostra tale proprietà decodificando l'intestazione e il payload localmente. Non interrompe la crittografia perché i normali payload JWS non sono crittografati. La facilità di ispezione dovrebbe modellare la progettazione dei token: codificare solo le informazioni che ogni detentore legittimo e ogni destinatario accidentale potrebbe essere in grado di vedere.
Firmato, non sigillato: un JWS valido può proteggere l'integrità, non la riservatezza del carico utile
Una firma valida o MAC può consentire a un verificatore configurato correttamente di rilevare le modifiche e correlare il token al materiale della chiave attendibile. Questa è la prova dell’integrità e dell’origine nell’ambito della politica del verificatore. Non nasconde il contenuto protetto al client, a un proxy, a un logger o a chiunque altro ottenga la stringa compatta.
Il decodificatore non può stabilire nemmeno quell'integrità perché non la verifica mai. Mostra cosa dice il token su se stesso e segnala i byte della firma come non verificati. Questa distinzione evita due errori opposti: presupporre che leggibile significhi contraffatto e presupporre che firmato significhi confidenziale.
Ciò che mostra un decodificatore: ogni richiesta, in chiaro JSON, senza chiave richiesta
Per l'intestazione e il payload, ToolAcre traduce base64url, ripristina il riempimento, recupera i byte come UTF-8 e analizza gli oggetti JSON. Nessun segreto partecipa. La tabella delle attestazioni mostra quindi direttamente i valori stringa e i valori strutturati come testo JSON, con descrizioni per i nomi registrati come `sub`, `aud` e `exp`.
Questo risultato è un aiuto alla trasparenza, non un oracolo della verità. Un token fabbricato può mostrare lo stesso oggetto e lo stesso ruolo di uno legittimo. La lettura di un reclamo non richiede alcuna chiave; ritenendo che richieda una verifica riuscita oltre a controlli dell'emittente, del pubblico, del tempo e dell'applicazione nel servizio di consumo.
Dove perdono i token: log, URL, intestazioni dei referrer, cronologia del browser e script di terze parti
I token possono fuoriuscire attraverso i log dell'applicazione, i messaggi di supporto copiati, gli URL, la propagazione dei referrer, la cronologia del browser, gli screenshot e gli script che possono accedere al campo. I percorsi esatti dipendono dal sistema, ma la leggibilità del carico utile significa che un token scaduto o inutilizzabile potrebbe ancora rivelare informazioni personali o operative.
Mantieni le credenziali compatte fuori dalle stringhe di query URL e dai registri di routine. Redigerli prima di condividere la diagnostica. Una firma non disinfetta le attestazioni e la crittografia del trasporto protegge solo i dati durante il viaggio tra gli endpoint; gli endpoint autorizzati e l'archiviazione accidentale possono ancora vedere i caratteri token di testo normale.
Ciò che appartiene a un payload: identificatori e dati di autorizzazione, mai segreti o dati che il titolare non dovrebbe vedere
I payload in genere necessitano di identificatori e contesto di autorizzazione in modo che i destinatari possano prendere decisioni dopo la verifica. Non dovrebbero contenere password, chiavi private o informazioni che il titolare del token non deve poter leggere. Riduci al minimo i dati personali ed evita la comoda duplicazione dei campi del profilo di cui nessun servizio ha bisogno.
Ruoli e ambiti non sono segreti semplicemente perché sono codificati, ma non sono attendibili finché non vengono verificati. Progettare l'affermazione basata sulla minima divulgazione e sul minimo privilegio. Se un consumatore non ha bisogno di un campo per svolgere il proprio lavoro documentato, lasciare quel campo fuori riduce ogni conseguenza di perdita.
Esempio funzionante: decodificare un token di esempio ed elencare esattamente cosa imparerebbe uno spettatore
Decodifica un payload sintetico contenente `sub`, `email`, `tenant`, `roles`, `iat` e `exp`. Uno spettatore apprende l'identificatore dell'account denominato, l'indirizzo, il contesto dell'organizzazione, le autorizzazioni dichiarate e i tempi senza una chiave. Se tali affermazioni siano autentiche è una questione diversa; il loro testo è già divulgato.
Ripeti l'audit con ogni profilo di token prodotto dall'emittente, utilizzando solo materiale scaduto o di prova. Registra ogni campo e il suo consumatore. ToolAcre può aiutare a enumerare i contenuti visibili, ma non può decidere regole di trattamento, riservatezza o conservazione lecite per la tua organizzazione.
I token compatti crittografati sono composti da cinque parti, che questo decodificatore JWS identifica anziché decrittografare
Quando i crediti devono rimanere riservati nei confronti del titolare o degli intermediari, può essere richiesto un disegno crittografato. Compact JWE è composto da cinque parti e utilizza le chiavi di decrittografia del destinatario. ToolAcre identifica cinque segmenti come input crittografati e spiega che non può rivelarne il contenuto senza una chiave.
La crittografia introduce la distribuzione delle chiavi, la politica dell'algoritmo e le modalità di errore operativo oltre questo decodificatore. Inoltre, non elimina la necessità di controlli di integrità e autorizzazione. Sceglilo da un modello di minaccia piuttosto che come aggiornamento cosmetico a un carico utile che avrebbe dovuto contenere meno dati.
Conclusione: supponi che il payload sia pubblico: decodifica uno dei tuoi token nel decodificatore ToolAcre JWT e controlla ciò che espone
Supponiamo che un normale payload JWT sia leggibile ovunque viaggi il token. Utilizza la visualizzazione di sola decodifica di ToolAcre per verificare l'esposizione delle richieste, non per dimostrare chi ha emesso i valori. Rimuovi segreti e campi personali non necessari invece di fare affidamento su base64url per oscurarli.
Se la riservatezza è veramente necessaria, utilizzare un meccanismo le cui proprietà di sicurezza documentate la includano e gestire le chiavi di conseguenza. Che sia firmata o crittografata, la fiducia deriva comunque dalla convalida e dalla politica crittografica configurate, mai dal fatto che un decodificatore abbia visualizzato un output strutturato.