Va bene aggiungere un certificato autofirmato sull'archivio di fiducia in questa situazione?

2

AFAIK, l'uso di certificati autofirmati sull'uso pubblico ha i seguenti problemi.

  1. Impossibile verificare la sua autenticità al primo scambio di chiavi. Tuttavia, se il primo scambio di chiavi avesse avuto successo, la comunicazione successiva sarebbe stata protetta confrontando il certificato del server memorizzato. sui client.

  2. Se la chiave privata di cert. viene rubata, non è possibile revocare quel certificato.

Se sono tutti i rischi del cert auto-cantato, nella seguente situazione, penso che non sia poi così male usare il certificato autofirmato.

  1. Tutti i client sono gestiti. Quindi, se la chiave privata del certificato è stata rovinata, posso rimuovere tutti i certificati precedenti su tutti i client e rinnovarla manualmente per un nuovo certificato autofirmato.

  2. Posso preinstallare il certificato autofirmato ai client offline prima della sua prima comunicazione al server. Quindi non c'è il rischio di accettare falsi cert sulla prima stretta di mano.

In questa circostanza, va bene usare il certificato autofirmato? o ci sono ancora motivi importanti per utilizzare il certificato firmato da una CA?

    
posta Sunkyue Kim 17.10.2016 - 05:16
fonte

3 risposte

0

Sì, in questa situazione, è ok usare un certificato autofirmato, con la seguente condizione ...

Non tutti i browser funzionano bene con i certificati autofirmati. Firefox, ad esempio, di solito desidera verificare in modo indipendente la CA per un certificato e non può automaticamente considerare attendibili i certificati che sono stati aggiunti manualmente all'archivio certificati sul client.

L'utente potrebbe comunque essere in grado di indicare al browser di ignorare l'avviso, ma potrebbe non essere possibile rimuovere effettivamente l'avviso.

Se gli utenti non utilizzano Firefox, o stanno bene con i messaggi di avviso, allora l'autofirmazione va bene.

Vale anche la pena ricordare che in genere non è possibile aggiungere certificati personalizzati sui dispositivi mobili. Se i tuoi utenti potrebbero voler utilizzare i dispositivi mobili, i certificati autofirmati potrebbero essere problematici.

    
risposta data 17.10.2016 - 05:25
fonte
1

Se capisco correttamente, vuoi creare una connessione SSL corretta senza dover acquistare un certificato a un fornitore ben noto di terze parti.

Come hai detto che potresti conoscere tutti i client e i certificati di pre-installazione prima della prima comunicazione al server, è perfettamente soddisfacente. Semplicemente se utilizzi direttamente il certificato autofirmato potresti portare i browser (e gli utenti) in vari casi d'angolo, che potresti facilmente evitare.

Il mio consiglio sarebbe quello di creare un mini CA ( openssl viene fornito con tutto ciò che serve per questo, include tutorial):

  • crei un certificato autofirmato che verrà utilizzato per firmare i certificati ausiliari e archiviare la chiave privata in un luogo sicuro
  • lo passi offline ai tuoi clienti e chiedi loro di installarlo come certificato di origine (tutti i certificati di root sono per definizione autofirmati)
  • si crea un certificato server che si firma con il certificato autofirmato e lo si utilizza normalmente.

In questo modo tutti i browser elaboreranno senza problemi una catena di certificati standard . Come bonus, potresti persino pubblicare un elenco di revoche di certificati vuoto, che potresti utilizzare in seguito se hai bisogno di revocare un certificato.

    
risposta data 17.10.2016 - 09:37
fonte
0

... my service is not browser-based
... All the clients are managed

Finché controlli correttamente l'uso del certificato di un certificato autofirmato, va bene dal punto di vista della sicurezza. L'applicazione "non basata su browser" dovrebbe accettare questo singolo certificato, confrontando la chiave pubblica o il certificato completo. Vedi OWASP: certificato e blocco della chiave pubblica per ulteriori informazioni incluso il codice di esempio.

Nel tuo caso d'uso potrebbe anche essere più sicuro che fidarsi delle solite agenzie di certificazione pubbliche perché meno hai bisogno di fidarti di meno puoi abusare della tua fiducia.

Tuttavia, a seconda del luogo in cui viene utilizzata l'applicazione, è possibile che si verifichino dei problemi quando si considera attendibile solo questo singolo certificato. L'intercettazione SSL eseguita per motivi di sicurezza nei firewall aziendali non funzionerà in questo caso, sia perché il firewall non si fida del certificato emesso autonomamente e l'applicazione non si fida del certificato emesso dal firewall. Ciò significa che l'applicazione non funzionerà affatto o funzionerà solo se vengono aggiunte eccezioni esplicite al firewall.

    
risposta data 17.10.2016 - 07:23
fonte

Leggi altre domande sui tag