Conjuntos de cifrado de secreto de avance perfecto

6

No he encontrado una manera directa de determinar dónde una lista de cifrado dada admite PFS o no. Por ejemplo, ¿cómo puedo usar la salida de:

$ openssl ciphers -v aECDSA:aECDH:kEDH:kRSA

para determinar si alguna de las configuraciones admite comunicación (no) basada en PFS?

    
pregunta sandyp 09.01.2015 - 03:26
fuente

1 respuesta

6

El secreto hacia adelante perfecto se obtiene mediante el uso de claves efímeras Diffie-Helman (DHE o EDH). Entonces, para obtener las demandas de cifrado en esa lista que son compatibles con PFS, puede hacer lo siguiente:

$ openssl ciphers -v aECDSA: aECDH: kEDH: kRSA | grep DHE

Esto incluirá cifrados basados en ECDHE (curva elíptica) y DHE (RSA). Una ventaja de ECDHE es que es mucho más rápido que DHE. Sin embargo, en la lista generada por ese comando todavía hay algunos cifrados débiles que usan criptografía débil o no: DES, RC4, SSLv3, NULL.

Todos los que tienen SSLv3 en común, por lo que al excluir SSLv3, obtienes una lista de 12 cifrados sólidos:

$ openssl ciphers -v aECDSA: aECDH: kEDH: kRSA | grep DHE | grep -v SSLv3

  

ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx = ECDH Au = ECDSA Enc = AESGCM (256) Mac = AEAD
  ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx = ECDH Au = ECDSA Enc = AES (256) Mac = SHA384
  ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx = ECDH Au = ECDSA Enc = AESGCM (128) Mac = AEAD
  ECDHE-ECDSA-AES128-SHA256 TLSv1.2 Kx = ECDH Au = ECDSA Enc = AES (128) Mac = SHA256
  DHE-DSS-AES256-GCM-SHA384 TLSv1.2 Kx = DH Au = DSS Enc = AESGCM (256) Mac = AEAD
  DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx = DH Au = RSA Enc = AESGCM (256) Mac = AEAD
  DHE-RSA-AES256-SHA256 TLSv1.2 Kx = DH Au = RSA Enc = AES (256) Mac = SHA256
  DHE-DSS-AES256-SHA256 TLSv1.2 Kx = DH Au = DSS Enc = AES (256) Mac = SHA256
  DHE-DSS-AES128-GCM-SHA256 TLSv1.2 Kx = DH Au = DSS Enc = AESGCM (128) Mac = AEAD
  DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx = DH Au = RSA Enc = AESGCM (128) Mac = AEAD
  DHE-RSA-AES128-SHA256 TLSv1.2 Kx = DH Au = RSA Enc = AES (128) Mac = SHA256
  DHE-DSS-AES128-SHA256 TLSv1.2 Kx = DH Au = DSS Enc = AES (128) Mac = SHA256

Tenga en cuenta que está excluyendo 4 cifrados PFS con su aECDSA: aECDH: kEDH: selección de kRSA.

  

ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx = ECDH Au = RSA Enc = AESGCM (256) Mac = AEAD
  ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx = ECDH Au = RSA Enc = AES (256) Mac = SHA384
  ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx = ECDH Au = RSA Enc = AESGCM (128) Mac = AEAD
  ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx = ECDH Au = RSA Enc = AES (128) Mac = SHA256

    
respondido por el sukosevato 09.01.2015 - 03:45
fuente

Lea otras preguntas en las etiquetas