Taller de Criptografía - Informe 7

Recelos y sospechas en el mundo PGP


 

4 Agosto 1998


Muchos son los caminos que llevan a PGP en particular y a la criptografía en general. Algunos entramos en este mundillo preocupados por la falta de privacidad de Internet. Otros comenzamos a interesarnos como un mero pasatiempo matemático. Hay quienes ven PGP como un garante de libertad en el ciberespacio, un escudo eficaz contra la prepotencia del Gran Hermano. La mayoría de nosotros, un poco de todo.

¿Por qué PGP? Tal vez porque es el primer programa de cifrado de datos disponible para el hombre de la calle, gratuito, fácil de usar y virtualmente inviolable. Al redactarlo, Phil Zimmermann sacó la criptografía de los círculos de espionaje y la popularizó hasta extremos insospechados anteriormente. El deseo de proteger la intimidad en el nuevo mundo digital, ya sea por motivos personales o comerciales, está haciendo el resto. Pero desde la versión 1.0 han pasado casi diez años, y eso en Internet es toda una eternidad. Durante ese tiempo ha habido muchos cambios, y algunos no han sido del agrado de la "vieja guardia". Se alzan voces de advertencia que a veces no hacen más que poner nerviosos a los recién llegados. ¿Son recomendables las nuevas claves Diffie-Hellman? ¿Hay peligro en usar las versiones PGP para Windows 95? ¿Qué es esa historia de las puertas traseras y la recuperación de claves? ¿Podemos fiarnos siquiera de PGP ahora que el tío Phil no controla su propia creación? ¿En qué quedan aquellos tiempos de las copias "guerrilla" en un mundo dominado por las versiones comerciales?

Estas preguntas son como los malos de la película, que apenas terminan los títulos iniciales entran, cometen sus fechorías y dejan al espectador ansioso por saber si el bueno podrá con ellos. Bueno, os voy a fastidiar el final de la película: PGP sigue siendo seguro. Si me crees, puedes irte a cargar otra página (y gracias por tu ciega confianza). Personalmente, espero que te quedes, porque el argumento es interesante. Para ponernos en antecedentes, habrá que bucear hasta los viejos tiempos. Me propongo pasar velozmente por la era antigua para poder analizar la situación actual. Como en la historia de la piratería, ha habido de todo. Y, teniendo en cuenta la filosofía de "libertad contra el sistema" subyacente a PGP, la comparación no va muy desencaminada. Marchando una de piratas.



Los inicios de la "PGPiratería"

Fue en 1991 cuando PGP versión 1.0 fue creada. La leyenda dice que, con el temor de que la criptografía fuese declarada secreta, Phil Zimmermann distribuyó copias de su programa . Uno de sus amigos, por medio de teléfonos públicos y módem portátil, filtró una copia fuera de EEUU, en flagrante violación de la restricciones a la exportación conocidas como ITAR, y que considera la exportación de programas de cifrado de datos en el mismo nivel de peligrosidad que las armas nucleares, químicas y menudencias similares.

Esta acción le valió a Phil varios años de acciones legales contra él por violación de los reglamentos de exportación ITAR y por ciertos problemas respecto a violación de las patentes sobre los algoritmos de las claves RSA que PGP utiliza. Pero el genio ya estaba fuera de la botella. Cada nueva versión del programa se filtraba por la red a todo el mundo en cuestión de microsegundos (bueno, puede que tardase un poco más). El auge del primer producto criptográfico general de alta seguridad corría paralelo al de la propia Internet.



La edad clásica: 2.6.x

Mientras Zimmermann sufría su calvario legal (del que, a la postre, saldría limpio de polvo y paja), su programa se hacía más y más popular. La versión que podemos considerar definitiva para el sistema operativo DOS es la 2.6.x; la x indica diversos valores. En Estados Unidos, la versión 2.6.2 fue distribuida gratuitamente por el MIT. Para los usuarios de ultramar se confeccionó la versión 2.6.3i, que no es más que la 2.6.2 (sacada de EEUU ilegalmente) con una librería de software diferente. Ningún usuario podía usar una versión que no le correspondiese: los norteamericanos debían usar 2.6.2 debido a problemas de patentes, y los demás debían usar la 2.6.3i por las restricciones a la exportación. Sin embargo, ambas versiones eran funcionalmente idénticas, gratuitas y al alcance de todos.

