GnuPG/es

Aus i2pwiki.mk16.de
Zur Navigation springen Zur Suche springen

GNU Privacy Guard[Bearbeiten]

Es personal. Es privado. Y no le importa a nadie más que a ti. (Phil Zimmermann, creador de PGP)

GNU Privacy Guard (GnuPG o GPG) es una herramienta de cifrado y firmas digitales, que viene a ser un reemplazo del PGP (Pretty Good Privacy) pero con la principal diferencia que es software libre licenciado bajo la GPL. GPG utiliza el estándar del IETF denominado OpenPGP.


Usos[Bearbeiten]

GPG es estable, calificado como un software para el uso en producción y es comúnmente incluido en los sistemas operativos como FreeBSD, OpenBSD, NetBSD y últimamente con todas las distribuciones GNU/Linux.

Aunque básicamente el programa tiene una interfaz textual, actualmente hay varias aplicaciones gráficas que utilizan recursos de GPG. Por ejemplo, ha sido integrado dentro de Kmail y Evolution, también hay un plugin llamado Enigmail que se integra con Mozilla y Thunderbird que trabajan en Windows, GNU/Linux y otros sistemas operativos. Debido a que los plugins no forman parte del mecanismo de GPG y no están especificados en los estándares OpenPGP, ni sus respectivos desarrolladores están vinculados con los proyectos de plugins, se podría pensar que las ventajas de seguridad de GPG puedan estar comprometidas o incluso perdiendo su efectividad como resultado de esta falta de coordinación y apoyo, pero al ser las herramientas de código abierto o scripts interpretados (como en el caso de los plugins en Thunderbird), se garantiza un funcionamiento fiable con la herramienta GPG.

GPG también puede ser compilado en otras plataformas como Mac OS X y Windows. En Mac OS X hay portada una aplicación libre llamada MacGPG, que ha sido adaptada para usar el ambiente del usuario y sus definiciones de clases nativas. La compilación cruzada no es un ejercicio trivial, por lo menos en parte debido a que las provisiones de seguridad cambian con el sistema operativo y su adaptación a menudo se vuelve difícil, pero los compiladores de alta calidad deben producir ejecutables que interactúen correctamente con otras implementaciones GPG.


Funcionamiento[Bearbeiten]

GPG cifra los mensajes usando pares de claves individuales asimétricas generadas por los usuarios. Las claves públicas pueden ser compartidas con otros usuarios de muchas maneras, un ejemplo de ello es depositándolas en los servidores de claves. Siempre deben ser compartidas cuidadosamente para prevenir falsas identidades por la corrupción de las claves públicas. También es posible añadir una firma digital criptográfica a un mensaje, de esta manera la totalidad del mensaje y el remitente pueden ser verificados en caso de que se desconfíe de una correspondencia en particular.

GnuPG también soporta algoritmos de cifrado simétricos, por ejemplo CASTS.

GPG no usa algoritmos de software que están restringidos por patentes, entre estos se encuentra el algoritmo de cifrado IDEA que está presente en PGP casi desde sus inicios. En su lugar usa una serie de algoritmos no patentados como ElGamal, CAST5, Triple DES (3DES), AES y Blowfish. También es posible usar IDEA en GPG descargando un plugin extra, sin embargo este puede requerir una licencia para usuarios de algunos países en donde esté patentada IDEA.

GPG es un software de cifrado híbrido que usa una combinación convencional de criptografía de claves simétricas para la rapidez y criptografía de claves públicas para el fácil compartimiento de claves seguras, típicamente usando recipientes de claves públicas para cifrar una clave de sesión que es usada una vez. Este modo de operación es parte del estándar OpenPGP y ha sido parte del PGP desde su primera versión.


Problemas[Bearbeiten]

El estándar OpenPGP especifica varios métodos de mensajes con firmas digitales. Debido a un error al intentar mejorar la eficiencia de uno de los métodos, se introdujo una vulnerabilidad de seguridad (Nguyen 2004) que afectó a un único método de mensajes firmado digitalmente utilizado en algunas versiones de GPG (desde la 1.0.2 hasta la 1.2.3, con menos de 1.000 claves listadas en los servidores de claves). Dicha vulnerabilidad ha sido corregida a partir de la versión 1.2.4 de GPG. El episodio ilustra la dificultad de realizar implementaciones correctas de algoritmos criptográficos, protocolos e incluso criptosistemas.

