Da quello che ho letto sembra che il certificato non sia un grosso problema dal momento che è già pubblico e scaricato da ogni browser, tuttavia se qualcuno trova il tuo file chiave, allora hai un problema.
Alcune di queste risposte non sono strettamente corrette.
Poiché il certificato è la chiave pubblica, è pubblico e, quindi, può trovare la sua strada verso qualsiasi macchina. Semplicemente non importa. E, sì, se qualcuno si impossessa delle tue Private Keys (tramite un file chiave recuperabile), allora è quasi certamente un problema.
Tuttavia, è un po 'più fangoso e sembra.
Diamo un'occhiata a un certificato, contiene molte informazioni. Ecco un sottoinsieme:
Un certificato deve essere firmato per essere considerato affidabile dal cliente, altrimenti il trasferimento del certificato lo apre fino a un attacco MITM. Se autofirmato, il creatore ha appena firmato il proprio certificato con la parte privata della sua chiave di firma. Se c'è una catena di fiducia, allora c'è almeno un altro certificato interno (da un'autorità di certificazione) incorporato nel certificato esterno e utilizzato per firmare il certificato esterno. Può esserci un numero qualsiasi di CA intervenienti (zero o più), tuttavia, esiste sempre una CA principale il cui certificato è autofirmato.
Hai ottenuto tutto questo?
Rendendolo più confuso, è possibile utilizzare la stessa chiave privata per la crittografia e la firma, sebbene non sia necessario. In realtà, ci possono essere più chiavi di crittografia e firma (la parte pubblica) elencate nel certificato. Non c'è niente che dice che ci può essere solo uno o uno di ciascun tipo.
Infine, è possibile utilizzare un tipo speciale di chiave di crittografia per SSL. Questa chiave è speciale perché conterrà un nome di dominio che il browser controlla per assicurarsi che corrisponda al dominio a cui è collegato. Cioè, Certificato- > Dominio == Dominio connesso?
Questo ultimo tipo di certificato è quello a cui la gente è più familiare dato che è ciò che produce l'icona del lucchetto da qualche parte nel browser.
Nel caso di una chiave privata rubata per un certificato SSL, beh, non va bene, ma non è immediatamente terribile. Anche se hai la chiave privata per un server, a meno che tu non possa eseguire un attacco DNS o puoi eseguire un attacco man-in-the-middle o puoi eseguire un Attacco spoofing ARP o qualunque cosa, non è possibile falsificare quel server per una sessione SSL che si collega da un browser. Ora, non mi fiderei di questa situazione che durerà per molto tempo. Un archivio chiavi rubato è danneggiato e il certificato in questione deve essere revocato. A rigor di termini, tuttavia, l'attacco SSL offre molto di più del semplice utilizzo della chiave privata.
Abbiamo un altro possibile attacco usando la chiave privata rubata. Se un client sta parlando con il server reale e stanno eseguendo TLS + RSA (cioè non TLS + RSA + Diffie Hellman o no una suite di crittografia che fornisce un perfetto segreto in avanti), Eve the Eavesdropper può guardare lo scambio, decrittografare la sessione usando la sua copia della chiave privata e ascoltando ciò che traspare. Quindi, un attacco di osservazione è possibile.
Diciamo che il tuo sito web ha così tanto traffico che hai bisogno di più macchine per gestire tutto. È possibile che un servizio di bilanciamento del carico instradi connessioni SSL a più macchine di back-end, ognuna delle quali richiederebbe una copia del certificato e la chiave privata per eseguire l'handshake SSL. Non vuoi eseguire un reindirizzamento su un nuovo dominio o sottodominio (il browser potrebbe essere configurato per rifiutarlo per l'handshake SSL), quindi ogni server deve sembrare il vero affare finale.
Esistono acceleratori hardware SSL che eseguiranno l'handshake SSL (contengono Cert e Keys), quindi caricheranno il saldo e trasferiranno la sessione TCP non crittografata ai server di back-end. Le sessioni TCP non sono esposte perché tutto avviene sul lato protetto di qualche router / switch tra l'acceleratore e i server Web.
Il certificato contiene una chiave pubblica per un algoritmo crittografico asimmetrico (quasi sempre RSA). Chiunque abbia la chiave privata corrispondente può utilizzare il certificato.
Se la chiave privata corrispondente è memorizzata su un computer di uso generale rispetto all'amministratore di detto computer (o qualcuno che ha violato il computer e acquisito poteri amministrativi) può crearne una copia e metterla su un altro computer.
Credo esistano "moduli di sicurezza hardware" in grado di memorizzare una chiave privata e consentirne l'utilizzo per tls senza rivelare la chiave effettiva del sistema host. Però non conosco i dettagli.