De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

GNU Privacy Guard ( GnuPG o GPG ) es un software libre de reemplazo para Symantec 's PGP de cifrado paquete de software. Cumple con RFC 4880, la especificación de seguimiento de estándares IETF de OpenPGP . Las versiones modernas de PGP son interoperables con GnuPG y otros sistemas compatibles con OpenPGP. [4]

GnuPG es parte del Proyecto GNU y recibió una importante financiación del gobierno alemán en 1999. [5]

Resumen [ editar ]

GnuPG es un programa de software de cifrado híbrido porque utiliza una combinación de criptografía de clave simétrica convencional para mayor velocidad y criptografía de clave pública para facilitar el intercambio seguro de claves, normalmente mediante el uso de la clave pública del destinatario para cifrar una clave de sesión que solo se usa una vez. Este modo de operación es parte del estándar OpenPGP y ha sido parte de PGP desde su primera versión.

La serie GnuPG 1.x utiliza una biblioteca criptográfica integrada, mientras que la serie GnuPG 2.x la reemplaza con Libgcrypt .

GnuPG cifra los mensajes utilizando pares de claves asimétricos generados individualmente por los usuarios de GnuPG. Las claves públicas resultantes pueden intercambiarse con otros usuarios de diversas formas, como servidores de claves de Internet . Siempre deben intercambiarse con cuidado para evitar la suplantación de identidad al corromper las correspondencias de identidad de clave pública ↔ "propietario". También es posible agregar una firma digital criptográfica a un mensaje, de modo que se pueda verificar la integridad del mensaje y el remitente, si una correspondencia particular en la que se confió no se ha dañado.

GnuPG también admite algoritmos de cifrado simétrico . Por defecto, GnuPG usa el algoritmo simétrico AES desde la versión 2.1, [6] CAST5 fue usado en versiones anteriores. GnuPG no utiliza software o algoritmos patentados o restringidos de otro modo. En cambio, GnuPG utiliza una variedad de otros algoritmos no patentados. [7]

Durante mucho tiempo, no admitió el algoritmo de cifrado IDEA utilizado en PGP. De hecho, era posible usar IDEA en GnuPG descargando un complemento para él, sin embargo, esto podría requerir una licencia para algunos usos en países en los que IDEA estaba patentada. A partir de las versiones 1.4.13 y 2.0.20, GnuPG admite IDEA porque la última patente de IDEA expiró en 2012. El soporte de IDEA tiene como objetivo "deshacerse de todas las preguntas de las personas que intentan descifrar datos antiguos o migrar claves de PGP a GnuPG ", [8] y, por lo tanto, no se recomienda su uso regular.

A partir de las versiones 2.2, GnuPG admite los siguientes algoritmos:

Llave pública
RSA , ElGamal , DSA , ECDH , ECDSA , EdDSA
Cifrar
3DES , IDEA (desde las versiones 1.4.13 y 2.0.20), CAST5 , Blowfish , Twofish , AES-128, AES-192, AES-256 , Camellia-128, -192 y -256 (desde las versiones 1.4.10 y 2.0 .12)
Picadillo
MD5 , SHA-1 , RIPEMD-160 , SHA-256, SHA-384, SHA-512, SHA-224
Compresión
Sin comprimir, ZIP , ZLIB , BZIP2

Las versiones más recientes de GnuPG 2.x ("moderna" y la serie "estable" ahora obsoleta) exponen la mayoría de las funciones y algoritmos criptográficos que proporciona Libgcrypt (su biblioteca de criptografía), incluida la compatibilidad con la criptografía de curva elíptica (ECDH, ECDSA y EdDSA) [9 ] en la serie "moderna" (es decir, desde GnuPG 2.1).

Historia [ editar ]

GnuPG fue desarrollado inicialmente por Werner Koch . [10] [11] La primera versión de producción, la versión 1.0.0, fue lanzada el 7 de septiembre de 1999, casi dos años después del primer lanzamiento de GnuPG (versión 0.0.0). [1] [10] El Ministerio Federal de Economía y Tecnología de Alemania financió la documentación y la adaptación a Microsoft Windows en 2000. [11]

