Member of The Internet Defense League Últimos cambios
Últimos Cambios
Blog personal: El hilo del laberinto Geocaching

PGP 5.0 genera claves inseguras

Última Actualización: 8 de Junio de 2.000 - Jueves

Artículo publicado en el boletín Una-Al-Día de Hispasec, el 24 de Mayo de 2.000.

PGP (Pretty Good Privacy) versión 5.0 puede generar claves de muy baja calidad (es decir, predecibles por un atacante), dependiendo de las circunstancias y el sistema operativo empleado.

PGP es un popular programa de cifrado y firma digital, que emplea tecnología de clave pública. El usuario genera sus propias claves una vez, empleando el propio programa. La clave pública puede ser distribuida libremente, y la clave privada debe ser poseída exclusivamente por su propietario.

Existe un fallo en la versión 5.0 de PGP, que se manifiesta cuando el usuario genera una clave asimétrica en un entorno Unix que proporcione un dispositivo "/dev/random" (por ejemplo, Linux o *BSD). La rutina de lectura de dicho fichero contiene un fallo de programación que provoca que no se recoja NINGUNA entropía a través suya. Ello hará que el programa "piense" que cuenta con valores aleatorios de suficiente calidad como para generar una clave segura, cuando en realidad esto no es así. Las claves resultantes, por tanto, serán predecibles e inseguras.

Las versiones 2.* y 6.5 de PGP no están afectadas por este problema. Se recomienda a los usuarios que hayan generado su clave con la versión 5.0 que generen una revocación de la misma y que creen una clave nueva con una versión inmune.

Los usuarios que no quieran instalar una versión inmune en su sistema, pueden continuar usando la versión 5.0, corrigiendo el bug ellos mismos. Ello es tan fácil como editar el fichero "src/lib/ttyui/pgpUserIO.c" y modificar la línea 1324. Esa línea pone

     RandBuf = read(fd, &RandBuf, count);

cuando debería poner

     read(fd, &RandBuf, count);

Luego sólo queda compilar y reinstalar.

Más información:



Python Zope ©2000 jcea@jcea.es

Más información sobre los OpenBadges

Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS