Usando el conjunto de cifrado: comandos de implementación

1

¿Puede alguien indicarme que use los comandos de OpenSSL correctos para usar un determinado conjunto de cifrado? Por ejemplo, DHE-RSA-AES256-GCM-SHA384 (no estoy usando la suite ECDH debido a supuestas controversias / problemas de backback de la NSA). Como lo usaré en una red interna, me atendré a TLSv1.2 (usará Firefox 39.0 portable).

  • intercambio de claves = Diffie-Hellman Efímero
  • autenticación = RSA
  • cifrado = AESGCM (256)
  • Código de autenticación de mensaje = AEAD

(lo que las partes anteriores entran en juego en los comandos de openssl para generar clave y cert)

  • Crea tu propia clave de CA raíz y certificado:

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

    • openssl req -new -SHA512 -key server.key -nodes -out server.csr
  • Cree la clave FQDN y cert con su propia CA raíz. (creó una cuenta DynDNS para que la prueba Qualys SSL la haya probado)

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

parte de /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;

utilizando:

  • OpenSSL 1.0.1k
  • Nginx 1.6.2
  • Debian 8.1
pregunta Berten 30.07.2015 - 13:52
fuente

1 respuesta

2

No estoy seguro de entender muy bien lo que preguntas, pero intentaré darte una respuesta.

Primero, Firefox no es compatible con AES256-GCM, solo con AES128-GCM y con el intercambio de claves ECDHE. Puede verificar esto navegando por esta página: enlace

Si quieres que tu configuración funcione con Firefox, te sugiero que cambies tu paquete de cifrado a ECDHE_RSA_WITH_AES_128_GCM_SHA256 (o TLS_DHE_RSA_WITH_AES_256_CBC_SHA si no te gusta. pero ya no usas AES-GCM).

Sobre sus comandos de OpenSSL, la opción -SHA512 no tiene vínculo con el SHA256 o SHA384 utilizado en la suite de cifrado.

  • El primero (con OpenSSL) se usa para definir la firma Algoritmo que desea utilizar para la autenticación de certificados. mecanismo (para el intercambio de claves, cuando un cliente se conecta).
  • El segundo y el tercero (en conjunto de cifrado) se utilizan para garantizar la integridad de la mensajes cuando el cliente y el servidor están hablando entre sí.

EDIT no vio los comentarios.

Si desea un certificado para usar estos conjuntos de cifrado, genere un certificado RSA básico con estos comandos y debería funcionar.

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

Los comandos anteriores generarán su propia clave de CA y su certificado autofirmado.

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

Y esto generará su certificado de servidor web firmado por su CA.

Lo último será generar un dhparameter fuerte si usas DHE (y no ECDHE):

openssl dhparam -outform PEM -out dhparam.pem 4096

Tenga cuidado, esto requiere un uso intensivo de la CPU y puede llevar algo de tiempo.

    
respondido por el Jyo de Lys 30.07.2015 - 15:13
fuente

Lea otras preguntas en las etiquetas