è possibile emettere una sub-CA e fidarsi solo di essa?

1

Attualmente sono un hobbista che cerca di saperne di più su SSL. Se creo la mia CA per i miei server virtuali e mi fido della CA sui miei dispositivi, posso quindi emettere certificati per i miei server virtuali e il mio SSL sarà valido finché la mia CA non è compromessa?

Ma ora corro il rischio che la mia CA venga compromessa e un amico con cui sto imparando nel mio laboratorio virtuale, Eve, ottiene una sospensione e ora può MITM tutto il traffico web, non solo il traffico verso e dai miei server che accadrebbe se tenessero solo i certificati privati per ogni server virtuale.

C'è un modo per fidarsi di una sub-CA che può emettere solo certificati per i miei server virtuali in modo che, nel peggiore dei casi, Eve possa intercettare solo il traffico da e verso i miei servizi personali?

    
posta Quietus 13.10.2015 - 08:55
fonte

2 risposte

2

Sì, e in effetti questo è in genere il modo in cui il rischio viene minimizzato nelle distribuzioni di grandi dimensioni. Quello che stai descrivendo è una gerarchia PKI a due livelli. In genere, inizia con la CA ROOT nella parte superiore, che funge da "trust anchor" o l'unica CA che alla fine tutto nel tuo dominio avrà fiducia. In genere, questa macchina non tocca MAI una rete nel corso della sua durata. Avrai generato un certificato autofirmato (nel processo, avrà generato la propria chiave privata con cui firmare altri certificati).

Quindi costruisci quella che sarà una CA suboordinata (o "online"). Questo può essere collegato in rete. Genera una coppia di chiavi (Certificate Signing Request) e posiziona il CSR risultante su alcuni supporti rimovibili. Sneakernet che media su CA ROOT e farlo firmare il CSR. Il certificato risultante è ciò che viene installato nuovamente sulla CA subordinata.

Nel frattempo, tutte le macchine client dovrebbero avere i certificati pubblici di ogni CA (la ROOT CA al minimo) nel suo "Certificate Trust Store". Questo è l'unico modo in cui i clienti sapranno cosa fidarsi.

Da questo punto, è possibile creare tutte le CA subordinate nello stesso modo descritto sopra e assegnarle per supportare qualsiasi cosa si desideri ... un reparto, una linea di business, un tipo di dispositivo o un oggetto account utente, un classificazione dei dati, relazioni di fiducia dei partner esterni (è possibile creare una sub-Ca appositamente allo scopo di firmare la sub-CA di un'altra organizzazione per creare un regno di fiducia limitato tra le due reti).

    
risposta data 13.10.2015 - 10:56
fonte
1

Se ti fidi della tua CA incondizionatamente, allora CA compromettere significa anche che potresti essere compromesso.

Ma solo da un uomo-in-the-middle ATTIVO. Non da un semplice ascoltatore passivo. - Dico questo perché hai scritto "Eve". E il nome "Eve" di solito è riservato a un passivo E a ve . E il nome "Mallory" di solito è riservato a un intercettatore Mall attivo.

Quindi, come NON ti fidi di una CA incondizionatamente?

Due dei metodi sono:

  • Appuntare . Ciò consente di inserire un trust più esplicito sui singoli certificati. (Piuttosto che l'idea IMPLICIT di: Mi fido di TUTTO che quella CA lì mi dice di fidarmi.)
  • Trasparenza certificato . Qui non ti fidi di alcun certificato che non è stato PUBBLICATO pubblicamente come certificato emesso. Ciò solleva la barra per chiunque voglia sfruttare una CA E ALLO STESSO TEMPO rimanere sotto il radar. Con CT l'attacker non può avere più di entrambi contemporaneamente.

E il tuo: ok, userò una CA secondaria affidabile -idea è simile a pinning a quel livello di sub-CA.

    
risposta data 13.10.2015 - 11:13
fonte

Leggi altre domande sui tag