Sto desgining un servizio web B2B basato su WCF. Poiché il numero di client è relativamente piccolo e la sicurezza è una priorità, ho scelto di utilizzare i certificati client X509 per l'autenticazione del client.
Sto firmando i certificati client con la mia CA autofirmata (che ovviamente viene tenuta al sicuro). Ho anche verificato che l'installazione funzioni su un set locale di computer.
Un problema continua a infastidirmi. Finché i certificati possono essere "fisici" consegnati non ho alcun problema. Tuttavia non riesco a trovare una soluzione per trasferire in modo sicuro i certificati client ai clienti effettivi. Queste sono le opzioni che ho trovato finora:
1) Crittografare i certificati utilizzando la crittografia simmetrica in formato PFX. Quindi invierò un'e-mail al certificato e invierò la chiave per decrittografare il certificato con una buona vecchia posta ordinaria (ovvero una lettera fisica)
2) Creare un sito Web semplice che consenta ai client di accedere utilizzando un URL temporaneo (credenziali inviate all'indirizzo e-mail) e quindi scaricare il certificato. Il sito sarebbe protetto usando HTTPS. La sicurezza quindi si affida completamente alla sicurezza della posta elettronica dei client e che nessuno raccoglie l'URL dall'e-mail
Tendo a preferire l'opzione 1) come l'unico difetto di sicurezza che ci sarebbe per qualcuno di rubare effettivamente la chiave dalla lettera fisica. Tuttavia sembra un po 'noioso usare una lettera fisica.
Esiste uno standard de facto per risolvere questo problema che sto trascurando che fornisce una sicurezza ragionevole?