Durante il processo per ottenere un certificato SSL, ho generato un CSR e la chiave privata e per qualche motivo dovevo condividerli.
Che cosa potrebbe fare un malintenzionato con questi due file?
Durante il processo per ottenere un certificato SSL, ho generato un CSR e la chiave privata e per qualche motivo dovevo condividerli.
Che cosa potrebbe fare un malintenzionato con questi due file?
Se lo fai correttamente, niente.
Il solito processo per ottenere un certificato TLS (precedentemente SSL) da una CA è:
Genera server.privkey
e server.csr
(o file equivalenti) sul tuo computer. Mantieni privata la chiave privata.
Invia la server.csr
(richiesta di firma del certificato) alla CA per ottenere la firma e diventare un certificato.
Prendi il certificato che la CA ti restituisce e importalo nel tuo server web insieme a server.privkey
.
Il file CSR non è sensibile e non può essere modificato maliziosamente senza crackare la crittografia (difficile). Non è necessario essere eccessivamente attenti a condividere questo file.
La chiave privata , d'altra parte, dovrebbe essere privata . Dovrebbe rimanere sul tuo server. Non dovresti condividerlo con nessuno. Di nuovo, questo è privato . Tutti i tipi di cose brutte possono accadere se i cattivi capiscono questo. Se lo hai già condiviso con qualcuno, ti suggerisco di iniziare il processo generando una nuova coppia di chiavi, un nuovo CSR e ottenendo un nuovo certificato. Questa volta, non condividere la chiave privata con nessuno!
La tua chiave privata è l'identità crittografica del tuo server. Quando un browser si connette al tuo sito, il tuo server invia il certificato (contenente la tua chiave pubblica) ed esegue una prova che ha la chiave privata corrispondente. I browser accettano questa prova che sta parlando al% reale% di%, e non a una versione falsificata. Il browser mostra il lucchetto verde e tutto è buono.
Se un malintenzionato ha una copia della tua chiave privata, ha anche l'identità crittografica del tuo server e può fingere di essere te: intercetta il traffico sul tuo server, visualizza le informazioni inserite dall'utente (inclusi nomi utente / password) , modifica il contenuto della pagina, fai finta di essere il server e rispondi direttamente al browser, inserisci il loro contenuto o codice o annunci nelle tue pagine, ecc. Possono letteralmente fare qualsiasi cosa perché, crittograficamente parlando, loro sono il vero server . Il browser mostrerà ancora il blocco verde perché il server con cui sta parlando ha la chiave privata giusta.
Chiunque richieda che tu condivida la tua chiave privata chiaramente non capisce come funzionano i certificati. Dagli un calcio in faccia.