banner

PGP

La inseguridad del correo-e

El correo electrónico es un sistema de transmisión ágil, pero carente de las más elementales protecciones. Los mensajes de correo pueden ser destruidos o suplantados sin consentimiento del remitente. Los mensajes viajan pasando por varios nodos u ordenadores, y cada uno de ellos constituye un punto vulnerable. Cualquier persona malintencionada puede beneficiarse de estas debilidades en nuestro propio perjuicio. Ni siquiera hace falta ser un administrador de sistema con ciertos privilegios de acceso, ni tampoco un especialista en informática y telecomunicaciones. El sistema de correo electrónico es tan endeble que cualquiera puede entrometerse solo con unos conocimientos mínimos que están al alcance de todos. Si no doy más detalles, es por razones evidentes.

El hecho de que la información sea de tipo digital incrementa los problemas: es posible crear programas que seleccionen ciertos mensajes para interceptar su transporte o copiar su contenido. Por otro lado, la informacion electrónica puede ser modificada con más facilidad que una carta postal, puesto que no hay ningún tipo de rúbrica o marcas personales del verdadero remitente. Finalmente el delito queda probablemente impune, porque la manipulación digital puede hacerse sin dejar rastros del delincuente. Creo que nadie sensato enviaría una carta postal mecanografiada y sin rúbrica... introducida en un sobre mecanografiado y sin cerrar. Es fácil entender que eso implicaría un gran riesgo: por carecer de sobre protector, estaría expuestas a las miradas de cualquier fisgón; por estar mecanografiadas sin signos personales, cualquiera puede modificar su contenido; por carecer de rúbrica, cualquiera puede suplantar fácilmente al teórico remitente. Sin embargo, eso es lo que habitualmente se hace con el correo electrónico.


Introducción al PGP

PGP ("Prety Good Privacy") es un programa que nos ayuda a proteger nuestros datos, especialmente orientado incrementar la seguridad de nuestros mensajes electrónicos. PGP es gratuito y podrás generar tus propias claves sin depender de ninguna empresa o agencia. Es un sistema recomendado por las universidades y otras organizaciones rigurosas que carecen de intereses comerciales concretos.

Iconos y funciones PGP

Cada usuario tiene dos claves personales -su pareja de llaves- que podrán emplearse con el PGP para encriptar información. Cualquier documento puede ser encriptado utilizando una de las llaves, y ese documento quedará cifrado en forma totalmente incomprensible. El cifrado resultante de emplear una u otra llave es distinto, y por eso estos métodos criptográficos son conocidos como sistemas "de clave doble asimétrica" (o -abreviado- "de claves asimétricas"). Solo hay una forma de descifrar el documento y eso se hace utilizando necesariamente la otra llave de la misma persona.

Aparentemente esto no da muchas posibilidades, pero enseguida veremos que ofrece interesantes combinaciones. Una de las claves es privada, solo debe ser guardada y usada por el propietario. La otra llave es de dominio público, puede entregarsele a cualquiera o divulgarse abiertamente, para que esté accesible a todo el mundo que quiera relacionarse con el usuario. Esto también permite que el método sea citado como "de clave pública", dejando implicito que también existe una clave privada para el mismo usuario. Veamos el rendimiento que permite este diseño.

Hay tres clases de operaciones posibles: encriptación, firma, y firma con encriptación.

A. Encriptación.

Cuando un usuario quiere enviarle a otro un documento encriptado, lo primero que tiene que hacer el remitente es conseguir la llave pública del destinatario. Esa llave es usada para encriptar el documento. Puesto que la información solo puede desencriptarse con la otra llave de la misma pareja, podemos estar seguros de que solo el destinatario podrá acceder al documento. Por lo tanto debe quedar muy claro que para encriptar un mensaje necesitaremos disponer previamente de la clave pública del destinatario. Además, conviene recordar que si encriptamos una información para otra persona, ya no podremos volver a desencriptarla nosotros mismos, puesto que no podemos usar su clave privada (tal vez convenga hacer una copia de la información antes de encriptarla para otro). Es necesario aplicar este sistema de encriptación cuando vayamos a transmitir información sensible; por ejemplo, cuando vayamos a enviar el número de nuestra tarjeta de crédito. Para los mensajes rutinarios e intrascendentes quizá no merezca la pena aplicar estas precauciones. Además, tampoco lo podremos usar si el destinatario carece de PGP.

Para ver el aspecto que tiene la información encriptada, primero necesitamos tener un texto de referencia, el documento original de ejemplo:

La Universidad de Lepe acaba de publicar un estudio en el que se demuestra que utilizar Windows prolonga la esperanza de vida. Investigaron la salud y la longevidad de dos millones de personas. La mitad eran europeos que cotidianamente utilizan ordenadores con el sistema Windows. El otro millón eran africanos que jamás han usado un ordenador. Los que emplean Windows viven más años y tienen mejor salud que los otros.

Ahora veamos el aspecto del mismo texto, pero ya encriptado:

-----BEGIN PGP MESSAGE----- Version: PGPfreeware 5.5.3i for non-commercial use <http://www.pgpi.com>

hQCMA6arQCE08evfAQP8CbOMO5vfadHRJo8kwNnM5HHG7C30dWmNxu5CPA+m+LQY bJBYFjMQqNK/NPjvkdjqU2mCWPhJa2nSH+X5xuneLfXnXAxzwvjP7w4a/NFILgyo VDQzMQScheakDWxScApi4pi/CxfFLVKXOPunFHssJLy5ZcHFWlQfABNuRTI/Gzil ARuCla0XDs32A/wvChx2SYlkZnQySzjYehcsRISHXlzkX5H7LoUSgaHW6xW/4tYx nN8N3+VBTyZ7Nxa78dEa3AShWRW3F1IvOj+zv8x+l5OwHZsXYotVYl20b2EVUMF5 bzzkQsFBFt/m4T0Ndg/sFThh7uOGxedBSiV4PrdLO6Wbl92XeLIYI1OHnWAeAkqd GOr5lZj+TfJTvLHdVfK+7WpTa/vgaYp1w3pASGNCdnThFlQMn5VCKSgD8d6u5KNX Y6l5YRbaXhatqH1io3XLuGzs6M1MskJ/VFCTQLvpxxU74VVkcZ0ebWO/OaX/cDVt CbnFphtoAUoe70M0AkgHsxZz1wtSviE8Z/4dJOG8x+maNhPTGw8KBHvH/aDy =uA7n -----END PGP MESSAGE-----

Se pueden apreciar las características marcas de comienzo y final que son usadas por PGP para delimitar la información encriptada.

En el caso de un documento muy pequeño como -el expuesto- la información encriptada ocupa más espacio que el original. En el caso de un documento grande, la encriptación ocupará algo más, pero siempre será menor que el escrito original; cuanto mayor es el texto de partida, mayor es también el ahorro de bytes que supondrá la transmisión encriptada, porque la encriptación necesita un tamaño mínimo, pero implica también una especie de compresión.

Es posible que una información sea encriptada para varios destinatarios. Cualquiera de ellos podrá desencriptarla, independientemente de los otros. Evidentemente, eso también hará que la información encriptada aumente su volumen.

B. Firma digital.

Hay una forma de asegurar que el documento procede de la persona que dice remitirlo, y además sirve para certificar que el contenido del mismo no ha sido manipulado por terceros. Al documento se le aplica un sistema de compresión y el resultado es encriptado con la clave privada del remitente. Esta firma digital (incomprensible) es añadida al documento original antes de transmitirlo. Cualquiera puede ver directamente el documento, pero también ve que se ha agregado la firma digital. Es posible usar la clave pública del remitente para desencriptar y descomprimir esa firma digital, comprobando que su contenido coincide con el documento transmitido. Esto garantiza que el documento no ha sido manipulado por terceras personas, y también asegura que el documento fué firmado con la llave privada de la persona adecuada. Todo esto es más complicado de describir que de ejecutar, puesto que PGP facilita totalmente el proceso con rapidez y eficacia, en una sola operación.

Veamos el texto anterior, pero ahora firmado mediante PGP:

-----BEGIN PGP SIGNED MESSAGE-----

La Universidad de Lepe acaba de publicar un estudio en el que se demuestra que utilizar Windows prolonga la esperanza de vida. Investigaron la salud y la longevidad de dos millones de personas. La mitad eran europeos que cotidianamente utilizan ordenadores con el sistema Windows. El otro millón eran africanos que jamás han usado un ordenador. Los que emplean Windows viven más años y tienen mejor salud que los otros.

-----BEGIN PGP SIGNATURE----- Version: PGPfreeware 5.5.3i for non-commercial use <http://www.pgpi.com>

iQCVAwUBNWbZpaarQCE08evfAQHL6wQAsNPP+HamC8i9HVmwwOWgXEy8d69Rcsfi t4U8+321MYBt+A3o4sycE06b8dZJ2KuosjYl1T0KJba/oolyeUVBICEEXwAUK7/D cUtEzE6Gf8vHfmSn4aE0Ta68RqUYe4aq1lo/yIMbkmxMh5A/7/e9qzN01mwipqQA Sz0xh5vzlhs= =fkrF -----END PGP SIGNATURE-----

Aquí podemos ver que hay una marca que delimita el comienzo del texto firmado, y luego se añaden otras dos señales para acotar la información encriptada que lleva la firma digital correspondiente a ese texto. La firma digital no aumenta de tamaño cuando afecta a una mayor cantidad de información. El texto de partida podría ser mucho más largo, y sin embargo la firma seguiría siendo igual de extensa. La firma digital también incorpora información respecto al momento en que se efectuó la firma.

