¿Cómo almaceno los parámetros de Diffie-Hellman en un certificado X.509?

1 respuesta

7

La forma habitual en que se hace esto es hacer que Alicia firme el conjunto de parámetros de DH para usar. Esto requiere que la clave y el certificado de Alice sean apropiados para las firmas. En dos protocolos ampliamente desplegados:

  • En SSL / TLS , cuando Alice (el servidor) quiere usar Diffie-Hellman para el intercambio de claves , selecciona una de las suites de cifrado DHE . Los parámetros DH y la clave pública DH (la mitad del DH del servidor) se codifican como un mensaje ServerKeyExchange , que el servidor firma con su clave privada.

  • En S / MIME , cuando Alice firma un correo electrónico, puede incluirlo en el objeto de la firma. (debajo de la cubierta de la firma) un atributo SMIMECapabilities que puede contener los parámetros DH y la clave pública que debe usar, en caso de que el destinatario desee responder a Alice con un correo electrónico cifrado .

También es posible tener un certificado que contenga una clave pública de DH (y parámetros) directamente, pero esto se hace mucho más raramente porque tales certificados no pueden usarse para firmas, solo intercambio de claves.

Los propios parámetros de DH (no la clave pública) también podrían ser "conocidos" y, por lo tanto, distribuirse con el software. Esto es lo que suele ocurrir con las variantes de curva elíptica de DH (es posible construir su propia curva pero es relativamente caro, y la mayoría del software solo admite un subconjunto de 15 curvas NIST ).

Las extensiones personalizadas significan que solo el software su podrá procesarlas, lo que a menudo es restrictivo, por lo que no se recomienda. Además, la incorporación de datos en el certificado implica que los datos (cualquiera que sean) son elegidos por CA y tienen la misma duración que el certificado en sí, lo que puede o no ser adecuado (vale la pena considerarlo). ).

    
respondido por el Thomas Pornin 31.08.2012 - 18:14
fuente

Lea otras preguntas en las etiquetas