Alice e Bob autenticazione e integrità problema

0

Supponi che Alice debba inviare un file a Bob, garantendo la sua identità e l'integrità del file (non è richiesta alcuna riservatezza); le due parti condividono un w segreto e utilizzano una funzione hash H che emette numeri a 40 bit. Ogni volta che usano il seguente protocollo (pre-concordato).

A → B: w {nA}, dove nA è un nonce (Alice invia una sfida)

B → A: w {nA + 1} (Bob dimostra di conoscere il segreto, fornendo una risposta alla sfida)

A → B: (F, H (F), w {H (F)}) (Bob, dato F, calcola H (F) e w {H (F)}, e quindi confronta i suoi risultati con i dati effettivamente ricevuto)

Un attaccante può agire al posto di Alice e inviare un file a Bob inducendolo a credere che il file provenga da Alice?

    
posta rollotommasi 09.02.2016 - 18:01
fonte

3 risposte

1

Sì, Mallory, un Man-In-The-Middle potrebbe intercettare le comunicazioni come segue, e fingere di essere Bob in Alice, e Alice in Bob:

A → M → B: w{nA}

B → M → A: w{nA+1}

A → M → B: (F, H(F), w{H(F)})

Il passaggio tre richiede una collisione hash per sostituire un file - Mallory potrebbe aver creato un file malvagio, E, e può calcolare H(E) .

Mallory osserva il traffico e attende che venga visualizzato un trasferimento di file dove H(F) = H(E) .

Una volta che questo accade, Mallory manipola il traffico, quindi invece di

(F, H(F), w{H(F)})

inviato a Bob,

(E, H(F), w{H(F)})

viene inviato invece. Tieni presente che come H(F) = H(E) , w{H(F)} sarà uguale a w{H(E)} .

Il protocollo può essere risolto dal fatto che il nonce e il segreto fanno parte della fase di trasferimento del file:

A → B: (nA, F, H(nA | w | F))

I passaggi uno e due non sono più necessari. Dato che Mallory non può hash il proprio file con w , non hanno modo di rilevare una collisione.

Ovviamente, Mallory potrebbe sostituire ogni trasferimento di file F con E nella speranza che si verifichi una collisione di hash, tuttavia Bob noterebbe che qualcosa non andava.

Per risolvere il problema nel protocollo, è possibile utilizzare HMAC (SHA-256) anziché un debole hash a 40 bit.

    
risposta data 11.02.2016 - 13:37
fonte
0

La mia idea era che se l'output di una funzione di hash è inferiore a 160 bit, possiamo eseguire un attacco di compleanno di successo, quindi questo è quello che pensavo. Quindi l'attacco si verifica sul passaggio 3. Qualsiasi altra cosa mi scorre nella mente, anche perché, per tutto, l'attaccante deve sapere che non può recuperare w da qualsiasi passaggio.

    
risposta data 09.02.2016 - 18:01
fonte
0

Hai ragione nel ritenere che un attacco di compleanno possa essere eseguito. Un aggressore, Oscar, potrebbe intercettare la comunicazione tra Alice e Bob e modificare il messaggio che Bob riceve.

    
risposta data 09.02.2016 - 20:02
fonte

Leggi altre domande sui tag