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:
-
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.
-
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.
-
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.