Quali sono i rischi dell'autodiagnosi di un certificato per SSL

54

Supponiamo che firmi un certificato SSL per me stesso e che non utilizzi una CA certificata. Quali sono i rischi e / o le minacce di farlo?

    
posta Timo Willemsen 13.10.2011 - 20:06
fonte

2 risposte

64

I rischi sono per il cliente. Il punto del certificato del server SSL è che viene utilizzato dal client per conoscere la chiave pubblica del server, con un certo livello di garanzia che la chiave appartenga effettivamente al server previsto. La garanzia proviene dalla CA: la CA dovrebbe eseguire una verifica approfondita dell'identità del richiedente prima di emettere il certificato.

Quando un client (l'utente e il suo browser Web) "accetta" un certificato che non è stato emesso da una CA che il cliente considera attendibile (la CA incorporata in Windows da Microsoft), il rischio è che il client sta attualmente parlando con un server falso, cioè è sotto attacco. Nota che gli attacchi passivi (l'attaccante osserva i dati ma non li altera in alcun modo) sono ostacolati da SSL indipendentemente dal fatto che il certificato CA sia stato emesso da una CA convenzionale o meno.

In generale, non vuoi insegnare ai tuoi utenti a ignorare l'avviso di sicurezza spaventoso dal browser, perché questo li rende vulnerabili a tali attacchi di rappresentazione di server (che non sono così difficili da montare, ad esempio con Avvelenamento DNS ). D'altra parte, se puoi confermare, in un altro modo, che il certificato è autentico quella volta , il browser ricorderà il certificato e non mostrerà gli avvisi per le visite successive purché il viene utilizzato lo stesso certificato autofirmato. La nuova proposta Convergence PKI è un'estensione di questo principio. Nota che questo "certificato ricordato" vale finché il certificato non è cambiato, quindi vuoi veramente impostare la data di scadenza del tuo certificato autofirmato nel lontano futuro (ma non oltre il 2038 se vuoi evitare problemi di interoperabilità ).

Si noti che poiché un certificato autofirmato non è "gestito" da una CA, non è possibile una revoca. Se un utente malintenzionato ruba la tua chiave privata, perdi in modo permanente , mentre i certificati emessi dalla CA mantengono la rete di sicurezza teorica della revoca (un modo per la CA di dichiarare che un determinato certificato è scaduto). In pratica, il browser Web corrente non controlla comunque lo stato di revoca.

    
risposta data 13.10.2011 - 20:35
fonte
-2

Dalla risposta accettata:

Note that passive attacks (the attacker observes the data but does not alter it in any way) are thwarted by SSL regardless of whether the CA certificate was issued by a mainstream CA or not.

Non vero.

Perché Internet funziona passando i dati dal router al router fino a quando i tuoi dati arrivano alla destinazione. Ogni router in mezzo è un'opportunità per codice dannoso su quel router di riscrivere il pacchetto, e non si saprà mai la differenza, a meno che non si abbia modo di verificare che il pacchetto provenga dal trusted server.

Una chiave crittografica, se hai la chiave corretta , puoi verificare che i dati non siano stati manomessi. Il problema è, tuttavia, che prima di poter iniziare le comunicazioni crittografate, è necessario eseguire uno scambio di chiavi non crittografato , in cui il server ti fornisce la chiave crittografica. Ecco dove il man-in-the-middle ha un'opportunità. Se il tuo traffico passa attraverso il mio router, posso intercettare la chiave autofirmata dal server e generare una nuova chiave autofirmata con lo stesso nome del server, ecc., In modo che cerchi come la chiave autofirmata dal tuo server, ma che mi consente di decifrare le comunicazioni tra te e il server. Il mio router stabilisce quindi una connessione al server usando la chiave correct e, mentre i dati passano tra te e il server, decrittogrado i dati usando la chiave reale, quindi rico-cifro usando il "falso" chiave. Quindi, i dati vengono crittografati tra me e il server, e tra me e te, ma non vengono crittografati nel mio router, dandomi l'opportunità di spiare i tuoi dati, o addirittura di modificarli se voglio.

Riferimento

Quindi in sostanza ... l'utilizzo di un certificato autofirmato è completamente non sicuro a meno che

  • controlli ogni macchina tra te e il server
  • O controlli che le chiavi nel certificato siano quelle che ti aspetti che siano.
risposta data 09.09.2015 - 01:16
fonte