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:
Security flaw in PGP 5.0
http://net-security.org/cgi-bin/reports/fullnews.cgi?newsid959152226,98584
The International PGP Home Page
http://www.pgpi.org/
Jesos Cea Avi¢n
jcea@hispasec.com