GnuPG es un sistema compatible con el estándar OpenPGP, por lo que la historia de OpenPGP es de importancia; fue diseñado para interoperar con PGP , un programa de cifrado de correo electrónico inicialmente diseñado y desarrollado por Phil Zimmermann . [12] [13]

El 7 de febrero de 2014, un GnuPG crowdfunding esfuerzo cerrada, elevando € 36.732 para un nuevo sitio Web y mejoras en la infraestructura. [14]

Ramas [ editar ]

A partir de enero de 2018 , hay dos ramas de GnuPG que se mantienen activamente:

  • "Moderno" (2.2), con numerosas características nuevas, como la criptografía de curva elíptica , en comparación con la antigua rama "estable" (2.0), que reemplazó con el lanzamiento de GnuPG 2.2.0 el 28 de agosto de 2017. [15] Inicialmente fue lanzado el 6 de noviembre de 2014 [9].
  • "Clásico" (1.4), la versión independiente más antigua, pero aún mantenida, más adecuada para plataformas antiguas o integradas. Publicado inicialmente el 16 de diciembre de 2004 [16].

No se pueden instalar diferentes versiones de GnuPG 2.x (por ejemplo, de las ramas 2.2 y 2.0) al mismo tiempo. Sin embargo, es posible instalar una versión "clásica" de GnuPG (es decir, de la rama 1.4) junto con cualquier versión de GnuPG 2.x. [9]

Antes del lanzamiento de GnuPG 2.2 ("moderno"), la rama "estable" ahora obsoleta (2.0) se recomendaba para uso general, lanzada inicialmente el 13 de noviembre de 2006. [17] Esta rama llegó al final de su vida útil en diciembre 31 de 2017; [18] Su última versión es 2.0.31, lanzada el 29 de diciembre de 2017. [19]

Antes del lanzamiento de GnuPG 2.0, todas las versiones estables se originaban en una sola rama; es decir, antes del 13 de noviembre de 2006, no se mantuvieron múltiples ramas de lanzamiento en paralelo. Estas ramas de lanzamiento anteriores, secuencialmente sucesivas (hasta 1.4) fueron:

  • 1.2 rama, lanzada inicialmente el 22 de septiembre de 2002, [20] con 1.2.6 como última versión, lanzada el 26 de octubre de 2004. [21]
  • 1.0 rama, lanzada inicialmente el 7 de septiembre de 1999, [1] con 1.0.7 como última versión, lanzada el 30 de abril de 2002. [22]

(Tenga en cuenta que las ramas con un número de versión menor impar (por ejemplo, 2.1, 1.9, 1.3) son ramas de desarrollo que conducen a una rama de versión estable con un número de versión "+ 0.1" más alto (por ejemplo, 2.2, 2.0, 1.4), por lo tanto, las ramas 2.2 y 2.1 ambas pertenecen a la serie "moderna", 2.0 y 1.9 ambas a la serie "estable", mientras que las ramas 1.4 y 1.3 pertenecen ambas a la serie "clásica").

Plataformas [ editar ]

Aunque el programa básico GnuPG tiene una interfaz de línea de comandos , existen varios front-end que le proporcionan una interfaz gráfica de usuario . Por ejemplo, el soporte de cifrado GnuPG se ha integrado en KMail y Evolution , los clientes gráficos de correo electrónico que se encuentran en KDE y GNOME , los escritorios Linux más populares . También hay interfaces gráficas de GnuPG, por ejemplo Seahorse para GNOME y KGPG para KDE.

GPGTools proporciona una serie de interfaces para la integración del sistema operativo de cifrado y administración de claves , así como instalaciones de GnuPG a través de paquetes de instalación [23] para macOS . GPG Suite [24] instala todas las aplicaciones OpenPGP relacionadas (GPG Keychain), complementos ( GPG Mail ) y dependencias (MacGPG), junto con GPG Services (integración en el menú de macOS Services) para usar el cifrado basado en GnuPG.

