¿Qué configuraciones de PGP se han encontrado vulnerables?

2

Examinando artículos, a menudo encontramos recomendaciones como "Usar el tipo / tamaño de clave predeterminado X " , mientras que un artículo escrito unos años más tarde lo escribirá "Se ha encontrado que el tipo / tamaño de clave X es vulnerable; en su lugar, utilice el otro tipo de clave Y " .

O a menudo aparece uno "asegúrate de cambiar a preferencias de hash más fuertes" [ ejemplo ]. Otros ejemplos similares: PGP v3 keys vulnerable , Las identificaciones de claves tienen problemas graves .

Dado el estado actual de la seguridad y el cifrado de la información , ¿qué preferencias o configuraciones han demostrado ser vulnerables y deben evitarse o reemplazarse por opciones más sólidas?

    
pregunta IQAndreas 21.09.2014 - 12:16
fuente

1 respuesta

3

Versiones de formato PGP e ID de clave

Las versiones anteriores del formato de clave PGP tienen varios problemas que pueden dañar la seguridad. RFC 4880 explica esto con mayor brevedad:

  • mayores posibilidades de colisiones de ID clave
  • la huella digital solo contiene la clave, no el tamaño ni el algoritmo (nuevamente, mayor probabilidad de colisiones de identificación)
  • uso de MD5, que se considera roto

De todos modos, el uso de ID de teclas cortas se considera una mala práctica , ya que la posibilidad de duplicar claves es bastante alta. En su lugar, utilice identificadores de clave largos o la huella digital completa.

Algoritmos de cifrado asimétrico

Hay principalmente tres opciones para elegir algoritmos: DSA / Elgamal, RSA y curvas elípticas (ECDSA).

  • DSA es muy dependiente de los buenos números aleatorios durante la generación de claves y el uso de la clave. Como ha habido varios problemas con los generadores de números aleatorios, ya no se recomienda como algoritmo predeterminado ( [1 ] , [ 2] , más información en Wikipedia ), aunque las claves más pequeñas son suficientes (en comparación con RSA).
  • RSA necesita tamaños de clave más grandes, pero se considera seguro para claves de tamaño adecuado. las claves de 768 bits se han roto , 1024 bits claves podrían ser . Las claves a partir de 2048 bits se consideran seguras y actualmente son predeterminadas , claves de 4096 bits < a href="https://wiki.debian.org/Subkeys?action=show&redirect=subkeys"> actualmente recomendado por Debian y otros .
  • Las curvas elípticas aún no están ampliamente soportadas (GnuPG 2.1 las traerá, la aplicación End to End de Google ya las usa), y la seguridad de las curvas seleccionadas por el NIST todavía está en duda (sin ninguna prueba). En general, las curvas elípticas se consideran seguras.

Publiqué más información sobre la selección de claves en una publicación de superusuario .

Otras configuraciones para el hash y el cifrado simétrico

Los valores predeterminados de OpenPGP y GnuPG no cumplen con la seguridad más alta posible por razones de compatibilidad. Puede cambiar los algoritmos preferidos (que le gustaría que otros usaran al cifrarlos) mediante una firma especial. En GnuPG, puede crear esto usando gpg --edit-key y actualizando las preferencias usando

setpref SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed

Para cambiar las preferencias de firma y cifrado de otras personas, agregue estas líneas a ~/.gnupg/gpg.conf :

personal-digest-preferences SHA256
cert-digest-algo SHA256
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed

Esta lista ha sido elaborada por Ana Beatriz Guerrero López y hash de orden Algoritmos, algoritmos de cifrado simétricos y, finalmente, algoritmos de compresión ordenados por mayor entropía / seguridad.

No es un problema con las claves, pero algo relacionado con esos ajustes son dos problemas más bien teóricos. Mister, Zuccherato propuso un ataque de descifrado oracle en el modo de retroalimentación de cifrado de OpenPGP , que se puede mitigar siempre la compresión de datos que serán encriptados; y Jallad, Katz, Schneier propusieron un ataque de texto cifrado elegido que puede se puede evitar mediante el uso del paquete de datos protegidos de integridad recientemente introducido (en RFC 4880) (que es una elección hecha por la implementación).

    
respondido por el Jens Erat 21.09.2014 - 16:16
fuente

Lea otras preguntas en las etiquetas