Certificati client

5

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.

  1. I certificati client sono il metodo appropriato per autenticare i nostri partner o dovremmo utilizzare uno schema di autenticazione diverso?
  2. Come posso emettere / gestire certificati client per i nostri partner? Devo utilizzare un PKI gestito come DigiCert o Verisign?
  3. 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?

    
posta mezmi 11.04.2015 - 23:44
fonte

1 risposta

4

Sì e no

L'utilizzo dei certificati client non risolve il problema, ma sposta il problema. Mentre prima il tuo problema è la creazione, distribuzione e protezione di una password o altro segreto. E ora il tuo problema è la creazione, distribuzione e protezione di un certificato client.

Un certificato client è un lotto come una password. Ma ha la proprietà speciale che può essere convalidato dalle firme. Pertanto, se si intende utilizzare i certificati client, la soluzione migliore è fornire all'azienda un certificato di firma e chiedere all'azienda di firmare i certificati per tutti i suoi utenti. C'è una certa quantità di spese generali IT per questa idea, quindi potrebbe non volare con la tua azienda.

Un'alternativa interessante potrebbe essere l'uso di un protocollo SSO, che fondamentalmente significa addestrare il vostro servizio a fidarsi del loro sistema di accesso. Questo può essere fatto con software disponibile in commercio e il supporto potrebbe essere già incluso nella soluzione di autenticazione utilizzata dalla propria azienda. Ad esempio, la maggior parte dei servizi supporta solo OAuth 2, mentre Active Directory dispone del supporto SAML integrato.

    
risposta data 12.04.2015 - 06:03
fonte

Leggi altre domande sui tag