Il token Web JSON è ulteriormente protetto in OpenID e in che modo?

1

Ho letto i dettagli del token web JSON puro (JWT) e ho scoperto che è firmato (ad esempio da SHA256) ma non crittografato. Quindi, l'attacco può leggere le informazioni sensibili decodificando l'intestazione e il carico utile.

Non ho familiarità con i dettagli di OpenID, ma so che OpenID usa JWT come formato dati per passare il token.

La mia domanda è:

In OpenID (ad esempio OpenID 1.0, 2.0, OpenID connect), JWT è ulteriormente protetto applicando ulteriore crittografia o altro approccio, per evitare il furto di token o la perdita di informazioni (credo che la risposta dovrebbe essere sì)? E come?

    
posta Li Dong 22.02.2017 - 13:38
fonte

1 risposta

1

Le versioni precedenti di OpenID non usano JWT, quindi in una parola: no.

OpenID Connect non impone l'uso di token crittografati in quanto dà priorità all'adozione della sicurezza. Tuttavia, ti consente di crittografare facoltativamente il token come protezione supportata.

ID Tokens MUST be signed using JWS and optionally both signed and then encrypted using JWS and JWE respectively, thereby providing authentication, integrity, non-repudiation, and optionally, confidentiality, per Section 16.14. (Source)

Altrimenti, il modo migliore di pensarci è che il protocollo usa JWT per proteggere se stesso, non il contrario.

Detto questo, le specifiche del protocollo elencano un numero di considerazioni . Questi includono mitigazioni come

  • utilizzando HTTPS
  • la verifica del token è effettivamente firmata con il tasto giusto
  • firma dei token richieste
  • il token dovrebbe includere restrizioni sui token
  • Blocco dei reindirizzamenti aperti
  • utilizzando una cache per impedire il riutilizzo dei token

E così via. Molti di questi sono mitigazioni di buon senso che dovrebbero applicarsi a qualsiasi numero di protocolli basati su token.

    
risposta data 22.02.2017 - 15:35
fonte

Leggi altre domande sui tag