È importante dove vengono generati il ​​file CSR e i file chiave per la certificazione SSL?


18

Devo creare un CSR per un certificato SSL jolly. Alcune domande frequenti dei provider SSL dicono che dovrei generare il file CSR sul computer in cui voglio installare il certificato? La mia comprensione è che non dovrebbe importare dove io generi il CSR o il file chiave fintanto che sposto i file nella giusta posizione in seguito.

Quindi la mia domanda è: importa dove vengono generati CSR e file chiave per la certificazione SSL?

Risposte:


21

La tua comprensione è corretta. A parità di tutte le altre cose, non importa; ma ci sono le rughe.

Un vantaggio nel generarli sul server in questione è che riduce al minimo la possibilità che la chiave venga compromessa durante il trasporto. Finché si utilizza un computer sicuro per generarli e un metodo sicuro (immune agli attacchi MITM) per spostarli sul server, si eviterà. Non dimenticare di cancellarli in modo sicuro sul sistema di generazione, a meno che tu non abbia intenzionalmente intenzione di conservare copie e che tu sia protetto di conseguenza.

Un vantaggio nel generare su una macchina separata: di solito, questo sarà il tuo desktop. Il pool di entropia su una macchina desktop è quasi sempre più profondo che su un server non presidiato, perché il desktop ha una grande fonte di casualità collegata tramite i cavi della tastiera e del mouse (cioè tu!). La carenza di entropia può far sì che la generazione della chiave impieghi molto tempo o causare invece l'uso /dev/urandomdell'output PRNG, a seconda di quanto sia paranoico lo strumento di generazione e ciò può portare a chiavi più deboli; le macchine desktop tendono a non avere questo problema.

Modifica successiva : in seguito a una discussione altrove qui collegata, sono stati sollevati due punti. In primo luogo, si potrebbe andare per una via di mezzo, generando l' entropia sul desktop con, ad esempio dd if=/dev/random bs=1k count=10 of=/tmp/entropy.dat, la copia che al server remoto, e l'alimentazione al vostro processo di generazione delle chiavi direttamente o approfondendo pool di entropia del server remoto. Non ho ancora trovato il modo di fare il primo, e fare il secondo richiede generalmente un privilegio di esercitare, che - se il canale tra te e il server remoto non è sicuro, che è piuttosto il punto dell'intera obiezione - è anche insicuro.

In secondo luogo, la stimabile mjg59 solleva il problema dei moduli di sicurezza hardware, ovvero dei dispositivi in ​​cui vengono inserite o all'interno delle quali si creano, chiavi private e che quindi eseguono operazioni chiave senza mai rilasciare la chiave. Questo è un punto eccellente, ma al di fuori dell'ambito di questa domanda.

Ma il risultato più generale del thread - che dovresti avere un preciso modello di minaccia e scegliere le tue risposte in modo appropriato - è un buon risultato. Il mio modello di minaccia è che i miei canali di comunicazione sono sicuri ma i miei endpoint sono sotto attacco intelligente. Ciò significa che genererò localmente chiavi di sicurezza SSL entropicamente forti e le distribuirò. Se si scopre che il mio modello non è preciso e le mie comunicazioni risultano vulnerabili, saprò immediatamente di presumere che tutte le mie chiavi SSL siano compromesse. Se il modello di minaccia è diverso, è necessario personalizzare le proprie pratiche di conseguenza.


Non sono sicuro che il codice CSR generato sul mio server su virtualbox possa avere i vantaggi di una grande fonte di casualità . Ne hai idea?
Lewis,

@Tresdin come dice la mia risposta, generarlo localmente sul desktop e copiarlo.
MadHatter,

Su Linux, puoi aggiungere ulteriore entropia al pool di entropia esistente scrivendo in / dev / random. Non sono sicuro che funzioni su altri * nix.
un CVn

7

È in qualche modo importante.

Se vengono generati su un altro computer, le chiavi sono vulnerabili sul computer generatore e quindi sul server. Se si utilizza un computer infetto per generarli, alcuni virus potrebbero rubare le chiavi, anche prima che vengano spostate sul server sicuro.

Se li generi su un server sicuro e sposti semplicemente il CSR / cert, le probabilità che qualcuno / qualcosa ottenga la chiave privata sono minori rispetto al primo caso, poiché la chiave privata si trova solo su un computer.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.