¿Por qué debo confiar en un token web JSON (JWT)?

5

En los modelos de autenticación SAML y Kerberos, existe una comprensión explícita de qué autoridad ha autenticado al usuario y ha emitido la credencial para que los sistemas posteriores confíen en ella. A los fines de la propagación de identidad, los derechos del sistema posterior para hacerse pasar por el usuario pueden controlarse estrechamente dentro de la arquitectura de la solución y los dominios de identidad asociados.

Por lo que puedo decir, la integridad de los modelos SAML y Kerberos no es parte del enfoque de JWT. JWT parece ser un mecanismo que proporciona una funcionalidad bastante similar a Kerberos, pero sin la funcionalidad de soporte de un KDE definido.

¿Me estoy perdiendo algo? ¿Se basa JWT en una "red de confianza" o cada implementación de JWT es responsable de definir su propio mecanismo de autenticación confiable, etc.?

    
pregunta JaimeCastells 12.10.2015 - 17:33
fuente

1 respuesta

4

Entonces, un JWT es solo un token. No es un protocolo. Como tal, realmente no se puede comparar el protocolo SAML con un JWT, ya que sería como comparar manzanas con patos.

Un JWT es solo un montón de información de identificación firmada por una clave criptográfica. Lo que realmente pones en él depende del protocolo. Hay algunos requisitos formales que distinguen un JWT de un objeto JWS como el emisor y la información de audiencia, pero esa información todavía es arbitraria. Comparativamente, los tokens de SAML y los tickets de Kerberos tienen un poco más de estructura, pero eso no significa que no pueda agregar la misma información a un JWT.

Por otro lado, los protocolos son un poco más difíciles de comparar.

Los dos protocolos en los que las personas generalmente piensan son OAuth2 y OpenID Connect. Ambos pueden y usan JWT como su token. OAuth2 a menudo usa JWT como un mecanismo de autorización: la presencia de JWT y las reclamaciones en JWT determinan qué tipo de permisos tiene el llamante contra un recurso protegido. No tiene nada que ver con la identificación del usuario. A la inversa, un protocolo como WS-Federation utiliza tokens SAML de forma predeterminada para proporcionar información de identificación sobre el usuario, pero puede usar JWT como reemplazo de los reemplazos (siempre que todas las partes entiendan el formato) porque puede poner el La misma información en el cuerpo de JWT.

    
respondido por el Steve 12.10.2015 - 20:23
fuente

Lea otras preguntas en las etiquetas