Transferir certificado de cliente

2

¿Qué podría incluirse en un certificado del lado del cliente que pudiera impedir que "funcione" si se transfiere a una nueva máquina cliente en una nueva red?

Al no estar familiarizado con el tipo de información que está incorporada en un certificado de cliente, no sé si, por ejemplo, el certificado solo se validará si se encuentra en una máquina cuya NIC se encuentra en una subred IP en particular.

Necesito copiar un certificado de cliente y ponerlo en funcionamiento en una caja de Windows 7, y solo quiero saber qué tipo de problemas o "errores" puedo encontrar.

    
pregunta 08.08.2012 - 15:12
fuente

3 respuestas

3

X.509 es amplio y versátil y, en teoría, todo vale.

En la práctica, asumo que está hablando de una situación SSL / TLS, probablemente como parte de un sitio web de HTTPS. El servidor envía su certificado (que el cliente valida), y luego, el servidor le pide al cliente que muestre también un certificado, que el servidor validará.

En esa situación, no puede haber muchos datos específicos del cliente que el servidor pueda validar. El punto importante es que la validación del certificado cliente ocurre en el servidor (necesariamente: el certificado del cliente trata de convencer al servidor). Por lo tanto, si el servidor desea validar algunos datos específicos del cliente (por ejemplo, la dirección IP), el servidor debe tener acceso a una dirección IP del cliente aparente y ver si coincide con lo que se escribiría en el certificado . Sin embargo, en el ecosistema HTTPS, NAT y proxies ocurren. Por lo tanto, el servidor no puede obtener de manera confiable la dirección IP "verdadera" del cliente (por ejemplo, mi verdadera dirección IP es 10.0.1.101, pero eso no es lo que vería un servidor HTTPS, porque estoy detrás de un NAT y un proxy SOCKS). Así que no hay nada para que el servidor valide.

En los sistemas implementados existentes, los servidores SSL / TLS generalmente no validan los certificados de clientes con respecto a la información específica del cliente. Nunca lo he visto. En su lugar, el servidor valida el certificado in abstracto (todo el negocio de firma por CA, hasta una CA raíz), independientemente de la procedencia aparente de la conexión entrante. Y si el certificado se valida, entonces la identidad del usuario se extrae del certificado (utilizando un método específico del servidor, pero IIS tenderá a mirar la extensión del Nombre del sujeto y extraer el 'UPN', para coincide con lo que hay en su servidor de Active Directory) y el servidor está contento con eso.

En realidad, eso es bastante similar a lo que sucede en la otra dirección: la validación del certificado del servidor por parte del cliente. El cliente desea asegurarse de que habla con el servidor correcto, por lo que verifica que el nombre del servidor esté presente en el certificado. La dirección IP del servidor, por otro lado, no está en el certificado del servidor; Se resolvió a través del DNS. Desde el punto de vista del cliente SSL, en lo que respecta a la seguridad, cómo los flujos de datos son irrelevantes; podría ir a cualquier dirección IP o transmitirse en un enlace serie sin IP o transportarse en la parte posterior de los camellos.

Respuesta corta: su certificado de cliente (probablemente) no está vinculado a una máquina específica, aunque solo sea porque hacer cumplir tal vinculación sería, en el mejor de los casos, difícil. Puede transferirlo de una máquina a otra (siempre que transfiera el certificado con su clave privada , por supuesto).

    
respondido por el Tom Leek 08.08.2012 - 23:47
fuente
1

El gotcha típico que evita que los certificados se transfieran a una nueva máquina es que Windows permite que las claves privadas se marquen como "no exportables", y en algunos casos este es el valor predeterminado. Dado que el certificado es inútil sin la clave privada, esto efectivamente vincula el certificado a un solo servidor a menos que tenga otra copia de la clave.

Tenga en cuenta que es posible extraer la clave privada de todas formas con un poco de piratería, pero no es trivial.

    
respondido por el tylerl 09.08.2012 - 02:16
fuente
1

Los certificados se consideran información pública y solo vinculan una clave a una identidad. La transferencia del certificado no hará nada, ya que la máquina que recibió el certificado no tiene la clave con la que se enlaza la identidad.

Es como si te hubiera dado mi licencia. Aún no puedes probar que eres yo porque mi licencia prueba que Yo soy yo, no quienquiera que lo tenga.

Debe transferir la clave privada que la licencia vincula a la identidad.

    
respondido por el David Schwartz 09.08.2012 - 13:45
fuente

Lea otras preguntas en las etiquetas