Estas versiones no dejaban de tener sus inconvenientes, ya que eran programas en DOS con diversos comandos algo difíciles de memorizar y aprovechar. Puesto que en esa época el entorno operativo Windows 3.1 estaba imponiéndose, se crearon multitud de interfaces de usuario ("shells") para facilitar su uso. Pero PGP estaba allí, podía descargarse, instalarse y utilizarse sin restricciones. James Bond dejaba paso a Pepe Cripto. Los esfuerzos del gobierno norteamericano por evitarlo resultaron infructuosos, y a la postre Phil Zimmermann fue exonerado de su responsabilidad en la difusión de su programa a ultramar.



Windows 95 y la era de los doblones

Llegó el momento en el que Phil Zimmermann decide fundar su propia empresa de software criptográfico: PGP Inc. . Esto corresponde aproximadamente a la época en la que comienza a extenderse el sistema operativo Windows 95. Y aquí comienzan los líos. Su decisión no fue acogida con indiferencia. Algunos consideraron razonable que quisiera sacar provecho comercial de su propio programa, sobre todo después de haberse arriesgado a ir a la cárcel y de haber puesto tanto esfuerzo desinteresado en el pasado. Otros veían con tristeza cómo, de la etapa bucanera de "sin Dios ni amo", se pasaba a las patentes de corso, la era de los doblones.

Cualquiera puede opinar como mejor le parezca. Después de todo, seguiría habiendo versiones gratuitas para uso no comercial, aparte de las versiones comerciales con soporte técnico y las ventajas usuales. Por supuesto, los que observábamos al otro lado de la frontera teníamos el nuevo mundo vedado; la filtración de la nueva versión 5.0 nos permitía obtener el nuevo programa, pero de modo irregular.

De haber sido sólo eso, la cosa no habría ido a mayores. Pero la nueva versión 5.0 gratuita con la que soñaban los fieles de PGP fue una caja de sorpresas, no todas ellas agradables. El paso a Windows 95 tuvo sus ventajas, ya que permitió olvidarse de los engorrosos comandos de DOS y los interfaces, que no siempre eran a gusto de todos (yo, al menos, nunca encontré uno que me dejase contento). Por otro lado, Windows 95 no tiene fama de ser un sistema operativo seguro: copias de seguridad, borrado incorrecto, archivos de intercambio... en suma, diversas maneras por las que se puede filtrar información. Justo es reconocer que cualquier programa de infoseguridad tendría problemas similares bajo Windows 95. Pero dichos problemas pueden paliarse mediante programas adecuados y estrategias de seguridad sencillas, y por otro lado no preocupaban mucho al usuario en ese momento.

El primer problema serio consistía en que la versión PGP 5.0 para Windows 95 carecía de las habituales opciones de cifrado/firmado de archivos. Si bien PGP fue diseñado con vistas a su uso con correo electrónico, las versiones de DOS incorporaban la posibilidad de cifrar archivos mediante cifrado convencional simétrico, que la nueva versión no incluía. La primera en la frente.

La segunda fue mucho más grave a ojos de muchos. Hasta entonces, la arquitectura básica de operación de PGP era: algoritmo de claves RSA para el cifrado de clave pública, algoritmo IDEA para el cifrado simétrico y "revoltillo" o función resumen (hash) MD5 para la creación de firmas digitales. El problema fundamental subyacente para su aprovechamiento comercial consistía en que las claves RSA estaban protegidas por patentes. Así que la versión 5.0 generaba y usaba otro tipo de claves, las llamadas Diffie-Hellman, o D-H (en realidad, D-H es un protocolo de intercambio de claves; sería más correcto llamarlas claves ElGamal, pero por abuso del lenguaje se las llama claves D-H).

Curiosamente, el esquema Diffie-Hellman es anterior en el tiempo al RSA, pero no había sido usado hasta entonces. Pero eso no acalló las suspicacias de los usuarios, acostumbrados a las claves antiguas. Esas suspicacias crecieron cuando se supo que las nuevas claves D-H no usaban el algoritmo de firma MD5, sino el nuevo SHA, creado por la temida/odiada Agencia de Seguridad Nacional (NSA), la gigantesca agencia USA de espionaje de las comunicaciones. Ironías de la vida, ahora se sabe que MD5 tiene ciertas debilidades que, si bien no tiene relevancia práctica sobre la seguridad de las firmas digitales con dicho algoritmo, sí ha puesto nerviosos a muchos; SHA parece ser un algoritmo mucho más seguro a ese respecto.

