Perfetta segretezza d'inoltro usando XOR

0

Comprendo che la segretezza Perfect Forward ha lo scopo di impedire la decrittografia dei dati inviati tra il client e il server nel caso in cui la chiave privata sia trapelata qualche tempo dopo l'invio dei dati.

Ma perché abbiamo bisogno di qualcosa di complicato come lo scambio di chiavi Diffie-Hellman per fare questo? Non potremmo semplicemente usare XOR, in questo modo:

  1. Il client genera una chiave di crittografia casuale, K e un numero casuale della stessa lunghezza, R1
  2. Il client invia K xor R1 al server
  3. Il server genera un numero casuale R2
  4. Il server invia K xor R1 xor R2 al client
  5. Il client visualizza il messaggio con il suo numero casuale, inviando K xor R2 al server
  6. Il server aggiorna anche il messaggio con il suo numero casuale, il che risulta nella chiave, K, che viene quindi utilizzata per crittografare tutte le comunicazioni

Se una chiave che non è generata solo dal client / server è necessaria per qualche motivo, allora questo processo può essere ripetuto di nuovo dal server e quindi le due chiavi possono essere sottoposte a xored per ottenere la chiave finale.

A meno che la chiave privata SSL non sia nota quando si verifica questo scambio, che consentirebbe a un man-in-the-middle di modificare i messaggi inviati tra il client e il server, nessuno sarà in grado di capire quale sia la chiave.

Comprendo che XOR è vulnerabile agli attacchi di testo normale, ma poiché i numeri casuali e la chiave di crittografia vengono utilizzati solo una volta, non vedo perché questo dovrebbe avere importanza.

    
posta Runemoro 15.03.2017 - 15:23
fonte

2 risposte

7

Chiunque osservi lo scambio può semplicemente calcolare K!

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

Questi sono esattamente i tre messaggi che vengono inviati nel tuo protocollo ...

    
risposta data 15.03.2017 - 15:33
fonte
1

Perfect Forward Secrecy non è possibile usando solo primitive crittografiche simmetriche pure. Tuttavia, se rilassiamo le condizioni (come il compromesso del segreto a lungo termine di un solo principio, non entrambi), la PFS può essere raggiunta usando puri primitivi simmetrici.

    
risposta data 09.10.2017 - 13:17
fonte

Leggi altre domande sui tag