GPG es un sistema en línea de comandos. Diferentes implementaciones gráficas están disponibles pero sólo algunas tienen implementadas todas sus características (por ejemplo: borrado de ID, usuarios o firmas). Debido a que todas las instrucciones deben ser pasadas a la línea de comandos, rápidamente llegan a dificultar el uso correcto de aspectos no triviales del programa. El trabajo sobre una versión de biblioteca está en progreso.


Instalación[Bearbeiten]

GnuPG se encuentra prácticamente en todas las plataformas y sistemas operativos, aunque en la mayoría no viene instalado (por los problemas legales y políticos antes mencionados).

Para todas las distribuciones existen paquetes en los Repositorios Linux/es.


Instalación vía APT[Bearbeiten]

Aquí debemos abrir una terminal (al presionar la combinación de teclas ALT+F2) y tipear:

$ sudo apt-get install gnupg

Para los que tengan instalados un administrador gráfico de programas (synaptic, smartpm o el centro de software), sera solo cuestión de buscar e instalarlo.

También puede ser útil instalar una interfaz gráfica de usuario como Seahorse.

$ sudo apt-get install seahorse


Primeros Pasos : Nuestras Llaves[Bearbeiten]

GnuPG nos permite crear de forma fácil y cómoda nuestras llaves.

Para mas detalles se pueden consultar la guía Llaves GnuPG/es o el completo Manual GnuPG.

Estas llaves se podrán usar con varios objetivos:

  • Crear círculos de confianza
  • Verificar la integridad de datos
  • Intercambiar información y datos de forma segura


Respaldo de claves[Bearbeiten]

Existen al menos un par de métodos para respaldar nuestras llaves.

1) Respaldo completo, copiar nuestra carpeta con todas las llaves. Ventaja: Asi respaldamos las llaves de nuestro circulo.

$ cp -r ~/.gnupg

2) Respaldo solo de nuestra privada. (completar)


Servidores de llaves publicas[Bearbeiten]

Si se desea, se pueden exportar las llaves publicas a servidores públicos con el fin de hacer mas fácil la tarea de importación de llaves publicas propias por terceros, así se ahorra el tener que estar enviando el archivo con la respectiva llave publica.

Nota: Seahorse ya viene con al menos tres direcciones de servidores públicos de llaves por defecto:

hkp://keyserver.ubuntu.com:11371
hkp://pool.sks-keyservers.net
ldap://keyserver.pgp.com

Para i2p existen los siguientes servidores:

keys.inscrutable.i2p
keyserver.i2p
killyourtv.i2p/sks
keys.echelon.i2p

La exportación de nuestras llaves publicas se puede realizar a través del menú: Remota > Sincronizar y publicar llaves.

Si se desea importar la llave publica de otro usuario a través de un servidor publico, se necesita o el identificador del usuario (generalmente su nombre) o el ID de la llave (palabra de 8 caracteres alfanuméricos). Se va al menú: Remota > Buscar claves remotas; y se ingresa el valor a buscar (Nombre o ID).

Si el otro usuario ha exportado su clave publica a un servidor publico, esta se desplegara en los resultados de la búsqueda y se podrá importar, con tan solo usar el botón derecho del ratón sobre la clave objetivo.



El uso de servidores públicos de llaves conlleva es una perdida de privacidad.



GnuPG y los clientes de Correo[Bearbeiten]

La mayoría de los clientes de correo soportan directa o a través de alguna extensión el uso de GnuPG.

En caso de que nuestro cliente no tenga soporte, aun así podemos usarlo a través de la linea de comandos para cifrar nuestros mensajes y simplemente copiarlos directamente como texto dentro del cuerpo del mensaje en el mensaje que se enviara.

A la vez, desde la linea de comandos también podemos descifrar cualquier mensaje dirigido a nosotros.

Es razonable desconfiar de aquellos clientes de correo que no den soporte a GnuPG.

Para mas detalles consultar el Manual GnuPG/es o la guía sobre Llaves GnuPG/es.


Véase También[Bearbeiten]


Referencias[Bearbeiten]

<references />