Las aplicaciones de mensajería instantánea como Psi y Fire pueden proteger automáticamente los mensajes cuando GnuPG está instalado y configurado. El software basado en la web como Horde también lo utiliza. La extensión multiplataforma Enigmail proporciona compatibilidad con GnuPG para Mozilla Thunderbird y SeaMonkey . Del mismo modo, Enigform proporciona compatibilidad con GnuPG para Mozilla Firefox . FireGPG se suspendió el 7 de junio de 2010. [25]

En 2005, g10 Code GmbH e Intevation GmbH lanzaron Gpg4win , un paquete de software que incluye GnuPG para Windows, GNU Privacy Assistant y complementos GnuPG para Windows Explorer y Outlook . Estas herramientas están incluidas en un instalador estándar de Windows, lo que facilita la instalación y el uso de GnuPG en sistemas Windows. [26]

Limitaciones [ editar ]

Como sistema basado en línea de comandos, GnuPG 1.x no está escrito como una API que pueda incorporarse a otro software. Para superar esto, GPGME (abreviado de GnuPG Made Easy ) se creó como un envoltorio de API alrededor de GnuPG que analiza la salida de GnuPG y proporciona una API estable y mantenible entre los componentes. [27] Esto actualmente requiere una llamada fuera de proceso al ejecutable GnuPG para muchas llamadas a la API de GPGME; como resultado, los posibles problemas de seguridad en una aplicación no se propagan al código criptográfico real [ cita requerida ] debido a la barrera del proceso. Se han creado varias interfaces gráficas basadas en GPGME.

Desde GnuPG 2.0, muchas de las funciones de GnuPG están disponibles directamente como API C en Libgcrypt . [28]

Vulnerabilidades [ editar ]

El estándar OpenPGP especifica varios métodos para firmar mensajes digitalmente . En 2003, debido a un error en un cambio a GnuPG destinado a hacer que uno de esos métodos sea más eficiente, se introdujo una vulnerabilidad de seguridad. [29] Afectó solo a un método de firma digital de mensajes, solo para algunas versiones de GnuPG (1.0.2 a 1.2.3), y había menos de 1000 claves de este tipo listadas en los servidores de claves. [30] La mayoría de la gente no utilizó este método y, en cualquier caso, no se animó a hacerlo, por lo que el daño causado (si lo hubo, ya que no se ha informado públicamente de ninguno) parecería haber sido mínimo. La compatibilidad con este método se ha eliminado de las versiones de GnuPG publicadas después de este descubrimiento (1.2.4 y posteriores).

Se descubrieron dos vulnerabilidades más a principios de 2006; el primero es que los usos con secuencias de comandos de GnuPG para la verificación de firmas pueden dar lugar a falsos positivos , [31] el segundo, que los mensajes que no son MIME eran vulnerables a la inyección de datos que, si bien no están cubiertos por la firma digital, se informaría como parte de el mensaje firmado. [32] En ambos casos, las versiones actualizadas de GnuPG estaban disponibles en el momento del anuncio.

En junio de 2017, Bernstein, Breitner y otros descubrieron una vulnerabilidad (CVE-2017-7526) dentro de Libgcrypt : una biblioteca utilizada por GnuPG, que permitió una recuperación de clave completa para RSA-1024 y aproximadamente más de 1/8 de RSA- 2048 llaves. Este ataque de canal lateral aprovecha el hecho de que Libgcrypt utilizó un método de ventanas deslizantes para exponenciación que conduce a la fuga de bits de exponentes y a la recuperación completa de la clave. [33] [34] Una vez más, una versión actualizada de GnuPG estuvo disponible en el momento del anuncio.

En octubre de 2017, se anunció la vulnerabilidad ROCA que afecta a las claves RSA generadas por los tokens YubiKey 4, que a menudo se utilizan con PGP / GPG. Se encontró que muchas claves PGP publicadas eran susceptibles. [35]