Si no se dispone de la clave pública del remitente, PGP no podrá verificar la firma, por lo que no podremos tener garantías de que esa persona sea la que realmente nos lo ha enviado (tampoco se podrá comprobar si el documento ha sufrido manipulaciones después de haber sido firmado, ni se podrá verificar el momento de la firma). Luego veremos que hay mecanismos para conseguir la clave pública de cualquier otra persona, incluso sin necesidad de que esa persona sea molestada o informada.

La firma digital es el primer paso en el uso del PGP, algo fundamental para aquellos que no tienen nada que ocultar pero que toman medidas para evitar manipulaciones de terceros. Cualquier persona puede enviar todos sus mensajes firmados digitalmente. Ello no supone un gran problema para los receptores que carezcan del programa PGP o que estén desinteresados en verificar el mensaje, pero constituye una garantía para aquellos que deseen realizar esa comprobación. Además, es un buen hábito firmar digitalmente TODOS los mensajes enviados. Cualquiera de nosotros tiene la costumbre de rubricar las cartas mecanografiadas que enviamos. Pues con el correo electrónico también es muy procedente añadir una firma autentificadora.

C. Firma con encriptación.

El PGP aplica al documento el proceso ya descrito en el punto B (firma usando la propia clave privada), y al conjunto resultante se le aplica el proceso indicado en A (encriptación con la llave pública del destinatario). En realidad el proceso es un poco más complicado, pero esta explicación es suficiente para entender el concepto. El receptor tendrá que usar su llave privada para deshacer la encriptación y también necesitará la llave pública del remitente para verificar la firma digital. El PGP facilita las cosas para que el remitente y destinatario puedan hacer todo eso con bastante más facilidad que la aquí indicada, en una sola operación sencilla.

Veamos como ejemplo el texto precedente, al que se le ha aplicado firma y encriptación.

-----BEGIN PGP MESSAGE----- Version: PGPfreeware 5.5.3i for non-commercial use <http://www.pgpi.com>

hQCMA6arQCE08evfAQQAgaTgXXYniEUpdOkPba6Qm3PVF5g9oraht9FkyooDENDl JH2/gvRENxcGipUsDjrQgXZNkptBwmVHzK/6AsfeLsWaXDZ6+WkyhCFC6jNLXno0 Mq4Esi7urNXY6f/uBpg3ToROlJV/88zM+dCl1LdGZ2MwzTjjEkKnBAc4ChUgHJml Ae0B1HqdvxHGd9hileZ1imF7LgBRs2+zANJhjarAe1c5ytm8v96yK8g+XK9oyDnC dmW/tTZ5q3j8/nSIJAWApdb/zHnJKLc1bI8vlTsFQFL36dNDBwLxQ40iYkjB5Ol+ P7XInWLtUWE0QiuHKfoTeFFcm1w/PzHxFDE356x3e1ttzo+SOss0jo0ANLxRzKHg Dd6hR9ujfI6a3VgCO7viRYvfvJgm53Act92r2awJsHCV7KyRbg4Y1aI2NW+HQwSO qQSCXgco7g+LdYombHb2FWboHCsmLjkT/9zXBJPpfleugHwghPcHdZc1Hbo9k8Mo 55mSZzldh+9riGR3uodq08iwGI0SMYfpDRdwbobaq4BJqXuGUU+9nbG2fjM6dVng IGhg1cXz39TpMiWW4eIjmZ3B5Lz+799q4OZhIv0mns2lTA1ECIadOwYou/h+NJD0 hMPKPfV86MvqRdPbCGr5amssv723aVSCBaewwbNHaZM01QU9xKRVoIUGVuTOxp/u PxZKdIGSKVwEzKMQZNrxWMxedCTb3bRRY4iAX4YB58k8w1BpFI7eiaVpnqHv18cd JVG9/7eDC+TmqsLzzzt0iojbcHtxUrbq/biQUQDVgUHwmcIJmxOzyiQqQSVRBU5E IhsJxJy6lIujlq+3s5G8 =UTPN -----END PGP MESSAGE-----

D. Descifrado.

En la barra de tareas

Cualquiera de las tres operaciones indicadas anteriormente genera un nuevo conjunto de información (uno de los tres fragmentos de color negro) que también incorpora datos sobre las manipulaciones realizadas. El descifrado es aplicable en todos los casos y de la misma forma, en una sola operación. Si el fichero fué encriptado, se hará automáticamente el desencriptado; si fué firmado, se verificará el remitente y el contenido; si fué firmado y encriptado, el PGP lo percibirá, y operará en consecuencia. Incluso es posible intentar el descifrado de una información que no fué cifrada, ello no supone ningún problema, porque el programa lo detecta antes de manipularlo.

Hay que insistir en que la desencriptación implica disponer de la llave privada que corresponde con la llave pública usada en la encriptación. Si el destinatario ha perdido su llave privada, nadie podrá recuperar esa información, ni siquiera el remitente.


Manejo de las claves

A. Creación de claves.

Para generar una pareja de llaves habrá que indicar el nombre (igualmente sirve un alias o pseudónimo) del propietario, y también su dirección de correo electrónico; esos datos irán dentro de las llaves. Además, habrá que escribir una frase de seguridad (password) que quedará asociada a la clave privada y que será necesario digitar cada vez que usemos esa clave privada. Partiendo de esos datos y de otras variables aleatorias, el programa generará la pareja de llaves (y también genera la correspondiente huella dactilar, una especie de "resumen de la clave pública" que se detallará más adelante). Las claves son almacenadas en unos ficheros especiales, uno para la clave privada (SECRING.SKR) y otro para la pública (PUBRING.PKR). Las claves pueden ser vistas y manejadas a través de una única ventana (llamada "PGPKeys"), en la que también podremos ir añadiendo posteriormente las claves públicas de otras personas.

Cada usuario genera su propia pareja de claves utilizando el PGP en su propio ordenador, de forma totalmente personal. Cada uno puede crear las claves que necesite: no hay problema si un usuario se provee de varios juegos de claves o si alguien quiere usar unas claves personales y otras para el negocio propio. Varias claves pueden estar asociadas a la misma persona o a la misma dirección de correo electrónico.

B. La clave vista "al desnudo".

Una clave no es más que un gran número o un largo conjunto de bytes. Esa información es la que se usa para cifrar y descifrar, según los procedimientos propios del programa PGP. La clave también puede ser vista como una serie larga e incomprensible de caracteres, lo cual puede facilitar su transporte. Cuando la clave se muestra como esa serie de caracteres, también se le añaden dos marcas para delimitar su comienzo y su final, de forma puede ser acotada con toda precisión.

Este es el aspecto ASCII de una clave pública, su presentación tradicional, y también es la forma clásica de importar/exportar esa información:

-----BEGIN PGP PUBLIC KEY BLOCK----- Version: PGPfreeware 5.5.3i for non-commercial use <http://www.pgpi.com>

mQCNAzVm2RwAAQEEAL/DN79rhWIz3895L0/FiPkgdXyGXVuRv2SMD9nD7hgkxGCD WgosKEymkqqjXk/s8SK6vYXNipu+SoTgLVcJ266ryd2V7Gkl5ZIPRXPGeF7Ufbob LyE96LeDAZUY16yFAL6Grna8koFzAfdhJX5CXNMiHMQFB25IXKarQCE08evfAAUR tBhQZXBpdG8gR3JpbGxvIDxub0Buby5ubz6JAJUDBRA1ZtkcpqtAITTx698BAfk2 BACZP8yIQsXNiWZ7lbeKNrAGO6lWaJxutu6OlVI/gXRcUw6sSECv6Yj64FvDkU4r DbSu/TTSKkCPdcT9hf0QHjD2pY1780s9C6jXHmNJFmssVDLJuayAOPpfMOumsdUQ MX9iWsGJC6JPdQbfDBBSG6lnpHEEf6Ph8dgzRECjC6G8Xw== =rhQ/ -----END PGP PUBLIC KEY BLOCK-----

Así es posible seleccionar el texto correspondiente a la clave (todo lo negro) para copiarlo al portapapeles y desde allí facilitar su inclusión en el anillo de claves. Esta clave pública lleva incoprorados los siguientes datos: nombre del propietario, dirección electrónica, fecha de caducidad, y huella dactilar identificativa de esa clave.

C. Entregar y recibir claves.

Algunos internautas incluyen su clave pública al pié de sus mensajes de correo electrónico. Eso es bastante molesto, y además resulta poco fiable. Es más adecuado poner la clave en el propio sitio web: si tienes una página web personal, siempre puedes colocar allí el texto ASCII de tu clave pública, y también puedes poner un fichero que contenga la clave, para que otros la puedan obtener. El fichero puede ser generado directamente desde el PGP, por omisión llevará el nombre del propietario de la clave y su extensión será ASC; el contenido de este fichero es un texto plano idéntico al mostrado anteriormente. Además existen servidores (ordenadores de internet) dedicados a almacenar claves públicas de cualquier usuario, y esto también es un buen método para difundir la clave pública, el programa facilita esa tarea de una forma muy notable, puesto que puede conectar directamente con esos servidores. Puedes enviar la clave a varios servidores, pero probablemente baste con que la entregues en uno de ellos; los servidores se intercomunican periódicamente para entregarse unos a otros las novedades que cada uno haya recogido; de esta forma es muy probable que tras un tiempo tu clave esté en muchos servidores públicos de claves.

