Secreto directo perfecto usando XOR

0

Comprendo que el secreto de Perfect Forward está destinado a evitar que los datos enviados entre el cliente y el servidor se descifren en caso de que la clave privada se filtre algún tiempo después del envío de los datos.

Pero, ¿por qué necesitamos algo complicado como el intercambio de claves Diffie-Hellman para hacer esto? No podríamos simplemente usar XOR en su lugar, como esto:

  1. El cliente genera una clave de cifrado aleatoria, K y un número aleatorio de la misma longitud, R1
  2. El cliente envía K xor R1 al servidor
  3. El servidor genera un número aleatorio R2
  4. El servidor envía K xor R1 xor R2 al cliente
  5. El cliente xors el mensaje con su número aleatorio, enviando K xor R2 al servidor
  6. El servidor también muestra el mensaje con su número aleatorio, lo que da como resultado la clave, K, que luego se usa para cifrar todas las comunicaciones

Si, por alguna razón, se necesita una clave que no sea generada solo por el cliente / servidor, el servidor puede repetir este proceso y luego se pueden seleccionar las dos claves para obtener la clave final.

A menos que se conozca la clave privada SSL cuando ocurra este intercambio, lo que permitiría a un intermediario modificar los mensajes enviados entre el cliente y el servidor, nadie podrá averiguar cuál es la clave.

Entiendo que XOR es vulnerable a los ataques de texto plano conocido, pero como los números aleatorios y la clave de cifrado se usan solo una vez, no veo por qué esto debería importar.

    
pregunta Runemoro 15.03.2017 - 15:23
fuente

2 respuestas

7

¡Cualquiera que observe el intercambio puede simplemente calcular de forma trivial K!

K = (K xor R1) xor (K xor R1 xor R2) xor (K xor R2)

Estos son exactamente los tres mensajes que se envían en su protocolo ...

    
respondido por el Josef 15.03.2017 - 15:33
fuente
1

El secreto hacia adelante perfecto no es posible utilizando solo primitivas criptográficas simétricas puras. Sin embargo, si relajamos las condiciones (como el compromiso del secreto a largo plazo de solo un principio, no ambos), entonces se puede lograr el PFS utilizando primitivas simétricas puras.     

respondido por el Azuru 09.10.2017 - 13:17
fuente

Lea otras preguntas en las etiquetas