Ese aparente coqueteo con sus antiguos acosadores de la NSA dio pie a conjeturas no muy favorables. Pero cuando la comunidad de usuarios de PGP explotó fue cuando se comprobó que la versión 5.0 gratuita, a disposición de millones de usuarios, !no permitía la generación ni la gestión de claves RSA! Malo es que existan dos tipos de claves, aunque por lo menos se puede elegir. Pero, de un plumazo, se negó esa posibilidad. O tragas con Diffie-Hellman, o te quedas en tu vieja versión para DOS. La intención de PGP Inc, por supuesto, fue la primera; pero mucha gente optó por la segunda opción. A fin de cuentas, la imposibilidad de gestionar claves RSA dejaba a un usuario PGP 5.0 imposibilitado de comunicarse con un usuario de PGP 2.6.2/2.6.3i. Ambas versiones eran, en la práctica, incompatibles. ¿Qué juego es este? ¿Dejar a millones de usuarios de las versiones clásicas fuera de las nuevas tendencias? !Menuda jugarreta!



Entran los vikingos

¿Dónde entran aquí los vikingos? Bueno, no es más que una amistosa alusión al noruego Stale Schumacher. Este hombre, como muchos otros, cayó en la cuenta de las curiosas reglas norteamericanas sobre la exportación. La exportación de programas de criptografía está prohibida, y punto. Pero en su afán por proteger la libertad de prensa, los tribunales norteamericanos dictaminaron que la exportación del código fuente escrito en papel está protegido por la Segunda Enmienda y, en consecuencia, no se puede prohibir. Es decir, tú no puedes descargar el programa desde un servidor norteamericano; pero sí puedes viajar allí, comprar una copia del código fuente, metértela en tu bolsa de viaje y volverte tranquilamente a casa. Lícito, legítimo y legal, aunque parezca digno de una película de los hermanos Marx.

Y además, dos huevos duros. Schumacher vio en eso una manera infalible de exportar el programa fuera de EEUU legalmente. Hasta entonces, las versiones que circulaban en ultramar habían sido ilegalmente exportadas. Y, aunque la distribución del programa era legal una vez fuera de EEUU, el regustillo de ilegalidad no gustaba a muchos. Así que la idea que surgió fue: comprar el código fuente impreso, llevarlo fronteras afuera, someterlo a un OCR (reconocimiento óptico de caracteres), recompilarlo y listo. Y así lo hizo Stale en su Página Internacional de PGP.

De hecho, puede aprovecharse la oportunidad para modificar el programa, por ejemplo, para permitirle crear y gestionar las antiguas claves RSA. Se trataba tan sólo de alterar un par de líneas de código. Cuando finalmente la versión 5.0 recompilada vio la luz bajo el nombre de 5.0i (i de Internacional), los resultados fueron decepcionantes. Aparte de la posibilidad de gestionar (pero no crear) claves RSA, no había nada nuevo. Para poder crear claves RSA había que seguir manteniendo las antiguas versiones para DOS. Y para colmo, los conectores (plug-in) que permitían una integración de PGP con programas de correo electrónico como Eudora ni siquiera aparecían en la versión 5.0i; se alegaban cuestiones de tiempo, pero considerando lo que se tardó en recompilarlo, parecía una broma pesada.



Patentes de corso: NA y recuperación de claves

La nueva versión, llamada PGP 5.5, resolvió muchos problemas, pero creó numerosas incógnitas. Reapareció la posibilidad de cifrar y firmar archivos, aparecieron nuevas y cómodas opciones para obtener claves públicas mediante servidores de claves, los plug-ins estaban incorporados para diversos programas de correo electrónico. ¿Y qué pasa con las antiguas claves RSA? Reaparecen también. En realidad, la versión 5.5.5 (5.5 gratuita) permitía gestionar, pero no generar, dichas claves. La versión 5.5 comercial, así como la 5.5.5 recompilada por Schumacher y rebautizada 5.5.3i, permitían tanto gestión como creación. Para acabar de bordar la faena, tanto las claves RSA como las Diffie-Hellman podían elegir entre cualquiera de tres algoritmos de clave simétrica asociada: IDEA, CAST y TripleDES. Realmente, la empresa de Zimmermann se había puesto a la altura.

