Cos'è una chiave DH? #
Una chiave Diffie-Hellman (DH) è un metodo crittografico utilizzato per scambiare in modo sicuro chiavi segrete su una rete non attendibile. Consente a due parti di generare in modo indipendente coppie di chiavi pubbliche e private, condividere le proprie chiavi pubbliche e derivare una chiave segreta condivisa senza mai trasmettere le proprie chiavi private. Questa chiave segreta condivisa può quindi essere utilizzata per la crittografia, garantendo la riservatezza e l'integrità della comunicazione tra le due parti. Lo scambio di chiavi DH è una componente fondamentale dei protocolli di comunicazione sicuri come SSL/TLS, SSH e VPN, offrendo protezione contro le intercettazioni e garantendo una trasmissione sicura dei dati.
Cos'è una chiave ECDHE? #
D'altra parte, ECDHE, o Elliptic Curve Diffie-Hellman Ephemeral, è un metodo di scambio di chiavi crittografiche utilizzato in protocolli di comunicazione sicuri come SSL/TLS per stabilire una connessione sicura ed efficiente tra due parti. Sfrutta la crittografia a curva ellittica per consentire lo scambio sicuro di chiavi di crittografia. ECDHE fornisce Perfect Forward Secrecy generando coppie di chiavi temporanee per ogni sessione, garantendo che anche se la chiave di una sessione viene compromessa, non compromette la sicurezza delle altre sessioni. Questo metodo offre un elevato livello di sicurezza con chiavi di lunghezza più breve, rendendolo efficiente dal punto di vista computazionale e adatto a varie applicazioni, tra cui la navigazione Web sicura e la crittografia della posta elettronica.
Passi per analizzare l'errore troppo piccolo della chiave DH #
L'analisi dell'errore "Chiave DH troppo piccola" si verifica in genere nel contesto dell'utilizzo di protocolli crittografici come SSL/TLS o SSH e si riferisce all'uso di dimensioni di chiave Diffie-Hellman deboli o insufficienti per lo scambio sicuro di chiavi. Esaminiamo i messaggi di registro RELIANOID Bilanciatore del carico.
27 luglio 17:43:20 noid-ee-01 pound: MyHTTPfarm, BIO_do_handshake con:443 non riuscito: errore:141A318A:routine SSL:tls_process_ske_dhe:chiave dh troppo piccola
Questo errore relativo alla "chiave DH troppo piccola" viene rilevato durante la connessione a un determinato backend. Possiamo testare la connessione SSL con il seguente comando:
root@noid-ee-01:~# openssl s_client -connect:443 -nomeserver | grep Temp [...] Chiave temporanea del server: [...]
Migliori Chiave temporanea del server dovrebbe essere 2048 bit per un buon servizio protetto, quindi se la chiave DH del backend ha prestazioni troppo basse, viene visualizzato questo messaggio di errore relativo a "Chiave DH troppo piccola".
Per impostazione predefinita, la configurazione openssl nel bilanciatore del carico consente un minimo di TLSv1.2 e un SECLEVEL di 2. Questo è definito nel file di configurazione /etc/ssl/openssl.cnf.
[system_default_sect] MinProtocol = TLSv1.2 CipherString = DEFAULT@SECLEVEL=2
Quindi, per risolvere questo problema è necessario rafforzare i codici nel lato back-end e consentire codici più potenti come "ECDHE-RSA-AES256-GCM-SHA384,ECDHE-RSA-AES256-SHA384,ECDHE-RSA-AES256-SHA“. Assicurati che tali codici siano disponibili nei servizi protetti di backend.