Cuando necesites la clave pública de otra persona igualmente puedes buscarla en sus páginas web o en cualquier servidor de claves; recuerda que puedes capturar la clave como texto abierto, pero PGP ofrece más facilidades para recoger una clave contenida en un fichero específico. Cuando hayas recepcionado la clave de otra persona ya podras enviarle información encriptada y verificar sus firmas digitales. Sin embargo, PGP seguirá advirtiendo de que esa clave no es segura ("Invalid Key"); Cuando obtengas una clave y puedas garantizar totalmente que esa clave corresponde a la persona que aparece como titular, entonces puedes "validar" esa clave recibida y eso se consigue haciendo tu firma digital sobre ella; así avalas la validez de esa clave, y PGP dejará de mostrar el aviso de advertencia. Recuerda que para firmar otra clave necesitarás usar tu frase de seguridad y que solo debes hacer esto sobre aquellas otras claves que te merezcan confianza respecto a su relación con la persona o entidad correspondiente.

En los mensajes de correo electrónico no conviene incluir la clave, solo se necesita añadir la huella dactilar de la clave; esa huella es un "extracto" o "resumen" de la clave correspondiente, por lo que puede ser utilizada para comprobar que la clave obtenida por otros medios coincide con esa huella indicada en el mensaje de correo. La huella es un pequeño texto que es más adecuado para añadir en los mensajes de correo electrónico. Aquí va una representación de la huella correspondiente a la clave anterior:

D5DB 274E 2B68 7D73 194C 9BCF 4ABB B158

D. La frase de seguridad o contraseña.

Para reforzar la seguridad del sistema, siempre que se utilice la clave privada el PGP exigirá que digitemos la frase de seguridad que solo debe conocer el propietario de esa clave privada. Es posible cambiar posteriormente la contraseña asociada a una clave.

E. Peculiaridades de las claves; precauciones.

  • La seguridad del sistema se basa en tener una clave privada realmente secreta y segura. Si alguien te la pilla, tal vez pueda desencriptar los mensajes que vayan dirigidos a tí o hacerse pasar por tí emitiendo información firmada digitalmente con tu clave privada. Por lo tanto hay que hacer lo posible para evitar que otros tengan acceso a tu clave privada; si compartes el ordenador con otras personas, tal vez merezca la pena guardar el anillo de claves en un disquete que meterás al bolsillo cada vez que abandones la mesa.

  • Además, no debes perder las claves. Con la pública no hay mucho peligro puesto que seguramente la has puesto en algún servidor y también la tienen tus amigos. Eso te permite recuperarla si pierdes tus archivos. Pero la privada solo la tienes tú. Si se avería el disco que la contiene es posible que no puedas recuperarla de ningún otro lado y eso inutilizaría tu pareja de claves. Es muy conveniente hacer una copia de seguridad de tu clave privada (o de las dos), pero no la dejes al alcance de cualquiera. Ya se ha comentado que al generar la pareja de llaves intervienen ciertos factores aleatorios que son imposibles de controlar. Por lo tanto es imposible reproducir las claves intentando generarlas de nuevo; eso no funcionará aunque uses el mismo ordenador con el mismo software y con los mismos parámetros, obtendrás otras dos llaves distintas. Esta característica de "imposible repetición" es una de las que dan seguridad al sistema. Los especialistas han calculado que si el más potente ordenador se dedicase exclusivamente a generar claves, tardaría cientos de años en obtener una pareja de claves igual a la que ya tienes.

  • Si olvidas la frase de seguridad tampoco podrás seguir usando la clave privada y eso también imposibilita el uso del sistema. Pero mejor no la apuntes en ningún lado, es preferible elegir bien una frase que sea fácil de recordar y difícil de imaginar (para que otros no la puedan deducir). Ni se te ocurra usar tu fecha de nacimiento u otra información que sea fácilmente asociable a tu persona. Procura que esta contraseña incluya alguna mayúscula y alguna minúscula, algún número y también espacios, y que sea superior a ocho caracteres; todo eso refuerza la seguridad de tu clave privada. Tampoco la hagas demasiado complicada porque tendrás que teclearla con frecuencia.

  • Cuando generas las claves seguramente podrás elegir entre dos métodos de claves, dos métodos de encriptación, ambos conocidos por sus siglas: RSA fué el primer sistema, al que luego se agregó otra alternativa denomianada HD/DSS. Los que todavía tienen programas PGP antiguos solo pueden utilizar las RSA, por lo que las otras son menos "universales".

  • También podrás elegir el tamaño de tus claves. Una clave grande es más segura, pero también es más engorrosa y tarda más en hacer las tareas de encriptación o desencriptación. Lo mismo puede aplicarse a la frase de seguridad, procura que no sea larga pues la tendrás que teclear cada vez que uses tu clave privada; pero que no sea tan corta como para que pueda averiguarse haciendo pruebas.

  • Ultimo detalle relativo a la generación de claves: la pareja de claves tarda un ratito en crearse. En la generación también intervienen ciertos elementos aleatorios que el programa trata de tomar al azar. El programa te pedirá que mientras se genera la clave vayas tecleando algo o vayas moviendo el ratón para obtener más información aleatoria. Es conveniente que lo hagas, porque eso hará que la pareja de llaves sea más distinta a cualquier otra existente.

  • Te recomiendo que pongas tu clave pública en un servidor de claves. Al poco tiempo, tu clave se propagará y estará en muchos servidores de claves, facilitando que cualquiera pueda localizarla. Aunque tú no lo hagas, eso también lo puede hacer cualquier persona que tenga tu clave pública. Mucho ojo, porque no es posible borrar una clave de un servidor, y esa información quedará allí para siempre. Solo hay una forma de cancelarla: puedes revocar tu propia clave (cancelar su validez) pero para hacerlo necesitarás tu pareja de claves y también tu frase de seguridad. Luego puedes enviar al servidor la clave pública revocada, de forma que dicha revocación es añadida a la clave que ya existía en ese almacén. La revocación también se propagará a los otros servidores y así quedará patente que esa clave ya no es operativa. Posteriormente puedes generarte otro juego de claves y enviar la nueva pública al servidor. No olvides que para revocar la clave necesitas tenerla operativa y además necesitas la frase de seguridad.

  • Si dejas de usar la cuenta de correo a la que está asociada esa clave suge algún problema. La clave podría seguir funcionando, pero usar la clave teniendo otra dirección electrónica puede crear mucha desorientación y recelo en los otros usuarios. Además, es posible que alguna otra persona utilice el servidor de claves para localizar tu dirección de correo electrónico. Para evitar estas dificultades, tienes dos alternativas. La primera consiste en revocar la clave y publicar esa revocación para luego generarte una nueva clave. La segunda alternativa consiste en agregar a la clave la nueva dirección electrónica y volver a publicar tu clave con este añadido. En principio una clave se asocia a una sola persona y a una sola dirección, pero es posible añadir más usuarios y/o más direcciones.

  • Los servidores de claves están construidos de forma que no es posible retirar información, pero sí que admiten añadir opciones nuevas a las claves ya publicadas. Una cosa que puedes añadir es la revocación, con lo que se agregan los signos de que esa clave ya es inválida; sin embargo, esa clave revocada podrá seguir siendo consultada en el servidor de claves. También puedes añadir a una clave nuevos usuarios y/o nuevas direcciones de correo electrónico. Recuerda que todas esas operaciones se realizan inicialmente en tu propio ordenador, pero luego tendrás que volver a publicar tu clave.

  • Visto todo lo anterior quizá sea una buena idea no generar claves de validez indefinida. Lo normal es generar la clave sin fecha de caducidad, pero es posible hacer que la clave expire automáticamente en la fecha que el usuario establezca. Luego puedes generar otra clave para otro período. Conzoco alguna persona que no tomó estas precauciones y luego sufrió un accidente en el disco duro con la pérdida de sus claves; así ha perdido la operatividad de claves que están en los servidores, con validez eterna, y que no pueden ser revocadas. Otra razón para generar claves con caducidad es el hecho -ya comentado- de que una clave siempre lleva asociada una dirección de correo electrónico, y quizá no sigamos usando esa dirección indefinidamente.

  • Una clave revocada o caducada no podrá usarse para encriptar ni firmar documentos; tampoco podrá emplearse para desencriptar los documentos encriptados durante el período de validez de la clave.

  • Es posible generar una pareja de claves que no esté asociada a ninguna dirección electrónica. Aunque PGP está orientado a la transmisión de datos por correo Internet, también es posible utilizar sus posibilidades en otros sentidos. Por lo tanto puedes usar PGP aunque carezcas de una dirección electrónica -o tal vez te interese omitirla por otros motivos-. El hecho de que la clave esté asociada a la tu buzón también constituye una forma de identificar esa clave contigo y facilitar su localización para los que busquen tu clave pública partiendo de esa dirección conocida por ellos. Por otro lado resulta imposible omitir el nombre del propietario, pero si tienes alguna razón para ocultarlo, puedes usar un pseudónimo o incluir también en esa casilla el dato de tu dirección electrónica.

  • El sistema PGP se basa en una gestión descentralizada de claves. No hay entidad certificadora ni organismo director que pueda autorizarnos o desautorizarnos en el uso de una clave. Sin embargo, la clave de una persona puede ser avalada por otra u otras. Esto se consigue haciendo que esos terceros firmen (con su clave privada) sobre la clave pública del que busca avales. La clave pública avalada puede ser difundida o publicada, para que todo el mundo pueda reconocer la confianza que unos usuarios depositan en otros. Así se construye una red de garantías descentralizada.

  • No hay que pagar a nadie por generar las claves ni por almacenarlas en los servidores. Cada uno se responsabiliza de su propia parte, siguiendo la filosofía descentralizada e independiente que impera en Internet. Además, no existe ningún otro método más seguro para cifrado del correo electrónico en Internet.