Solo que ya no era la empresa de Zimmermann. Poco antes, PGP Inc. había sido absorbida por una empresa resultante de la fusión de otras, entre ellas la antigua McAfee (sí, la de los antivirus). La nueva empresa se llama Network Associates (NA) Zimmermann se quedaba en ella como "fellow" (que debe significar algo así como: siéntate aquí, cobra, sonríe y calla), pero sin control sobre la nueva empresa. ¿Cuál sería el futuro de PGP bajo la nueva empresa? Por supuesto, NAI lo utilizaría como piedra angular de su paquete de seguridad informática. Pero, en el mejor de los casos, carecería del benevolente control del "tío Phil" porque ahora sería un mero producto comercial, sujeto a las presiones de dicho mundo. Eso no es necesariamente malo, aparte de hacer aflorar alguna criptolágrima a los nostálgicos de los viejos tiempos.

Pero eso no era todo. Ya desde la versión 5.0 hubo quien pensó que Zimmermann se había literalmente vendido. ¿Acaso, decían, el gobierno le ha dejado en paz a cambio de secretos y turbios favores? Quizá se comprometió a dejar una "puerta abierta" para el FBI o la NSA a cambio de inmunidad legal. Por supuesto, malpensados los hay por todas partes. Pero la versión 5.5 contiene una, para muchos inquietante, nueva opción, llamada recuperación corporativa de claves. La cuestión es la siguiente. NAI quiere, evidentemente, ganar dinero, y una de las maneras más efectivas es vendiendo productos diseñados para entornos empresariales. El problema que se puede plantear es el siguiente. Si un particular compra PGP y lo usa mal (por ejemplo, olvidando su contraseña), sobre su cabeza caiga. Sin embargo, mal servicio haría a una empresa usar PGP si al tesorero de la compañía lo atropella un autobús y, casualmente, es el único que tiene la contraseña para descifrar archivos vitales. ¿Debe la empresa quedarse ciega cuando un empleado le falta por enfermedad, vacaciones o despido?

La solución consiste en cifrar los mensajes con dos claves: una del empleado y otra de la empresa. Esta última, llamada "clave corporativa", quedaría en poder del administrador. En condiciones normales, no es necesaria, pero en caso de necesidad se puede usar para descifrar la correspondiente copia del mensaje o archivo de interés. Es como una ganzúa maestra para casos de emergencia. Dejemos aparte el debate que se generó sobre si el jefe tiene derecho o no a leer los mensajes de sus empleados. La recuperación de claves permitía que alguien, además del usuario, tuviese la posibilidad de descifrar sus mensajes. Las consecuencias son de mucho alcance. ¿De qué sirve el criptoprograma más potente de la historia si un tipo al que no conoces puede leer tus mensajes? ¿Qué pasa si un juez obtiene el acceso a los mensajes por medio de una orden judicial contra la empresa?

Por supuesto, las versiones no-corporativas no contienen esta posibilidad, e incluso los programas para entorno empresarial lo incluyen de modo opcional, no obligatorio. Pero es un paso fuera de la filosofía estilo Mulder: no confíes en nadie. En cualquier caso, las claves personales (privadas) de uno no están comprometidas. Lo único que puede hacer el jefe es leer mensajes cifrados con la clave corporativa; la clave del usuario sigue siendo solamente del usuario.

Y ahora viene lo más gordo. Cuando Network Associates compró PGP Inc. formaba parte de una asociación de empresas de software llamada Key Recovery Alliance (Alianza para la Recuperación de Claves). La KRA es un "lobby" o grupo de intereses que favorece el establecimiento de "puertas traseras" en los productos criptográficos. Según esto, el gobierno podría obtener una copia de nuestra clave privada cuando le viniese en gana, o bien acceder a nuestros mensajes cifrados por medio de una puerta trasera imbuida en el software del programa. Que el programa de Zimmermann contuviese mecanismos para recuperación de claves era el colmo, e hizo que muchos usuarios se replantearse el uso de versiones de PGP posteriores a la 2.6.x para DOS.

Puesto que el código fuente de los programas era aún accesible, se pudo comprobar que, de momento, las versiones 5.0/5.5 no cuentan con puertas traseras. De hecho, Network Associates abandonó la KRA debido a las presiones de los usuarios. Pero una empresa con fuertes contratos con el gobierno EEUU resulta más vulnerable a "persuasión" que el idealista tío Phil. ¿Podremos seguir fiándonos de versiones 6 y posteriores? Quién sabe. Si la empresa continúa ofreciendo el código fuente para revisión, y si consigue mantenerse al margen de las batallas que el FBI y la NSA llevan a cabo para controlar o limitar la expansión de productos criptográficos, tal vez consiga mantener la confianza de los usuarios.



