Estaba leyendo el Aquí viene el El documento ⊕ Ninjas sobre el ataque BEAST descubierto por Thai Duong & Juliano Rizzo. Hay dos puntos que no puedo entender.
En la sección 5 - Aplicación: descifrado de solicitudes HTTPS , explican paso a paso para hacer posible este ataque.
Me centraré en el Paso 3 y en el Paso 4:
(Se reproduce como texto simple aquí. Una mejor La representación de LaTeX se encuentra en la página 7 del documento. )
Paso 3
Sea IV el último bloque de texto cifrado que Mallory captura, por ejemplo, IV es Cn después del paso 2. Mallory calcula Pi = IV XOR C2 XOR Pguess, donde Pguess = P / 1.1 \ r \ nW [i]. Mallory agrega Pi a la solicitud existente, por ejemplo, Pi se adjunta al cuerpo de la solicitud (este es el último supuesto). El navegador de Alice calcularía Ci Ek (IV XOR Pi) y enviaría Ci al servidor.
Paso 4
Mallory captura Ci. Si Ci = C3, sabe que X es igual a W [i]. De lo contrario, aumenta i y vuelve al paso 3.
¿Lo que significa que Mallory captura C1
y compara el bloque cifrado C1
= C3
? Debido a que IV se usa para ser XOR con P1
, ¿por qué hablan de Ci
como puede ser C1
, C2
, C3
.. Cn
cuando solo puede ser C1
?
De hecho, esta reflexión viene de esto:
Pi
se adjunta al cuerpo de la solicitud - > ¿El cuerpo de la solicitud de una solicitud HTTP? No tiene sentido poner esto en el cuerpo de solicitud! El significado IV solo se usa con el bloque P1
.
Entonces, ¿qué sentido tiene poner Pi
en el cuerpo de la solicitud?