Un certificato autofirmato è completamente a posto se sei disposto a fidarti esplicitamente. Il motivo per cui un certificato è firmato è che un'entità più fidata rispetto al titolare del certificato sta aggiungendo autorità ai dati con una firma digitale. Come dici nella tua domanda, una CA è valida solo come i modi in cui è protetta: una CA non affidabile può creare certificati non affidabili.
Per la maggior parte, un certificato è richiesto quando due parti di un sistema devono comunicare. Quando un computer sta semplicemente elaborando le informazioni senza la transazione tra i componenti, non è necessario alcun certificato. I certificati entrano in gioco quando è necessario:
- memorizzare i dati e recuperarli in seguito
- inviare dati o istruzioni da un punto all'altro
In tutti i casi, c'è il rischio che una parte sconosciuta e non fidata possa sfruttare i dati o il canale. Pertanto il certificato fornisce l'identificazione, la crittografia o la verifica dell'integrità (o tutto quanto sopra). È la stessa coppia di chiavi che fornisce integrità e crittografia: la firma di un certificato riguarda in larga misura il problema della sicurezza di identificazione / non ripudio.
L'autofirmazione crea due problemi fondamentali:
- Chi sei? Come fa il sistema a sapere che il certificato autofirmato questo è OK, ma un altro non lo è.
- Stai ancora bene? Quando un certificato autofirmato è esplicitamente fidato, come faccio a sapere se la chiave privata è stata compromessa.
Entrambi i problemi sono generalmente gestiti affidandosi esplicitamente al certificato, che indica al sistema che il certificato è il certificato della parte autorizzata e se la chiave privata deve essere compromessa, l'impostazione di configurazione può essere modificata, rimuovendo il trust.
Questo è un manuale nella maggior parte dei sistemi e funzionerà perfettamente in tutti i casi in cui ci si può fidare che l'amministratore manterrà il massimo dei compromessi e sarà in grado di riconfigurare il sistema in modo tempestivo. In pratica, per una manciata di sistemi semplici, è fattibile.
Quando i sistemi diventano più dipendenti dai certificati o quando ci sono più punti che si basano sulla connessione a un certificato autofirmato, la dipendenza dall'errore umano diventa troppo grande e la maggior parte dei progettisti di sicurezza cercherà un modo per fare un automatismo verifica dello stato del certificato e fornire un'entità comune (una CA) per la creazione di tutti i certificati. Quindi tutti i sistemi dipendenti si fidano esplicitamente della CA.
In entrambi i casi funzionerà. In entrambi i casi, la sicurezza dipenderà dalla sicurezza della chiave privata - perdere il privato e hai perso il controllo dell'identità del sistema che stai proteggendo. Dopodiché, si tratta principalmente del tipo di rischio che sei disposto ad accettare.