Después de innumerables horas de lectura, he llegado a la conclusión de que la autenticación mutua a través de certificados de cliente parecía ser una solución viable y adecuada para el siguiente escenario.
Tengo un sitio web ASP.NET MVC, llámelo example.com, con un área que debe protegerse para que solo nuestros socios puedan acceder a ella. Requerir que nuestros socios registren a cada uno de sus empleados está fuera de cuestión, así que pensé que emitir un certificado de cliente para cada uno de nuestros socios sería una solución más razonable.
Así que mis preguntas son las siguientes.
- ¿Son los certificados de cliente el método apropiado para autenticar a nuestros socios o deberíamos usar un esquema de autenticación diferente?
- ¿Cómo puedo emitir / administrar certificados de clientes a nuestros socios? ¿Debo usar una PKI administrada como DigiCert o Verisign?
- Si los certificados de cliente son el método apropiado, ¿cómo verifico que el certificado de cliente proporcionado por un socio es uno de los emitidos por nuestra compañía y que sigue siendo válido?
A partir de este momento, cuando nos asociamos con una empresa, se ingresará en nuestra base de datos con el nombre del socio, su ubicación, etc., y se les dará una identificación única.
Mi idea fue almacenar el número de serie del certificado & huella digital en una tabla con el ID exclusivo de la empresa, ¿es esta información suficiente para validar un certificado? ¿Parece esto una solución razonable?