Quali sono le implicazioni MitM di una chiave privata rubata sul lato client?

0

Molti telefoni VoIP supportano l'autenticazione SSL lato client per il provisioning automatico. Sfortunatamente, alcuni dispositivi devono essere programmati con i loro tasti sul lato client. (I tasti generati su dispositivi a bassa entropia sono scarsi, ma non consentono di discutere tali dettagli).

Per questa domanda, abbiamo tre giocatori:

  1. Il dispositivo (un telefono)
  2. Il server (un server HTTPS autenticato sul lato client)
  3. Eve, che ha intercettato o in altro modo rubato la chiave del cliente.

Se una chiave privata sul lato client viene intercettata da Eve durante l'installazione iniziale della chiave, allora sicuramente Eve può impersonare il client.

Per rafforzare ulteriormente la posizione di Eve, supponiamo che il dispositivo accetti qualsiasi certificato autofirmato presentato dal server di fornitura (alcuni dispositivi non hanno un modo per programmare le CA personalizzate). Supponi anche che Eva possa reindirizzare tutte le connessioni attraverso se stessa.

Dato questo, può Eve sfruttare un attacco MitM completo, qualcosa di simile al seguente:

Dispositivo {Chiave cliente} = > {CA2} Eve {Chiave cliente} = > {} CA1 Server

Credo che la risposta sia sì e che l'unico modo per prevenire un MitM è che il dispositivo convalidi il certificato del server tramite una CA attendibile. Si prega di confermare o confutare. Sono interessato ai dettagli tecnici qui.

    
posta ewheelerinc 03.12.2013 - 20:39
fonte

3 risposte

2

Se il client accetta qualsiasi certificato come certificato di un server valido, un utente malintenzionato attivo può impersonare il server quando parla al client.

Se l'utente malintenzionato può rubare una copia della chiave privata del client, può impersonare il client quando parla al server.

Se entrambe le condizioni sono valide, l'attaccante può eseguire un attacco Man-in-the-Middle , per definizione: un attacco MitM non è altro che una doppia impersonificazione simultanea. L'utente malintenzionato si pone come client quando parla al server e come server quando parla al client; inoltra il traffico in entrambe le direzioni, ispezionando e modificando i dati a piacimento.

Se il client può assicurarsi che utilizzi il certificato del server originale (tramite la convalida da una CA radice affidabile riconosciuta o forse perché il client ricorda il certificato del server da una connessione precedente), quindi il client rifiuterà il tentativo di impersonificazione e il MitM non funzionerà. L'autore dell'attacco, che ha rubato la chiave privata del client, sarà comunque in grado di sostituire il client, ad es. dirottare le chiamate in entrata, ma questo non sarà un vero MitM (l'attaccante dovrà imitare la voce del normale proprietario del client).

Si noti che se l'utente malintenzionato non ha una copia della chiave privata del client, e il server convalida in qualche modo la chiave pubblica del client (ad esempio il server si ricorda chiave pubblica del client dopo un passaggio di configurazione iniziale), quindi l'utente malintenzionato non sarà in grado di impersonare il client. L'autenticazione del client in SSL è tale che anche se l'utente malintenzionato impersona il server, non può riutilizzare i messaggi da un client credulone per ingannare il server vero. Tecnicamente, il client usa la sua chiave privata per firmare una "sfida" che è un valore hash calcolato su tutto il client e il server si sono inviati l'un l'altro finora, e questo include il certificato del server; quindi, in caso di MitM, il client firmerà i messaggi contenenti la chiave pubblica dell'attaccante (il falso certificato del server inviato dall'attaccante), non il certificato inviato dal server vero e la firma non corrisponderà a ciò che il server vero si aspetta. / p>

Quindi, se il client può assicurarsi che usi il vero certificato del server, o il server può assicurarsi che usi il certificato del client vero, o entrambi , quindi un tentativo di MitM completo deve fallire. Tuttavia, anche senza un MitM, la rappresentazione (una "metà-MitM") è ancora possibile:

  • Se l'utente malintenzionato ruba la chiave privata del server o il client non riesce a convalidare il certificato del server, l'autore dell'attacco può impersonare il server.
  • Se l'utente malintenzionato ruba la chiave privata del client o il server non riesce a convalidare il certificato del client, l'utente malintenzionato può impersonare il client.

Infine, se l'autore dell'attacco ha una copia della chiave privata del server , e la suite di crittografia SSL / TLS è una delle suite RSA non DHE, quindi la l'attaccante può decrittografare tutti i dati dopo l'intercettazione passiva e può anche dirottare la connessione in qualsiasi momento dopo l'handshake, il che consente, di nuovo, un MitM. Lo stesso non vale per la chiave privata del client rubata; in SSL / TLS, il certificato client e la chiave privata vengono utilizzati solo per l'autenticazione, non per lo scambio di chiavi e non hanno alcuna influenza sul segreto risultante utilizzato per la crittografia dei dati effettiva.

    
risposta data 03.01.2014 - 13:37
fonte
1

Sì ma parzialmente no.

Eve può fare qualsiasi richiesta al server che finge di essere il dispositivo mobile e può VISUALIZZARE la risposta del server (dato che la chiave privata e quindi la chiave pubblica sono noti). Tuttavia, Eve non può modificare la risposta che il server invia a comparire in modo diverso sul dispositivo mobile a meno che non venga utilizzato un algoritmo di hash debole suscettibile di attacchi di collisione per generare la firma.

    
risposta data 03.01.2014 - 13:17
fonte
0

Credo che, per definizione, un "attacco MiTM completo" possa verificarsi solo quando un utente malintenzionato (Eve in questo caso) può accertare ENTRAMBI il client e la chiave del server. È la definizione a cui stai lavorando anche tu?

Anche se il client (dispositivo mobile) è molto ingenuo in questo caso, non vedo come Eve possa usare uno dei suoi vantaggi sopra per raccogliere la chiave privata del server. Puoi forse vedere qualcosa che mi manca?

L'unica cosa che posso pensare è che Eve sostituisca (e memorizzi) il telefono e le chiavi pubbliche del server e intercetti i messaggi e li invii fingendo di provenire effettivamente da lei. Una volta ricevuta una risposta (che sarebbe stata crittografata con la chiave pubblica di Eve), poteva quindi utilizzare la chiave pubblica del destinatario previsto per crittografare il messaggio e quindi trasmetterlo. Ciò non significa, tuttavia, che la chiave privata del server sia mai stata acquisita.

    
risposta data 03.12.2013 - 20:50
fonte

Leggi altre domande sui tag