Quali sono le implicazioni dell'aggiunta di un certificato autofirmato all'archivio Autorità di certificazione radice attendibili di Windows?

6

Sono uno sviluppatore di siti Web in erba, quindi ti prego di sopportare la mia ignoranza.

Dire che dovevo crittografare il mio sito Web con HTTPS e mi sono ammalato di dover fare clic su "Continua" ogni volta che veniva visualizzato un avviso relativo a un certificato non attendibile. Ho usato questo metodo per installare il certificato del mio sito.

Dì che il certificato che ho firmato è stato emesso da "xyz". Poiché lo store è chiamato "Autorità di certificazione delle fonti attendibili", presumo che si fidi di "xyz" come autorità di certificazione. Quando il mio certificato viene aggiunto all'archivio, significa che qualsiasi certificato emesso da "xyz" ora è automaticamente attendibile?

Oppure l'installazione di un certificato SSL per un dominio su "Autorità di certificazione radice attendibili" rende solo affidabile quel dominio?

Il punto è che voglio ignorare gli avvertimenti per il mio sito Web in particolare, ma non voglio ignorare gli avvisi per qualsiasi altro sito web.

EDIT: probabilmente dovrei chiarire sulla procedura esatta che ho usato per creare il certificato. Il sito Web viene distribuito su un server Ubuntu 10.04 con le configurazioni OpenSSL e Apache predefinite. Per creare il certificato e il file chiave, ho semplicemente usato

# make-ssl-cert generate-default-snakeoil –force-overwrite

e lasciato solo / etc / apache2 / sites-available / default-ssl perché il comando make-ssl-cert ha scritto i due file sugli stessi percorsi a cui puntano i file di configurazione di Apache. Quindi non ho nemmeno creato un'autorità di certificazione per generare il certificato del mio sito web.

Questo cambia lo scenario? Qual è la differenza tra l'installazione di un certificato creato senza un'autorità di certificazione come trusted root su un client e l'installazione di un certificato creato con uno?

EDIT 2: Ok, sarebbe meglio se dovessi restringere la domanda il più possibile: è sicuro chiedere ad altri di installare il mio certificato come root di fiducia se cerco il certificato per il mio sito web e mi assicuro non sfugge mai? Gli aggressori potranno mai approfittare del mio certificato autofirmato e scegliere come target chi lo ha installato nell'archivio certificati attendibile?

    
posta Kevin Jin 13.10.2012 - 17:26
fonte

2 risposte

10

Quando si installa un certificato CA come "trusted root", significa che le applicazioni si fidano di qualsiasi certificato emesso da questo certificato CA. Questo è non , per impostazione predefinita, limitato a un dominio specifico. X.509 , lo standard per i certificati, include un modo per specificare che una determinata CA è per l'emissione di certificati solo in uno specifico "area", ad es per i server in un dominio (che è l'estensione Vincoli nomi, vedere la sezione 4.2.1.10), ma è mal supportato o non supportato affatto dalle implementazioni esistenti. Quindi ti consiglio di non fare affidamento su questa funzione.

Quindi la regola di base è che quando si installa una nuova radice attendibile, si affida al proprietario della chiave privata la sicurezza della navigazione. Se tu sei il proprietario (cioè il tuo certificato autofirmato, che hai generato tu stesso), allora spetta a te mantenere la chiave della CA sicura. Fintanto che nessun altro riceve una copia della chiave privata, non ci sono problemi. Questo porta al seguente metodo:

  1. Crea una nuova coppia di chiavi e un certificato autofirmato.
  2. Utilizza la CA appena creata per emettere un certificato per il tuo server.
  3. Importa il certificato CA come trusted root.
  4. Dimentica la chiave privata CA (distruggi la chiave, idealmente, la chiave si trova in un file che hai inserito in un filesystem con RAM, rendendo la soppressione ragionevolmente completa).

e hai finito. Se la chiave privata non è più, è, in particolare, fuori dalla portata di avversari malevoli.

Un metodo alternativo consiste nell'utilizzare un certificato autofirmato per il server stesso e indicare al tuo browser Web di fidarsi comunque del certificato solo per il tuo sito . Se il tuo browser può farlo, non c'è bisogno di armeggiare con la CA principale. Firefox può farlo; la chiamano eccezione di sicurezza .

    
risposta data 13.10.2012 - 17:45
fonte
0

Nel caso in cui qualcuno intercetti il traffico degli utenti, quella persona può attirare un attacco man-in-the-middle e presentare agli utenti il proprio certificato da installare al posto del proprio. In questo caso saranno in grado di decifrare tutti i dati che passano tra i client e il server.

Oltre a questo, nessuna conseguenza.

    
risposta data 14.10.2012 - 12:13
fonte

Leggi altre domande sui tag