Certificados de cliente

5

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.

  1. ¿Son los certificados de cliente el método apropiado para autenticar a nuestros socios o deberíamos usar un esquema de autenticación diferente?
  2. ¿Cómo puedo emitir / administrar certificados de clientes a nuestros socios? ¿Debo usar una PKI administrada como DigiCert o Verisign?
  3. 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?

    
pregunta mezmi 11.04.2015 - 23:44
fuente

1 respuesta

4

Sí, y no.

El uso de certificados de cliente no resuelve el problema, mueve el problema. Considerando que antes de su problema es la creación, distribución y protección de una contraseña u otro secreto. Y ahora su problema es la creación, distribución y protección de un certificado de cliente.

Un certificado de cliente es un lote como una contraseña. Pero tiene la propiedad especial de que puede ser validado por firmas. Entonces, si va a utilizar certificados de cliente, la mejor manera de hacerlo es otorgarle a la empresa un certificado de firma y hacer que la empresa lo utilice para firmar certificados para todos sus usuarios. Hay una cierta cantidad de gastos generales de TI en esta idea, por lo que podría no volar con su empresa.

Una alternativa interesante podría ser usar un protocolo SSO, que básicamente significa capacitar a su servicio para que confíe en su sistema de inicio de sesión . Esto se puede hacer con software comercial y es posible que el soporte ya esté incluido en la solución de autenticación que está utilizando su empresa. Por ejemplo, la mayoría de los servicios solo son compatibles con OAuth 2, mientras que Active Directory tiene compatibilidad SAML integrada.

    
respondido por el tylerl 12.04.2015 - 06:03
fuente

Lea otras preguntas en las etiquetas