OpenSSL, x509: qual è il modo corretto per visualizzare le autorità di firma?

3

Ai fini della creazione di una VPN, non riesco a trovare una spiegazione logica dello schema di OpenSSL / x509. Sono molto confuso riguardo questi tre termini,

  1. Autorità di certificazione
  2. Certificati gateway
  3. Certificati di punti finali.

Ho letto entrambi Openswan: creazione e integrazione di reti private virtuali , e Creazione di reti virtuali virtuali (VPN) . Entrambi questi libri nella mia mente presuppongono un'enorme quantità di conoscenza che il programmatore medio non ha, cioè come funziona la roba x509 di OpenSSL. Comprendo le nozioni di base della crittografia a chiave pubblica, inviando la tua chiave pubblica, avendo il destinatario crittografato il messaggio che può essere decodificato con la tua chiave privata. Ho letto anche le altre risposte qui, quindi permettimi di specificare le mie aree di confusione.

Dovrei pensare a un OpenSSL Certs come,

Certificate Authority → Gateway Certificate → End-point Certificate

In alternativa,

Certificate Authority → Gateway Certificate

Certificate Authority → End-point Certificate

Si tratta di questo,

Does the self-signed CA sign the Gateway Cert which signs the End-point (client) certs? Or, does the CA sign all of the certs directly? Does the Gateway Cert have any direct relationship to the client-cert, or is that just an element of configuration in the VPN?

    
posta Evan Carroll 04.08.2013 - 01:30
fonte

2 risposte

4

Nei certificati X.509 , ci sono Autorità di certificazione e End Entities . Una CA è un sistema / organizzazione che possiede una coppia di chiavi pubblica / privata e la utilizza per emettere certificati , cioè firmarli. Un certificato associa un'identità a una chiave pubblica e il compito della CA è di asserire tali associazioni. Si utilizza la chiave pubblica di una CA per verificare la firma su un certificato. La chiave pubblica di un'Autorità di certificazione può, a sua volta, essere associata al nome della CA in virtù della loro memorizzazione in un certificato, firmato da una super-CA. Questo processo è ricorsivo, quindi finirai, in pratica, con catene di certificati che iniziano con una "CA finale" (normalmente chiamata "CA radice" o "ancora attendibile") di cui ti fidi ex nihilo (è hardcoded nel software o nei suoi file di configurazione), quindi un numero di certificati, ciascuno contenente la chiave pubblica utilizzata per verificare la firma sul successivo. Tutti i certificati nella catena sono necessariamente certificati CA, tranne forse l'ultimo.

L'ultimo certificato della catena viene quindi chiamato "end-entity" perché designa un sistema / organizzazione che non è nel business dell'emissione dei certificati, ma è "qualcos'altro", ad esempio un server VPN. Poiché la chiave dell'entità finale non viene utilizzata per firmare altri certificati, il certificato dell'entità finale appare necessariamente l'ultimo della catena, quindi il suo nome.

In una VPN , ci sono end-points e gateway . Un gateway è una macchina che accetta connessioni da altri sistemi (end-point e altri gateway) e inoltra il traffico per conto del sistema connesso. Un end-point non indulge nell'inoltro; vede solo il proprio traffico in entrata e in uscita. La documentazione di StrongSwan inizia con un diagramma piuttosto auto-esplicativo. Gli endpoint sono server applicativi e desktop, mentre i gateway sono elementi strutturali che instradano i dati.

I gateway (e, possibilmente, alcuni endpoint) hanno bisogno di coppie di chiavi private / pubbliche, e gli altri sistemi devono essere in grado di verificare che una determinata chiave pubblica sia effettivamente posseduta da uno specifico gateway o end-point. Ciò richiede PKI e certificati. Tutte queste coppie di chiavi gateway e private / pubbliche vengono utilizzate per "fare VPN", non certo per rilasciare certificati per altre persone, quindi sono tutte entità finali, per quanto riguarda X.509.

La certificazione e la struttura VPN sono ortogonali. I certificati vengono utilizzati per affermare i collegamenti tra nomi e chiavi pubbliche. Non è necessario che una CA si trovi su un server che è anche un router o un gateway; in realtà non è necessario che una CA sia online . Inoltre, non è necessario che un gateway agisca come CA: il gateway ha lo scopo di inoltrare il traffico di rete, non di fare dichiarazioni sull'identità di altri sistemi. Tu puoi confondere entrambi i ruoli e rendere un gateway anche un CA, ma questo è molto artificiale, non è necessario in alcun modo, e aumenterà la confusione.

    
risposta data 04.08.2013 - 21:45
fonte
3

La struttura PKI non è fissa; puoi renderlo adatto alle tue particolari esigenze. Generalmente, ogni client viene fornito con una singola trust trust, ovvero il certificato dell'host VPN o un certificato che lo ha firmato.

I certificati client sono in genere firmati anche da un'unica trust trust, che li qualifica come certificati autorizzati.

Ma questa non è una regola dura e veloce. Ogni installazione è libera di configurare le cose come preferiscono.

    
risposta data 04.08.2013 - 07:01
fonte

Leggi altre domande sui tag