Sto esaminando la sicurezza di un servizio che utilizza i certificati client per autenticare solo i chiamanti conosciuti. Eseguiamo un servizio API Web C # che controlla ogni soggetto del certificato di richiesta se è elencato in bianco. Inoltre verifica che il certificato sia valido (convalida della catena di certificazione).
Ma se un utente malintenzionato ottiene un certificato con lo stesso nome soggetto emesso da un'autorità di certificazione, può attaccare il nostro servizio, giusto? Questo mi sembra meno sicuro. I certificati SSL del server sono sicuri perché gli utenti raggiungono un dominio esplicitamente e il certificato SSL utilizzato dal server contiene il nome del dominio convalidato dall'autorità cert. A meno che il certificato del server e alcuni come il dominio che l'utente sta tentando di raggiungere sia compromesso, il server è sicuro e il client può fidarsi del server.
Ma fidarsi di un cliente mi sembra meno sicuro. La mia comprensione è giusta o mi manca qualcosa?