In che modo SRP previene gli attacchi man-in-middle?

6

SRP è progettato per resistere agli attacchi sia attivi che passivi, in che modo SRP impedisce la modifica di man-in-middle e di pacchetti attacchi?

    
posta user236501 16.02.2013 - 09:19
fonte

1 risposta

4

SRP è un algoritmo Scambio chiavi autenticato con password . Un modo imperfetto ma semplice per vederlo è che client e server condividono un segreto, su cui l'algoritmo si espande; un attaccante che prova un attacco man-in-the-middle non conosce il segreto e non può impersonare con successo il client o il server (o entrambi, in un vero MitM).

Quello che ho descritto sopra è "solo" usando la password come chiave (pre-condivisa). Gli algoritmi PAKE vanno un po 'oltre, con un sacco di matematica, per essere in grado di tollerare un segreto condiviso di bassa entropia (vale a dire la password): un attaccante che osserva lo scambio, o addirittura tenta di impersonare il client o server, non apprende nulla che gli consentirebbe di "provare le password a casa" (cioè non esce dall'algoritmo un hash della password), qualcosa chiamato un attacco del dizionario offline . Questo è fatto con una danza sottile con uno scambio di chiavi classico e un impegno.

La cosa più semplice da capire è Scambio chiave crittografato in cui lo scambio è normale Diffie-Hellman , ma sia il client che il server "crittografano" ciò che inviano con la password. L'algoritmo di "crittografia" deve essere tale che la decrittografia con la password errata produca comunque qualcosa che assomiglia a un normale messaggio DH (un altro elemento del gruppo). Un utente malintenzionato che vuole eseguire un attacco di dizionario offline vorrebbe "retargetizzare" un determinato scambio, facendo qualcosa che equivale a "immaginiamo che per questo scambio passato, abbia usato la password P ". Con EKE, qualsiasi "retarget" con un'altra password diversa da quella effettivamente utilizzata lascia l'aggressore al di fuori dello scambio di chiavi DH, impedendogli di ottenere la chiave della sessione DH e testando l'ipotesi della sua password.

(Ho detto "più semplice da capire", non "semplice". Ci vuole del tempo ai crittografi per capire cosa succede realmente negli algoritmi PAKE, che un mio amico aveva descritto come "un piccolo miracolo". )

In ogni caso , un algoritmo PAKE è uno scambio chiave e genera una chiave condivisa K . È ancora compito del client e del server utilizzare K per crittografare e proteggere i successivi pacchetti di dati, utilizzando la consueta armamentaria della crittografia simmetrica e del MAC. Questo è il motivo per cui SRP viene utilizzato al meglio come parte di SSL / TLS , che fornisce i meccanismi per il tunneling di lunghi flussi di dati.

    
risposta data 16.02.2013 - 14:46
fonte

Leggi altre domande sui tag