Preguntas y respuestas hoy

No está de más terminar este Informe con algunas preguntas, y sus correspondientes respuestas, acerca del estado actual de PGP. No están todas las que son, pero tiempo al tiempo...

Pregunta: ¿Sigue siendo PGP seguro?
Respuesta: Hasta donde se sabe, sí. Los algoritmos son robustos y están bien implementados. Que se sepa, ningún ataque frontal contra un archivo cifrado con PGP ha tenido éxito.

Pregunta: ¿No existe peligro usando PGP bajo Windows 95?
Respuesta: Sí. Pero el peligro no se debe a PGP en sí, sino a la naturaleza abierta del sistema operativo en sí. El archivo de intercambio, los espacios residuales, los archivos temporales o no borrados, pueden hacer que un atacante obtenga información valiosa examinando el disco duro. Sin embargo, estos son problemas comunes a cualquier programa de cifrado, y pueden minimizarse con programas de borrado de datos adecuados. Los mensajes enviados con PGP 5.0/5.5.x son tan seguros como los de las antiguas versiones para DOS.

Pregunta: ¿Qué tipo de claves es mejor, RSA o Diffie-Hellman?
Respuesta: ¿Gasolina o diésel? Ambos tienen sus partidarios. Las claves RSA han aguantado satisfactoriamente la prueba del tiempo. En cuanto a las Diffie-Hellman, aunque son más modernas, su algoritmo subyacente es anterior en el tiempo, y la función hash SHA que usa es más robusta que la MD5 de las claves RSA. Personalmente, recomendaría las RSA, pero no por motivos de seguridad sino de compatibilidad: una clave D-H no es compatible con PGP 2.6.3, del que aún hay millones de copias.

Pregunta: ¿Existen puertas traseras en PGP para Windows 95?
Respuesta: Hasta donde se sabe, no. En teoría, manipulaciones sutiles del código fuente pudiera permitir la fuga de información (como partes de la clave secreta) mediante los llamados canales subliminales. En la práctica, no se ha encontrado tales fugas de información. Puesto que tales manipulaciones son factibles, es recomendable obtener la copia del programa de una fuente fiable, como por ejemplo, la página de Stale Schumacher.

Pregunta: ¿Hay mecanismos de recuperación de claves en PGP para Windows 95?
Respuesta: No. Solamente las versiones comerciales tienen el ya mencionado sistema de claves corporativas, pero esos sistemas no permiten obtener ninguna clave privada de usuario, sino que se limitan a hacer una "copia al carbón" del mensaje, cifrado con la clave de la empresa. Según esto, debiera haberse llamado a esta opción "sistema de mensajes corporativos"; se hubiese ahorrado mucha confusión.

Pregunta: Entonces, ¿recomiendas el uso de PGP 5.5.3i?
Respuesta: Sí. Y la mayoría de los usuarios de PGP también lo recomiendan. Véase por ejemplo, los informes al respecto de J. M. Gómez, de Kriptópolis

Pregunta: ¿Qué pasará con las versiones futuras de PGP? ¿Serán seguras?
Respuesta: ¿Quién sabe? El coqueteo de NA con las opciones de recuperación de mensajes y los empeños del FBI por tener acceso a los mensajes cifrados puede hacer que la política de Network Associates cambie en el futuro. El mundillo de PGP lo sabe, y tomará cualquier versión futura con suma precaución. Indudablemente, habrá debate. Por de pronto, solamente podemos esperar ... y mientras tanto, disfrutar de nuestra versión 5.5.3i

Pregunta: ........
Respuesta: Si tienes alguna otra pregunta, me gustaría oírla. He comentado las cuestiones principales que se me han ocurrido, pero quiero más. Puedes escribirme a aquiran arroba ugr.es (asunto: PGP 5.5.3i FAQ), tanto con preguntas como con respuestas o sugerencias. Mi intención última es hacer una lista de preguntas y respuestas (FAQ). Sugerencia: no te cortes sólo porque creas que tu pregunta es una tontería. Nadie ha nacido sabiendo.

 


© Arturo Quirantes 2005.  Correo electrónico: aquiran arroba ugr.es


 

Vuelta a la sección Informes del Taller de Criptografía