Fuerza bruta HMAC SHA256 (HS256) es igual a romper la firma del token web JSON?

1

El formato del token web de JSON es:

codificado (encabezado). codificado (carga útil). firma con un secreto (por ejemplo, use sha256 para firmar).

En el caso de JWT seleccionado por hmac sha256 (HS256), si el secreto no es lo suficientemente largo y complejo (por ejemplo, "abc123"):

  1. ¿Es posible la fuerza bruta de esta firma de token? (no considere el límite superior de la firma incorrecta)

  2. ¿Cuál es la dificultad de la fuerza bruta sh256?

  3. En JWT, rompa SH256 secret = ¿replicar con éxito la firma? (no considere el cifrado adicional)

pregunta Li Dong 23.02.2017 - 09:43
fuente

2 respuestas

2

Sí. Si descifra la clave secreta utilizada en la firma SHA256 Usted puede crear JWT arbitrario usted mismo. La firma es un SHA256 HMAC, que realiza tres dos operaciones SHA256, por lo que sería un poco más del doble de lento que grietas SHA256 liso . En el hardware básico, puede hacer en el orden de 10⁹ intentos por segundo.

    
respondido por el Sjoerd 23.02.2017 - 09:49
fuente
0

Pregunta 1: ¿Es posible la fuerza bruta de esta firma de token?

Teóricamente, sí. PERO Dos cosas que debe considerar antes de intentar la fuerza bruta:

Primero: ¿Cambia el secreto de cada token web? Si es así, sus esfuerzos de craqueo solo son buenos para ese token. ¿El token contiene información tan valiosa que está dispuesto a gastar días o años de poder computacional para descifrarlo? Pregúntate esto a ti mismo.

Segundo: ¿Cuál es la longitud de su "codificado (encabezado). codificado (carga útil) .signatura con un secreto" ? Si tiene acceso a una capacidad de procesamiento ilimitada o una cantidad de dinero ilimitada, le sugiero que lea esto post para comprender lo costoso que será descifrar su hash.

Pregunta 2: ¿Cuál es la dificultad de la fuerza bruta sha256?

Consulte la segunda consideración de la respuesta a la pregunta 1.

Pregunta 3: En JWT, ¿debes romper sha256 secret = replicar con éxito la firma?

No soy un experto en JWT. Sin embargo, si cree que las respuestas a las preguntas anteriores son aceptables, eso significa que entiendo el concepto. Entonces, para responder a su pregunta: refiérase a la primera consideración de la respuesta a la pregunta 1. Si su secreto cambia para cada token web, no puede replicar la firma para reproducir una transacción. A menos que, si el cambio secreto es trivial para predecir, como una secuencia numerada. Si el secreto permanece constante, entonces sí, puedes replicar la firma.

    
respondido por el Amey 23.02.2017 - 11:26
fuente

Lea otras preguntas en las etiquetas