Quali sono i rischi di un certificato client autofirmato?

0

Comprendo i rischi di un certificato autofirmato utilizzato per abilitare HTTPS su un server.

La mia domanda, tuttavia, riguarda i certificati client di HTTPS.

Immagina il seguente scenario. Voglio essere in grado di autenticare un gruppo di utenti esperti di tecnologia su un sito Web pubblico senza richiedere loro di passare attraverso OpenID o richiedere una password.

Inizio generando un certificato radice autofirmato che memorizzo sul server. Nel contesto di questa domanda, supponiamo che questo certificato radice sia protetto dagli hacker.

Da questo certificato radice, generi diversi certificati client, uno per ogni utente, e trasmetto il file .p12 a quegli utenti in modo sicuro . Aggiungono questi certificati ai loro browser e ora possono essere autenticati.

C'è qualche problema di sicurezza che il certificato di root è stato autofirmato? In che modo questo sarebbe paragonabile, ad esempio, all'utilizzo del certificato derivato Let's Encrypt come certificato radice (cosa possibile fare, dato che anch'io ho la chiave privata sul server)?

Mi sembra che in termini di revoca dei certificati, è semplice come rigenerare il certificato, sarebbe il certificato di origine se questo era il problema, o un certificato client. C'è qualcos'altro che mi manca?

    
posta Arseni Mourzenko 02.12.2017 - 10:52
fonte

2 risposte

2

Quello che stai facendo è fondamentalmente diventare la tua autorità di certificazione - che va bene, purché tu accetti i rischi associati e / o li mitighi.

In questo scenario puoi tranquillamente basare i tuoi server sulla fiducia del tuo stesso certificato per emettere certificati client, a patto che tu stia bene con il tuo metodo CAs di stabilire fiducia nell'identità degli utenti.

Non sono sicuro che la crittografia ti fornirà un certificato con l'attributo CA impostato (ad esempio, può fungere da autorità di certificazione). Sebbene tu possa avere la chiave per il certificato, quel certificato non consente i certificati di firma.

La revoca del certificato deve essere gestita internamente (il server dovrebbe sapere quali certificati non dovrebbero più essere accettati); non è necessario fornire CRL se si utilizza la CA solo internamente.

Puoi anche stabilire una connessione 1: 1 tra utente e certificato, quindi sostituire il certificato revocato con uno nuovo dovrebbe andare bene.

    
risposta data 02.12.2017 - 11:00
fonte
0

Penso che si dovrebbe tornare alle basi per vedere il problema o il non problema di questo. I certificati sono un modo per utilizzare una terza parte fidata, denominata autorità di certificazione, al fine di sapere che una chiave pubblica è effettivamente la chiave pubblica dell'entità che afferma di essere. Se hai un modo sicuro e sicuro di dare una chiave privata a qualcuno (il .p12), ovviamente conosci la chiave pubblica che la accompagna, non hai dubbi sulla sua origine. Non hai bisogno di alcun "certificato". Non hai bisogno di terze parti fidate per assicurarti che la chiave pubblica che hai generato tu vada con la chiave privata che hai fornito in modo sicuro (con l'assunzione) al cliente in questione. In effetti, stai reinventando una sorta di ssh ma con chiavi incorporate in certificati di cui le firme non contano qui.

Un certificato autofirmato non è altro che una chiave pubblica in un formato di fantasia. Chiunque generi una chiave pubblica (e la chiave privata che lo accompagna), può anche generare il certificato autofirmato che lo accompagna. La terza parte fidata è qui il fornitore della chiave pubblica. Nella misura in cui puoi fidarti di lui, puoi fidarti direttamente della chiave pubblica e non hai bisogno di un certificato; e in quanto non ci si può fidare direttamente dell'origine della chiave pubblica (che era la ragione per usare i certificati in primo luogo), beh allora non ci si può fidare del firmatario del certificato perché è lo stesso.

Come nella tua applicazione, che non è altro che una tipica applicazione ssh-type, il software ha bisogno di certificati, tu incorpora le chiavi in un certificato, ma queste firme non hanno alcun significato di sicurezza qui.

    
risposta data 02.12.2017 - 17:35
fonte

Leggi altre domande sui tag