In che modo viene inviata la messaggistica OTR con il Socialist Millionaire Protocol (SMP) protetto da Man In The Middle?

7

Quindi immagina la prossima situazione:

Alice vuole avviare OTR sessione di messaggistica istantanea con Bob ma Joe è Man In The Middle.

Alice negozia un segreto condiviso 'X' con Joe (pensando che sia Bob) usando Diffie-Hellman.

Joe negozia un altro segreto condiviso 'Y' con Bob (che pensa che Joe sia Alice) usando Diffie-Hellman.

Ora Alice e Bob sanno entrambi che hanno stabilito la cosiddetta "sessione OTR non verificata", il che significa che sono crittografati ma nessuno di loro ha verificato la propria identità (nessuno di loro conosce l'esistenza di Joe).

Quindi, da quanto ho capito, il Socialism Millionaire Protocol dovrebbe essere la soluzione a questo problema. Alice deve abbinare il suo segreto condiviso "X" con Bob "Y" e se non corrispondono - sapranno che hanno qualcuno (Joe) nel mezzo, non è vero?

Ad ogni modo ... Ovviamente X! = Y perché Joe è nel mezzo.

Ora, penso di capire i passi del Socialion Millionaire Protocol, ma ancora ... Non riesco a capire cosa stia impedendo a Joe di fingere di fronte ad Alice che è davvero Bob e usa SMP per abbinare a lei il loro segreto condiviso " X '(che entrambi conoscono)?

Mi manca qualcosa? Qual è la cosa che rende OTR con SMP protetto da MitM?

    
posta Marin 20.08.2013 - 15:30
fonte

2 risposte

1

Il problema, come esposto nel documento collegato di George P, è che "vanilla" Diffie-Hellmann non fornisce l'autenticazione come generalmente definiamo il termine (la capacità di ciascuna parte di dimostrare di essere la persona reale o un'altra entità che dire che lo sono, e per l'altra parte per verificare quella prova). D-H al suo interno fornisce semplicemente un mezzo sicuro per la negoziazione delle chiavi su una rete insicura; un osservatore (qualcuno che tocca la linea e annusa i pacchetti di sola lettura) non può decifrare la chiave derivata. Tuttavia, qualcuno che controlla un nodo tra le due parti, un vero uomo nel mezzo, può fingere di essere ciascuna delle parti in comunicazione con l'altra, e origliare la conversazione attraverso la decrittazione e la ri-crittografia.

Per risolvere questo problema usando SMP, Alice e Bob devono essere a conoscenza di qualcosa che Joe non ha (un segreto condiviso). Quindi utilizzano l'algoritmo SMP per verificare che l'altra parte conosca lo stesso segreto condiviso. Se i valori prodotti durante la dimostrazione coincidono, allora ciascuna parte sa che l'altra parte conosce lo stesso segreto, quindi sanno che (dato che il segreto non è stato compromesso) hanno sempre parlato con la persona giusta, e quindi sanno che una o entrambe le due chiavi negoziate tramite DH per la prova SMP sono sicure per l'uso come chiave simmetrica per la conversazione, perché queste chiavi sono inerenti alla trasmissione del segreto e non possono essere state falsificate senza influenzare il risultato della prova SMP.

Questo non è l'unico modo per aggiungere l'autenticazione ai protocolli di scambio D-H. Il protocollo STS, basato su Diffie-Hellman, utilizza certificati a chiave pubblica che possono essere verificati in modo indipendente come autentici e aggiunge un paio di passaggi al processo di negoziazione. Non appena ciascuna parte conosce la chiave condivisa K , e quindi sa o può calcolare g x mod p e g y mod p (dove x e y sono i segreti casuali di ogni partito generato per DH), questi due valori sono concatenati in un bitstream, hash, crittografati asimmetricamente usando la chiave privata del mittente, quindi simmetricamente usando la chiave condivisa, prima di essere inviati all'altro partito che può (in teoria) decodificare e verificare la firma e quindi il mittente. Entrambe le parti devono fare questo come parte del processo di negoziazione, quindi questo schema incorpora l'autenticazione a due vie nel sistema.

    
risposta data 20.08.2013 - 20:18
fonte
6

Per quanto ho capito, SMP non protegge contro MitM per sé . Gli autori del documento affermano chiaramente,

Suppose that Alice and Bob are chatting online using OTR and decide to run the SMP, but have not previously selected a secret and possess no channel more secure than their current conversation. They can still select an appropriate secret in this case, but they will be more vulnerable to attack.

Il protocollo SMP viene utilizzato per confrontare quel segreto condiviso senza che deve essere inviato in chiaro, ma il segreto condiviso deve già esistere.

Altrimenti, per gli occhi di Alice, non ci sarebbe differenza tra Bob e Joe. Per lo stesso motivo, Alice e Joe sarebbero identici agli occhi di Bob. Il che porterebbe a uno scenario perfetto man-in-the-middle.

    
risposta data 20.08.2013 - 20:27
fonte

Leggi altre domande sui tag