La TLS mutua (también conocida como autenticación de cliente) es una solución para esto.
En cuanto a la emisión de certificados, no haría eso. Tomaría certificados autofirmados del cliente y los asignaría directamente a los directores (usuarios) de alguna manera. Tendría una tabla de búsqueda indexada por el nombre común y la clave pública del certificado para hacer eso. Esto hace que los problemas potenciales como la revocación de certificados (eliminar la fila) y el compromiso de CA (ninguno involucrado) sean mucho más fáciles.
Como alternativa, puede solicitar los CSR a los clientes y firmarlos utilizando una CA en la que confía (ya sea un tercero o su propia CA interna si su organización tiene la experiencia y los recursos para protegerla adecuadamente).
Aquí hay una buena descripción de alto nivel de The Code Project y tienen un código de muestra .NET que lo demuestra:
Autenticación SSL mutua o autenticación mutua basada en certificado
se refiere a dos partes que se autentican entre sí mediante la verificación de
certificado digital proporcionado para que ambas partes estén seguras de la
La identidad de los demás. En términos de tecnología, se refiere a un cliente (web
navegador o aplicación cliente) autenticándose en un servidor
(sitio web o aplicación de servidor) y ese servidor también se autentica
En sí mismo al cliente mediante la verificación de la clave pública.
Certificado / Certificado digital emitido por el Certificado de confianza.
Autoridades (CAs). Porque la autenticación se basa en digital
Certificados, entidades de certificación como Verisign o Microsoft.
Certificate Server es una parte importante de la autenticación mutua
proceso. Desde un punto de vista de alto nivel, el proceso de
autenticar y establecer un canal encriptado usando
la autenticación mutua basada en certificados implica los siguientes pasos:
- Un cliente solicita acceso a un recurso protegido.
- El servidor presenta su certificado al cliente.
- El cliente verifica el certificado del servidor.
- Si tiene éxito, el cliente envía su certificado al servidor.
- El servidor verifica las credenciales del cliente.
- Si tiene éxito, el servidor otorga acceso al recurso protegido solicitado por el cliente.
FUENTE: enlace