Nuevos iconos y posibilidades

Operaciones con el programa PGP

El programa PGP permite las siguientes operaciones básicas. El interface y la forma concreta de operar dependerán probablemente de la versión PGP que estés usando.

A. Cifrado y descifrado de mensajes de correo electrónico.

Puedes aplicar cualquier operación (encriptación, firma o firma con encriptación) sobre el texto de un mensaje de correo en el que quieras garantizar la privacidad y la seguridad de la información. PGP no es un programa de correo, no puede enviar ni recibir mensajes, pero te ayudará para cifrar y descifrar los mensajes y los archivos transmitidos por correo. O sea que necesitas tener un programa de correo, en principio vale cualquiera de los disponibles. El funcionamiento es el siguiente. Escribes un mensaje de la forma habitual; copias el texto al portapapeles, usas PGP para cifrar ese texto, y finalmente pegas el contenido del portapapeles al cuerpo del mensaje. Existen programas de adaptación ("enchufables" o "plug-in") que son capaces de lograr la integración del PGP con algunos programas de correo bastante populares. El programa adaptador - inidependiente- lo debes buscar teniendo en cuenta cuál es tu programa de correo y la versión de PGP que has instalado.

B. Encriptación de ficheros.

Puedes usar el programa PGP para cifrar cualquier fichero, ya sea encriptándolo, firmándolo digitalmente, o ambas operaciones conjuntas. Si encriptas el fichero deberás usar la llave pública de la persona a la que va dirigido. El fichero cifrado puede ser tranportado en disquet, transmitido a un servidor de FTP, adjuntarlo a un mensaje de correo (el mensaje puede ir encriptado o sin encriptar) o por cualquier otro medio. Esto te permite cifrar cualquier clase de fichero, vale igual para un texto que para una imagen, un archivo de sonido, un ejecutable o un fichero comprimido. El programa no destruye el fichero original (salvo que se lo indiques expresamente), generando otro archivo diferente. Este nuevo archivo tendrá el mismo nombre, pero añadiendo una nueva extensión -la vieja extensión pasará a formar parte del nombre-; para los archivos encriptados (con o sin firma) se usará normalmente la extensión PGP, y para los archivos que solo incorporen firma digital se usará preferentemente la extensión SIG.

Si el fichero está encriptado (con o sin firma), el receptor podrá igualmente usar su programa PGP para descifrarlo y recuperar una copia del fichero original. Las versiones más modernas de PGP permiten hacer esto activando directamente el archivo (PGP ya sabe lo que debe hacer con él, pues lo deduce de la extensión).

Si se aplica a un fichero solamente la opción de la firma, el nuevo fichero generado tendrá la extensión SIG, pero lo habitual es que solo incluya la información de la firma digital, haciendo necesaria la transmisión también del fichero original. Careciendo de este último, el fichero de firma no sirve para nada. Esto puede parecer una anomalía, pero es una gran ventaja puesto que el fichero fuente queda inalterado y eso es especialmente conveniente cuando no se trata de texto puro (archivos de imágenes, ejecutables, etc). De todas formas hay una opción para indicar a PGP que incluya en el fichero de firma también la información original, con lo que se puede transmitir -o conservar- solamente este fichero de firma; solamente con ese archivo puede hacerse la comprobación de firma y también recuperar el fichero original.

También puedes encriptar un fichero que no vas a enviar a nadie, si quieres ocultar su contenido de la vista de otras personas que accedan al ordenador; para ello bastará que encriptes el archivo considerandote a tí mismo como destinatario, y eso será suficiente para que solo tú puedas desencriptarlo usando tu clave privada y tu frase de seguridad. Ten en cuenta que el programa -por omisión- no borra el fichero original, solo crea una copia encriptada, por lo que deberías responsabilizarte de eliminar correctamente el archivo sin encriptar: cualquiera que entienda el funcionamiento de un disco informático sabe que es posible recuperar un archivo borrado, incluso si no está en la papelera; PGP incluye una opción (en el menú contextual del archivo) que te permite hacer un "borrado destructivo", de forma que sea imposible recuperar la información. Cuando encriptas un fichero, la ventana de PGP te mostrará una opción que también te permite automatizar el borrado destructivo del fichero original, haciendo todo eso como si fuese una sola operación. Al desencriptar siempre se recrea (recupera) el archivo que generó la copia encriptada y que luego fué eliminado.

Los archivos no son codificados utilizando el mismo planteamiento que los textos abiertos; los ejemplos de texto encriptado y/o firmado que se han mostrado anteriormente son válidos para el texto de los mensajes o para otros textos procesados en abierto (sin afectar al fichero conjunto). Los ficheros se encriptan y/o firman usando un procedimiento de resultados menos visible y generan un fichero completamente distinto y totalmente ininteligible que lleva la extensión PGP o SIG. Estos archivos no se restringen a los caracteres legibles y no respetan los cambios de línea. Por lo tanto, el contenido de un fichero firmado siempre es inutilizable e incomprensible -incluso cuando se trate de un fichero que originalmente era texto y al que solo se le ha aplicado la firma digital-; en estos casos de ficheros encriptados y/o firmados (PGP o SIG) siempre se hace necesaria la recuperación del archivo original usando el proceso de descifrado de PGP.

Barra de herramientas principal

En relación con lo anterior, PGP también permite una alternativa que genera el fichero cifrado con contenido de tipo texto; en estos casos se emplea la extensión ASC (abreviatura de ASCII), y el resultado es relativamente similar al de los mensajes de correo, pero con alguna peculiaridad. La más destacable es que en los ficheros de firma digital no puede visualizarse directamente el contenido original, ni siquiera cuando la información cifrada sea texto puro y se ha incluido expresamente en el fichero de firma. Estos ficheros de extensión ASC también pueden activarse directamente para que sean procesados automáticamente por PGP.

De todo lo anterior puede deducirse otra consecuencia: Si recibes un mensaje cifrado con firma digital, necesitarás la clave pública del remitente para verificar la autenticidad, pero careciendo de ella igualmente puedes fiarte del contenido, leer la información y seguir adelante; el documento es igualmente comprensible y puedes usarlo prescindiendo de las marcas añadidas por PGP. Sin embargo, con los ficheros que fueron firmados (extensión SIG o ASC) nunca es posible esta utilización directa y confiada.

C. Operaciones con las claves.

Deberás generar tu pareja de claves y colocar tu clave pública al alcance de quienes puedan necesitarla: poniéndola en tu página web o enviandola a cualquier servidor de claves. También necesitarás recoger las claves públicas de las personas con las que te comuniques en forma cifrada. Una vez que hayas recogido una clave, podrás validarla indicando que es de tu confianza; eso se consigue firmandola tú mismo, y para ello también tendrás que usar la frase de seguridad. El programa tiene una ventana que mostrará la lista de claves y te facilitará todas las operaciones relacionadas con ellas, incluyendo la revocación de claves propias y las conexiones con los servidores. El conjunto de claves que tienes se denomina "anillo de claves", y ahí están incluidas tu pareja de llaves y las claves públicas de otras personas. Puedes tener más de una pareja de llaves propias, pero solo una estará seleccionada para ser usada preferentemente (por omisión). Si varias personas comparten el ordenador es muy ventajoso decirle a PGP que ubique los ficheros de claves en disquetes; de esa forma cada usuario puede tener un disquete personal y no se producen interferencias; esto mejora la operatividad y la seguridad de esos usuarios.

Recién instalado el programa, el anillo de claves incluye las claves públicas de los empleados de la empresa PGP. Puedes borrarlas si crees que te estorban, porque seguramente no necesitarás comunicarte con esas personas. Siempre puedes volver a recuperar esas claves capturandolas de cualquier servidor.


Interface y modo de operación

Solo vamos a comentar el funcionamiento general del programa, sin referirnos a ninguna versión concreta. Pero hay dos posibilidades bien distintas de cara al uso del correo electrónico. Si solo cuentas con el programa PGP deberás operar como se describe en el primer apartado de los que siguen. Quizá seas un afortunado que utiliza un programa de correo bastante popular y en tal caso es posible que exista un módulo independiente que sirva para encajar el PGP en tu propio sistema de correo; en ese caso también dispondrás de las posibilidades comentas en el segundo apartado. Luego añado una importante advertencia para todos.

A. Operaciones comunes (orientadas para los usuarios de Windows).

El propio programa PGP te permitirá cifrar y descifrar ficheros usando el menú contextual que aparece cuando pulsas el botón derecho del ratón sobre un archivo. Los archivos con las extensiónes PGP, SIG ó ASC serán tratados como archivos específicos de PGP y se mostrarán con iconos especiales; en estos casos bastará activar el fichero para que PGP haga con él lo que sea pertinente (descifrarlo, importar la clave contenida, etc). El extremo derecho de la barra de tareas mostrará un icono con un sobre de correo sobre un candado. Este icono representa al PGP y hacer clik sobre él permitirá ejecutar las operaciones habituales del programa.

El programa añade una barra de botones independiente que podrá ser usada para realizar cualquiera de las operaciones sobre ficheros, con la ventaja de que permite seleccionar ficheros del mismo modo que se seleccionan para ser abiertos por cualquier otro programa. También existe una ventana que facilita el manejo de las claves, pudiendo incluso arrastrar y soltar claves hacia dentro y hacia afuera de la ventana.

El PGP encripta y desencripta sobre el contenido del portapapeles de Win95, evitando otras operaciones más incómodas para trasladar y manipular la información. Esto suele usarse para los textos de los mensajes. Para descifrar (e importar firmas recibidas en ASCII) debe operarse sobre todo el texto afectado, incluyendo completas las líneas que comienzan por "-----BEGIN" y "-----END".

También incorpora una herramienta que nos permite visualizar y editar el contenido del portapapeles, ahora muy usado. Añade una opción para activar la ventana que representa al anillo de claves, otra que da acceso a la ayuda, etc. El mayor problema es que nada de esto está en castellano, y se hace bastante enigmático para los que tengan poco dominio del inglés. Sin embargo esa descripción detallada desborda las pretensiones de este documento.

B. Operaciones específicas desde el programa de correo.

Si tienes la suerte de contar con un módulo-programa que sirva de comunicación entre el PGP y el propio programa de correo, pues estás de enhorabuena. Las ventanas de creación y lectura de mensajes incorporarán botones para encriptar y desencriptar directamente los mensajes abirtos en pantalla, sin tener que recurrir al portapapeles. Apenas tendrás que emplear el icono que figura en la barra de tareas y podrás agilizar todas las operaciones. Los mensajes recibidos pueden verse descifrados, pero PGP no manipula el archivo, que seguriá estando cifrado igualmente. También tendrás un nuevo elemento de menú que te permitirá especificar tus preferencias respecto al PGP. Por ejemplo, será posible pedirle al PGP que añada la firma digital a todos los mensajes enviados, o que descodifique directamente cualquier mensaje entrante (si el mensaje no está cifrado el PGP también lo detecta para no manipularlo indebidamente).

Algunos programas de correo manejan el texto del mensaje en forma peculiar, de modo que quizá exista algún problema con los sistemas de cifrado de PGP. Siempre hay más garantía si la información cifrada se transmite como fichero adjunto, pero ello representa más incomodidades. Vigila que PGP tenga un valor

de tamaño de líneas que sea inferior al usado en el programa de correo, pues eso también ocasiona trastornos de funcionamiento.

