Utilizzo della suite di crittografia: comandi di distribuzione

1

Qualcuno può indicarmi di usare i comandi OpenSSL corretti per usare una certa suite di cifratura. Ad esempio DHE-RSA-AES256-GCM-SHA384 (Non utilizzo la suite ECDH a causa di presunte controversie / problemi di backdoor NSA). Come userò questo su una rete interna rimarrebbe su TLSv1.2 (utilizzerò Firefox 39.0 portable).

  • scambio di chiavi = Diffie-Hellman Effimero
  • authentication = RSA
  • encryption = AESGCM (256)
  • Codice autenticazione messaggio = AEAD

(quali parti precedenti entrano in gioco nei comandi openssl per generare chiave e cert)

  • Crea la propria chiave CA root e cert:

    • openssl genpkey -algorithm DH -out rootca.key ....
    • openssl req -x509 -nuovo -SHA512 -nodes -key rootca.key -days 1826 -out rootca.crt
  • Crea CSR.

    • openssl req -new -SHA512 -key server.key -nodes -out server.csr
  • Creare la chiave FQDN e il certificato con la propria CA principale. (creato un account DynDNS per farlo testare con il test Qualys SSL)

    • openssl x509 -req -SHA512 -giorni 1826 -in server.csr -CA rootca.crt -CAkey rootca.key -CAcreateserial -out server.crt

parte di /etc/nginx/nginx.conf:

ssl_protocols TLSv1.2;
ssl_ciphers "DHE-RSA-AES256-GCM-SHA384";
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout  5m;

utilizza:

  • OpenSSL 1.0.1k
  • Nginx 1.6.2
  • Debian 8.1
posta Berten 30.07.2015 - 13:52
fonte

1 risposta

2

Non sono sicuro di capire molto bene quello che chiedi, ma cercherò di darti una risposta.

In primo luogo, Firefox non è compatibile con AES256-GCM, solo con AES128-GCM e con lo scambio di chiavi ECDHE. Puoi verificarlo sfogliando questa pagina con questo: link

Se vuoi che la tua configurazione funzioni con Firefox, ti suggerisco di cambiare la tua suite di cifratura in ECDHE_RSA_WITH_AES_128_GCM_SHA256 (o TLS_DHE_RSA_WITH_AES_256_CBC_SHA se davvero non ti piacciono le curve ellittiche, ma non usi più AES-GCM).

Informazioni sui comandi OpenSSL, l'opzione -SHA512 non ha alcun collegamento con SHA256 o SHA384 utilizzato nella suite di crittografia.

  • Il primo (con OpenSSL) viene utilizzato per definire la firma algoritmo che si desidera utilizzare per l'autenticazione del certificato meccanismo (per lo scambio di chiavi, quando un client si connette).
  • Il secondo e il terzo (nella suite di crittografia) vengono utilizzati per garantire l'integrità di messaggi quando client e server parlano tra loro.

EDIT non ha visto i commenti.

Se vuoi che un certificato usi queste suite di crittografia, genera un certificato RSA di base usando questi comandi e dovrebbe funzionare.

openssl genrsa -out ca.key 4096
openssl req -new -x509 -days 1826 -key ca.key -out ca.crt -sha256

I comandi precedenti genereranno la tua chiave CA e il tuo certificato autofirmato.

openssl genrsa -out webserver.key 4096
openssl req -new -key webserver.key -out webserver.csr -sha256
openssl x509 -req -days 730 -in webserver.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out webserver.crt -sha256

E questo genererà il certificato del tuo server web firmato dalla tua CA.

L'ultima cosa sarà generare un strong dhparameter se usi DHE (e non ECDHE):

openssl dhparam -outform PEM -out dhparam.pem 4096

Fai attenzione, si tratta di un utilizzo intensivo della CPU e potrebbe richiedere del tempo.

    
risposta data 30.07.2015 - 15:13
fonte

Leggi altre domande sui tag