Cifre openssl: cosa significa Au = ECDH?

2

Sto cercando di capire le diverse fasi di SSL. Ho fatto riferimento ad alcune fantastiche risposte su come funziona SSL / TLS e in particolare su meccanismi di autenticazione e numerose altre fonti.

Ma sono ancora confuso su questo: cosa significa Au=ECDH per un codice come ECDH-ECDSA-AES256-SHA. Dalla riga cmd:

ECDH-ECDSA-AES256-SHA SSLv3 Kx=ECDH/ECDSA Au=ECDH Enc=AES(256) Mac=SHA1

Quello che capisco è che il certificato del server avrà la chiave pubblica DH (poiché questo è fisso DH). Il certificato sarà firmato dalla CA. Quindi, quale ruolo giocano i tasti DSS (aka DSA) qui? Il certificato ha una firma DSS?

In secondo luogo, poiché l'autenticazione è DSS, perché dire Au=ECDH ?

Modifica Se hai suggerimenti per una buona risorsa da leggere specificamente sui meccanismi di autenticazione in SSL, lo apprezzerei.

    
posta sandyp 24.06.2015 - 17:53
fonte

2 risposte

1

Tratto da RFC4492 Sezione 2.1

2.1. ECDH_ECDSA

In ECDH_ECDSA, the server's certificate MUST contain an ECDH-capable public key and be signed with ECDSA.

A ServerKeyExchange MUST NOT be sent (the server's certificate contains all the necessary keying information required by the client to arrive at the premaster secret).

The client generates an ECDH key pair on the same curve as the server's long-term public key and sends its public key in the ClientKeyExchange message (except when using client authentication algorithm ECDSA_fixed_ECDH or RSA_fixed_ECDH, in which case the modifications from Section 3.2 or Section 3.3 apply).

Quindi in questo caso il server fornisce un certificato DSA contenente una chiave pubblica con capacità ECDH firmata con ECDSA. Per rispondere alla tua prima domanda, il server deve essere firmato con ECDSA. L'autenticazione ( Au ) per lo scambio di chiavi è ancora verificata con ECDSA. Potrei sbagliarmi, ma penso che questo potrebbe essere solo un errore nell'analisi di OpenSSL.

    
risposta data 24.06.2015 - 18:37
fonte
1

Per ECDH statico / fisso o DH statico, come plain-RSA (akRSA), proof-of-possession del server è implicito facendo in modo che keyexchange produca correttamente Finished. Apparentemente, OpenSSL indica questo usando l'algoritmo KX per l'algoritmo Au =, poiché non esiste un algoritmo specifico per l'autenticazione. Nota OpenSSL implementa la DH statica (non CE) solo molto recentemente, dal 1.0.2 nel 2015/01, quindi potresti non aver visto casi Au = DH.

Si noti inoltre che per TLSv1.2 vengono rimosse le precedenti restrizioni sul tipo di chiave CA-cert corrispondente alla ciphersuite o al messaggio CertReq (se utilizzato), invece la nuova estensione SignatureAlgorithms controlla questo. Vedere il testo dopo la tabella in rfc5246 7.4.2 rispetto alle versioni precedenti, e 7.4.6 e per ECC cambia in rfc4492 .

    
risposta data 26.06.2015 - 01:50
fonte

Leggi altre domande sui tag