Quando è accettabile utilizzare il certificato di auto-firma in produzione?

1

Il certificato autofirmato è sempre visto come un certificato di prova. Ma come sottovalutato, usarlo per la produzione è perfettamente adatto se usato per la giusta ragione. Sto cercando di fornire alcune linee guida ai miei clienti su questo per usare cosa. Per esempio:.

  1. Autenticazione : Non è consentito l'utilizzo dell'autofirmato poiché il Brower non si fiderà dell'autorità emittente "self". Pertanto, per l'autenticazione service-to-service o service-to-client non è consentito utilizzare l'autofirmato. A meno che non ci sia un processo di whiteling pre / thumbprint / CN prima della verifica. Molte persone fanno queste, ad es. Azure in cui carico la chiave pubblica del certificato di gestione, che viene utilizzata per autenticare la propria API.
  2. Firma : no, perché non c'è fiducia nell'emittente. A meno che non ci sia un processo di whitelisting pre-thumbprint prima della verifica. A meno che non ci sia una pre whprinting / processo di whitelist CN prima di verificare.
  3. Crittografia : perfettamente OK per l'uso autofirmato poiché non è richiesto alcun trust di catena. In caso di attacco, il certificato MIM semplicemente non decifrerà, nessun altro impatto.

Vorrei alcuni pensieri / raccomandazioni / linee guida dalla comunità per garantire che le mie raccomandazioni vadano nella giusta direzione.

Grazie.

    
posta Bhaskar 28.07.2017 - 22:15
fonte

3 risposte

2

Encryption: Perfectly OK to use self-signed as there no chain trust required. In case of an attack, the MIM cert will simply not decrypt, no other impact.

Questo non è corretto. La fiducia deve essere stabilita per la crittografia utilizzando una chiave pubblica, ma è dall'altra parte. Il encryptor deve fidarsi del certificato di crittografia, poiché altrimenti avrebbe crittografato i suoi dati sensibili per alcuni estranei per decodificare e leggere.

Penso che la tua categorizzazione sia la presa sbagliata sulla questione. L'importante domanda a cui devi rispondere, se vuoi usare un certificato autofirmato (o anche un PKI non pubblicamente attendibile) è: come potrò fare in modo che i miei partner di comunicazione si fidino del mio certificato?

Questo potrebbe essere fatto tramite una politica aziendale (per i certificati TLS interni dell'azienda), tramite comunicazione diretta (per proteggere i messaggi con un gruppo molto ristretto di persone) o freddo anche essere superfluo poiché si controllano entrambi i capi della comunicazione (ad es. un'app che hai scritto che comunica con un server che esegui).

Ci sono più scenari di quelli che ho elencato, ma non molti. Se mai dovessi fare affidamento su un utente sconosciuto che deve fare attivamente qualcosa, allora non dovresti davvero usare i certificati autofirmati.

    
risposta data 31.07.2017 - 11:52
fonte
1

La differenza tra un certificato autofirmato e uno che non lo è è se il computer del cliente si fida automaticamente del certificato. Quindi, qualsiasi situazione in cui ciò non ha importanza, puoi utilizzare entrambe le opzioni.

Il sistema CA ha alcuni problemi importanti, ma per la maggior parte dei casi siamo praticamente obbligati a usarlo; ad esempio, un browser visualizzerà una pagina di errore di grandi dimensioni se si tenta di visitare un sito HTTPS con un certificato non attendibile. Se controlli i clienti (ad es. Questo è un sito Web interno per la tua azienda), puoi installare la tua CA, ma con l'avvento di Let's Encrypt, non c'è molto di un argomento da fare per non utilizzando un certificato che è stato firmato da un'autorità ben nota.

    
risposta data 28.07.2017 - 22:24
fonte
1

I certificati autofirmati non vanno mai bene se non hai un modo per verificare la proprietà attraverso un canale diverso e sicuro

I tre usi menzionati (Autenticazione, firma e crittografia) sono in realtà tre proprietà che si uniscono. Il proprietario del certificato può firmare un documento perché la chiave pubblica verifica che sia stato firmato con la chiave privata, il che dimostra (in un certo modo autentica) che è lui chi dice. Allo stesso tempo, la chiave pubblica fornisce un modo sicuro per trasmettere dati sensibili che solo il proprietario della chiave privata dovrebbe essere in grado di decodificare

Come puoi vedere, nulla di tutto ciò è possibile se non puoi verificare la proprietà del certificato e quindi fidarti del certificato

Le principali applicazioni che utilizzano il certificato autofirmato "senza rischi" sono le connessioni GPG e ssh. Il motivo è perché i certificati GPG vengono verificati attraverso altri canali (non dovresti mai fidarti di un certificato inviato via email senza verificare l'impronta digitale con il proprietario). Nel caso di ssh, si suppone che trasmetta il certificato attraverso canali sicuri come una pendrive (Best case scenario) o nel caso di cloud computer ci si fida implicitamente che il proprietario del cloud non modificherà il certificato o ne installerà uno diverso

    
risposta data 31.07.2017 - 20:27
fonte

Leggi altre domande sui tag