¿Un certificado SSL para autenticación de cliente y servidor?

1

Si tengo un certificado que tiene los usos:

  • Autenticación del servidor (1.3.6.1.5.5.7.3.1)
  • Autenticación del cliente (1.3.6.1.5.5.7.3.2)

¿Es posible que si un cliente accede al servidor y se le envió una copia del certificado, podría usar ese certificado como el cliente?

Tengo una aplicación web que tiene un certificado con autenticación de servidor y cliente.

El servidor no bloquea el acceso del cliente a la URL. El cliente puede acceder a enlace . Cuando el cliente accede a enlace , se debe bloquear. Esto está configurado en esa aplicación. En este caso, la aplicación está permitiendo al cliente entrar sin instalar explícitamente ese certificado en la máquina cliente.

Estoy tratando de averiguar si eso es porque el cliente accedió previamente a la URL de la raíz y estableció una conexión SSL.

¿Podría ser esto posible?

    
pregunta Alzoid 20.04.2016 - 18:20
fuente

2 respuestas

4

Cuidado con la terminología. Los certificados se refieren a criptografía asimétrica en la que las claves van en pares: cada par contiene una clave pública y una clave privada , que son dos facetas de la mismo objeto matemático subyacente (que depende del tipo de algoritmo). Fundamentalmente, la clave privada no se puede calcular a partir de la clave pública, que es exactamente la razón por la que la clave pública se puede hacer pública.

El certificado contiene la clave pública, solo la clave pública. Cuando un cliente SSL se conecta a un servidor SSL, el servidor envía su certificado al cliente, pero ciertamente no a la clave privada correspondiente. En su lugar, el servidor utiliza su clave privada para realizar una operación que solo el servidor puede hacer (porque esa operación requiere la clave privada y la clave privada es privada).

De forma similar, cuando un cliente SSL se conecta a un servidor SSL y el servidor solicita un "certificado de cliente", realmente significa que el cliente enviará su propio certificado (con la clave pública del cliente) y demostrará su dominio de la clave privada correspondiente realizando una operación que solo se puede realizar con la clave privada (pero se puede verificar con la clave pública); esta es una firma .

En el escenario previsto, un cliente C se conecta a un primer servidor S 1 y S < sub> 1 envía a C una copia de su certificado. Luego, C se conecta a un segundo servidor S 2 que solicita un "certificado de cliente". C puede enviar el certificado que recibió de S 1 , pero eso no irá muy lejos porque C sí no tiene acceso a la clave privada correspondiente: esa clave nunca dejó el servidor S 1 , el cliente no tiene acceso a ella. Por lo tanto, C no podrá completar la autenticación con el servidor S 2 .

Las marcas adicionales exactas en el certificado (autenticación de cliente, autenticación de servidor ...) son simplemente restricciones suplementarias en el uso de certificados, pero no son la base de la seguridad criptográfica aquí. Lo que importa es que un certificado solo contenga una clave pública, no la clave privada correspondiente.

    
respondido por el Thomas Pornin 20.04.2016 - 18:59
fuente
0

Entiendo que su pregunta es que usted pregunta si el cliente puede usar el certificado de servidores para autenticarse contra el servidor, porque el cliente obtuvo este certificado dentro del protocolo de enlace TLS con el servidor. Si esta comprensión es correcta, entonces la respuesta es NO porque:

  • Solo se envía el certificado dentro del protocolo de enlace TLS, pero no la clave privada que coincide con el certificado. Esta clave es mantenida en secreto por el servidor. Pero solo la parte que conoce la clave secreta coincidente puede identificarse / autenticarse utilizando un certificado.
  • Incluso si el cliente de alguna manera conoce la clave privada para el certificado de servidores, es probable que el servidor no la acepte para autenticación porque el servidor espera que el cliente sea identificado como cliente y no como servidor, es decir, diferentes sujetos en el certificado.
respondido por el Steffen Ullrich 20.04.2016 - 19:00
fuente

Lea otras preguntas en las etiquetas