C. Advertencia (qué pesao m'estoy poniendo)

Si envías un mensaje encriptado para otra persona, tu programa de correo guardará una copia de dicho mensaje en la carpeta de "mensajes enviados". Pero ese mensaje quedará tal cual lo has transmitido (encriptado) y ya no podrás volver a ver su texto original (sin encriptar). Incluso aunque pudieras modificar el contenido del mensaje ya enviado (la mayoría de los programas no permiten hacerlo) igualmente te resultará imposible acceder a la información contenida, puesto que solo puede ser desencriptado por el destinatario.

Hay un truco que puede ayudar para evitar este problema: cuando envíes un mensaje encriptado para otra persona, incluyete a tí mismo como un segundo destinatario de la encriptación; el mensaje quedará archivado en forma encriptada, pero al menos podrás consultar posteriormente la información original que has transmitido, porque tendrás poder para desencriptar el mensaje. No hace falta que figures como segundo destinatario del mensaje, puesto que la mayoría de los programas archivan todos los mensajes transmitidos; solo se necesita que lo encriptes seleccionando también tu propia clave pública. Es una buena práctica que siempre te pongas como segundo objetivo de cualquier encriptación que tú mismo realices.

Si envías un mensaje firmado digitalmente, también quedará archivado de esa forma y seguramente ya no podrás retirar la firma digital del archivo que alberga ese mensaje. Sin embargo es menos problema porque la información seguirá estando accesible. Y sobre los mensajes recibidos, más de lo mismo: puedes desencriptar y verificar su contenido -tantas veces como quieras-, pero seguramente no podrás modificarlos.

Menú del programa de correo

Política de avales y claves

Inicialmente una clave pública está avalada (firmada) solo por su propietario. Tal vez recibas esa clave teniendo la seguridad inequívoca de que pertenece a la persona cuyo nombre está asociado a esa clave. Esto sucede, por ejemplo, porque conoces perfectamente a ese individuo y además te ha entregado la clave en mano (en disquete). En ese caso es evidente que puedes estar seguro de que la clave recibida es correcta. La forma de registrar tu seguridad es firmar la clave recibida, con lo que certificas su validez. Utilizando tu propia llave personal firmas la clave de otra persona, y así queda registrado que tú avalas personalmente que esa clave pertenece indudablemente a quien figura como su propietario. A partir de ese momento, los documentos que vengan firmados digitalmente con esa clave tendrán la garantía absoluta de que están remitidos por el propietario de esa clave. Igualmente, los documentos encriptados mediante esa clave solo podrán ser leídos por el propietario de la misma.

Pero no siempre podemos estar tan seguros. Existen dos inconvenientes que pueden empañar la situación. El primer problema es que muchas veces no es posible entregar las claves por canales seguros. Si la otra persona está a mucha distancia tal vez no tenga forma de darte la clave en mano. En estos casos cabe la posibilidad de utilizar otro canal seguro para transmitir la clave. Puedes emplear el correo postal certificado, o cualquier otro medio que te merezca una seguridad absoluta. Si recibes una clave por un canal inseguro (correo electrónico de internet, etc), siempre cabe dudar de que ese envío haya sido manipulado por terceras personas, por lo cual no debes aceptar ciegamente que la clave recibida sea correcta. Caben recursos complementarios, como establecer una llamada telefónica u otro canal independiente que tenga una fiabilidad razonable (asegurate de que estás hablando con quien realmente crees); puedes utilizar canales adicionales para verificar la huella dactilar, no es preciso comprobar cada byte de la clave.

Hay otra dificultad, de tipo distinto. Supongamos que vas a iniciar una colaboración con otro internauta a quien has conocido recientemente y al que nunca has visto cara a cara. Establecéis una cita personal para intercambiar las claves (en disquetes). Evidentemente, el canal es seguro, pero no puede decirse lo mismo de su personalidad. Quizá el que te esté entregando la clave no sea realmente quien tu crees, sino un suplantador. Quizá esa persona ha interferido el mensaje en el que establecíais la cita, y pretende entregarte una clave falsa para seguir interfiriendo posteriormente vuestras comunicaciones. Así pues, tenemos una clave que tampoco nos ofrece garantías, porque la duda alcanza incluso a la personalidad de quien nos la entrega.

Cada uno es libre y puede actuar de una forma más o menos confiada. Al fin y al cabo en la vida real también corremos riesgos, aunque no nos demos cuenta de ello porque los tenemos asumidos desde hace tiempo. La mayoría de nosotros asegura saber quién es nuestro jefe o los compañeros de trabajo. Pero lo cierto es que no hemos visto sus partidas de nacimiento, sus pasaportes...

PGP ofrece algunos interesantes sistemas para superar estos problemas de inseguridad. Veamoslos con algún detalle.

Cuando añades a tu sistema una nueva clave, PGP suele considerarla como carente de validez ("invalid"). Esto significa que PGP no tiene constancia de que esa clave corresponda realmente con el nombre al que va asociada. Como ya se ha dicho, tu puedes estar seguro de que la clave es buena, y la forma de indicarselo a PGP es firmando la clave recibida. A partir de ese momento PGP considera que la clave ya es válida al ciento por ciento. La clave del otro incorpora, dentro de sí misma, tu propia firma.

Cuando vayas a firmar una clave, aparecerá una ventana en la que habrá una casilla con el texto "Allow signature to be exported. Others may rely upon your signature". Por defecto la casilla está desactivada, y eso significa que la validación de la firma es solo para tu propio uso; si posteriormente envías esa clave a otra persona (o a un servidor de claves) no se incluirá tu firma digital sobre esa clave. Por el contrario, si activas esa casilla, las exportaciones posteriores de esa clave también incorporarán tu firma digital. Es importante distinguir ese detalle, puesto que firmar otra clave con esa opción de exportación implica que tu aval puede llegar a ser público: quizá otros no tengan seguridad sobre esa clave, pero se fíen de tu criterio. Cualquiera puede ver las firmas que incorpora una clave, clikeando en los signos "+" (signo de sumar) que aparecen por la izquierda. Exportar claves de otros con tu propia firma equivale a un reconocimiento público de que esa clave es buena.

Conviene añadir que es posible "des-firmar" una clave. Basta con hacer que aparezca tu firma asociada, seleccionar esa firma y utilizar la opción de borrado. Incluso puedes quitar las firmas de otros. Todo esto solo tiene repercusión en tu propio ordenador. Si la clave ha sido llevada a un servidor de claves, ya no hay forma de retirar de allí ninguna de las firmas que avalan esa clave.

Para las claves que han sido validadas por tí personalmente (firmadas) también es posible aplicar otro criterio. Puedes agregarles un grado de confianza o crédito que se extenderá automáticamente a todas las otras claves que incorporen esa firma. Se entenderá más fácilmente con unos ejemplos: Yo he recibido las claves de Lola, Pedro y Jose. Todos ellos son personas conocidas por mí, y me han entregado sus calves en forma segura. Por tanto firmo las tres claves, que quedan validadas al ciento por ciento. También sé que Lola es una persona meticulosa y concienzuda que solo firmará claves que sean dignas de total crédito; esto puede servir para que yo también me fíe de otras claves que incorporen la firma de Lola. Pedro también es una persona cuidadosa, pero en menor grado; puedo tomar alguna consideración favorable hacia otras claves que incluyan la firma de Pedro. Jose es bastante descuidado e irreflexivo, por lo que no debo tener en cuenta que otras claves sean válidas solo porque incorporen su firma. Es posible indicar todo esto a PGP en las propiedades de cada una de las claves. Para eso se ha establecido el parámetro de confianza ("trust"), que representa exactamente el crédito que daremos a las firmas que esa persona haga sobre claves de otros. Inicialmente una clave ingresada en nuestro sistema tiene una confianza cero ("untrust"). Podemos corregir este valor a un grado intermedio ("marginal") o asignarle una confianza completa ("complete"). La clave de uno mismo siempre tiene un grado de confianza máximo ("ultimate").

PGP utiliza estos criterios de confianza para aumentar la validez de terceras claves que no hayan sido validadas (firmadas) por uno mismo. He asignado una confianza completa a la clave de Lola; si recibo una clave que ya viene con la firma de Lola, PGP la considerará válida - creíble- porque está avalada por alguien de confianza completa. He asignado a la clave de Pedro una confiazna media; si luego recojo otra clave que incorpora la firma de Pedro, PGP ya considerará que esa nueva clave tiene cierta confianza. Por contra, el programa no reconocerá validez alguna a las claves nuevas que carezcan de firmas de mi confianza. El programa también es capaz de sumar grados de confianza; cuando una clave nueva venga con varias firmas a las que yo asigné confianza media, el resultado será una validez -credibilidad- mayor. Todo esto puede denominarse validez transmitida, derivada de confianzas depositadas en quienes avalan la clave. Siempre podremos afianzar totalmente esa validez transmitida firmando personalmente en la clave deseada.

Conviene matizar algunos detalles, para asegurar los conceptos:

  1. La confianza no se transmite de unas claves a otras. Lola tiene mi confianza total, y aceptaré como válida la clave de Marcos, porque esa clave incorpora la firma de Lola. Pero eso no implica que yo confíe en Marcos para avalar otras claves.

  2. Todas las claves tienen un nivel de confianza ("trust") cero, salvo que se lo hayamos cambiado personalmente. La confianza de una clave puede ser variada cuando queramos, en el sentido que queramos (aumentándola o disminuyendola).

  3. La validez representa la seguridad que tenemos sobre la relación de una clave y el nombre asociado a ella. La confianza representa el crédito que damos a esa persona para aceptar sus avales (firmas) como prueba de validez.

  4. Solo podremos asignar confianza a las claves que nosotros mismos hayamos validado personalmente. Mientras no valides con tu firma la clave de otro, no podrás otrogarle confianza alguna.

  5. La confianza es un criterio personal que solo se mantiene en el propio fichero de claves. Aunque exportes la clave, se la enviés a otros o la deposites en un servidor... el grado de confianza no será transmitido.

Puedes utilizar una clave de otro que carece de validez. Puedes enviarle mensajes encriptados o aceptar sus mensajes firmados digitalmente. Al comprobar sus mensajes con firma digital obtendrás un aviso relativo a la falta de validez de la clave ("Invalid Key"), pero eso no significa que el mensaje sea malo o tenga problema alguno, solo es una advertencia respecto a la inseguridad de la clave.

Por otro lado, tu aval (firma) sobre la clave de otro nunca te implica como responsable de lo que haga esa persona. Aunque exportes esa clave con tu firma, solo estás garantizando que esa clave es suya, nada dice sobre la honestidad de esa persona: si es alguien honrado o se trata de un criminal, eso es su problema; tu solo das fé de que la clave le pertenece, no te responsabilizas de sus acciones.

El propietario de una clave es quien tiene la principal responsabilidad de publicarla o difundirla por los canales que estime más adecuados, y también es quien legitimamente decide si acepta o rechaza que otros avalen su clave. Puedo firmar la clave de otro, en mi propio ordenador...pero normalmente no debo enviar esa clave firmada a un tercero ni a un servidor de claves. Eso sería una extralimitación. Quizá el propietario de la clave piense que yo soy una persona indeseable, y no quiera que el resto del público le asocie conmigo. Lo correcto es que yo le envíe personalmente su clave con mi firma incorporada. Luego él decide si publica eso o si lo tira a la basura. Aunque la tecnología actual permita otras posibilidades, solo él propietario de una clave es quien debe decidir que avales acepta para si mismo.

Por último, una clave puede ser desactivada. Ello impedirá que se le puedan enviar mensajes encriptados y emitirá un aviso cuando se reciban mensajes firmados digitalmente. Además, PGP no utilizará el grado de confianza que pueda tener asignado esa clave. Cuando lo deseemos, podremos activar nuevamente la clave.


Problemas y particularidades de tipo legal

El PGP es un programa procedente de los Estados Unidos de Norteamérica. Allí se considera que la exportación de sistemas criptográficos de gran potencia es un delito, igual que lo sería la exportación ilegal de armamento pesado. Por tanto no debes usar una versión norteamericana del programa PGP, porque podrías estar cometiendo un delito al exportar el programa. Hay versiones internacionales del PGP, que pueden usarse legalmente fuera de EE.UU., porque no han sido compiladas en ese país y por lo tanto no se considera que hayan sido exportadas ilegalmente. Estas versiones internacionales añaden la letra "i" en su identificación, y se suministran en ficheros que siempre llevan la letra "i". Por ejemplo, yo he obtenido recientemente la versión <5.5.3i>, incluida en el fichero <pgp553i-win95nt.exe>. El programa que así he conseguido funciona igual que el de EE.UU. (versión 5.5.3), incluso es legal cruzar mensajes encriptados con los ciudadanos residentes en aquel país. El problema es solo de tipo jurídico respecto a la exportación de un programa ya compilado. En Internet, PGP tiene un sitio "internacional", donde pueden conseguirse estas versiones del programa y que también sirve como referencia para consultar cualquier información relacionada. El mayor problema es que ahí no encontrarás nada en castellano: http://www.pgpi.com/

Botones del mensaje

Otros países consideran delictivo el uso de programas criptológicos. Esto ocurre en muchas dictaduras, donde el estado no autoriza que los usuarios utilicen programas de este tipo. Los países occidentales, democracias con estado de derecho, sí que suelen permitirlo porque sus consituciones atorizan a la privacidad y al secreto de las comunicaciones. En España es completamente legal y el nuevo código penal contempla expresamente este derecho, pero debes recordar no enviar mensajes encriptados ni firmados a los ciudadanos de otros sitios donde sea ilegal: podrías ocasionar muchos problemas al receptor del mensaje. En caso de duda, pregunta al destinatario antes de enviarle un mensaje encriptado.

El programa se distribuye en versiones gratuitas y otras de pago. Si se va a usar PGP para actividades lucrativas o empresariales, será necesario adquirir una versión comercial. Por el contrario, es posible usar una versión gratuita para los que solo utilicen el PGP en actividades personales y sin ánimo de lucro. Algunas de las versiones gratuitas carecen de posibilidades adicionales que incorporan las versiones comerciales, pero eso solo afecta a algunos detalles de menor importancia. El funcionamiento de ambas versiones es totalmente compatible, y nunca hay que pagar por generar las claves o depositarlas en los servidores públicos de claves.


Limitaciones y valoraciones finales

Nadie sensato enviaría una carta postal mecanografiada y sin rúbrica... que además viaje en un sobre mecanografiado y sin cerrar. Es fácil entender que eso implicaría un gran riesgo: por carecer de sobre cerrado, estaría expuestas a las miradas de cualquier fisgón; por estar mecanografiadas sin signos personales, cualquiera puede modificar su contenido; por carecer de rúbrica, cualquiera puede crear otra carta similar falsa, suplantando un remite ajeno. Por ser relativamente fácil cambiar la carta a otro sobre similar, se puede hacer que esa carta llegue a un destinatario distinto. ¿Te parece una situación muy estúpida? Pues así es como funciona el correo electrónico de Internet.

Uno de los problemas graves que tiene el correo-e es que carece de mecanismos de seguridad y autentificación. Es muy fácil crear un mensaje falso suplantando a otro internauta, o hacer otras "travesuras" al estilo de las indicadas en el párrafo inicil. Para tratar de corregir esta debilidad se han propuesto diversos sistemas de firma digital o firma electrónica, de forma que el mensaje lleve incorporado algún sistema de autentificación o que posibilite esa autentificación mediante software. Eso se consigue combinando diferentes tecnicas de criptología. Teóricamente, quien reciba uno de estos mensajes podrá comprobar si el mensaje es auténtico o falso. Pero la realidad es mucho más compleja, y de momento siguen quedando muchas lagunas y fallos por cubrir. Estos problemas se deben a diferentes causas:

A) Los propios protocolos de Internet, y especialmente los dedicados al transporte de correo electrónico, son intrínsecamente inseguros. Es muy difícil introducir o añadir parches de seguridad eficaces cuando se trabaja sobre una base tecnológica que sustancialmente ofrece mecanismos carentes de fiabilidad.

B) El sistema de correo electrónico ya ha ido añadiendo otros parches para lograr que los mensajes puedan ofrecer más prestaciones de las previstas inicialmente (caracteres especiales como las vocales acentuadas, ficheros adjuntos, etc). Estos parches funcionan razonablemente bien, pero no están totalmente estandarizados y por ese motivo muchas veces ocurre que son incompatibles con otros sistemas de verificación y seguridad.

