PDF de programación - Substituir PGP 2.x por GnuPG

Imágen de pdf Substituir PGP 2.x por GnuPG

Substituir PGP 2.x por GnuPGgráfica de visualizaciones

Actualizado el 7 de Abril del 2020 (Publicado el 14 de Enero del 2017)
373 visualizaciones desde el 14 de Enero del 2017
75,5 KB
13 paginas
Creado hace 19a (01/09/2000)
Substituir PGP 2.x por GnuPG

Este documento está basado en una guía de compatibilidad PGP 2.x/GnuPG (http://www.toehold.com/~kyle/pgp-

compat.html) anterior, desarrollada por Kyle Hasselbacher (<kyle@toehold.com>). La guía fue reeditada y
ampliada por Mike Ashley (<jashley@acm.org>). Michael Fischer v. Mollard (<mfvm@gmx.de>) transfor-
mó el código HTML a DocBook SGML, y también añadió algunos datos. Algunos de los temas aquí tratados
tienen su origen en las listas de correo de gnupg-devel y gnupg-user. La solución dada al problema de fir-
mar y cifrar a un tiempo con una clave RSA fue tomada del guión de compatibilidad (http://muppet.faveve.uni-
stuttgart.de/~gero/gpg-2comp/changes.html) de Gero Treuner. Para cualquier duda, error, o sugerencia sobre es-
te manual, diríjase al mantenedor de este documento, Mike Ashley (<jashley@acm.org>). Para cualquier du-
da, corrección, o sugerencia sobre la versión en castellano, diríjase al traductor, Horacio (<homega@ciberia.es>).

