Confundido acerca del RFC 4492: diferencia entre "clave pública con capacidad ECDH" y "clave pública con capacidad ECDSA"

1

Según la sección 5.3 de RFC 4492 , estoy confundido con la siguiente tabla:

          Key Exchange Algorithm  Server Certificate Type
      ----------------------  -----------------------

      ECDH_ECDSA              Certificate MUST contain an
                              ECDH-capable public key.  It
                              MUST be signed with ECDSA.

      ECDHE_ECDSA             Certificate MUST contain an
                              ECDSA-capable public key.  It
                              MUST be signed with ECDSA.

      ECDH_RSA                Certificate MUST contain an
                              ECDH-capable public key.  It
                              MUST be signed with RSA.

      ECDHE_RSA               Certificate MUST contain an
                              RSA public key authorized for
                              use in digital signatures.  It
                              MUST be signed with RSA.

Específicamente, me gustaría saber acerca de la diferencia entre

  

Clave pública compatible con ECDH

y

  

Clave pública capaz de ECDSA

¿Qué define realmente una clave pública con capacidad EC * y cuáles son las diferencias entre las dos?

Estoy usando XCA / OpenSSL y he configurado una CA y un certificado de servidor firmado para usar una clave prime256v1 / P-256 EC. Luego, tendré un cliente / servidor utilizando los siguientes conjuntos de cifrado:

  

TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA

y

  

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA

    
pregunta Daniel 07.08.2015 - 03:43
fuente

1 respuesta

2

Esa redacción es una abreviatura; la clave es (o las claves son) en realidad la misma, la diferencia es si el certificado permite el uso de la clave para el propósito relevante. Consulte la sección 2 :

  

Tenga en cuenta que no hay diferencia estructural entre ECDH y ECDSA      llaves. El emisor de un certificado puede usar el uso de la tecla X.509 v3 y      Extensiones ExtendedKeyUsage para restringir el uso de una clave pública ECC      a ciertos cálculos [15]. Este documento se refiere a una clave ECC como      Compatible con ECDH si se permite su uso en ECDH. Capaz de ECDSA es      definido de manera similar.

[15] se refiere a rfc3280, que ha sido reemplazado por rfc5280 . Si la extensión KeyUsage está presente en el certificado, tiene el digitalSignature bit establecido para permitir el uso de la clave del sujeto para ECDSA, y / o el keyAgreement bit establecido para permitir el uso de la clave del sujeto para ECDH. Si KeyUsage no está presente, la clave se puede utilizar para cualquier propósito aceptable para los programas que utilizan el certificado.

En principio, ExtendedKeyUsage también se puede usar, pero no conozco ningún valor EKU definido, y más aún, implementado por un software común, para estos usos específicos. (Hay muchos valores de EKU definidos para otras cosas, incluida la distinción de servidor SSL / TLS de cliente SSL / TLS).

    
respondido por el dave_thompson_085 07.08.2015 - 06:56
fuente

Lea otras preguntas en las etiquetas