He desarrollado una aplicación web REST. El cliente solo quiere que las computadoras autorizadas accedan a la aplicación. Hemos optado por la implementación TLS bidireccional en la que el cliente aprueba o rechaza las solicitudes de certificado.
Ahora el problema es que existen herramientas para extraer el certificado de la máquina, aunque el certificado se haya marcado como no exportable. Pensamos que utilizar el componente COM de CertEnroll para generar la CSR habría ayudado a evitar la exportación, pero no basta con marcar el certificado como no exportable.
Los requisitos son que solo las computadoras autorizadas pueden acceder a la aplicación y minimizar la copia de permisos tanto como sea posible.
Algunas opciones que he descartado:
- Direcciones IP restringidas, hay usuarios internos que no queremos acceder a la aplicación.
- Toma de huellas dactilares del navegador, no se puede garantizar que los usuarios provengan del navegador.