Perché l'autenticazione di sale + nonce su canali non sicuri è vulnerabile all'attacco man-in-the-middle?

1

In una connessione di rete su un canale non protetto faccio quanto segue:

  1. Il server invia il database salt e un nonce al client;
  2. Il client calcola e invia hash(hash(pwd + salt) + nonce) ;
  3. Il server calcola hash(db_pwd_hash + nonce) e lo confronta con l'hash dal client.

Anche se non espone la password a un ascoltatore passivo e non è vulnerabile a riprodurre attacchi, un attacco man-in-the-middle presumibilmente è un problema . Perché esattamente?

Considero una vunerabilità la possibilità di ottenere la password o il suo hash non salato. Non mi interessa la sicurezza della sessione successiva.

    
posta OLEGSHA 16.12.2017 - 22:05
fonte

1 risposta

5

MIM attivo in aggiramento: : Con un MIM in grado non solo di vedere, ma anche di modificare le informazioni scambiate tra te e il server (es .: un proxy), posso intercettare il primo messaggio e cambiare i valori salt e nonce a zero.

Risponderai con un hash della tua password praticamente senza dati aggiuntivi aggiunti. Posso prendere questo hash e cercarlo in una tabella pre-calcolata (tabella di ricerca o tabella arcobaleno) per vedere se riesco a trovare la tua password che corrisponde all'hash.

MIM passivo di intercettazione: : ora diciamo che sono solo un osservatore e non posso modificare alcun dato all'interno della tua comunicazione, ma continuo a vederlo tutto. Dal momento che conosco il tuo sale e nonce, posso tentare attacchi brute force o dizionario sulla tua password. Questo è probabilmente più costoso, ma funzionerebbe comunque nel caso in cui la tua password sia debole.

Questo dovrebbe mostrarti quanto sia importante scambiare le informazioni di autenticazione su un canale sicuro. Il requisito minimo dovrebbe essere TLS con verifica del certificato del server.

modifica : la verifica del certificato del server include la verifica della catena del certificato e la verifica del nome host del server (l'host a cui ci si connette è quello elencato nel certificato del server). Quest'ultimo è importante per prevenire gli attacchi MIM.

    
risposta data 16.12.2017 - 22:20
fonte

Leggi altre domande sui tag