Pregunta sobre el intercambio de claves DH

0

El servidor está configurado para admitir el conjunto de cifrado TLS_DHE_RSA_WITH_AES_128_CBC_SHA y validar el certificado del cliente.

Tengo entendido que el servidor utiliza DH para el intercambio de claves que no requiere cifrado o descifrado, sino una fórmula matemática (g MOD p) para derivar una clave secreta tanto para el servidor como para el cliente.

Entonces, en este caso, si el cliente inicia el protocolo de enlace (cliente hola), la comunicación TLS se puede establecer solo con certificados públicos de servidor y cliente. ¿No se requiere la clave privada del cliente? Si es así, ¿no es esta una configuración insegura?

La preocupación es que, si no se usa la clave privada del cliente, cualquiera que tenga la clave pública del cliente debería poder conectarse al servidor a través de tls ..? este no debería ser el caso en IOT que utiliza PKI para la autenticación del dispositivo.

    
pregunta user1493834 15.12.2017 - 10:18
fuente

1 respuesta

3
  

¿No se requiere la clave privada del cliente?

El intercambio de claves TLS no tiene nada que ver con la autenticación mediante certificados de cliente, es decir, es totalmente independiente de ella. Esto significa que tanto el intercambio de claves RSA como el intercambio de claves DH se pueden usar con o sin autenticación mediante certificados de cliente.

El servidor solicita los certificados de cliente, pero solo si el servidor está configurado en consecuencia (generalmente no es el caso). Solo entonces el servidor emitirá un CertificateRequest y el cliente proporcionará su propio certificado y solo en este caso necesitará la clave privada correspondiente.

Más detalladamente: el certificado se envía sin cifrar dentro del mensaje ClientCertificate. Además, el cliente utiliza la clave privada de su certificado para firmar los mensajes intercambiados anteriormente y envía esta firma dentro del mensaje CertificateVerify. De esta manera, el cliente demuestra que posee la clave privada que coincide con el certificado. Consulte TLS 1.2 sección 7.4.8 para obtener más información.

    
respondido por el Steffen Ullrich 15.12.2017 - 10:36
fuente