Dopo innumerevoli ore di lettura, sono giunto alla conclusione che l'autenticazione reciproca tramite i certificati client sembrava essere una soluzione fattibile e appropriata per il seguente scenario.
Ho un sito Web MVC ASP.NET, lo chiamiamo esempio.com, con un'area che deve essere protetta in modo che solo i nostri partner possano accedervi. Richiedere ai nostri partner di registrare ciascuno dei loro dipendenti è fuori questione, quindi ho pensato che rilasciare un certificato cliente a ciascuno dei nostri partner sarebbe una soluzione più ragionevole.
Quindi le mie domande sono queste.
- I certificati client sono il metodo appropriato per autenticare i nostri partner o dovremmo utilizzare uno schema di autenticazione diverso?
- Come posso emettere / gestire certificati client per i nostri partner? Devo utilizzare un PKI gestito come DigiCert o Verisign?
- Se i certificati client sono il metodo appropriato come posso verificare che il certificato client fornito da un partner è una società emessa e che è ancora valida?
A partire da ora, quando collaboriamo con un'azienda, nel nostro database verrà inserita una voce con il nome del partner, la loro posizione, ecc ... e verrà assegnato un ID univoco.
La mia idea era di archiviare il numero di serie del certificato & l'identificazione personale in una tabella con l'ID univoco dell'azienda, sono sufficienti informazioni per convalidare un certificato? Questa sembra una soluzione ragionevole?