C) Ningún sector estratégico (industria de software, proveedores de acceso a Internet, autoridades políticas, etc.) parece estar implicado en promover una cultura de seguridad y autentificación electrónica. Los usuarios no son animados a interesarse por estos temas, no existe una cultura de la seguridad.

D) Las empresas dedicadas a encontrar soluciones software de autentificación no buscan una solución común, estandarizada y válida para todos los usuarios. Cada propuesta es incompatible con las otras.

Para terminar,los sistemas de firma digital conllevan necesariamente una serie de conceptos y hechos complejos (generación de claves; almacenamiento y difusión de claves; relación entre claves y usuarios y cuentas de correo, relación entre claves y firmas digitales, etc) que no son fáciles de asimilar por muchos usuarios. Los programas de firma digital tampoco están muy evolucionados, y facilitan en poca medida la comprensión de todo esto.

Ya se ha insinuado que existen diferentes sistemas de autentificación aplicables al correo electrónico. Unos tienen unas ventajas y otros tienen otras. Aquí solo vamos a tener en cuenta el sistema PGP, por ser -con mucha diferencia- el más reputado en cuanto a su seguridad técnica, y el más independiente. De hecho, es el sistema recomendado por universidades, asociaciones de usuarios, centros de investigación, ONGs, etc. Así pues, vamos a ver con cierto detalle cuáles son los principales problemas del correo electónico y/o lo que PGP puede hacer para solucionar esos problemas. Empecemos enumerando las debilidades del correo-e, o los problemas que nos podemos encontrar al utilizarlo.

Suplantación. El mensaje que llega a destino parece proceder de una persona, pero en realidad fué creado por un tercero que suplanta la personalidad del remitente.

Desviación. El mensaje es redirigido hacia destinatarios que no eran deseados por el remitente. Esto puede hacerse impidiendo (o no) que el mensaje también llegue al destinatario legítimo.

Manipulación. El mensaje es interceptado, modificado y reexpedido. El receptor recibe un mensaje que varía -en poco o en mucho- del original escrito por el remitente.

Copia o espionaje. El mensaje llega a su destino, pero su información ha sido obtenida por terceras personas, violentando así la privacidad de las comunicaciones. Esa información puede ser utilizada o distribuida en contra del remitente y/o del destinatario.

Retención. El mensaje es retenido temporalmente. Después de un tiempo vuelve a ponerse en circulación para que acabe alcanzando su destino. Normalmente somos muy tolerantes con los casos de retención y destrucción de mensajes: tenemos propensión a suponer que eso se produce por "fallos de Internet"; aunque alguna vez eso sea cierto, en otras ocasiones puede deberse a sabotajes. 

Destrucción. El mensaje de correo es interceptado y bloqueado ilegalmente, de forma que no llegará a su correspondiente destino. Pero de ello no se enteran los implicados: el remitente pensará que el mensaje ha llegado; el destinatario no se enterará de que le han enviado un mensaje.

En algunas ocasiones se producen varios de estos actos ilegales en relación con el mismo mensaje. Por ejemplo, es posible que el mensaje sea retenido, manipulado y desviado. El hecho de que la información sea de tipo digital hace que todo esto pueda automatizarse: es posible crear programas que seleccionen ciertos mensajes para interceptar su transporte o copiar su contenido. Por otro lado, la informacion electrónica puede ser modificada con más facilidad que una carta postal, puesto que no hay ningún tipo de rúbrica o marcas personales del verdadero remitente. Con esto volvemos al problema de la autentificación y las firmas digitales.

Supongamos que tú eres un internauta meticuloso y concienzudo. Decides instalarte el programa PGP para enviar todos tus mensajes con firma digital. ¿Qué has ganado con eso? Pues tú personalmente ganas bien poco. Por ejemplo, sigues sin tener certeza sobre el hecho de que los mensajes enviados estén llegando a destino. La firma digital no te protege en absoluto sobre una posible interceptación y destrucción del mensaje. La firma digital es una garantía incluída DENTRO del mensaje, y que no mejora ni añade garantías al sistema de transporte: quien pueda/sepa bloquear un mensaje sin firma, también podrá hacer eso con otro mensaje que lleve firma digital. De hecho, quien intercepta un mensaje... de momento no conoce su contenido, no sabe si el mensaje interceptado va con firma digital o sin ella. Además, PGP tampoco sirve para solucionar otros problemas que veremos a continuación.

Cualquiera puede seguir creando un mensaje falso, con tu remite y enviarlo sin problemas. El hecho de que tú generes (ocasionalmente o siempre) mesajes con firma digital no impide para nada que otra persona pueda suplantarte y enviar mensajes aparentemente tuyos sin firma digital. Los receptores no tendrán ningún aviso o pista evidente sobre la falsedad de ese mensaje, ni siquiera en el caso improbable de que ellos también tengan PGP. Unicamente hay una posibilidad de que ciertas personas recelen sobre la autoría del mensaje, si ellos reciben habitualmente otros mensajes tuyos y además tú siempre les envías mensajes con firma digital. Concluyendo, aunque tú uses firma digital, pueden seguir suplantándote.

A mayores, un usuario malintencionado puede coger un mensaje tuyo auténtico (que él haya recibido) y -partiendo de ese texto- hacerselo llegar a otro u otros usuarios en un segundo mensaje (falso) aparentemente remitido por tí. El texto es auténtico y no ha sido manipulado, pero a ti puede perjudicarte gravemente que ese escrito haya llegado a quien no querías. PGP tampoco evita este problema de desviación. Para colmo de males, en un caso como este, los receptores pueden usar la firma digital (intacta) para verificar que efectivamente fuiste tú quien escribió el mensaje (el texto). Luego no les cuentes que el mensaje es falso, no te creerán. A mí me ha pasado.

La firma digital solo salvaguarda el texto incluído en el cuerpo del mensaje. Ya hemos dicho que la firma digital va DENTRO del mensaje, pero ahora hay que precisar un poco más: para ser exactos la firma digital va DENTRO DEL CUERPO DEL MENSAJE, y solo ofrece alguna seguridad sobre ese texto (cuerpo). La firma digitan no salvaguarda ni añade garantías a los datos que van en la cabecera del mensaje: remitente, destinatario/s, fecha, título del mensaje, etc. Todos estos detalles pueden ser "violados" sin que PGP pueda evitarlo o detectarlo. Para evidenciar los problemas que pueden derivarse de esto, pondré un ejemplo. Permitidme que me extienda un poco porque la situación tiene mucha enjundia.

Supongamos que yo participo en una lista de distribución sobre jardinería, donde tenemos un problema porque hay otro suscriptor que se dedica a enviarnos mensajes publicitarios (spam). Yo envío un mensaje a la lista, con el título "Estoy harto publicidad" y en el cuerpo del mensaje pongo "Ese personaje es un jilipollas y un hijo de puta". Mi mensaje va con firma digital PGP y cualquier otro usuario puede (usando el programa PGP, y con suerte) comprobar que yo escribí eso. Ok.

Ahora supongamos que en esa misma lista hay otro suscriptor malintencionado que quiere perjudicarme. Busca otra lista de distribución que trate sobre la monarquía española y crea un mensaje falso (con mi remite), dirigido a los suscriptores de esa lista. Al mensaje falso le pone el siguiente título "Mi opinión sobre el Rey". En el cuerpo del mensaje copia el contenido de lo que yo he enviado a los jardineros ("Ese personaje es un jilipollas y un hijo de puta") incluyendo la firma digital que verifica que eso fué escrito por mí. 

Como destinatario del mensaje pone la dirección de la lista esa de los monárquicos. Pero él sabe que esa distribución será interceptada porque yo no estoy suscrito realmente a esa lista. Así pues, añade como destinatarios ocultos las direcciones particulares de los suscriptores que participan habitualmente en esa lista. Si el tipo es listo, para mejorar el engaño puede añadir al título del mensaje el indicativo de la lista ("[MONARQUIA]"), para que parezca que el mensaje pasó realmente por la lista, aunque esto tampoco sea cierto. Y para añadir más veneno, pone también como destintario del mensaje la dirección electrónica de la casa real española.

Los que reciban el mensaje se alarmarán por mis supuestas declaraciones y empezarán a tener mal concepto de mí. Los más precavidos quizá quieran verificar la firma digital, y comprobarán que es correcta: efectivamente yo escribí esos insultos. No creerán mis desmentidos y seguramente seré apresado bajo la acusación de injurias al rey, delito tipificado en la legislación española. Tardaré algún tiempo en convencer al juez de que soy inocente, si es que lo consigo: la legislación española acepta las firmas digitales como prueba válida en el proceso judicial, cosa que en este caso me perjudica. ¿Qué tal?

Ahora veámos la perspectiva opuesta, la recepción de mensajes que incorporan firmas digitales y la garantía que eso ofrece.

Muchas veces sucede que el mensaje es auténtico pero la firma digital no puede ser comprobada satisfactoriamente por problemas técnicos. Los caracteres especiales (acentos, eñes, etc), los sistemas de codificación del mensaje y los diferentes programas de correo pueden descabalar la firma digital, de forma que parezca un mensaje falso sin que realmente lo sea. Esto es frecuente, como sabemos quienes usamos PGP hace tiempo. O sea, que al final sucede que muchas veces PGP no funciona garantizando la autoría, y el receptor que duda tiene que acabar escribiendo al remitentente para preguntarle si él realmente escribió eso. Frecuentemente recibo mensajes de otros usuarios de PGP que me dicen que su programa no puede verificar afirmativamente mi mensaje, y me escriben para preguntarme si realmente yo escribí eso. Para terminar así, igual podíamos haber prescindido de PGP y de las firmas digitales.

