Come ssl previene gli attacchi MITM [duplicato]

0

La mia comprensione di come funziona:

Una vittima richiede la chiave pubblica di un server. L'attaccante inoltra semplicemente questa richiesta. Il server ora risponde con un certificato che contiene la chiave pubblica. L'utente malintenzionato lo modifica alla sua chiave pubblica e la invia alla vittima.

Qualcosa accade ora che non capisco:

Il browser ha le chiavi pubbliche di tutte le principali autorità di certificazione. Utilizza questa chiave pubblica per verificare che il certificato del server Web sia stato firmato dalla CA attendibile? Come? Un utente malintenzionato può simulare questa richiesta proprio come ha fatto con il server? Apparentemente il browser controlla se il certificato è valido? Ora come va facendo questo. L'autore dell'attacco può falsificare i dati per questo in modo che il controllo del browser continui a risultare un vero.

Se la chiave privata / chiave pubblica del server cambia il modo in cui un browser delle vittime sa che questo è cambiato?

Quindi il browser genera una chiave simmetrica condivisa e la crittografa con la chiave dell'attaccante. Pertanto l'attaccante può decrittografarlo. Prendi la chiave. Criptalo con la chiave del server e invialo al server.

    
posta Zapnologica 24.11.2013 - 14:34
fonte

1 risposta

2

Sto cercando di non entrare nel funzionamento generale della crittografia a chiave pubblica in quanto è descritto molto bene in molti punti:

link link

Sospetto che il primo punto mancante nella tua linea di pensiero sia che il browser non deve comunicare con nessuno (mettendo da parte il problema degli elenchi di revoche e della sincronizzazione temporale) per verificare un certificato purché abbia il certificato e le chiavi pubbliche delle CA di fiducia: ecco perché la crittografia a chiave pubblica è eccezionale! Basta calcolare l'hash dei contenuti del certificato e decodificare la firma utilizzando la chiave pubblica CA: se il valore decrittografato e l'hash calcolato corrispondono, il certificato è attendibile (questa è una versione dell'operazione molto semplificata).

A questo punto l'attaccante deve affrontare i seguenti problemi:

  • Non può intercettare / modificare il traffico protetto tramite la coppia di chiavi del server, perché non conosce la chiave privata del server.
  • Non può sostituire la chiave pubblica del server contenuta nel certificato, perché ciò interromperà la firma.
  • Non può semplicemente firmare un certificato contenente la sua chiave pubblica perché il browser non conosce la parte pubblica della sua chiave di firma (l'attaccante non è considerato affidabile dal browser).
  • Speriamo che l'autore dell'attacco non possa ottenere una chiave CA .

Se la chiave pubblica dei server cambia un nuovo certificato con la nuova chiave pubblica deve essere creato - il client riceverà un certificato diverso e questo è fondamentalmente esso.

    
risposta data 24.11.2013 - 15:16
fonte

Leggi altre domande sui tag