Perché dovrei fidarmi di un JSON Web Token (JWT)?

5

Nei modelli di autenticazione SAML e Kerberos, esiste una comprensione esplicita dell'autorità che ha autenticato l'utente e ha rilasciato le credenziali per essere considerate affidabili dai sistemi a valle. Ai fini della propagazione dell'identità, i diritti del sistema a valle di impersonare l'utente possono essere strettamente controllati all'interno dell'architettura della soluzione e dei domini di identità associati.

Per quanto posso dire, la completezza dei modelli SAML e Kerberos non fa parte dell'approccio JWT. JWT sembra essere un meccanismo che fornisce funzionalità abbastanza simili a Kerberos, ma senza la funzionalità di supporto di un KDE definito.

Mi manca qualcosa? JWT è basato su una "rete di fiducia" o ogni implementazione di JWT è responsabile della definizione del proprio meccanismo di autenticazione affidabile e così via?

    
posta JaimeCastells 12.10.2015 - 17:33
fonte

1 risposta

4

Quindi, una JWT è solo un token. Non è un protocollo. Come tale, non si può davvero confrontare il protocollo SAML con un JWT in quanto sarebbe come paragonare le mele alle anatre.

Un JWT è solo un mucchio di informazioni identificative firmate da una chiave crittografica. Ciò che effettivamente mettete in esso dipende dal protocollo. Esistono alcuni requisiti formali che distinguono un JWT da un oggetto JWS come l'emittente e le informazioni sul pubblico, ma tali informazioni sono ancora arbitrarie. I token SAML e i ticket Kerberos comparativamente hanno un po 'più di struttura per loro, ma questo non vuol dire che non puoi aggiungere le stesse informazioni a un JWT.

I protocolli d'altra parte sono un po 'più complicati da confrontare.

I due protocolli a cui le persone pensano generalmente sono OAuth2 e OpenID Connect. Entrambi possono e usano le JWT come loro token. OAuth2 utilizza spesso JWT come meccanismo di autorizzazione: la presenza di JWT e le attestazioni nel JWT determinano il tipo di autorizzazioni che il chiamante ha nei confronti di una risorsa protetta. Non ha nulla a che fare con l'identificazione dell'utente. Per contro, un protocollo come WS-Federation utilizza i token SAML per impostazione predefinita per fornire informazioni identificative sull'utente, ma può utilizzare i JWT come drop in replacements (a condizione che tutte le parti capiscano il formato) perché è possibile inserire stesse informazioni nel corpo del JWT.

    
risposta data 12.10.2015 - 20:23
fonte

Leggi altre domande sui tag