Pericoli di autofirmare un certificato e avere clienti che li importano?

2

Ci sono multiple sources sostenendo che i certificati autofirmati sono pericolosi perché in definitiva il client deve accettare la connessione a un sito Web che il suo browser gli dice che non è sicuro e che non ha modo di verificare se il sito sia autentico o una rappresentazione di un uomo nel mezzo. Tuttavia, cosa succede se tali certificati vengono distribuiti ai client in modo sicuro e vengono importati. Questo non permetterebbe loro di verificare realmente l'identità del sito web? Ci sono ulteriori pericoli da questo?

    
posta Worse_Username 24.10.2017 - 15:23
fonte

5 risposte

3

Vedo un ulteriore problema con questo tipo di installazione. Poiché i certificati autofirmati di solito sono firmati da soli, non da una CA (altrimenti non sarebbe un certificato autofirmato), non sarà possibile revocare il certificato se la chiave privata viene compromessa. L'unico modo per revocare il certificato sarà rimuoverlo dal trust store dei clienti, che di solito non può essere eseguito in remoto.

Se si desidera eseguire questa configurazione, creare una CA e salvarla in modo sicuro (è preferibile la modalità offline). Quindi, creare un certificato intermedio firmato dalla CA e utilizzarlo per firmare i certificati finali. Quindi, sarà possibile revocare i certificati (a meno che il certificato di base non sia stato compromesso).

    
risposta data 25.10.2017 - 13:15
fonte
2

Non sono sicuro che chiamerei personalmente certificati autofirmati. Sono meno pericolosi dell'invio di informazioni in chiaro e possono essere utilizzati per garantire che il sito rimanga coerente da una visita all'altra (sebbene il blocco abbia il proprio insieme di problemi significativi).

Detto questo, alla tua domanda diretta, fintanto che viene stabilita la fiducia nel certificato, non c'è alcun problema con un certificato autofirmato. Il vero rischio che i clienti importino il certificato di fiducia è che devono stare attenti a dove si affidano alla chiave. Probabilmente non dovrebbero metterlo come un trust di root in quanto non stai prendendo le stesse preoccupazioni per proteggere la chiave privata come farebbe una CA e non vuoi che tu venga compromesso per consentire a qualsiasi sito di essere compromesso.

Il punto dell'intero sistema CA è solo per aiutare a stabilire la fiducia. Se la fiducia può essere stabilita in modo indipendente e i certificati correttamente fidati al di fuori della fiducia delegata, allora l'autofirmato non è diverso, ha solo il proprio insieme di limitazioni che devono essere superate per poterne fare un uso corretto. Un client per installare correttamente il certificato non sarebbe un'idea orribile se questa è l'unica opzione.

Detto questo, servizi come Lets Encrypt offrono certificati SSL gratuiti, quindi non ci sono un sacco di situazioni in cui il mal di testa di usare una chiave autofirmata valga davvero la pena.

    
risposta data 24.10.2017 - 15:49
fonte
1

Se il cliente può installare il CA in modo che il computer consideri valido il sito Web, allora sì, ciò consentirebbe loro di verificare l'identità del sito web. Di conseguenza, le preoccupazioni relative ai certificati autofirmati non sarebbero più applicabili. In genere, il più grande riagganciare a questo tipo di soluzione è il fatto che può essere difficile da eseguire in pratica. Se il tuo servizio sarà accessibile da un piccolo numero di client e le persone che gestiscono tali macchine sono abbastanza esperti di tecnologia per installare correttamente la CA, allora questa può essere una soluzione perfettamente ragionevole (presumendo che tutto sia trasmesso in modo sicuro). Tuttavia, avendo preso in considerazione una tale soluzione io stesso in passato, ho trovato che le circostanze sono raramente così favorevoli, e il diavolo è nei dettagli.

1) Se stai parlando di installare la CA sui server, per cui potresti creare un processo abbastanza automatizzato per condividere e installare in modo sicuro la CA, allora fantastico!

2) Se stai parlando di camminare un numero qualsiasi di esperti non tecnici durante il processo di installazione della CA sui loro dispositivi personali / di lavoro (che immagino sia il caso da quando hai citato i browser), allora è improbabile che il processo andare liscio. Non penso che sarà facile come potresti pensare, ma dipende dai dettagli di ciò che stai facendo e da quanti clienti sono coinvolti.

Inoltre, c'è un aspetto fondamentale molto da tenere a mente: se lo fai, assicurati e proteggi il tuo certificato di root con la massima sicurezza. Presumibilmente questa applicazione che vive dietro il certificato autofirmato sta proteggendo alcuni preziosi dati / servizi. Se un attaccante malintenzionato ottiene una sospensione del certificato di origine, può firmare alcuni nuovi certificati ed eseguire un attacco MITM con nessuno più saggio.

Un'alternativa

Specialmente dal momento che hai citato i browser, dovresti sapere che cifrare no fornisce certificati SSL gratuiti e automatici. L'ho usato io stesso alcune volte ed è estremamente facile da usare e configurare. Se puoi, non preoccuparti di provare un certificato autofirmato. Ottieni un certificato gratuito da Let's Encrypt.

    
risposta data 24.10.2017 - 15:51
fonte
0

La distinzione tra un certificato autofirmato e un certificato firmato da una CA precedentemente sconosciuta fatta da amau è fondamentale. (1)

Tuttavia, i problemi di sicurezza non riguardano solo la revoca: il punto in cui distribuisci / installa il certificato (e il meccanismo) presenta rischi e costi. Distribuendo solo il certificato CA, si elimina la ricorrenza di questi problemi se si distribuisce un secondo certificato .... o un terzo ...

amau ha suggerito di utilizzare una CA radice isolata e CA intermedie invece di firmare i certificati dalla CA radice. Mentre il primo è sicuramente un approccio più sicuro, non possiamo dire se quest'ultimo sarebbe sufficiente per le vostre esigenze.

    
risposta data 25.10.2017 - 14:05
fonte
0

I sistemi a chiave pubblica sono basati sulla fiducia, in pratica hai una terza parte che è affidabile e sia l'utente che il server si fidano di esso.

Quindi abbiamo una relazione transitiva se la terza parte si fida del server e l'utente si fida della terza parte, quindi l'utente si fiderà del server.

È tutto basato sulla fiducia.

Se tutti i tuoi clienti si fidano di te e puoi proteggere adeguatamente la tua CA radice, non vedo problemi, ma il problema di aggiungere la CA agli elenchi delle autorità di fiducia.

Se non sai cosa stai facendo o se i clienti non si fidano di te, potresti creare opportunità per l'uomo nelle situazioni intermedie e mettere in pericolo i tuoi sistemi e utenti.

    
risposta data 25.10.2017 - 14:12
fonte

Leggi altre domande sui tag