Affidatevi ai vincoli dei nomi o alla valutazione intermedia della CA?

4

Sono esposti due diversi servizi, chiamali "servizio gatto" e "servizio cani". "Cats" e "dogs" si autenticano ai servizi tramite certificati client. I certificati client hanno identità di gatto e cane nel campo Oggetto (o SAN).

La gerarchia PKI è la seguente:

           root CA
        /           \
   cat CA            dog CA
     /                 \
cat client certs     dog client certs

Voglio prevenire il servizio di gatto che l'operatore di CA emette i certificati del cane dog (e il contrario)

Sembra che ci siano due opzioni per questo:

  1. usa l'estensione del certificato nome vincolo sulle CA intermedie. In questo caso, il server è configurato per fidarsi della CA principale. Ora, se un client invia un certificato canino firmato dalla CA cat (+ cat CA come parte della catena di certificati), il server vede una contraddizione e si rigetta anche prima della convalida con la CA radice.

  2. Chiedi al listener "cat service" di contrassegnare "CA CA" intermedio e pin servizio cane "CA cane". In questo caso, il server non si fida della CA principale.

  3. Come sottolineato nei commenti di garethTheRed, c'è anche la terza opzione: > > Utilizzare i criteri certificati per vincolare ciascun percorso CA a un OID. Fare in modo che la CA radice emetta ogni certificato CA secondario con il proprio OID e fare controllare il server durante la verifica del percorso del certificato client.

Quali sono i lati positivi / negativi / il confronto dei tre approcci?

Nota: questa è una domanda diversa da Le due CA intermedie firmate dalla stessa CA radice si fidano dei rispettivi certificati client firmati? in quanto chiede se ci sono dei down / ups in particolare per uno dei due approcci elencati.

    
posta bgd223 30.11.2017 - 17:55
fonte

1 risposta

2

Preferisco l'opzione n. 2, in quanto è semplice da capire, semplice da implementare su diversi stack.

L'opzione n. 1, è necessario definire Vincoli di nomi che si escludono a vicenda per i due servizi, rende forse più difficile l'emissione di certificati (occorre eseguire controlli aggiuntivi prima di emettere certificati client per gatti / cani), assicurarsi che la libreria di convalida della catena di certificati sia utilizzando correttamente le estensioni dei vincoli di nomi, ecc.

So che hai detto che la convalida verrà effettuata sul servizio, su cui hai maggiore controllo, ma se la convalida deve essere eseguita dai browser, Safari / IE e forse altri browser non la implementano correttamente.

    
risposta data 30.11.2017 - 18:49
fonte

Leggi altre domande sui tag