Alrededor de junio de 2018, se anunciaron los ataques SigSpoof . Estos permitieron a un atacante falsificar de manera convincente las firmas digitales. [36] [37]

En enero de 2021, se lanzó Libgcrypt 1.9.0, que se encontró que contenía un error grave que era fácil de explotar. Se lanzó una solución 10 días después en Libgcrypt 1.9.1. [38]

Soporte de aplicaciones [ editar ]

Las aplicaciones, interfaces y extensiones de navegador notables que admiten GPG incluyen las siguientes:

  • Claws Mail  : un cliente de correo electrónico con complemento GPG
  • Enigmail  : una extensión de Mozilla Thunderbird y SeaMonkey
  • Evolution  : una aplicación de correo GNOME con soporte nativo de GnuPG
  • FireGPG  : una extensión de Firefox (descontinuada)
  • Gnus  : un lector de mensajes y noticias en GNU Emacs
  • Gpg4win  : un paquete de Windows con herramientas y manuales para el cifrado de archivos y correo electrónico
  • GPG Mail  : un complemento de macOS Mail.app
  • KGPG  : una interfaz gráfica de KDE para GnuPG
  • KMail  : cliente de correo electrónico / componente de correo electrónico de Kontact ( software PIM ), que utiliza GPG para criptografía
  • MCabber  : un cliente de Jabber
  • Mailvelope  : una extensión de Google Chrome y Firefox para el cifrado de extremo a extremo del tráfico de correo electrónico
  • Mutt  : un cliente de correo electrónico con compatibilidad con PGP / GPG incorporada
  • Psi (cliente de mensajería instantánea)
  • ¡El murciélago!  - cliente de correo electrónico, que puede usar GnuPG como proveedor de OpenPGP
  • WinPT  : una interfaz gráfica de GPG para Windows (descontinuada)

En la cultura popular [ editar ]

En mayo de 2014, The Washington Post informó sobre una guía en video de 12 minutos "GPG para periodistas" publicada en Vimeo en enero de 2013 [39] por un usuario llamado anon108. El Post identificó a anon108 como el denunciante fugitivo de la NSA Edward Snowden , quien dijo que hizo el tutorial, "narrado por una voz disfrazada digitalmente cuyos patrones de habla suenan similares a los de Snowden", para enseñar al periodista Glenn Greenwald encriptación de correo electrónico. Greenwald dijo que no podía confirmar la autoría del video. [40]Existe una similitud entre el tutorial y las entrevistas en las que Snowden ha participado, como mencionar una contraseña de "margaretthatcheris110% sexy" tanto en este video como en una entrevista realizada con John Oliver en 2015. [41]

Ver también [ editar ]

  • Criptoanálisis acústico
  • Fiesta de firma de llaves
  • Mensajería no registrada  , también conocida como OTR
  • Tarjeta OpenPGP  : una tarjeta inteligente con muchas funciones GnuPG
  • Gerente de empaquetación
  • RetroShare  : una red de amigo a amigo basada en la autenticación PGP
  • Web de confianza

