Claves de firma digital inseguras en GnuPG
Las claves de firma digital ElGamal generadas con versiones recientes
de GnuPG puede filtrar información como para regenerar la clave secreta
de firma.
GnuPG es un software Open Source (GPL) y gratuito, que permite la
firma y cifrado de documentos mediante criptografía simétrica y
asimétrica. GnuPG está inspirado en el popular PGP (Pretty Good
Privacy), y nació como respuesta a la introducción de las variantes PGP
comerciales. GnuPG cumple el estándar OpenPGP. Aunque GnuPG es una
herramienta fundamentalmente UNIX y línea de comando, existen
implementaciones también para plataformas Windows, y frontales gráficos
para un uso más simple.
Las claves de firmado digital
ElGamal generadas con las últimas versiones de GnuPG (a partir de
1.0.2, inclusive) resultan inseguras, de forma que un atacante puede
obtener información suficiente como para obtener la clave secreta de
firma y conseguir la falsificación de firmas digitales.
Los
usuarios que empleen claves ElGamal para firma digital deberían
revocarlas y regenerar claves de firma nuevas.
La vulnerabilidad
afecta exclusivamente a las claves de firma ElGamal. Las claves de
cifrado RSA y ElGamal, y firma DSA y RSA no se ven afectadas.
Es
de señalar que para generar ese tipo de claves se requiere activar un
modo especial en el programa, al ser consideradas ineficientes, por lo
que es de esperar que el número de personas afectadas por esta grave
vulnerabilidad sea reducido. Las primeras estimaciones indican unas
1.200 claves vulnerables en los servidores de claves públicos o,
aproximadamente, el 0,04 por ciento del total disponible de forma
pública.
La vulnerabilidad introducida en GnuPG 1.0.2
consiste en intentar generar claves de firma ElGamal con parámetros que
permitan su procesado más eficiente. Lamentablemente los parámetros
seleccionados hacen que las claves generadas sean inseguras, de forma
que a partir de una firma digital se puede descubrir la clave secreta.
Es de destacar que una clave ElGamal generada por una versión previa de GnuPG
será segura mientras no se utilice dicha clave para generar nuevas
firmas en versiones modernas de GnuPG. Por ello, lo más recomendable es
revocar y regenerar las claves ElGamal de firma, independientemente de
su fecha de generación original.
Para identificar claves
vulnerables, basta con listar sus parámetros y comprobar si se trata de
una clave de firma ElGamal (letra G mayúscula), en cuyo caso será
vulnerable. Cualquier otro tipo, como cifrado Elgamal (letra g
minúscula), RSA o DSA, no presentan ningún problema.