¿El token web JSON está aún más protegido en OpenID, y cómo?

1

He leído los detalles del token web puro de JSON (JWT) y encontré que está firmado (por ejemplo, por SHA256) pero no encriptado. Por lo tanto, el ataque puede leer la información confidencial decodificando el encabezado y la carga útil.

No estoy muy familiarizado con los detalles de OpenID, pero sé que OpenID usa JWT como formato de datos para pasar el token.

Mi pregunta es:

En OpenID (por ejemplo, OpenID 1.0, 2.0, OpenID connect), ¿JWT está más protegido aplicando un cifrado adicional u otro método para evitar el robo de token o la fuga de información (creo que la respuesta debería ser sí)? Y como?

    
pregunta Li Dong 22.02.2017 - 13:38
fuente

1 respuesta

1

Las versiones anteriores de OpenID no utilizan JWT, por lo que en una palabra: no.

OpenID Connect no exige el uso de tokens cifrados, ya que prioriza la capacidad de adopción por encima de la seguridad. Sin embargo, le permite cifrar opcionalmente el token como una protección compatible.

  

Los Tokens de ID DEBEN firmarse con JWS y, opcionalmente, deben firmarse y luego cifrarse con JWS y JWE respectivamente, proporcionando así autenticación, integridad, no repudio y, opcionalmente, confidencialidad, según la Sección 16.14. ( Fuente )

De lo contrario, la mejor manera de pensarlo es que el protocolo utiliza JWT para protegerse a sí mismo, no al revés.

Dicho esto, la especificación del protocolo no muestra un número de consideraciones . Estos incluyen mitigaciones como

  • utilizando HTTPS
  • verificar que el token está firmado con la clave correcta
  • firmar token solicitudes
  • el token debe incluir restricciones de token
  • Bloqueo de redirecciones abiertas
  • usar un caché para evitar la reutilización del token

Y así sucesivamente. Muchos de estos son mitigaciones de sentido común que deberían aplicarse a cualquier número de protocolos basados en token.

    
respondido por el Steve 22.02.2017 - 15:35
fuente

Lea otras preguntas en las etiquetas