Por otro lado, el uso de PGP impone ciertas exigencias o limitaciones incómodas. Por ejemplo, sin PGP puedo configurar mi programa de correo (el popular Outlook Express) para que transmita párrafos verdaderos (líneas tan largas como sea necesario, que luego son recompuestas en la pantalla del receptor, para facilitar su visualización). PGP no funciona bien con este sistema, y exige líneas de un tamaño máximo (normalmente, menos de 80 caracteres). Yo no tengo que preocuparme de hacer las líneas cortas porque el PGP se encarga de "fragmentarlas" automáticamente, justo en el momento de añadir la firma digital. Pero al final esto genera nuevos problemas. Por ejemplo, si yo quiero enviarte una URL de 96 caracteres como...

http://www.mcafee-at-home.com/international/spain/products/pgp-personal-security/default.asp?M=6

...sucederá que, al incoporar la firma digital, PGP romperá esa URL en dos o más líneas:

http://www.mcafee-at-home.com/international/spain/products/pgp-personal-sec
u
rity/default.asp?M=6

... y tú te quedarás sin acceder a la página que yo estaba queriendo sugerirte; necesitarás recomponer las líneas manualmente e introducir el resultado en el navegador; eso suponiendo que te percates del cuál es el problema, si además sabes resolverlo y si estas dispuesto a perder unos segundos adicionales en esa tarea que a mí me parece bastante estúpida.

Algunos usuarios disponen de una opción para manejar las firmas digitales como un fichero adjunto. Pero no he contemplado aquí esa posibilidad porque sencillamente no funciona con todos los programas de correo (concretamente no fucniona con el Outlook Express, al menos la versión que yo uso) y por lo tanto esa opción puede acabar reportando más problemas que ventajas. En principio se trataba de buscar un sistema de autentificación que fuera universal (o casi) para que pudiera ser utilizado por cualquiera.

Los problemas comentados en los párrafos precedentes solo hacen referencia a la firma digital, pero muchos de esos problemas se producen igual en los mensajes encriptados. Por ejemplo, un mensaje encriptado tiene el mismo riesgo de ser interceptado, retenido o desviado; también es posible modificar los datos de su cabecera, impunemente y sin que PGP pueda detectarlo. No obstante, el contenido del mensaje normalmente no podrá ser leído por terceros, puesto que solo puede ser desencriptado por quien tenga la clave privada del destinatario y su contraseña. Ahí también puede haber un riesgo, si el destinatario es poco cuidadoso y permite que otras personas le "roben" la clave y la contraseña.

Pero PGP también tiene otros problemas: como ya se ha dicho, es difícil de entender y usar. Personalmente creo que no está al alcance de los usuarios corrientes que no entienden de tecnicismos y que no están dipuestos a esforzarse mucho con estos programas conceptualmente complicados. También es un problema que no exista una versión de PGP que esté en español y que sirva para Windows. Esto es otro factor que incrementa las dificutades de entendimiento y utilización para muchos usuarios hispanohablantes. Más de una vez alguien me escribe preguntándome por esa ristra de caracteres incomprensibles que siempre añado al pié de mis mensajes. Eso prueba que no es nada fácil de entender, al menos para los hispanohablantes (¿Qué carajos es eso de "BEGIN PGP SIGNATURE"?).

Resumiendo, respecto a la autentificación de mensajes (firma digital):

1.- PGP es demasiado difícil para la mayoría de usuarios.

2.- PGP añade problemas nuevos (como las líneas cortas).

3.- PGP no soluciona totalmente ninguno de los problemas e inseguridades del correo electrónico.

4.- Usar PGP incluso puede ser peor que no usarlo, en algunos casos.

Algunos de los problemas comentados pueden paliarse utilizando mensajes que, además de incorporar firma digital, vayan encriptados. PGP permite crear con una facilidad relativa estos mensajes firmados y encriptados. Pero la encriptación supone una perspectiva distinta, pues no es utilizable normalmente: la mayoría de usuarios que reciban un mensaje encriptado no podrán desencriptarlo por no tener el software necesario y/o por falta de conocimientos para manejarlo.

Lamentablemente, los promotores y usuarios de PGP pocas veces son conscientes de estos problemas. Al menos hay que reconocer que las páginas que hablan sobre PGP dicen muchas maravillas de este programa, pero nunca suelen mencionar estos inconvenientes que también son reales.

Es por todo esto que considero que PGP es insuficiente como método de autentificación, aún siendo el mejor sistema de los vigentes. No llegaremos a un nivel de seguridad razonable mientras sigamos usando un protocolo SMPT carente de controles y mecanismos de seguridad. Vuelvo a uno de los conceptos indicados al principio: Los propios protocolos de Internet, y especialmente los dedicados al transporte de correo electrónico, son intrínsecamente inseguros; es muy difícil introducir o añadir parches de seguridad eficaces cuando se trabaja sobre una base tecnológica que sustancialmente ofrece mecanismos carentes de fiabilidad.

Este apartado es una copia (con mínimas modificaciones) del artículo "Limitaciones de la Autentificación de mensajes mediante PGP", publicado originalmente (2002) en las páginas de la II Campaña de seguridad en Internet, organizada por la Asociación de Internautas: http://seguridad.internautas.org/limitpgp.php


Enlaces

¿Por qué necesitas PGP? (Phil Zimmermann), en http://www.pgpi.org/doc/whypgp/es/

Instrucciones elementales para la utilización del PGP (Equipo Nizkor), en http://www.derechos.org/nizkor/pgpinstr.html

Criptografía - PGP (Asociación de internautas), en http://seguridad.internautas.org/pgp.php

Criptografía recreativa (J.L.Quijada), en http://home.worldonline.es/jlquijad

Criptografía y PGP (Ayuda_IRC), en http://www.ayuda-irc.net/pgp.shtml

PGP. Seguridad del Correo Electrónico (MADTSoft), en http://www.siinet.com/Boletines.asp?Tipo=2&Numero=35

Correo confidencial (Fernando García), en http://www.tentaciones.elpais.es/T/D/clic/clic.htm

Páginas sobre PGP (RedIris), en http://www.rediris.es/pgp/

Taller de Criptografía (Arturo Quirantes Sierra), en http://www.ugr.es/~aquiran/cripto/cripto.htm

Todo sobre el PGP (Javier González), en http://surf.to/pgp

CriptoZona (Miguel Ángel Monjas Llorente), en http://www.dat.etsit.upm.es/~mmonjas/cripto/

Criptología (Jesús Cea Avión), en http://www.argo.es/~jcea/cripto.htm

PEGEPEROS en La Neta, en http://www.laneta.apc.org/home/soporte/pgp/index.html

¿Qué es PGP? (HispaSec), en http://www.hispasec.com/articulos.asp?seccion=Criptología&id=412

Seguridad en Internet (Juan Carlos Martínez Coll), en http://www.eumed.net/cursecon/ecoinet/seguridad/

Agencia de Protección de Datos, en http://www.ag-protecciondatos.es/

El sitio internacional de PGP (The International PGP Home Page, en inglés), en http://www.pgpi.com/

Manual de PGP, traducción al castellano para la versión 5.5.3i (traducido por Juan Manuel Velázquez (velazquez @ usa.net) y Arturo Quirantes Sierra (aquiran @ goliat.ugr.es).
Manual versión WordPerfect, comprimido en zip: http://www.ugr.es/~aquiran/cripto/expedien/hisparch/man553wp.zip
Manual versión Adobe Acrobat (PDF), comprimido en zip: http://www.ugr.es/~aquiran/cripto/expedien/hisparch/man553pd.zip
También existe ya una fe de erratas en http://www.ugr.es/~aquiran/cripto/expedien/hisparch/man553er.txt

Además existe algún boletín informativo interesante:

Criptonomicón.
Información web en http://www.iec.csic.es/criptonomicon/suscripcion.html
Suscripciones enviando un mensaje a cripto-request @ iec.csic.es poniendo en el cuerpo del mensaje la palabra "join" (sin las comillas; no hace falta escribir nada en el asunto o subjet).

También existen listas de distribución:

Una lista específica para el tema PGP, llamada mail-pgp, cuyo título es: Seguridad en correo electrónico basado en PGP.
Información web en http://www.rediris.es/list/info/mail-pgp.html
Suscripciones enviando un mensaje a listserv @ listserv.rediris.es , y en el cuerpo del mensaje poner "subscribe mail-pgp" (sin las comillas).

Otra lista específica es Amigos del Pgp, ubicada en el servidor de elistas.
Información web en http://www.elistas.net/lista/pgp
Suscripciones enviando un mensaje a pgp-alta @ eListas.net , sin poner nada en el mensaje.

Una lista genérica sobre criptografía, llamada cripto_foro, cuyo título es: criptográficos y de protección de la información.
Suscripciones enviando un mensaje a cripto_foro-request @ fi.upm.es , y en el cuerpo del mensaje poner "subscribe cripto_foro" (sin las comillas).



Advertencias y claves PGP

Seguridad en el correo electrónico y PGP


Importar la clave personal de Antonio Caravantes


Correo-e:
antonio @ caravantes.com

Home:
www.caravantes.com

Advertencias, condiciones de uso y aspectos legales de este sitio

Licencia Creative Commons
Licencia Creative Commons

Volver     Arriba     Home

Página http://www.caravantes.com/pgp/pgp.htm , actualizada el 10-02-2006. @ Antonio Caravantes