Referencias [ editar ]

  1. ^ a b c "Notas de la versión" . GnuPG. Archivado desde el original el 9 de febrero de 2014 . Consultado el 30 de enero de 2014 .
  2. Koch, Werner (20 de abril de 2021). "[Anunciar] GnuPG 2.3.1 lanzado" . gnupg-publish (lista de correo) . Consultado el 20 de abril de 2021 .
  3. ^ "Archivo de NOTICIAS" . Cambios notables en el encabezado de la versión 1.4.23 (2018-06-11) . Consultado el 13 de junio de 2018 .
  4. ^ "Guardia de privacidad de GNU" . GnuPG.org. Archivado desde el original el 29 de abril de 2015 . Consultado el 26 de mayo de 2015 .
  5. ^ "Bundesregierung fördert Open Source" (en alemán). Heise en línea. 1999-11-15. Archivado desde el original el 12 de octubre de 2013 . Consultado el 24 de julio de 2013 .
  6. ^ "[Anunciar] La Beta quizás final para GnuPG 2.1" . Archivado desde el original el 2 de mayo de 2019 . Consultado el 28 de marzo de 2019 .
  7. ^ "Características de GnuPG" . Archivado desde el original el 4 de octubre de 2009 . Consultado el 1 de octubre de 2009 .
  8. Koch, Werner (21 de diciembre de 2012). "GnuPG 1.4.13 lanzado" (lista de correo). usuarios de gnupg. Archivado desde el original el 12 de febrero de 2013 . Consultado el 19 de mayo de 2013 .
  9. ↑ a b c Koch, Werner (6 de noviembre de 2014). "[Anunciar] GnuPG 2.1.0" moderno "lanzado" . gnupg.org. Archivado desde el original el 6 de noviembre de 2014 . Consultado el 6 de noviembre de 2014 .
  10. ↑ a b Angwin, Julia (5 de febrero de 2015). "El software de cifrado de correo electrónico del mundo se basa en un solo hombre, que se está arruinando" . ProPublica . Archivado desde el original el 6 de febrero de 2015 . Consultado el 6 de febrero de 2015 .
  11. ↑ a b Wayner, Peter (19 de noviembre de 1999). "Beca de premios de Alemania para el cifrado" . The New York Times . Archivado desde el original el 25 de agosto de 2014 . Consultado el 8 de agosto de 2014 .
  12. ^ "Guardia de privacidad de GNU" . OpenPGP.org. Archivado desde el original el 27 de febrero de 2014 . Consultado el 26 de febrero de 2014 .
  13. ^ "Dónde obtener PGP" . Philzimmermann.com. Archivado desde el original el 26 de febrero de 2014 . Consultado el 26 de febrero de 2014 .
  14. ^ "GnuPG: nuevo sitio web e infraestructura" . goteo.org. Archivado desde el original el 30 de marzo de 2014 . Consultado el 9 de marzo de 2014 .
  15. Koch, Werner (28 de agosto de 2017). "[Anunciar] Lanzamiento de GnuPG 2.2.0" . gnupg-publish (lista de correo). Archivado desde el original el 29 de agosto de 2017 . Consultado el 21 de septiembre de 2017 .
  16. Koch, Werner (16 de diciembre de 2004). "[Anunciar] GnuPG estable 1.4 lanzado" . gnupg.org. Archivado desde el original el 3 de enero de 2005 . Consultado el 16 de diciembre de 2004 .
  17. Koch, Werner (13 de noviembre de 2006). "[Anunciar] Lanzamiento de GnuPG 2.0" . gnupg.org. Archivado desde el original el 14 de febrero de 2014 . Consultado el 30 de enero de 2014 .
  18. Koch, Werner (23 de enero de 2017). "[Anunciar] GnuPG 2.1.18 lanzado" . gnupg.org. Archivado desde el original el 11 de febrero de 2017 . Consultado el 4 de febrero de 2017 .
  19. ^ "GnuPG 2.0.31" . 2017-12-29 . Consultado el 30 de diciembre de 2017 .
  20. Koch, Werner (6 de septiembre de 2002). "[Anunciar] Lanzamiento de GnuPG 1.2" . gnupg.org. Archivado desde el original el 17 de junio de 2014 . Consultado el 6 de noviembre de 2014 .
  21. Koch, Werner (26 de agosto de 2004). "[Anunciar] Lanzamiento de GnuPG 1.2.6" . gnupg.org. Archivado desde el original el 17 de junio de 2014 . Consultado el 6 de noviembre de 2014 .
  22. Koch, Werner (30 de abril de 2002). "[Anunciar] Lanzamiento de GnuPG 1.0.7" . gnupg.org. Archivado desde el original el 17 de junio de 2014 . Consultado el 6 de noviembre de 2014 .
  23. ^ "Suite GPG" . GPGTools . Consultado el 24 de diciembre de 2017 .
  24. ^ "Suite GPG" . GPGTools . Consultado el 16 de febrero de 2021 .
  25. ^ "Blog de desarrolladores de FireGPG" . Archivado desde el original el 27 de julio de 2013 . Consultado el 24 de julio de 2013 .
  26. ^ "Gpg4win - Acerca de Gpg4win" . www.gpg4win.org . Consultado el 23 de marzo de 2021 .
  27. ^ "GPGME (GnuPG simplificado)" . gnupg.org . 11 de febrero de 2015. Archivado desde el original el 17 de febrero de 2015 . Consultado el 3 de marzo de 2015 .
  28. ^ "Bibliotecas" . GNUPG . Archivado desde el original el 8 de diciembre de 2015 . Consultado el 2 de diciembre de 2015 .
  29. ^ Nguyen, Phong Q. "¿Podemos confiar en el software criptográfico? Defectos criptográficos en GNU Privacy Guard v1.2.3" . EUROCRYPT 2004: 555–570. Archivado desde el original el 4 de diciembre de 2017 . Consultado el 23 de agosto de 2019 .
  30. ^ Koch, Werner (27 de noviembre de 2003). "Claves de firma de ElGamal de GnuPG comprometidas" . Archivado desde el original el 18 de marzo de 2004 . Consultado el 14 de mayo de 2004 .
  31. ^ Koch, Werner (15 de febrero de 2006). "Verificación de firma falsa positiva en GnuPG" . Archivado desde el original el 17 de junio de 2006 . Consultado el 23 de mayo de 2006 .
  32. ^ Koch, Werner (9 de marzo de 2006). "GnuPG no detecta la inyección de datos sin firmar" . Archivado desde el original el 5 de mayo de 2006 . Consultado el 23 de mayo de 2006 .
  33. ^ Edge, Jake (5 de julio de 2017). "Rompiendo Libgcrypt RSA a través de un canal lateral" . LWN.net . Archivado desde el original el 28 de julio de 2017 . Consultado el 28 de julio de 2017 .
  34. ^ "Deslizándose hacia el desastre: fugas de ventanas deslizantes de izquierda a derecha" (PDF) . Archivado (PDF) desde el original el 30 de junio de 2017 . Consultado el 30 de junio de 2017 .
  35. ^ El regreso del ataque del calderero: factorización práctica de módulos RSA ampliamente utilizados Archivado el 12 denoviembre de 2017en la Wayback Machine , Matus Nemec, Marek Sys, Petr Svenda, Dusan Klinec, Vashek Matyas, noviembre de 2017
  36. ^ "Copia archivada" . Archivado desde el original el 7 de septiembre de 2018 . Consultado el 7 de septiembre de 2018 .Mantenimiento de CS1: copia archivada como título ( enlace )
  37. ^ "Copia archivada" . Archivado desde el original el 30 de junio de 2018 . Consultado el 7 de septiembre de 2018 .Mantenimiento de CS1: copia archivada como título ( enlace )
  38. ^ https://web.archive.org/web/20210221012505/https://www.theregister.com/2021/01/29/severe_libgcrypt_bug/
  39. ^ "GPG para periodistas - edición de Windows - cifrado para periodistas" . Vimeo . Archivado desde el original el 24 de octubre de 2016 . Consultado el 14 de octubre de 2016 .
  40. ^ Peterson, Andrea (14 de mayo de 2014). "Edward Snowden envió a Glenn Greenwald esta guía en video sobre cifrado para periodistas. Greenwald la ignoró" . The Washington Post . Archivado desde el original el 23 de junio de 2015 . Consultado el 28 de agosto de 2017 .
  41. ^ "Edward Snowden en contraseñas: la semana pasada esta noche con John Oliver (HBO)" . YouTube . Archivado desde el original el 17 de julio de 2020 . Consultado el 17 de julio de 2020 .

Enlaces externos [ editar ]

  • Página web oficial
  • Una breve historia de GNU Privacy Guard , escrita por Werner Koch, publicada en el décimo cumpleaños de GnuPG