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).