Confuso su RFC 4492: differenza tra "chiave pubblica compatibile con ECDH" e "chiave pubblica compatibile con ECDSA"

1

Come da sezione 5.3 di RFC 4492 , sono confuso con la seguente tabella:

          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.

In particolare, vorrei sapere la differenza tra

ECDH-capable public key

e

ECDSA-capable public key

Che cosa definisce in realtà una chiave pubblica EC-compatibile e quali sono le differenze tra i due?

Sto utilizzando XCA / OpenSSL e ho configurato una CA e un certificato del server firmato per utilizzare una chiave EC prime256v1 / P-256. Quindi, avrò un client / server che usa le seguenti suite di crittografia:

TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA

e

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA

    
posta Daniel 07.08.2015 - 03:43
fonte

1 risposta

2

Tale formulazione è un'abbreviazione; la chiave è (o le chiavi sono) effettivamente la stessa, la differenza è se il certificato consente l'uso della chiave per lo scopo pertinente. Vedi sezione 2 :

Note that there is no structural difference between ECDH and ECDSA keys. A certificate issuer may use X.509 v3 keyUsage and extendedKeyUsage extensions to restrict the use of an ECC public key to certain computations [15]. This document refers to an ECC key as ECDH-capable if its use in ECDH is permitted. ECDSA-capable is defined similarly.

[15] si riferisce a rfc3280, che è stato sostituito da rfc5280 . Se l'estensione KeyUsage è presente nel certificato, ha il bit digitalSignature impostato per consentire l'uso della chiave soggetto per ECDSA e / o il bit keyAgreement impostato per consentire l'uso della chiave soggetto per ECDH. Se KeyUsage non è presente, la chiave può essere utilizzata per qualsiasi scopo altrimenti accettabile per i programmi che utilizzano il certificato.

In linea di massima ExtendedKeyUsage può anche essere usato, ma non sono a conoscenza di alcun valore EKU definito - e più al punto, implementato dal software comune - per questi specifici usi. (Esistono molti valori EKU definiti per altre cose, inclusa la distinzione server SSL / TLS da client SSL / TLS.)

    
risposta data 07.08.2015 - 06:56
fonte

Leggi altre domande sui tag