Este manual puede ser redistribuido de acuerdo con los términos de la GNU General Public License
(http://www.gnu.org/copyleft/gpl.html); se puede encontrar una traducción de esta licencia al castellano en:
Licencia Pública GNU (http://visar.csustan.edu/~carlos/gpl-es.html)

Introducción
Este documento describe cómo comunicarse con otras personas que todavía estén usando viejas versiones de
PGP 2.x. GnuPG puede usarse como un substituto completo de PGP 2.x. Con GnuPG es posible cifrar y descifrar
mensajes PGP 2.x, importando primero las claves viejas, pero no se pueden generar claves de PGP 2.x. En este
documento se demuestra cómo ampliar la distribución normal de GnuPG para que funcione con claves PGP
2.x, y muestra qué opciones deben ser usadas para asegurar la interoperabilidad con los usuarios de PGP 2.x.
También se avisa de anomalías en la interoperabilidad entre PGP 2.x y GnuPG.

Nota: El uso de los módulos de extensión idea.c y rsa.c sin las correspondientes licencias de estos
algoritmos puede ser ilegal. En este documento no se recomienda que se usen dichos módulos. Si Vd. dispone
de claves PGP 2.x, el autor sugiere que las revoque en favor de otras nuevas y que anime a las personas con las
que mantenga correspondencia y que continúen usando claves PGP 2.x, a que hagan lo mismo.

Ampliar GnuPG para su funcionamiento con claves PGP
2.x
La distribución normal de GnuPG no funciona con claves PGP 2.x debido a que PGP 2.x hace uso de IDEA
como algoritmo de cifrado simétrico, y de RSA como algoritmo de clave pública. Estos dos algoritmos están
patentados1y sólo pueden ser usados bajo ciertas condiciones restrictivas. La política de GNU es la de no hacer
uso de algoritmos patentados, dado que éstas son una contradicción con el espíritu del "software"libre. La
utilización de estos algoritmos representa una barrera para el uso libre de GnuPG.

El uso de RSA e IDEA sin una licencia sobre éstos puede ser o no legal dependiendo de varias cuestio-
nes. RSA sólo está patentado en los Estados Unidos, por lo tanto sí que es lícito desarrollar versiones de RSA

1. La patente de RSA finaliza en Septiembre de 2000. La patente de IDEA finaliza en el año 2011.

1

Substituir PGP 2.x por GnuPG

fuera de los EE.UU. El módulo de extensión de RSA para GnuPG es una de estas versiones, y en consecuencia
sí que puede ser usado legalmente fuera de los Estados Unidos, aunque sería ilegal si lo usara dentro de este
país. En los Estados Unidos existe una implementación de referencia para RSA, llamada RSAREF, y que se en-
cuentra disponible por ftp en funet.fi (ftp://ftp.funet.fi/pub/crypt/cryptography/asymmetric/rsa/rsaref2.tar.gz), o
en debian.org (ftp://non-us.debian.org/debian-non-US/dists/stable/non-US/source/rsaref_19930105.orig.tar.gz),
y que puede usarse legalmente en los EE.UU. sin cargo alguno para el uso con fines no lucrativos. Debido a
leyes que restringen la exportación de este código de los EE.UU., no puede ser distribuido fuera de este país, y
por tanto existen dos modos de integrar RSA en GnuPG: uno para los EE.UU. y Canadá, y otro para el resto del
mundo.

La situación de IDEA es más simple. IDEA está patentado en Europa y en los EE.UU., y queda pendiente

una patente para Japón. El propietario de la patente, Ascom, concede una licencia (http://www.ascom.ch/infosec/idea/licensing.html)
con fines no lucrativos gratuita, pero la definición de fines no lucrativos es bastante estricta. Si desea utilizar
IDEA para fines comerciales necesita adquirir una licencia.

Para poder usar los módulos de extensión primero hay que obtener el código fuente de éstos, idea.c y
rsa.c, o rsaref.c, del directorio de cotribución (ftp://ftp.gnupg.org/pub/gcrypt/contrib/) de código a GnuPG.
Una vez se tenga el código, éste debe ser compilado. Si se usa gcc, la compilación será como sigue:

alice% gcc -Wall -O2 -shared -fPIC -o idea idea.c
[...]
alice% gcc -Wall -O2 -shared -fPIC -o rsa rsa.c
[...] # ó
alice% gcc -Wall -O2 -shared -fPIC -o rsa rsaref.c /usr/lib/rsaref.a

El último argumento /usr/lib/rsaref.a se debe substituir con el camino real de la biblioteca RSAREF

en el sistema.

Una vez compilado, GnuPG debe recibir las instrucciones para cargarlos. Esto se puede hacer usando la
opción load-extension, bien desde la línea de órdenes, o bien desde el fichero de opciones, aunque por regla
general se hará desde el fichero de opciones. Por ejemplo, si se ha puesto los binarios compilados idea y rsa
en el directorio ~/.gnupg, en el fichero de opciones se debe añadir

load-extension ~/.gnupg/idea
load-extension ~/.gnupg/rsa

Si no se especifica un camino de modo explícito, GnuPG busca los módulos de extensión en el directorio de
módulos de GnuPG por definición, el cual es /usr/local/lib/gnupg. Si se ha compilado GnuPG con prefijo
distinto para el directorio de instalación, usando -prefix PREFIX durante la configuración del código fuente
de GnuPG, entonces el directorio de módulos será PREFIX/lib/gnupg. En tal caso, copiar los dos ficheros
‘rsa’ e ‘idea’ en el directorio de módulos descrito arriba. Asegúrese de que estos ficheros tienen los permisos
correctos. No es necesario hacer los ficheros ejecutables, ya que estos ficheros no son programas sino módulos
compartidos, y por tanto deben tener permiso de lectura para todos.

Importar claves PGP 2.x

2

Substituir PGP 2.x por GnuPG

Una vez que las extensiones han sido cargadas, el importar un par de claves de PGP 2.x es una tarea fácil usando
la opción import. Aun así se debe tener cuidado con un par de detalles.
• No se debe exportar una clave privada desde PGP 2.x en forma de fichero en armadura ASCII. Ya que PGP
2.x es anterior a la especificación OpenPGP, la cabecera del mensaje en armadura que usa PGP 2.x no es
conforme con OpenPGP. Debido a que la exportación de una clave privada es un caso poco común, GnuPG
no comprueba que el fichero en armadura ASCII sea una clave privada.

• GnuPG presupone que las claves públicas importadas van autofirmadas por sus correspondientes claves públi-
cas. Esta es una precaución bastante prudente, y tanto GnuPG como las nuevas versiones de PGP autofirman
las claves públicas durante el proceso de su generación. Sin embargo, PGP 2.x no lo hace. Para solventarlo,
se puede autofirmar la clave pública antes de exportarla desde PGP 2.x. De modo alternativo, se puede usar la
opción allow-non-selfsigned-uid para forzar a GnuPG a aceptar la clave. Se recomienda que la clave
sea autofirmada antes de ser exportada, o incluso después de haber sido importada usando la opción anterior,
ya que el uso de una clave no autofirmada es un riesgo para la seguridad.

alice% pgp -kx alice public.pgp
Pretty Good Privacy(tm) 2.6.2 - Public-key encryption for the masses.
[...]
Extracting from key ring: ’/u/alice/.pgp/pubring.pgp’, userid "alice".
Key for user ID: Alice <alice@cyb.org>
1024-bit key, Key ID 24E2C409, created 1999/09/18

Key extracted to file ’public.pgp’.

alice% pgp -kx alice private.pgp .pgp/secring.pgp
Pretty Good Privacy(tm) 2.6.2 - Public-key encryption for the masses.
[...]

Extracting from key ring: ’.pgp/secring.pgp’, userid "alice".
Key for user ID: Alice <alice@cyb.org>
1024-bit key, Key ID 24E2C409, created 1999/09/18

Key extracted to file ’private.pgp’.

alice% gpg -import public.pgp
gpg: key 24E2C409: public key imported
gpg: Total number processed: 1
gpg:

imported: 1 (RSA: 1)

alice%gpg -import private.pgp
gpg: key 24E2C409: secret key imported
gpg: Total number processed: 1
gpg:
secret keys read: 1
secret keys imported: 1
gpg:

Usar claves PGP 2.x

3

Substituir PGP 2.x por GnuPG

Una clave pública importada se puede usar para cifrar documentos para un usuario de PGP 2.x y para verificar
firmas que hayan sido generadas con una clave privada PGP 2.x Es importante comprender que no es posible
usar una nueva clave OpenPGP para comunicarse con un usuario PGP 2.x, por tanto es necesario importar
una clave vieja PGP 2.x para esta tarea.

Cifrar un documento para un usuario de PGP 2.x
Para cifrar un documento se usan varias opciones en la línea de órdenes, y el documento que se va a cifrar debe
ser especificado como un fichero.

alice% gpg -rfc1991 -cipher-algo idea -compress-algo 1 -encrypt -recipient alice secret
gpg:
RSA keys are deprecated; please consider creating a new key and use this key in the future
gpg: this cipher algorithm is depreciated; please use a more standard one!

Cada una de las opciones en la línea de órdenes son necesarias.

• La opción rfc1991 se usa para forzar GnuPG a que sea más conforme con RFC 1991, que es la antigua
especificación PGP implementada en PGP 2.x. Si se omite esta opción, la salida de GnuPG estará malformada
e inutilizable por PGP 2.x.

• La opción cipher-algo especifica el algoritmo de cifrado simétrico con el que el documento será cifrado.
En el caso especial de cifrar un documento para una clave pública de PGP 2.x, el algoritmo de cifrado que se
especifique debe ser IDEA. Si se omitiera esta opción, el documento se cifrará generalmente con 3DES, un
algoritmo que no está imp
  • Links de descarga
http://lwp-l.com/pdf684

Comentarios de: Substituir PGP 2.x por GnuPG (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad