Cyberpediadi Brain
ITDEENESFR

JSON Web Token (JWT)

Un JWT è il documento digitale che un'applicazione le consegna dopo l'accesso. Cosa verifica la firma, le insidie e i comportamenti da adottare.

In 30 secondi

Dove succede
Con la piattaforma di identità Microsoft, che autentica gli utenti e fornisce token di accesso, di aggiornamento e di identità1.
Cosa vuole l'attaccante
Rubare un token valido per agire con i diritti del suo titolare, senza conoscere la password2.
Il riflesso
Non inviare né pubblicare mai un token o un indirizzo che ne contenga uno, disconnettersi dopo l'uso e segnalare qualsiasi comportamento anomalo.
Se è già successo
Disconnettersi, poi avvisare il servizio informatico. OWASP ricorda che eliminare un cookie non basta: «deleting a cookie alone does not invalidate a stolen copy of the session ID», ed è necessaria l'invalidazione lato server6.

Di cosa si tratta

Dopo l'accesso a un'applicazione aziendale, questa Le consegna un documento digitale che il browser o l'applicazione presenta poi a ogni richiesta. In Microsoft questo documento ha la forma di un JSON Web Token, o JWT, che contiene dei «claim», cioè dichiarazioni sull'utente o sull'applicazione1.

Un JWT può essere decodificato, per esempio con il sito jwt.ms, e la sua firma serve a verificare l'autenticità del token3. Questa scheda presenta i comportamenti del dipendente e quelli del responsabile.

Domande dirette

Che cos'è un JWT?

Un JWT è composto da tre segmenti separati da un punto: l'intestazione, il corpo e la firma3. Il corpo contiene i claim. La firma serve a valutare l'autenticità del token3.

La firma impedisce di leggere il token?

La firma serve a verificare l'autenticità del token. Microsoft indica che gli sviluppatori possono decodificare un JWT con un sito come jwt.ms, a fini di convalida e di debug3. Il token è sensibile e presenta un rischio per la sicurezza se viene gestito male3.

Un token rubato permette davvero di agire al mio posto?

Sì. MITRE descrive avversari che usano token di accesso rubati per aggirare il normale processo di autenticazione e accedere ad account, informazioni o servizi. Questi token sono usati al posto delle credenziali di accesso2.

Un token rubato resta valido a lungo?

Dipende dalla sua durata. Per i token di accesso Microsoft, la durata predefinita è un valore casuale compreso tra 60 e 90 minuti, 75 minuti in media3. I tenant senza accesso condizionale hanno una durata predefinita di due ore per client come Microsoft Teams e Microsoft 3653. MITRE osserva però che l'avversario può talvolta rubare anche un token di aggiornamento, che gli consente di ottenere nuovi token di accesso senza coinvolgere l'utente4.

1Come funziona1 min

Il server di autorizzazione firma il token con una chiave privata e pubblica la chiave pubblica corrispondente. Per convalidare un token, l'applicazione verifica la firma con questa chiave pubblica1. L'intestazione del JWT indica l'algoritmo di firma (claim alg) e la chiave pubblica da usare (claim kid)3. Microsoft Entra ID emette token firmati con algoritmi asimmetrici standard, come RS2563.

Il token di accesso viene trasmesso a un'API come token «bearer» nell'intestazione Authorization1. Poiché i token hanno una validità limitata, il server fornisce spesso una coppia: un token di accesso e un token di aggiornamento, che serve a rinnovare il primo quando si avvicina alla scadenza1. Il token di aggiornamento fornisce un nuovo token di accesso solo se l'utente è ancora autorizzato1.

Nel caso di OpenID Connect, l'ID Token è un JWT firmato che permette a un'applicazione di verificare l'identità dell'utente5.

2Cosa fa Lei2 min

Come dipendente:

  • Non invii mai un token, né un indirizzo web che ne contenga uno, in un messaggio, in un ticket o in un forum. Gli identificatori di sessione inseriti in un indirizzo possono ritrovarsi nei link, nei registri, nella cronologia del browser, nei segnalibri, nell'intestazione Referer o nei motori di ricerca6.
  • Si disconnetta quando ha finito. Un'applicazione deve offrire un pulsante di disconnessione visibile e accessibile, in modo che l'utente possa chiudere la propria sessione in qualsiasi momento6.
  • Non faccia affidamento sulla chiusura del browser: non permette di imporre una disconnessione in modo affidabile, in particolare su dispositivi mobili6.
  • Segnali un comportamento anomalo (disconnessioni inattese, azioni che non ha compiuto, richiesta di autorizzare un'applicazione sconosciuta). MITRE descrive attaccanti che fanno concedere l'accesso a un'applicazione malevola inviando un link di phishing mirato4.

Come responsabile, da esigere dai team e dai fornitori:

  • La convalida della firma e dell'emittente da parte dell'applicazione che riceve il token, con i valori pubblicati nel documento di discovery OpenID3.
  • Il controllo dell'audience: un'API deve accettare solo i token il cui claim aud corrisponde a essa. Accettare un token destinato a un'altra risorsa è un esempio del problema del «confused deputy»3.
  • Librerie collaudate invece di codice interno. Microsoft raccomanda le proprie librerie MSAL, che gestiscono l'acquisizione, l'aggiornamento e la convalida dei token1.
  • Durate di sessione limitate. OWASP cita come intervalli comuni di timeout per inattività da 2 a 5 minuti per le applicazioni di alto valore e da 15 a 30 minuti per quelle a basso rischio, e chiede anche un timeout assoluto a prescindere dall'attività6.
  • Una conservazione prudente lato browser (vedere la sezione seguente).
3Le insidie2 min

MITRE indica che i token rubati sono «used in lieu of login credentials», cioè usati al posto delle credenziali di accesso2. MITRE osserva che i cookie di sessione possono aggirare alcuni protocolli di autenticazione a più fattori7.

Nelle fonti ricorrono diversi errori di implementazione.

  • La conservazione nel browser. OWASP sconsiglia di conservare token di autenticazione, identificatori di sessione, JWT o token di aggiornamento in localStorage o sessionStorage: questi spazi sono accessibili a qualsiasi JavaScript eseguito nell'origine, per cui una sola falla XSS rivela tutti i token6. OWASP preferisce i cookie HttpOnly, Secure e SameSite=Strict, oppure un modello di tipo Backend-for-Frontend6.
  • Il token nell'indirizzo. Un identificatore trasmesso nell'URL può trapelare e facilitare altri attacchi, come la fissazione di sessione6.
  • Una convalida fatta nel posto sbagliato. Secondo Microsoft, un client non deve cercare di convalidare un token di accesso: spetta all'API farlo, e il client lo tratta come una stringa opaca3.
  • La fiducia nel contenuto senza verificare la firma. Un'applicazione che deve convalidare un token comincia verificando la firma e l'emittente3.
  • Token sottratti nell'infrastruttura. In ambienti Kubernetes o nelle catene di integrazione e distribuzione continue, i token di API possono essere rubati se il container o la catena è compromesso4.
  • Il furto di sessione tramite uno script malevolo o un proxy di phishing. MITRE cita malware che prendono di mira i cookie del browser e strumenti liberi come Evilginx2 e Muraena che raccolgono cookie tramite un proxy malevolo7.

Le fonti citate qui non descrivono altri errori di progettazione citati di frequente, come l'algoritmo «none», la confusione tra chiavi o i segreti deboli. Questo punto va fatto verificare dai team di sviluppo con i propri riferimenti.

Scheda

Identificativo
CP-195
Ala
3. Protocolli e difesa
Competenza Brain
Controllare gli accessi (control_access)
Riflesso Brain
cr-027
Schema
G3 · Sezione anatomica
Lingue
de, en, es, fr, it
Fonti
7 fonti verificate il 3 novembre 2026
Fonti7 fonti
  1. Microsoft, «Tokens and claims overview - Microsoft identity platform», 21 marzo 2025. https://learn.microsoft.com/en-us/entra/identity-platform/security-tokens (consultato il 3 novembre 2026)
  2. MITRE ATT&CK, «Use Alternate Authentication Material: Application Access Token, Sub-technique T1550.001 - Enterprise | MITRE ATT&CK®». https://attack.mitre.org/techniques/T1550/001/ (consultato il 3 novembre 2026)
  3. Microsoft, «Access tokens in the Microsoft identity platform - Microsoft identity platform», 14 maggio 2025. https://learn.microsoft.com/en-us/entra/identity-platform/access-tokens (consultato il 3 novembre 2026)
  4. MITRE ATT&CK, «Steal Application Access Token, Technique T1528 - Enterprise | MITRE ATT&CK®». https://attack.mitre.org/techniques/T1528/ (consultato il 3 novembre 2026)
  5. OWASP, «Authentication - OWASP Cheat Sheet Series». https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html (consultato il 3 novembre 2026)
  6. OWASP, «Session Management - OWASP Cheat Sheet Series». https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html (consultato il 3 novembre 2026)
  7. MITRE ATT&CK, «Steal Web Session Cookie, Technique T1539 - Enterprise | MITRE ATT&CK®». https://attack.mitre.org/techniques/T1539/ (consultato il 3 novembre 2026)

Cita questo articolo

Brain, «JSON Web Token (JWT)», Cyberpedia, 2026. https://startbrain.io/cyberpedia/it/articles/jwt-json-web-token-firma-insidie/

BibTeX
@misc{brain_cp195_it_2026,
  author = {Brain},
  title = {JSON Web Token (JWT)},
  year = {2026},
  howpublished = {Cyberpedia},
  url = {https://startbrain.io/cyberpedia/it/articles/jwt-json-web-token-firma-insidie/},
  note = {CC BY 4.0}
}