Tema destacado: Sigue las noticias más importantes de elhacker.net en twitter!
Autor
|
Tema: Curso PGP(recomendado para los nuevos) (Leído 3,937 veces)
|
|
<scrk/>
|
Curso PGP por Arturo Quirantes Sierra Bienvenido Curso de PGP, dirigido y presentado por Arturo Quirantes Sierra. En él podrá usted aprender a manejar, configura y utilizar habitualmente el programa de cifrado de datos Pretty Good Privacy (PGP), uno de los más extendidos y usados en mensajería de correo electrónico.
¿Por qué necesita usted un curso sobre PGP? A fin de cuentas, hay manuales y archivos de ayuda. Pero la experiencia muestra que las cosas no son tan sencillas. Cuando un "newbie" (novato) descubre un nuevo programa, uno de sus primeros problemas consiste en averiguar cómo funciona. Los archivos de ayuda no solucionan todos los problemas ni entran en profundidad en conceptos. Y el manual que acompaña al programa puede resultar, con sus trescientas páginas, digamos amenazador. La mayoría de los textos de aprendizaje están en inglés, y esto incluye los manuales que acompañan el programa.
Creo que se puede hacer mejor, especialmente pensando en los recién llegados que apenas si aciertan a distinguir entre una clave y una firma digital. José Manuel Gómez, de Kriptópolis ha confeccionado un manual de instrucciones relámpago PGP en una hora. Yo mismo traduje el manual de PGP versión 5.5.3i al castellano, en colaboración con Juan Manuel Velázque. Y con el presente curso, quiero llevar el conocimiento sobre el programa de cifrado PGP un paso más allá.
Bienvenidos por tanto a este Curso sencillo sobre PGP. Es un Curso porque requiere ir algo más allá de un telegráfico "PGP, programa de cifrado, bueno, yo Tarzán, tú Chita"; sencillo porque estará enfocado al usuario con nociones escasas -o nulas- sobre criptografía, si bien intentaré dejar algunas referencias para los apetitos insaciables; sobre PGP, porque es éste uno de los programas más conocidos sobre cifrado de datos, hasta tal punto que resultó poco menos que revolucionario en su momento.
Este cursillo está redactado en formato html deliberadamente sencillo. Es decir, no habrá diagramas, dibujos, fotografías ni requiere de Java, javascript, ActiveX o cualquiera de esas zarandajas con que nos vuelven locos. De hecho, podría haberlo escrito en formato texto sencillo, pero con ello perderíamos las ventajas de los hipervínculos y los formatos. No soy partidario de complicar las cosas innecesariamente.
Prólogo a la tercera edición (Mayo 2002)
El Curso Sencillo de PGP tenía en su origen la estructura de lo que denomino un "curso telepresencial", en el que los alumnos se incorporan a una lista restringida de correo electrónico. El profesor publicaba los capítulos del curso a razón de uno por semana, y los alumnos disponían de siete días para lerlos, formular preguntas e incluso ayudarse mutuamente.
Este Curso vio la luz gracias a los esfuerzos de Arturo Quirantes (Taller de Criptografía) y Jesús Sanz de las Heras (RedIris). La verdad es que no teníamos ni idea de en qué nos metíamos, pero pensamos que el que no se arriesga no cruza la mar. Así que durante los meses de Junio y Julio de 2.000 los miembros de RedIris fueron invitados al primer curso de PGP interactivo. El lector interesado en obtener más referencias puede ver su estructura y resultados aquí:
http://www.rediris.es/pgp/ini/1tc-pgp.es.html. Página principal de introducción e instrucciones http://www.rediris.es/rediris/boletin/53/actualidad.htm#Tele Curso Resumen de resultados (Boletín de RedIris nº 53)
No solamente sobrevivimos a la primera edición del curso, sino que todo fue mejor de lo esperado. La cifra de asistentes virtuales (más de novecientos) no fue obstáculo para que las clases se desarrollasen sin ningún inconveniente. Solamente un grupo de alumnos tuvo algún problema con su conexión a Internet, que logramos subsanar. Por cierto, no sé cómo, pero el Curso sencillo de PGP (primera edición) traspasó las fronteras de RedIris, extendiéndose a particulares y empresas externas, y llegando a lugares tan dispares como Cuba o la Armada norteamericana (¿cómo llegó el curso desde RedIris a un dominio navy.mil? Misterios del ciberespacio).
La segunda edición (Noviembre 2.001) se desarrolló sin el concurso de RedIris, en un entormo de suscripción mediante pago organizado en elistas.net. Pero si les soy sincero, no fue lo mismo. PGP es un programa desarrollado inicialmente sin ánimo de lucro, y me sentía algo incómodo de cobrar por ello. Así que el Curso Sencillo de PGP vuelve a la modalidad de gratistotalware. Pase y póngase cómodo.
Y ya basta de introducciones. Esta es la estructura del Curso Sencillo de PGP.
Capítulo 1: El cifrado, en pocas palabras
Este Curso sencillo de sobre el programa de cifrado PGP comienza con una introducción a los principales conceptos en criptografía. Se hará una breve introducción a los dos tipos principales de cifrado existentes en la actualidad: cifrado simétrico y cifrado asimétrico (o de clave pública). Se explicará asimismo cómo los sistemas modernos de cifrado utilizan una combinación de algoritmos simétricos y de clave pública. Si bien este capítulo no es preciso para usar PGP, su lectora resulta altamente recomendable para comprender los mecanismos básicos subyacentes a este y otros protocolos de cifrado (como, por ejemplo, el usado por los navegadores seguros). Asimismo, es un comienzo útil para todos aquellos interesados en la criptología en general.
Capítulo 2: Firmas y certificados
Como continuación de la exposición de ideas previas en criptografía, revisaremos en este capítulo la forma digital. Se hará una breve introducción al concepto que en PGP se denomina firma digital y en otros protocolos se conoce como certificado digital. Se indicará cómo una firma -o certificado- adosado a una clave de cifrado permite resolver problemas de suplantación y autenticación de usuarios. Como todo en esta vida, es cuestión de confianza.
Capítulo 3: Primeros pasos con PGP
El presente capítulo constituye la introducción al programa Pretty Good Privacy. Se dará una breve historia de PGP desde su origen en 1.991. Tras indicar las direcciones donde se puede descargar el programa, pasaremos al proceso de instalación. Tras ello, generaremos y analizaremos una clave PGP
Capítulo 4: La ventana PGPkeys
Este capítulo nos enseñará a manejar la aplicación PGPkeys, corazón del sistema PGP. Aprenderemos a configurar correctamente el programa. A continuación, procederemos a manipular y modificar nuestras claves, incluyendo las opciones de revocación y creación de copias de seguridad.
Capítulo 5: Usando PGP
Tras haber aprendido a configurar correctamente el programa, pasemos ahora a usar PGP. Se mostrarán las diversas formas en que se puede firmar, cifrar, verificar y descifrar: desde su programa de correo electrónico, el Explorador de Windows, e incluso desde cualquier ventana abierta, gracias a la funcionalidad de PGP en su aplicación PGPtray
Capítulo 6: Miscelánea PGPera
¿Tiene futuro PGP? ¿Cuántos usuarios hay en el mundo? ¿Por qué molestarse en cifrar, si no tengo nada que esconder? ¿Es realmente seguro? ¿Hay algún código de "netiqueta" adecuado para PGP? ¿Qué es una "reunión de firma de claves"? Esta y otras preguntas similares serán revisadas en el último capítulo del Curso sencillo de PGP, que servirá como cierre aunque espero- no como despedida.
|
|
|
|
|
En línea
|
|
|
|
|
<scrk/>
|
Capítulo 1: El cifrado, en pocas palabras
1.1 - Conceptos en criptografía 1.2 - Cifrado simétrico (o de clave secreta) 1.3 - Cifrado asimétrico (o de clave pública) 1.4 - Cifrado híbrido (mitad carne, mitad pescado) 1.5 - Más información
Resumen Este Curso sencillo de sobre el programa de cifrado PGP comienza con una introducción a los principales conceptos en criptografía. Se hará una breve introducción a los dos tipos principales de cifrado existentes en la actualidad: cifrado simétrico y cifrado asimétrico (o de clave pública). Se explicará asimismo cómo los sistemas modernos de cifrado utilizan una combinación de algoritmos simétricos y de clave pública. Si bien este capítulo no es preciso para usar PGP, su lectora resulta altamente recomendable para comprender los mecanismos básicos subyacentes a este y otros protocolos de cifrado (como, por ejemplo, el usado por los navegadores seguros). Asimismo, es un comienzo útil para todos aquellos interesados en la criptología en general.
1.1 - Conceptos en criptografía
Según el manual "Introduction to Cryptography" que acompaña al programa PGP, "la criptografía es la ciencia de usar las matemáticas para cifrar y descifrar datos" ¿Y qué es cifrar? Todos tenemos alguna idea de lo que significa. Para nuestros fines, cifrar o cifrar [encrypt] es el proceso de transformar un texto conocido (texto llano [plaintext]) en un batiburrillo de datos que sean ininteligibles (texto cifrado [ciphertext]) para cualquiera que no posea una clave de cifrado [encryption key]. El proceso inverso de reconstruir el texto original partiendo del texto cifrado y de una clave de descifrado [decryption key] es el descifrado o desencriptación [decryption]
El proceso de cifrado está basado en un algoritmo matemático (un conjunto de procesos matemáticos) y en una clave (que, dado el algoritmo y el texto llano, nos da el texto cifrado); puede verse como la cerradura y la llave, respectivamente. Veamos un ejemplo. Una de los métodos de cifrado más antiguos es el llamado cifrado de César, consistente en desplazar todas las letras del alfabeto en una cantidad conocida. Si el desplazamiento es, digamos cinco, eso significa que la letra A se transforma en la F (la letra que hay cinco posiciones a la derecha de la A en el alfabeto), la B en la G, la C en la H, y así sucesivamente. Es decir, convertimos cada letra de texto llano (primera fila) en una letra de texto cifrado (segunda fila) de acuerdo con la siguiente secuencia:
ABCDEFGHIJKLMNOPQRSTUVXYZ (texto llano) FGHIJKLMNOPQRSTUVXYZABCDE (texto cifrado)
donde hemos supuesto que tras la Z viene la A. De este modo, JULIOCESAR se convierte en OAQNTHJYFX. Podemos denotar la clave como cinco (número de posiciones a desplazar); el algoritmo sería simplemente la sustitución de una letra por la que hay x posiciones a la derecha (x es la clave). Para descifrar, no hay más que tomar el texto cifrado y sustituir cada letra por la que hay cinco posiciones a su izquierda (la O se convierte en la J, la A en la U...). Si usamos dígitos binarios en lugar de letras, podremos utilizar el sistema de César para cifrar todo tipo de archivos informáticos (documentos de texto puro, con códigos de formato, incluso archivos ejecutables).
El sistema cesariano ya no se utiliza debido a la sencillez con la que se puede romper (si bien Julio César lo utilizó con éxito durante su campaña de las Galias). Romper [break], o más correctamente, criptoanalizar [cryptanalyze] es la ciencia de obtener el texto llano a partir del texto cifrado sin conocer la clave, o bien de obtener la propia clave a través de texto llano, cifrado o de donde sea. El método de cifrado de César no es seguro porque resulta fácil presa del criptoanálisis.
Para empezar, es susceptible de un ataque de fuerza bruta, consistente simplemente en probar todas las posibles claves. Igual que si probásemos todas las combinaciones de una caja fuerte. Utilizando el alfabeto apuntado anteriormente, solamente tenemos veinticinco posibles claves (naturalmente, desplazar una letra veintisiés posiciones da igual resultado que desplazarla uno solo), lo que nos permite probar todas las combinaciones de forma cómoda. El número de posibles claves se conoce como espacio de claves [key space].
En segundo lugar, el texto cifrado "filtra" información acerca del texto llano. Si contamos todas las letras de un texto normal en la mayoría de los idiomas occidentales, veremos que la letra E es la más frecuente. Comprobar la frecuencia de las letras del texto cifrado y compararlas con la frecuencia típica de las letras en el alfabeto en el que está escrito el texto llano nos permite obtener fácilmente la clave. En el ejemplo anterior, los textos cifrados con la "clave cinco" contendrían en promedio más veces la letra J que los demás; esto se debe a que la J representa a la letra E, que aparece más frecuentemente en el texto llano.
Para que este ataque sea eficaz, se requiere un texto cifrado que sea lo bastante largo, ya que si no la frecuencia de las letras del texto podría no coincidir con las del alfabeto. El texto cifrado LAFIFQFOFXF contiene cuatro F; si suponemos que la F cifrada corresponde con la E sin cifrar, podríamos reconstruir la clave (un desplazamiento hacia la derecha para el cifrado). Obtenemos por tanto el texto llano KZEHEPENEVE. O se trata del nombre de un pueblo ucraniano, o hemos metido la pata. El texto llano verdadero (cifrado con clave cinco) corresponde a la palabra GUADALAJARA. Moraleja: cuanto más texto cifremos con una clave concreta, tanto más vulnerable es a un ataque criptoanalítico.
Naturalmente, la clave de César puede complicarse, pero también las herramientas de los criptoanalistas son ahora más eficades y poderosas. Esto ha dado lugar a una batalla continua entre criptógrafos (que diseñan algoritmos de cifrado resistente al criptoanálisis) y criptoanalistas (empeñados en reventar cualquier tipo de cifrado) muy similar a la lucha entre la espada y el escudo.
Se suele denominar complejidad [complexity] al conjunto de operaciones que tenemos que realizar para criptoanalizar el sistema, medidos en "unidades" de clave, es decir, respecto al número de operaciones que requeriría probar con una sola clave; si la complejidad es menor que el espacio de claves, significa que existen métodos más eficientes para "romper" un mensaje que la mera búsqueda exhaustiva de todas las claves posibles. Cualquiera de estos métodos se denomina ataque criptoanalítico, o ataque; se dice entonces que el sistema ha sido criptoanalizado. Por su parte, un criptógrafo diseñará algoritmos que no sean atacables (es decir, que no haya atajos al sistema de probar todas las claves posibles), o al menos que los ataques no sean prácticos (porque permitan ganancias marginales o porque requieran de una excesiva cantidad de mensajes en texto llano, cifrado o simplemente espacio en disco duro).
Un ejemplo sencillo nos permitirá aclarar los conceptos. Supongamos el típico maletín con cerradura de combinación, compuesta por tres ruedecitas que marcan números entre 0 y 9. La clave de cifrado sería simplemente el número de tres cifras (uno por ruedecilla) que hay que introducir para que el maletín se abra. El algoritmo vendría representado por el conjunto de mecanismos internos de la cerradura de combinación; como en otros casos, el mecanismo exacto de funcionamiento nos trae sin cuidado, del mismo modo que para conducir un coche no nos interesa saber cómo se produce la combustión interna. Un ladrón torpe tendría que probar todas las claves; a diez posibilidades por ruedecilla, habría de probar un total de 10^3 = 1.000 claves para tener la segurida de acertar.
Sin embargo, un ladrón más inteligente podría examinar los mecanismos de un maletín similar y obtener cierta información sobre el sistema, es decir, criptoanalizarlo. Podría por ejemplo llegar a la conclusión de que, si presiona fuertemente una esquina del maletín, la última rueda permite probar dos combinaciones a la vez, esto es, la combinación 613 y la 614 se comprueban simultáneamente. De ese modo, le bastará probar las combinaciones pares, y la complejidad de su ataque será de 500, es decir, estadísticamente tendrá el doble de probabilidades de acertar. Eso no significa que en un maletín concreto vaya a vencer a su compañero de "fuerza bruta" (quien a lo mejor acierta de chiripa tras el tercer intento), pero si hay muchos maletines en juego el ladrón criptoanalista tiene más papeletas a su favor.
Otro ejemplo. Muchas transacciones comerciales (entre otras, las que llevan a cabo los cajeros automáticos) se cifran mediante el algoritmo DES, que tiene un una clave de sesenta y cuatro bits (es decir, es un maletín con 64 ruedecillas, cada una de ellas con solamente dos posiciones, 0 y 1). El número de claves posibles es de 2^64, pero solamente hay 2^56 claves independientes (eso es así porque 8 de esos 64 bits son los denominados "bits de paridad" y no colaboran en la fortaleza del sistema; es como un maletín donde uno de cada ocho ruedecillas fuese innecesaria). Eso hace que el espacio de claves sea 2^56; es decir, con probar 2^56 claves ya hemos agotado todas las posibilidades.
No obstante, hay diversos tipos de ataques criptoanalíticos, aunque ninguno de ellos es realmente útil en la práctica. Por ejemplo, el denominado criptoanálisis diferencial es un tipo de ataque que permite obtener la clave correcta tras un esfuerzo similar al de probar 2^37 claves, es decir, es 2^(56-37) = medio millón (más o menos) de veces más eficiente que la búsqueda mediante fuerza bruta. ¿Por qué no es en la práctica útil? Porque requiere !analizar 2^36 textos cifrados con esa clave! Se conocen otros ataques, pero requieren conocer o elegir gran cantidad de texto -llano o cifrado- para extraer información suficiente para averiguar la clave.
Espero que al llegar a estas alturas, no te hayas perdido; si no, bien empezamos . Pero no importa, con tal de que te hayas quedado con lo fundamental, esto es, que hay procedimientos para convertir un texto (o en general, un archivo digital de cualquier tipo) en un batiburrillo ininteligible. Esto nos sirve cuando no queramos que nadie, aparte de nosotros mismos y las personas autorizadas para ello, tenga acceso a nuestros datos.
1.2 - Cifrado simétrico (o de clave secreta)
Cuando la clave de cifrado es la misma que la de descifrado (y, por tanto, los algoritmos de cifrado y de descifrado coinciden) se habla de algoritmo de cifrado simétrico. Este es el tipo de cifrado que ha dominado la historia de la criptografía hasta hace un par de décadas.
El cifrado de César, visto anteriormente, es un buen ejemplo. El algoritmo de descifrado es el mismo que el de cifrado, sólo que recorrido de forma inversa (desplazar hacia la izquierda, en lugar de hacia la derechaa); la clave (desplazar cinco unidades) es la misma. Existen muchos algoritmos de clave simétrica resistentes al criptoanálisis: DES, RC4, RC5, Blowfish, IDEA, CAST, Triple-DES, LOKI, por nombrar solamente unos cuantos. Los algoritmos simétricos se clasifican en: algoritmos de cifrado en bloque [block cipher] y algoritmos de cifrado en flujo [stream cipher]. Esta clasificación, en la práctica, nos traerá completamente sin cuidado, del mismo modo que el cambio de marchas de un coche no depende de que sea gasolina o diesel.
Para cifrar, se coge el mensaje M y se le aplica la operación matemática Ck (es decir, se usa el algoritmo de cifrado C con la clave k), obteniendo Ck(M). Para descifrar el mensaje, se aplica la operación inversa Dk. Puesto que Ck y Dk son operaciones inversas, se tiene Dk(Ck(M)) = M, esto es, el mensaje original. Esto requiere que el emisor y el receptor del mensaje utilicen tanto el mismo algoritmo como la misma clave.
Y ahí está nudo gordiano de los sistemas de clave secreta. La comunicación segura entre el emisor y el receptor pasa por que ambos, y nadie más, conozca la clave k. Pero, ¿cómo hacemos llegar la clave k de uno a otro interlocutor? Podría enviarse por un canal seguro, esto es, uno que no pueda ser interceptado o espiado; pero ¿qué sentido tiene el cifrado si se dispone de un medio seguro de comunicación? El cifrado es para evitar a los fisgones; si no hay posibilidades de fisgar, no hay necesidad de cifrar.
Segundo problema: si la clave se filtra en cualquier momento a un tercero, la seguridad desaparece. Todos hemos visto películas donde el bueno se hace con la clave y consigue engañar al enemigo enviando mensajes falsos, o bien leyendo los mensajes auténticos de los malos. Esto puede suceder, y no sólo en las películas. Una clave comprometida (es decir, que está o puede estar en poder de un tercero) desbarata todo el sistema de comunicación segura basado en el cifrado, ya que el fisgón puede hacer cualquier cosa que puedan hacer los interlocutores.
Llamemos Ana y Belén a dichos interlocutores, y Fausto al fisgón. Belén puede recibir un mensaje cifrado por Fausto, pero ella cree que viene de Belén -ya que en teoría nadie más podría hacerlo- de manera que pica el anzuelo. Igual pasa con Ana. Tanto Ana como Belén pueden enviar mensajes a Fausto creyendo que lo hacen a su amiga; y nuestro fisgón puede leer toda la correspondencia actual, e incluso la pasada si consigue acceso a los mensajes anteriores. Mal negocio. Por supuesto, Ana y Belén pueden acabar dándose cuenta del engaño, pero el daño ya está hecho. Se verán en la necesidad de intercambiar de nuevo una clave. Y, si no quieren que Fausto se vuelva a colar en la conversación, deberán guardar cuidadosamente la clave para evitar que nadie más tenga acceso a ésta
Estos dos problemas (intercambio y gestión de claves) se resuelven con los sistemas de clave asimétrica o pública, que pasamos a ver al toque de ya.
1.3 - Cifrado asimétrico (o de clave pública)
El problema de la distribución de claves (es decir, cómo hacer llegar la clave de cifrado de Ana a Belén sin que Fausto pueda meter las narices) se resuelve mediante la llamada criptografía de clave pública -o de clave asimétrica- descubierta hacia 1975. Los detalles matemáticos son bastante engorrosos y no necesitamos aprenderlos, así que nos los saltaremos. Lo crucial y novedoso es que en la criptografía de clave pública se utilizan dos claves distintas, una para el cifrado y otra para el descifrado. La clave de cifrado es pública, esto es, conocida por todo el mundo; la de descifrado (clave privada) solamente es conocida por su propietario. Ambas constituyen un par de claves
Supongamos que tanto Ana como Belén tienen un par de claves pública/privada. Si Ana desea enviar un mensaje a Belén, los paso a seguir son los siguientes:
- Ana obtiene la clave pública de Belén k - Ana compone un mensaje M y lo cifra con la clave pública de Belén. - Ana envía el mensaje cifrado Ck(M) - Belén recibe el mensaje y le aplica su clave privada k´ obteniendo Dk´(Ck(M)) = M
Es decir, cualquiera puede cifrar un mensaje y enviárselo a Belén, pero solamente ella podrá descifrar los mensajes que le llegan. Nadie más. Ni siquiera Ana podrá descifrar el mensaje que acaba de cifrar.
Véase que este elegante esquema evita los peligros de enviar la clave por un conducto inseguro; de hecho la clave pública puede ser tan diseminada cono un número de teléfono. Fausto lo va a tener ahora más difícil, ya que acceder a la clave pública le servirá para enviar mensajes, pero no para leer los que se envían Ana y Belén entre sí. Incluso si obtuviese la clave secreta de Ana, ello le permitiría leer los mensajes que Belén envía a Ana, pero no las respuestas de Ana a Belén. Por supuesto, permanece la obligación por parte de Ana y Belén de guardar celosamente sus respectivas claves privadas. Pero Fausto ya no puede aprovecharse del intercambio de claves secretas.
También permite aliviar los requisitos de almacenamiento de claves, sobre todo cuando hay más personas comunicándose. Si hay N interlocutores, el número de claves diferentes que hay que intercambiar y almacenar para comunicaciones seguras dos a dos es N*(N-1)/2. Si N=100, eso significa más de 4.950 claves distintas. Por supuesto, podemos hacer que algunas o todas las claves sean iguales, pero a lo mejor no es conveniente que Carlos tenga acceso a las comunicaciones entre Ana y Belén. Con los sistemas de clave pública, cada usuario solamente necesita tener una clave privada (la suya propia) y cien claves públicas (en realidad, sólo 99: !un usuario no necesita criptografía para hablar consigo mismo!).
La criptografía de clave pública se asemeja a un buzón de correos. Cualquiera puede introducir una carta en el buzón, pero solamente el poseedor de la llave del buzón podrá abrirlo para acceder a su contenido. Bueno, en realidad sí hay una posibilidad. Las claves públicas y privada no son independientes, y en teoría es posible obtener la clave privada a partir de la clave pública. Pero en la práctica, el volumen de cálculos matemáticos que ha de realizarse es demasiado grande para que pueda llevarse a cabo. Como en los sistemas de clave simétrica, el "truco" es hacer que haya tantas claves posible que no resulte práctico, aun cuando sea posible en teoría.
En la actualidad, los sistemas de clave pública más utilizados son el RSA y el Diffie-Hellman. Más correctamente, Diffie-Hellman es un algoritmo de intercambio de claves. Su variante para criptografía de clave pública se conoce como "algoritmo Diffle-Hellman, variante ElGamal" Lo menciono simplemente por "si te suena" de algún otro lugar. Aquí no vamos a ponernos puristas, y diremos Diffle-Hellman, o DH.
1.4 - Cifrado híbrido (mitad carne, mitad pescado)
Los criptosistemas de clave pública tampoco son la panacea universal, y adolecen de diversos problemas. Nos ocuparemos de dos de ellos. Uno es el de la suplantación. Si Belén recibe la clave pública de Ana, ¿cómo sabe que es realmente la de Ana? Trataremos ese engorro en otro apartado.
La segunda pega, de índole práctica, se refiere a la eficiencia. Los algoritmos de clave pública son lentos. El cifrado de un mensaje mediante cifrado de clave pública es del orden de mil veces más lento que mediante un algoritmo de clave simétrica. Los ordenadores son cada vez más rápidos, pero cuando hay grandes cantidades de información por cifrar o descifrar (pensemos, por ejemplo, en una base de datos protegida mediante cifrado) puede llegar a ser una verdadera dificultad. También resulta que el mensaje cifrado es mucho mayor que el original. Esto es una molestia para nuestros medios de almacenamiento (disquetes, discos duros) y una verdadera tortura para nuestra ya sobrecargada Internet, donde cada kilobyte de información significa tiempo de espera ... y beneficios para la compañía telefónica.
Estos problemas, y algunos otros (por ejemplo, ciertos ataques criptoanalíticos) se evitan mediante un sistema híbrido que tome lo mejor de dos mundos. ¿Queremos rapidez y brevedad? Pues creamos una clave simétrica y ciframos el mensaje con ella. ¿Queremos enviar de forma segura la clave simétrica al destinatario? Pues ciframos la clave simétrica con la clave pública del destinatario.
Supongamos que Ana quiere enviar un mensaje a Belén. Lo que hace es lo siguiente:
- Crea una clave simétrica K y cifra el mensaje con dicha clave. Sea Ck(M) el resultado - Cifra la clave simétrica con la clave pública de Belén. El resultado es Ckp(K) - Envía a Belén dos cosas: el mensaje (cifrado con la clave simétrica K) y la clave simétrica K cifrada con la clave pública de Belén.
Cuando Belén recibe el "paquete", procede a la inversa:
- Toma Ckp(K) y lo descifra usando su clave privada. El resultado es K - Usa K para descifrar el mensaje Ck(M). El resultado es M
Es decir, la clave pública se usa para cifrar; pero lo que se cifra no es el mensaje, sino la clave simétrica con que va cifrado el mensaje. De ese modo hacemos llegar al destinatario la clave K, y podemos hacerlo por medios inseguros de transmisión. Poco nos importa que Fausto esté la acecho, porque no puede descifrar el mensaje sin conocer K ... y no puede conocer K si no tiene la clave privada. Es decir, hemos combinado un criptosistema de clave simétrica (para intercambiar el mensaje) con uno de clave asimétrica o pública (para intercambiar la clave).
Los sistemas "híbridos" no se consideran un tipo de cifrado aparte, sino que normalmente se hace la división entre sistemas de clave simétrica y de clave asimétrica (o de clave secreta - clave pública), pero nos hemos detenido aquí por su importancia. PGP es un programa de cifrado híbrido, es decir, combina cifrado simétrico y asimétrico de la manera que he descrito aquí. De modo similar, los protocolos criptográficos SSL utilizados por los navegadores en conexiones seguras (https) utilizan esta combinación híbrida.
Se puede hacer mejor de lo que hemos descrito hasta ahora. Se puede elegir K de manera que sea distinta para cada comunicación. Es decir, diferentes mensajes se cifran con diferentes claves. Esto mejora la seguridad de diversas maneras. En primer lugar, un atacante puede obtener información (cuando menos, reducir la complejidad del ataque) si sabe que diversos mensajes se cifran con la misma clave, aunque el atacante no conozca cuál es dicha clave. Existe, por tanto, un cierto riesgo si ciframos todos nuestros mensajes con la misma clave simétrica. También hay un riesgo asociado al hecho de que siempre ciframos la misma clave simétrica K con la clave pública del destinatario.
Cambiar K de un mensaje a otro elimina estos peligros (reducidos pero que existen). Y si el atacante lograra por el medio que fuese obtener K, solamente le serviría para un solo mensaje, ya que el siguiente estaría cifrado con otra clave distinta. Por eso, la clave simétrica "de usar y tirar" se denomina clave de sesión. Por supuesto, dicha clave ha de ser aleatoria, para que no se pueda obtener información favorable a un posible atacante. Eso se consigue mediante los programas generadores de números aleatorios. No entraremos en ello, pero cualquier programa de cifrado híbrido que se precie ha de contar con un generador de números aleatorios adecuado.
1.5 - Más información
Muchas veces, cuando voy a la sección de bibliografía adicional de un libro, me encuentro una y otra vez con frases del tipo "esta bibliografía, necesariamente breve y que por supuesto no abarca todas las fuentes importantes...", lo que a mí siempre me suena como si el autor quisiese decir "jo, pues anda que si me pongo a buscar referencias en serio, ibas tú a alucinar; conténtate con esta mínima muestra de mi saber, pobre gusano."
En este caso, es cierto que los enlaces que incluyo son una referencia mínima, pero no porque os considere pobres gusanos, sino simplemente porque ni quiero ni cansaros con múltiples enlaces ... ni tengo yo el cuerpo para ponerme a buscar por la Red, todo sea dicho. Solamente os incluyo algunos enlaces para los que queráis ahondar un poco más (no mucho) en el asunto. Y, además, son de manufactura propia, así que todo queda en casa:
http://www.cripto.es/informes/info001.htm Sobre la inseguridad de criptosistemas con espacio de clave pequeño. http://www.cripto.es/informes/info002.htm Sobre la seguridad de los algoritmos, simétricos y asimétricos. http://www.cripto.es/informes/info003.htm Se analiza el protocolo híbrido SSL. http://www.cripto.es/informes/info004.htm Actualización al Informe anterior.
Para aquellos que quieran una ración mayor, he aquí algunos textos a algo más de nivel:
Criptografía para principiantes http://www.kriptopolis.com/docs/criptofund.zip, por José de Jesús ángel. Para los que deseen una base de conocimientos con matemáticas. Criptología http://www.kriptopolis.org/, por Manuel Pons Martorell. Para mi gusto, más asequible y ameno. Descripción del algoritmo DES http://www.kriptopolis.org/, por Jorge Sánchez Arriazu. Disección del algoritmo simétrico más conocido. Sólo para estómagos endurecidos.
También tenéis a vuestra disposición muchas direcciones sobre criptografía, PGP y seguridad informática en general en mi sección de Enlaces. Hay algunos, como Kriptópolis, que piden a gritos ser saqueados vilmente. Adelante, devoradores de la información, y ojo no os vayáis a atragantar.
|
|
|
|
|
En línea
|
|
|
|
|
<scrk/>
|
Capítulo 2: Firmas y certificados
2.1 - La firma digital 2.2 - La función resumen (hash) 2.3 - El problema de la suplantación 2.4 - La certificación de claves 2.5 - El problema de la confianza 2.6 - Para ampliar conocimientos
Resumen Como continuación de la exposición de ideas previas en criptografía, revisaremos en este capítulo la forma digital. Se hará una breve introducción al concepto que en PGP se denomina firma digital y en otros protocolos se conoce como certificado digital. Se indicará cómo una firma -o certificado- adosado a una clave de cifrado permite resolver problemas de suplantación y autenticación de usuarios. Como todo en esta vida, es cuestión de confianza.
2.1 - La firma digital
Cuando se desarrolló la criptografía de clave pública, tardó poco en hacerse evidente que sus posibles aplicaciones iban más allá del cifrado de mensajes o de datos. No solamente se puede cifrar la información, sino que también se puede autentificar. Es decir, puede crearse una firma digital.
¿Por qué firmamos documentos en el mundo real? Básicamente para conseguir alguno, o varios, de estos resultados:
Autentificación (o autenticación). La firma convence al que la ve que el firmante firmó el documento deliberadamente.
Inalterabilidad. La firma es prueba de que el documento no será alterado con posterioridad.
Autoría. La firma prueba que el firmante fue quien redactó el documento
Adhesión. La firma prueba que el firmante está de acuerdo con lo que contiene el documento.
No repudio. La firma es garante de que el firmante acepta lo que está escrito en el documento, y de que no se echará atrás en el futuro.
Sea larga o corta, sencilla o con rúbrica, y cualquiera que sea el motivo que da lugar a su generación, una firma tiene una característica inalterable: es producida por un solo firmante, es decir, es algo inherente a la persona que la produce. De modo similar, para producir una firma digital necesitamos algo relacionado con el firmante y solamente con él. Recordemos que la clave pública es conocida por todos pero la clave privada es conocida solamente por su dueño. Así que para producir una firma digital, usaremos la clave privada. Firmar digitalmente un documento no es sino cifrar dicho documento (o una parte de él) con la clave privada.
Puede que el lector haya quedado confundido al leer la última palabra del párrafo anterior. ¿No quedamos que se cifraba con una clave pública? ¿Cómo se puede cifrar con una clave privada? Quizá hubiese sido mejor decir "aplicar la clave privada" en lugar de "cifrar con la clave privada." Recordemos que las claves pública y privada forman un par y son complementarias. Pero no hay nada esencialmente distinto entre ambas. Si usamos una para cifrar y la otra para descifrar, es solamente por convenio; igual podríamos cifrar con la otra y descifrar con la una. Lo que una clave hace, la otra lo deshace.
De manera que es factible aplicar el algoritmo de cifrado usando la clave privada, en lugar de usar la clave pública como hacíamos en el proceso de cifrado. Eso permite al destinatario verificar la firma, es decir, comprobar que es realmente la del remitente. Esto es posible porque dicho destinatario tendrá la clave pública del remitente. Supongamos que Ana es la remitente/firmante y Belén la destinataria/verificante. Durante la firma Ana usa su clave privada para firmar el mensaje. Cuando llega a Belén, ésta aplica la clave pública de Ana al documento. Si el mensaje proviene realmente de Ana, la operación realizada por Belén le devuelve el documento original. Pero si la clave pública con la que se ha verificado el mensaje no es complementaria a la clave privada que se ha usado para firmarlo, resultará tan evidente como una patada en el ojo. Resumiendo: si la información puede ser descifrada con la clave pública de Ana, es porque la ha firmado Ana y nadie más.
Fantástico, ¿no? En teoría sí. En la práctica, hay que modificar algo este esquema.
2.2 - La función resumen (hash)
El sistema de firma digital tal y como se acaba de describir tiene algunos problemas. En primer lugar, recordemos que la criptografía de clave pública es muy poco eficiente. Firmar (es decir, aplicar un algoritmo de clave asimétrica, usando la clave privada) produce un documento de mucho mayor tamaño que el original. También puede ser el origen de ciertos ataques criptoanalíticos: si un atacante consiguiese que Ana firmase un mensaje cuidadosamente compuesto, podría obtener mucha información sobre la clave privada de Ana. Y no podríamos combinar la firma digital con el cifrado. Si ciframos y firmamos un documento -en ese orden o en el inverso- estaríamos aplicando la clave privada y la clave pública, con lo que ambas acciones se anularían: acabaríamos con el mensaje original. Así que habría que escoger: o cifrar, o firmar.
Para evitar estos problemas, no se cifra todo el mensaje, sino solamente una parte de éste. ¿Pero qué parte? Cualquier parte del mensaje que no hayamos firmado puede alterarse impunemente, sin que tal alteración sea detectada. Imaginemos el mensaje "Debo a mi estupendo profesor de criptografía, Arturo Quirantes, mil euros" Si firmásemos digitalmente las palabras con número par de letras, solamente tendríamos la seguridad de que esas palabras han sido escrito por el firmante, y de que esas palabras no han sido alteradas. Un fisgón gracioso podría cambiar el texto, de manera que podría parecer que el profesor no soy yo sino Arturo Fernández, que el firmante me debe mil bofetadas ...o peor aún, que soy un profesor horroroso en lugar de estupendo 
Debemos por tanto encontrar la manera de firmar un texto que sea más pequeño que el mensaje, pero que represente a éste en su totalidad. La manera de lograrlo es transformar dicho mensaje en un texto más pequeño. Matemáticamente, lo podemos representar por una función H que tome un mensaje M y produzca un condensado de éste H(M)=h. A esta función se la denomina función resumen, o función hash, y debe tener estas propiedades:
Comodidad: ha de ser fácil obtener h partiendo de H
Confidencialidad: para un resumen h dado, ha de ser difícil, si no imposible, obtener el mensaje M del que procede.
No-colisión (débil): Para un mensaje M dado, ha de ser imposible (o al menos muy difícil) encontrar otro mensaje M´ con el mismo resumen, es decir, no ha de darse H(M)=H(M´)
No-colisión: Ha de ser difícil hallar al azar dos mensajes M, M' tales que H(M)=H(M´)
La propiedad primera es evidente. La segunda evita que se pueda obtener información sobre el mensaje (el cual también puede ir cifrado). Las propiedades tercera y cuarta nos aseguran que la función resumen será única, ya que si dos mensajes tuviesen el mismo resumen h, una firma valdría para ambos. Es decir, si H(M)=H(M´) significa que la firma digital sobre ambos mensajes es exactamente la misma, de manera que bastaría con firmar un documento y "copiar+pegar" para tener el otro documento firmado. La ausencia de colisiones nos asegura que la firma digital solamente sirve para un documento concreto. Nadie, ni siquiera el firmante, podría trasladar la firma digital de un documento a otro sin que se note.
Hasta cierto punto recuerda a los códigos CRC que aseguran la integridad de un archivo, o a la letra del DNI. ¿Alguien sabe cómo se obtiene dicha letra? El procedimiento es sencillo. Basta con coger el número del DNI y dividirlo por el número 23. El número que sale del resto se hace corresponder con una letra, por medio de la siguiente correspondencia (haga la prueba con su propio número):
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 T R W A G M Y F P D X B N J Z S Q V H L C K E
Véase como el número del DNI, de ocho cifras, es representado por una función resumen de solo una letra. No resulta muy confidencial, ya que aunque la letra no permite conocer el número, sí da cierta información sobre él. Y por supuesto es muy vulnerable a las colisiones. Con sólo veintipico letras, lo raro es que nuestra letra del DNI no coincidiese con la de ningún otro. Claro que la letra del DNI se diseñó como letra de control, no como función resumen. Para evitar que haya colisiones, una de las cosas que debemos asegurarnos es que la función resumen tenga muchos valores posibles.
Vamos a lo práctico. Para firmar digitalmente un mensaje, Ana hace lo siguiente:
- Toma el mensaje M y le aplica la función resumen, obteniendo H(M)=h - Aplica al resumen su clave privada ks. El resultado es la firma digital: Cks(h)
A continuación envía el mensaje M y la firma Cks(h). Cuando Belén recibe el mensaje:
- Aplica la clave pública de Ana kp a la firma Cks(h) . El resultado es Ckp(Cks(h))=h - Aplica al mensaje la función resumen, obteniendo H(M)=h' - Compara el resultado de los dos pasos anteriores. Si coinciden (h=h´), la firma es correcta.
La verificación de la firma depende tanto de que haya sido realizada con la clave correcta como de que el mensaje no se haya alterado. Si las claves pública y privada son complementarias, lo que hace la una lo deshace la otra, de manera que se cumplirá que Ckp(Cks(h))=h. Por otro lado, una alteración siquiera mínima del mensaje hará que h´ (el resumen del mensaje alterado) sea distinto al resumen del mensaje original, y por tanto, h<>h´ significa M<>M´. De ese modo comprobamos de una sola tacada a) que el mensaje fue firmado efectivamente por Ana, b) que dicho mensaje no ha sido alterado con posterioridad.
Si deseamos efectuar ambas operaciones (cifrar y firmar), podemos hacerlo sin problemas. El orden seguido por muchos programas y protocolos (S/MIME, PKCS#7, PEM, PGP) es primero firmar, luego cifrar. Es decir, Ana primero creará su firma Cks(h), y posteriormente cifrará el paquete M´ = {M, Cks(h)}.
Las funciones resumen para criptografía habitualmente dan resúmenes h de entre 128 y 160 bits. Las más utilizadas son las denominadas MD4, MD5, RIPEMD-160 y SHA-1.
2.3 - El problema de la suplantación
En el capítulo anterior (1.4) se mencionaron dos problemas asociados a la criptografía de clave pública (CCP). Quedaba uno de ellos pendiente, a saber, el que denominaré problema de la suplantación. Recordemos que Ana necesita la clave pública de Belén para enviarle un mensaje cifrado. El problema que se plantea es: ¿cómo sabe Ana que la clave pública de Belén es realmente la clave pública de Belén? La belleza de la CCP consiste en que cualquiera puede obtener la clave pública de alguien, sin necesidad de pedirla a su propietario. Es como obtener el número de teléfono de alguien en la guía. ¿Qué pasa si alguien ha insertado un número de teléfono falso?
Los esquemas de CCP pueden volverse contra sus usuarios mediante el ataque del fisgón interpuesto [meet-in-the-middle]. Supongamos que Ana y Belén crean cada una su par de claves: (As, Ap) para Ana, (Bs, Bp) para Belén, (s indica clave privada; p, clave pública). Idealmente, Ana consigue la clave pública de Belén, Bp, en un servidor de claves (el análogo digital de la guía telefónica), y la usa para cifrar un mensaje; dicho mensaje será posteriormente descifrado por Belén con su clave privada Bs. Pero nuestro fisgón Fausto entra en escena. Sin que las dos interlocutoras lo sepan, Fausto crea dos pares falsos de claves: Afs, Afp, Bfs y Bfp, y consigue sustituir las claves públicas verdaderas (Ap, Bp) por las que acaba de crear (Afp, Bfp). Cuando Ana o Belén vayan a cifrar un mensaje, lo hacen con las claves falsas, sin ser conscientes de ello. El proceso sería el siguiente:
- Ana cifra el mensaje con la clave pública falsa de Belén, Afp(M), y lo envía - Fausto intercepta el mensaje y lo descifra con la clave privada falsa de Belén, Afs(Afp(M)) = M - Fausto cifra el mensaje con la clave pública verdadera de Belén, Ap(M), y lo re-envía. - Belén descifra el mensaje con su clave privada, As(Ap(M)) = M y recupera el mensaje.
Mediante esta suplantación, Ana cree estar protegiendo el mensaje con la clave pública de Belén, Belén cree haber recibido el mensaje directamente de Ana ... y Fausto está en medio, leyendo todos los mensajes e incluso componiendo mensajes falsos. El proceso de firma digital no sale mejor parado:
- Ana firma el mensaje con su clave privada, As(M), y lo envía. - Fausto intercepta el mensaje, le retira la firma de Ana, firma el mensaje con la clave privada falsa de Ana, Afs(M), y lo re-envía. - Belén recibe el mensaje, aplica la clave pública falsa de Ana a la firma y verifica correctamente el mensaje.
El talón de Aquiles, como puede verse, es que no hemos establecido una ligazón inequívoca entre la clave y el presunto propietario. Para asegurarnos de que Ana tiene la clave pública auténtica de Belén, ésta tendría que entregársela personalmente, o cuando menos enviársela mediante un canal seguro (no interceptable) de comunicación. Pero ese era el mismo problema que tenía la criptografía con clave simétrica. Incluso si se hace el esfuerzo de conseguir ese canal seguro o esa entrega en mano, no siempre sería factible, especialmente en estos tiempos de comunicaciones globales.
2.4 - La certificación de claves
El problema de la suplantación de claves delineado anteriormente se puede resolver si alguien de confianza nos asegura que la clave pública de Belén realmente pertenece a Belén. En el caso de la guía telefónica, nos creemos que el teléfono que aparece junto al nombre del abonado realmente pertenece a ese abonado. ¿En qué se basa esa creencia? Simplemente, en que confiamos que la empresa editora de la guía no nos engaña. Un nivel de confianza aún más alto podría venir de una certificación ante notario, ya que suponemos que el notario es una persona de confianza y que lo que él afirma es cierto.
En el mundo digital nos aprovechamos del hecho de que se puede firmar cualquier archivo o documento digital, incluida una clave pública. A fin de cuentas una clave pública ha de ser guardada en el ordenador en la forma de un archivo. ¿Por qué no se va a poder firmar ese archivo? La criptografía de clave pública contribuye así a reparar su propia debilidad.
El proceso para que Ana tenga la seguridad de poseer la clave pública auténtica de Belén sería el siguiente:
- Ana obtiene la clave pública del notario Np - Ana recibe la clave pública de Belén Bp, firmada por el notario. - Ana verifica (mediante el procedimiento indicado en el apartado 2.2) la firma digital del notario. - Si la verificación es correcta, Ana sabe que la clave de Belén es auténtica. En ese caso se dice que la clave es válida. Esta validez proviene de la confianza depositada en el notario.
Este último paso se justifica considerando que el notario no firmará ninguna clave si no ha verificado antes que realmente pertenece a su dueño. Es como en el mundo de papel. Yo puedo firmar un contrato de hipoteca con el banco directamente. La intervención de un notario, sin embargo, le da mayor confianza a la transacción, ya que la firma del notario certifica muchas cosas: que los firmantes son efectivamente quienes afirman ser, que están legalmente capacitados para realizar la transacción, que han firmado el contrato libre y voluntariamente, que entienden lo que éste significa, etc.
El primer punto sigue siendo algo más escabroso. Necesitamos la clave pública del notario para verificar todo lo que éste firma, pero ¿cómo estar seguros de que no se trata de una clave falsa? A fin de cuentas, ¿cómo se que el notario frente al que me encuentro es realmente quien dice ser y no un falso notario? La paranoia no tiene límites, y como vemos la seguridad absoluta no existe.
En la práctica, suponemos que hay una forma razonablemente segura de obtener la clave pública verdadera del notario. Tal vez nos la ha entregado él personalmente, o quizá la hemos descargado de una página web segura. Pero tenemos una ventaja crucial: somos nosotros quienes decidimos cuánta confianza otorgar al notario. De hecho, podemos sustituir la palabra "notario" por "persona de confianza"
Una firma digital que atestigua la autenticidad de una clave pública se denomina genéricamente certificado digital. Habitualmente, un certificado digital consta de tres elementos: la clave pública que está siendo certificada, la información sobre el usuario y la firma digital (o firmas digitales) del notario o persona de confianza. Eso es lo que estamos acostumbrados a hacer. Saque el lector su DNI o pasaporte. ¿Qué contiene? Básicamente, información sobre el titular junto con ciertos elementos (marca de agua, firma policial, códigos diversos) que permiten verificar la autenticidad del documento. El mundo digital sigue las mismas pautas. Aunque con ciertas peculiaridades, como veremos a continuación
2.5 - El problema de la confianza
Imaginemos que tuviésemos que acudir a un notario cada vez que llamamos por teléfono. No resultaría muy práctico ¿verdad? Lo que hacemos es confiar en diversas personas o entidades: confiamos en que la guía telefónica es correcta, confiamos en que nos han dado bien el número cuando se lo pedimos a otra persona... en suma, decidimos en quién vamos a confiar para que nos cuente la verdad.
Un inconveniente de los esquemas de clave pública es que no existe una entidad o persona en quien todos confiemos ciegamente y sin restricciones. ¿Pero existe esa persona o entidad en el mundo real? No. Lo que hacemos es guiarnos por las informaciones y referencias de otras personas (que pueden a su vez ser de confianza o no) para decidir a quién creemos. Como resultado de ello, otorgamos nuestra confianza a unos y se la negamos a otros. Cuando usted estas palabras, está confiando implícitamente en que yo sé de lo que hablo y en que le estoy contando la verdad.
Hace algunos años una cadena de televisión italiana emitió un programa patrocinado por el "Cacao Maravigliao". Mucha gente, al ver dicho programa, confió en las propiedades -cualesquiera que fuesen- de dicho cacao, basándose quizá en los comentarios del presentador del programa, y a la mañana siguiente las amas de casa italianas asaltaron los comercios en busca de dicho cacao ... sin encontrarlo. Dicho "Cacao Maravigliao" simplemente no existía, era una inocente broma del presentador. Tiempo después, Emilio Aragón reprodujo dicho truco en su programa "Vip Noche". La película "Pijama para dos" trata de un tema similar: el protagonista (Rock Hudson) anuncia un inexistente producto, casualmente llamado Vip, mientras la inefable Doris Day intenta pisarle el negocio.
Si algo se puede sacar como moraleja, es que la confianza absoluta no existe, y que siempre hemos de andar por ahí con mirada crítica en lugar de tragarnos el primer anzuelo que se nos ponga por delante. Pero seamos realistas. No podemos construir un mundo en el que nadie se fíe de nadie. El agente Mulder tendría sus motivos para no confiar en nadie, pero eso nos pone a un mundo en contra y no nos lleva a ninguna parte. Y hasta Mulder confiaba de vez en cuando en alguien.
Así pues, si usted me pregunta ¿pero de quién puedo fiarme en este asunto de las claves públicas?, no puedo darle una respuesta satisfactoria. Nadie puede. Cada uno decide en quién confía, hasta que punto y con qué condiciones. Probablemente lo que ha leído vd. de este curso le permita confiar en mí como profesor, pero no como yerno o albacea testamentario.
Pero ese aparente inconveniente también conlleva un punto de fortaleza al sistema de criptografía mediante clave pública, ya que le permite elegir su agente de confianza. No hay nadie a quien estemos obligados a creer. No hay notarios impuestos por un tercero. Nosotros mismos construimos nuestra "red de confianza." De igual modo que una persona pueda confiar en todo lo que dice el periódico "El Mundo" mientras que a otro le dan sarpullidos con sólo tocarlo, cada uno de nosotros decidimos a quién otorgar nuestra confianza.
Los notarios digitales pueden ser cualesquiera, sean personas o entidades. Las entidades que se han creado para certificar claves públicas se denominan autoridades de certificación (AC, o CA por sus siglas en inglés). En la actualidad, impulsadas por la cornucopia del comercio electrónico, están surgiendo diversas AC. Mencionemos a modo de ejemplo Verisign (http://www.verisign.com) y Thawte (http://www.thawte.com) fuera de nuestras fronteras, ACE (http://www.ace.es) e IPS (http://www.ips.es) en España. Estas son una especie de "agencias notariales electrónicas" que certifican claves bajo pago. También existen AC sin ánimo de lucro, básicamente con fines de investigación o académicos, como la AC experimental de RedIris http://ca-tic.iec.csic.es . Estas AC están pensadas para certificar claves públicas en una conexión segura mediante navegador. Sus claves públicas (necesarias para que nuestro navegador pueda verificar los certificados emitidos por estas AC) se pueden descargar de la red, para lo cual hay que ir a la página web de dicha AC; algunas de estas claves públicas ya se encuentran en su navegador, ya que fueron entregadas por la AC directamente al fabricante. Los usuarios de Netscape Navigator, por ejemplo, pueden ver dichas claves en Seguridad/Certificados/Firmantes. Y ya que están, puden ver los algoritmos de cifrado simétrico que dicho navegador utiliza (Seguridad/ Navigator/ Configurar SSL v3).
En España la firma electrónica se ha usado a nivel oficial para, por ejemplo, rellenar la declaración de la Renta por Internet. Esto se hizo por primera vez en 1.999 dentro del marco del proyecto CERES de la Fábrica Nacional de Moneda y Timbre (FNMT), que fue la entidad que actuó como AC (http://www.cert.fnmt.es). Durante dicho año se aprobaron dos leyes sobre firma electrónica. Para los abogados y demás amantes de las leyes, son:
Real Decreto 1290/1999 de 23 de Julio (BOE 10 Agosto 1.999), por el que se desarrolla el artículo 81 de la Ley 66/1997 de 30 Diciembre (BOE 31 Diciembre 1.997), por el cual se faculta a la FNMT para la prestación de los servicios técnicos necesarios para garantizar la seguridad de las comunicaciones electrónicas, informáticas y telemáticas entre los órganos de las administraciones del estado, y de las personas físicas y jurídicas con aquéllas. Ley disponible en http://www.map.es/csi/pdf/fnmt.pdf
Real Decreto-Ley 14/1999 de 17 Septiembre (BOE 18 Septiembre 1.999) sobre firma electrónica. Trata sobre todo de las AC (llamados "prestadores de servicios de certificación") y está disponible en http://www.map.es/csi/pdf/electrnonica.pdf
El programa PGP es todavía más versátil, ya que cualquier persona puede hacer de notario digital. Ni siquiera es necesario que sea un notario real o que tenga un cargo oficial. Supongamos que Ana confía en Carlos. Puede que Ana no tenga acceso directo a la clave pública de Belén. Pero si Ana ve una clave presuntamente de Belén con la firma (equivalente al certificado digital) de Carlos, Ana aceptará dicha clave como propia, ya que confía en que Carlos es una persona que no va por ahí firmando claves alegremente, sino de forma responsable y comprobando qué es lo que firma.
La misma Ana puede convertirse en una otorgadora de confianza. Si recibe la clave de Belén y ha verificado que es auténtica, Ana puede firmar la clave de Belén. De ese modo, cualquiera que obtenga la clave de Belén y confíe en Ana aceptará dicha clave como válida. La confianza que inspira Belén en otros hace que esos otros aceptan las claves firmadas por Belén como válidas. De ese modo, cada persona va acumulando un conjunto de claves públicas, las cuales llevan adosadas diversas firmas que le otorgan una confianza mayor o menor. Es lo que se denomina "red de confianza" [web of trust].
PGP permite adaptarse igual de bien a una estructura jerárquica basada en ACs que a una red de confianza descentralizada, aunque fue creado pensado en esta última posibilidad. En palabras de su autor, "PGP es para aquellas personas que prefieren plegar su propio paracaidas." Permite una mayor flexibilidad y capacidad de elección. Y, puesto que este es un curso sencillo sobre PGP, es ya hora de pasar a ver el que espero se convierta en su programa de cifrado favorito. La introducción acaba aquí. Comienza la acción.
2.6 - Para ampliar conocimientos
http://www.cripto.es/informes/info003.htm (A. Quirantes) Los entresijos del firmado digital http://www.cripto.es/informes/info010.htm (A. Quirantes) Pague sus impuestos ... digitalmente
|
|
|
|
|
En línea
|
|
|
|
|
<scrk/>
|
Capítulo 3: Primeros pasos con PGP
3.1 - Presentación formal 3.2 - Presentación informal 3.3 - Descarga e instalación 3.4 - Generación de claves 3.5 - Así es nuestra clave 3.6 - Para ampliar conocimientos
Resumen El presente capítulo constituye la introducción al programa Pretty Good Privacy. Se dará una breve historia de PGP desde su origen en 1.991. Tras indicar las direcciones donde se puede descargar el programa, pasaremos al proceso de instalación. Tras ello, generaremos y analizaremos una clave PGP
3.1 - Presentación formal
PGP es un programa, disponible para múltiples sistemas operativos (Windows, MacOS, Linux, ...) que permite el cifrado de datos, archivos y mensajes. Diseñado inicialmente para correo electrónico, incorpora en sus últimas versiones adiciones tales como el cifrado de archivos mediante clave simétrica, la creación de Redes Privadas Virtuales, discos virtuales cifrados y borrado seguro de datos. Su "alma" es el cifrado de mensajes mediante criptografía de clave pública.
Estrictamente hablando es un sistema "híbrido", en el que la clave pública cifra una clave simétrica (clave de sesión) que a su vez cifra el mensaje. Su utilización resulta especialmente sencilla en los programas de correo más habituales, como Eudora, Outlook, Outlook Express y The Bat! gracias a la incorporación de botones (plug-ins) para realizar cómodamente las funciones de cifrado/firmado y descifrado/verificación. También permite realizar estas opciones mediante el botón derecho del ratón, tanto en dichos programas de correo electrónico como desde el Explorador de Windows (para cifrado simétrico), e incluso desde cualquier ventana activa o desde el portapapeles mediante un programa (PGPtray) residente en la barra de tareas.
PGP utiliza dos formas diferente de clave pública: RSA (con función hash MD5) y Diffie-Hellman (con función hash SHA-1), con longitud de clave de hasta 2048 (RSA) o 4096 (DH) bits. Los algoritmos de clave simétrica que puede utilizar son: CAST (predeterminado), IDEA y TripleDES. Para obtener claves públicas, PGP puede conectarse y buscar en diversos "depósitos" llamados servidores de claves. Siempre que el usuario desee descifrar o firmar un mensaje, deberá introducir una frase de contraseña; dicha frase de contraseña protege el archivo de claves privadas, y proporciona a éstas una protección adicional.
3.2 - Presentación informal
Y ahora vamos a relajarnos un poco y a tomárnoslo con tranquilidad ... al menos aquellos de ustedes que no hayan huido espantados de la parafernalia técnica del apartado anterior. Antes de meternos en el programa en sí, desearía compartir con ustedes una pequeña historia, no sólo porque la considero interesante sino porque nos deja entrever la propia historia reciente de la criptografía. Si a usted, lector, no le interesa, pues pase al siguiente apartado, y tan amigos.
La criptografía de clave pública (CCP) nació hacia 1977, con el descubrimiento de los dos principales sistemas: RSA y Diffie-Hellman (recientes revelaciones indican, no obstante, que investigadores de los servicios secretos británicos descubrieron los principios básicos de la CCP de forma independiente en 1.975). Lo que hoy se considera piedra angular en la criptografía moderna pasó desapercibido para el común de los mortales, entre otras cosas porque la criptografía de clave pública no halló "público" que la usase. La criptografía se utilizaba fundamentalmente en aplicaciones militares y ciertos usos comerciales. Estados Unidos, por medio de su Agencia de Seguridad Nacional (NSA, encargada del espionaje electrónico y el criptoanálisis), restringía fuertemente el uso y la exportación de programas de cifrado. Sin clientes interesados y con tan fuertes ligaduras, la CCP languideció durante una década.
Los principales países industrializados, incluyendo España, colaboraban activamente con esta política mediante las restricciones sobre tecnología de doble uso plasmadas en el sistema COCOM (desde 1.998, acuerdos de Wassenaar). Hacia 1.991 no sólo la exportación de los programas de cifrado estaba prohibida por EEUU (equivalía a exportar armas sin licencia: pena de hasta diez años de prisión y/o un millón de dólares de multa), sino que el Congreso estaba dando los primeros pasos para sancionar legalmente la obligación de que todos los programas de cifrado tuviesen "puertas traseras" que permitiesen al gobierno leer cualquier mensaje cifrado. La propia criptogafía parecía estar a punto de ser ilegalizada.
Fue en este momento cuando un desconocido ingeniero de software llamado Philip R. Zimmermann entró a escena. Implementó el sistema RSA junto con un algoritmo simétrico de cosecha propia (Bass-O-Matic) y la función resumen (hash) MD4, lo combinó todo en un sistema híbrido, y creó el programa PGP (Pretty Good Privacy, Intimidad Bastante Buena) versión 1.0. Una versión posterior (2.0) incorporaría un algoritmo simétrico más fuerte (IDEA), una función resumen diferente (MD5) e incluso un algoritmo de compresión de datos diferente (ZIP en lugar de LZHuf).
Pero ya la versión 1.0 resultaba revolucionaria en sus intenciones, puesto que por primera vez existía un programa de cifrado de altas prestaciones para uso general. Zimmermann distribuyó copias de PGP 1.0 a varios de sus amigos, y uno de ellos lo diseminó en diversos tableros electrónicos BBS. De algún modo, una copia se filtró fuera de Estados Unidos. Este hecho hizo que Zimmermann fuese acusado por el gobierno norteamericano de violar las leyes de exportación ITAR. Más aún, los propietarios de los derechos del sistema RSA lo acusaron a su vez de violación de patentes.
Pero el genio ya está fuera de la lámpara. El crecimiento de Internet y la publicidad dada al caso Zimmermann no hacen sino elevar la popularidad de PGP. Se crea un fondo de defensa legal, y Zimmermann se convierte en una especie de mártir en la causa de la libertad de expresión. A la postre, los cargos por violación de leyes de exportación son retirados (a fin de cuentas, él no exportó el programa), y un cambio en las librerías del programa permite resolver los problemas de patentes.
Para resolver los problemas de exportación del programa, un avispado noruego llamado Stale Schumacher descubrió que el código fuente escrito del programa sí puede sacarse legalmente de Estados Unidos (consecuencia de las leyes que protegen la libertad de prensa). Así que, ni corto ni perezoso, compró los libros que contenían dicho código, se los llevó a su país, los recompiló mediante un sistema OCR de reconocimiento óptico de caracteres, y reconstruyó el programa. El resultado es lo que se denomina "versión internacional" que lleva una i tras el número de versión para distinguirlo de las versiones exportadas ilegalmente. Incluso eso se ha hecho ya innecesario, puesto que recientemente las leyes USA a la exportación se han suavizado, y ya no se persigue a los exportadores de programas de cifrado.
Paralelamente a estas batallitas, el programa no deja de evolucionar. Las versiones 2.6.2 y 2.6.3 (casi idénticas) para MS-DOS se convierten en las primeras que son diseminadas y usadas de forma masiva. La creación de múltiples interfaces (shells) por parte de diversos autores permiten un uso más cómodo bajo Windows 3.1 Por fin llegan las modalidades para Window 95/98: PGP 5.0, 5.5, 6.0, 6.5 y 7.0. También los usuarios de Mac son recompensados por su paciente espera. Todo ello gracias al trabajo de Zimmermann y de su empresa PGP Inc, creada en 1.996 para la comercialización de los productos PGP y absorbida posteriormente por Network Associates (NAI).
La diseminación de PGP y la costumbre de PGP Inc. de hacer público su código fuente (para permitir revisiones o recompilaciones del programa) han favorecido la aparición de versiones alternativas en código abierto [open source]. En este momento existe una versión estable para UNIX/Linux, y se trabaja en versiones para Windows y Mac; ver para más información la página OpenPGP: http://www.gnupg.org. La fama de PGP ha llegado hasta el extremo de que se derivado en un protocolo de Internet: RFC 2440 (http://www.ieff.org/rfc/rfc2440.txt). Actualmente, el proyecto OpenPGP persigue extender el estándar RFC 2440 (http://www.openpgp.org). Todo ello ha contribuido a que, en la actualidad, PGP sea probablemente el programa de cifrado más conocido en el ciberespacio.
3.3 - Descarga e instalación
Y ahora, a trabajar. Lo primero de todo, evidentemente, es conseguir el programa e instalarlo. Afortunadamente, el espíritu altruista de Zimmermann se mantiene y, a pesar de que NA es una empresa que evidentemente quiere ganar dinero, sigue manteniendo versiones gratuitas [freeware] con prácticamente las mismas capacidades que la versión de pago.
Tomaremos como versión "básica" la 6.5.8 freeware, ya que resulta especialmente estable y ha sido corregida contra diversos fallos [bugs]. Aunque existe una versión posterior (la 7.0), adolece en mi opinión de ciertas desventajas. Por un lado, carece de código fuente, ya que su empresa propietaria NAI rehúse hacerlo público. Esto rompe con la tradición de transparencia de PGP, y siempre ha constituido una garantía de seguridad al permitir la inspección del programa en busca de fallos de código o de "puertas traseras". Por otro lado, PGP 7.0 incorpora aplicaciones adicionales (cortafuegos, detección de intrusos) que complican su uso. Dichas aplicaciones no serán explicadas en el presente curso. No obstante, si decide usted instalar versiones posteriores a la 6.5.8, puede aprovechar las explicaciones de este curso. En lo posible, se incluirán las variaciones, cuando las haya, de funcionamiento entre ambas versiones.
En segundo lugar, escojamos el "sabor". Las versiones de PGP suelen venir en tres variantes: gratuita [freeware], individual [Personal] y comercial [Desktop]. Para no perjudicar los derechos de autor de nadie, recomiendo el uso de la variante gratuita. No obstante, si va a usar PGP con fines comerciales o en entornos empresariales, puede usted necesitar una versión con licencia.
Finalmente, el sistema operativo. El presente curso ha sido basado en PGP 6.5.8 para Windows, y ha sido específicamente comprobado en Windows 95/98. No puedo responsabilizarme de las posibles diferencias de funcionamiento en Windows Me/XP o en otros sistemas operativos (Mac), aunque tales diferencias son de poca importancia.
En cualquier caso, no existen versiones en castellano ni del programa ni de los archivos de ayuda de las últimas versiones. Por ello, en este curso pondré especial cuidado en traducir todos los términos ingleses que aparezcan. Sí existe una traducción al castellano del manual para la versión 5.5.3i, así como Informes sobre las novedades que incorporan las versiones 6.0 y 6.5. Estos textos aparecerán enlazados al final del presente capítulo.
Y ahora, a descargar. La versión 6.5.8 de PGP está disponible para los siguiente sistemas operativos en las direcciones que se acompañan:
Windows 95/98/NT/2000; http://www.pgpi.org/products/pgp/versions/freeware/windows/6.5.8/
MacOS: http://ftp://ftp.es.pgpi.org/pub/pgp/6.5/6.5.8/PGPFW658Mac.sit.bin
UNIX/Linux: http://www.pgpi.org/products/pgp/versions/freeware/unix/6.5.8/
Para otros sistemas operativos, existen versiones anteriores, a saber:
Amiga: http://ftp://ftp.es.pgpi.org/pub/pgp/5.0/amiga/amiga-pgp51i-bin.lha (PGP versión 5)
Atari: http://ftp://ftp.es.pgpi.org/pub/pgp/5.0/atari/pgp50ib.zip (PGP versión 5)
BeOS: http://ftp://ftp.es.pgpi.org/pub/pgp/5.0/beos/pgp5.0i-x86.zip
EPOC: http://www.zenobyte.com/pgp/PgpSis.zip (PGP versión 2.6.3)
MS-DOS: http://ftp://ftp.es.pgpi.org/pub/pgp/5.0/msdos/pgp50ibi.zip (PGP versión 5.0)
OS/2: http://ftp://ftp.es.pgpi.org/pub/pgp/5.0/os2/pgp50ios2ga.zip (PGP versión 5.0)
PalmOS: http://ftp://ftp.es.pgpi.org/pub/pgp/palm/PGPwirelessPalm15Eval.zip
Los usuarios de Windows Me cuentan solamente con la versión 7.0.3. No obstante, se han detectado fallos en esta versión, así que quienes -en contra de mi recomendación- deseen usar dicha versión habrán de instalar con posterioridad dos parches adicionales:
PGP 7.0.3: http://ftp://ftp.es.pgpi.org/pub/pgp/7.0/7.0.3/PGPFW703.zip
Parche 1: http://ftp://ftp.es.pgpi.org/pub/pgp/7.0/7.0.3/PGPfreeware703Hotfix1.zip
Parche 2: http://ftp://ftp.es.pgpi.org/pub/pgp/7.0/7.0.3/PGP_Hotfix0904_Win32.zip
Aviso para usuarios de Windows XP. En el momento de escribir estas líneas, no hay ninguna versión de PGP para Windows XP. Por sus similitudes con versiones anteriores de Windows, es de esperar que PGP 6.5.8 o 7.0.3 funcionen también en Windows XP, pero no hay garantía al respecto. Los usuarios que instalen PGP bajo Windows XP lo harán bajo su propia responsabilidad.
Ya tenemos el archivo de instalación esperando en las tripas de nuestro disco duro. Ahora, !quietos! Antes de ejecutarlo, una precaución elemental: antivirus al canto. No conozco ninguna versión de PGP que haya propagado jamás un virus, pero comprobar es siempre una precaución recomendable. Mejor prevenir que curar. ¿Libre de virus? Muy bien. Pues vamos allá. Descomprimamos el archivo .zip en un directorio temporal, y ejecutemos Setup.exe. Durante el proceso se le solicitará elegir un directorio para la instalación; supongamos para este ejemplo que escogemos C:\PGP.
A continuación se le darán a elegir diversos componentes para instalar. El primero de ellos (PGP Key Management) es el núcleo del programa, así que no lo podemos descartar. El segundo (PGPnet) es una utilidad para crear Redes Privadas Virtuales (VPN), es decir, una red local donde todas las comunicaciones estén cifradas. Usted no necesitará esta opción, sobre todo si no trabaja en redes de área local. Incluso si la necesita, recuerde que se ha informado de diversos fallos en PGPnet, que a veces interfiere con el funcionamiento normal del ordenador. Puesto que vamos a mantenernos simples, mi consejo es que NO instale PGPnet. Puede hacerlo en el futuro, si cree que lo va a necesitar.
Las tres opciones restantes son utilidades [plug-ins] para facilitar el uso de PGP en los principales programas de correo electrónico: Eudora (Light/Pro), Microsoft Exchange/Outlook y Microsoft Outlook Express. Si desea vd. utilizar un programa de correo electrónico distinto, probablemente haya un plug-in para usted. Deberá descargarlo e instalarlo. En caso se duda, consulte a su proveedor de software o al fabricante de su programa de correo
Tras la instalación, se le preguntará si tiene archivos de claves anteriores. Si esta es su primera vez con PGP, responda que no. Si le ofrece crear un par de claves, responda asimismo que no (paciencia, que ya llegaremos a ello). Y listo, el programa está instalado. Ahora, reinicie su ordenador. Antes de zambullirnos en el programa propiamente dicho, compruebe que hay ahora varias novedades en su ordenador. En la parte derecha de su barra de tareas aparece un icono con forma de candado que representa el programa PGPtray, que se carga en memoria al arrancar; si no quiere que eso suceda, puede eliminarlo quitando el icono similar que tiene ahora en la carpeta Inicio del menú Programa. Luego, apriete el botón "Inicio" en la parte inferior izquierda con el botón derecho del ratón. Aparece la palabra "PGP" y diversas opciones (Encrypt, Sign, Encrypt & Sign, Decrypt/Verify, Wipe). Estas mismas opciones aparecían pinchando cualquier archivo con el botón derecho del ratón dentro del Explorador de Windows.
3.4 - Generación de claves
Y ahora, a crear nuestro par de claves pública/privada. A pesar de la aparente complicación matemática que ello comporta, será muy fácil. Abra PGPkeys por primera vez (lo tiene en la carpeta PGP). Como aún no hemos creado ninguna clave, aparece el asistente de creación de claves (Key Generation Wizard). Lo primero que se pide es el nombre y la dirección de correo electrónico. Estos dos datos formarán el identificador (ID) de la clave. En principio, puede introducirse lo que se desee. No obstante, si alguien busca la clave pública de usted en un servidor de claves, le resultará mucho más fácil si introduce sus datos verdaderos. Usted decide. Vamos a crear una clave para Pepe Cripto, quien tiene una cuenta de correo pepecripto@micasa.com, introduciendo dichos datos
Y ahora, la pregunta del millón: ¿clave RSA o Diffie-Hellman? Las claves tipo RSA fueron usadas por las primeras versiones de PGP, hasta la 2.6.3. Al pasar a Windows, se comenzó a usar un nuevo tipo: Diffie-Hellman. Ambos tipos de claves son buenos. Se tiende ahora a usar las D-H, aunque muchos usuarios siguen fieles a las de viejo cuño. Las claves RSA se usan todavía, por ejemplo, para comunicaciones que utilizan PGP en combinación con repetidores anónimos de correo [remailers], así como en otros protocolos (OpenPGP, SSL). Mi recomendación es que prueba para empezar con las Diffie-Hellman. Y recuerde, puede usted crear tantos pares de claves como desee, de modo que nada le impide tener un par de claves de cada clase.
Nota. En PGP 7.0, las claves RSA creadas con versiones anteriores aparecen rotuladas como RSA Legacy Key
Las claves RSA se pueden elegir con longitudes de entre 1024 y 2048 bits; las Diffie-Hellman, entre 1024 y 4096 bits. En ambos casos, recomiendo elegir un tamaño de 2048 bits. Como hemos elegido las D-H, aparecerá algo del tipo "2048 Diffie-Hellman/1024 DSS" Esto se debe a que las claves D-H realmente se componen de dos sub-claves, una para cifrar (con clave de 2048 en nuestro caso) y otra para firmar (1024 bits). Suena algo complicado, pero no es nada que deba quitarnos el sueño.
Siguiente punto: elegir la fecha de caducidad de la clave. Esto resulta muy útil cuando, por las razones que sean, se desea que una clave solamente pueda ser usada en un intervalo de tiempo finito. Nosotros elegiremos claves que no caduquen (Key par never expires). Luego, algo muy importante: una frase de contraseña. Esta contraseña protegerá sus claves privadas (estrictamente hablando, la contraseña sirve para cifrar dicha clave mediante un algoritmo simétrico), así que hay que elegirla con cuidado. Use una contraseña lo bastante larga para que no se pueda obtener mediante un ataque de "fuerza bruta" (probando todas las claves posibles), que sea sencilla de recordar y no resulte fácil de adivinar. Si la barra de "passphrase quality" no se llena, es que la contraseña no es lo bastante larga.
Por favor, proteja y recuerde bien su contraseña. Si la olvida no podrá utilizar su clave privada, lo que significa que jamás podrá volver a descifrar o a firmar con ella. He perdido la cuenta del número de veces que he recibido mensajes del tipo "he perdido la contraseña, ¿qué puedo hacer?". En esos momentos, me suele venir a la memoria el aviso que aparecía en la puerta del infierno según Dante: abandonad toda esperanza aquellos que entráis aquí. Olvidar la contraseña es el mejor método para inutilizar una clave.
Tras la generación de las claves, se pregunta si deseamos enviar nuestra clave pública a un servidor de claves. Un servidor de claves es una especie de depósito donde se almacenan claves públicas. Resulta muy cómodo, pero todavía no vamos a enviar nuestra clave recién creada. Es mejor que primero se familiarice con PGP y su modo de funcionar. Así, si se equivoca (perdiendo la contraseña, por ejemplo), no hay más que borrar la clave y crear otra. Y con eso y un bizcocho ...
Presto, la comida está servida. Aparece por primera vez ante sus ojos el programa PGPkeys. Este es el alma de PGP. Pero antes de lanzarnos a saco sobre él, vamos a examinar nuestra clave recién creada.
3.5 - Así es nuestra clave
En primer lugar, busque su clave entre todas las que aparecen (no se preocupe por ellas, son claves públicas de prueba), pínchela con el botón derecho del ratón y seleccione Key properties; también puede ir al menú y elegir Key/Properties, o simplemente pulsar "Ctri+I" Aparecerán dos pestañas: General y Subkeys (esta última no aparece en el caso de claves RSA; ya veremos por qué). Comencemos por General. Como ven, aparecen muchas "cosas raras" Vamos a examinarlas, y verá como no son tan raras:
ID Este es un código de identificación para la clave (Key ID). Resulta muy útil a la hora de buscar claves, o de almacenarlas. A fin de cuentas, podemos crear tantas claves pepecripto@micasa.com como queramos, pero todas quedan identificadas mediante un ID distinto, algo del tipo 0x1F390BE2
Type (tipo) Simplemente, el tipo de clave: RSA o Diffie-Hellman/DSS (DH/DSS).
Size (tamaño) Nos da el tamaño de la clave, en bits. Salvando las distancias, es como decir cuántos dígitos tiene la combinación del maletín o de la caja fuerte. Una clave Diffie-Hellman se compone de dos sub-claves: una de cifrado (primer dígito) y otra de firma (segundo dígito, siempre igual a 1024). Para claves RSA, solamente aparece un dígito.
Created (creada), expires (caduca) Nos indica la fecha en que fue creada (ojo, según el reloj de su ordenador; compruebe que tiene la fecha correcta) y la fecha en que la clave caducará. Si siguió mi consejo y creó una clave sin fecha de caducidad, aparecerá Never (nunca).
Cipher (cifrado) Recuerde, PGP es un sistema híbrido: el algoritmo de clave pública cifra una clave, la cual se usa en un algoritmo simétrico para cifrar el mensaje. Aquí se indica cuál es ese algoritmo simétrico. Este algoritmo se utilizará también cuando queramos cifrar un archivo mediante clave simétrica. Los algoritmos posibles son: IDEA (predeterminado para claves RSA), CAST (predeterminado para claves D-H) y Triple-DES. Los tres son buenos algoritmos. Puede usted cambiar el algoritmo predeterminado en PGPkeys/Options/Advanced, pero no es recomendable. Puede darle problemas de compatibilidad en el futuro.
Change passphrase (Cambiar frase de contraseña) Le permite cambiar su contraseña. Para eso, claro, tendrá antes que introducir la contraseña anterior. ¿Ve el cuadrado justo encima de este botón? Ahí es donde puede ir su foto, si así lo desea.
Enabled (habilitado) Es esta una opción que sirve para "inhabilitar" temporalmente una clave. Esto tiene ciertas ventajas para claves públicas que se usan poco, especialmente cuando nuestro archivo de claves públicas ha engordado mucho. Como verá, no podemos modificar esta casilla, ya que las claves propias no se pueden deshabilitar. No confundir este concepto con el de "revocar", que veremos más adelante.
Fingerprint (huella dactilar) Una manera de verificar que la clave de alguien realmente le pertenece es hacer que su dueño nos de alguna información inequívoca sobre ella, sea de viva voz, en tarjeta, por teléfono o por correo electrónico. Puede usarse el ID visto anteriormente, pero hay formas de "trucar" dicho ID. Una forma mucho más segura es mediante la huella, que no es más que un conjunto de caracteres hexadecimales característicos de la clave. La huella es algo del tipo "EA10 F561 ..." Si desactiva el botón "hexadecimal" justo debajo, dicha huella se convierte en un conjunto de palabras. Esto es un añadido para facilitar su lectura por teléfono. Muchas veces, dos personas que deseen intercambiar claves se limitan a darse mutuamente sus "huellas" en lugar de la clave entera. Puede por ejemplo incluirse en la tarjeta de visita.
Trust model (modelo de confianza) Si han seguido el curso entero hasta aquí, recordarán que obtener la clave de pepecripto@micasa.com no significa que ese clave realmente esté en poder de Pepe, ni que él sea su usuario. Hemos de decidir si la clave es "válida", esto es, si creemos que pertenece a quien dice pertenecer. También hemos de decidir si Pepe es de "confianza", es decir, si podemos fiarnos de él para validar (dar fe) de otras claves.
Diremos que una clave es trusted (de confianza) si la persona a la que pertenece es de confianza. Es decir, ¿nos fiamos de Pepe a efectos de claves, creemos que es cuidadoso con sus claves, que no firma a tontas y a locos, que sabe lo que hace? Pues entonces es de fiar. La manera de plasmar su confianza en él es firmando su clave y, a continuación moviendo la barra derecha a una de tres posiciones: untrusted (sin confianza), trusted (de confianza) y posición intermedia (la llamada confianza marginal, o media). En nuestro caso, la confianza es completa (aunque el "indicador de confianza" no se puede modificar) y está activada la opción implicit trust (confianza implícita), opción que solamente aparece para nuestras propias claves. Esto implica obviamente que confiamos en nosotros mismos.
Respecto a la validez, nos indica si creemos o no que la clave de Pepe realmente es de Pepe. Esto podemos asegurarlo si hemos recibido la clave del propio Pepe (en cuyo caso no hay más que firmar su clave), o bien si su clave tiene firmas de gente en quien confiamos. No se preocupen, que volveremos a eso en otro capítulo. Para nuestras propias claves, la validez es también total. También es obvio: si no estamos seguros de que nuestras claves son las que realmente hemos creado ...
Subkeys (subclaves) Sólo para claves D-H. ¿Recuerdan que este tipo de claves consta de dos sub-claves, una de cifrado y una de firma? Pues esta sub-clave es la de cifrado. Esto permite modificar, borrar o crear la subclave de cifrado sin necesidad de crear una clave nueva para firmar. Es decir, mantenemos las características esenciales de nuestra clave (ID, huella, etc) incluso si nos vemos en la necesidad de cambiar la clave de cifrado.
Como ve, hemos revisado de una tacada ambos tipos de claves. Si quiere usted crear una clave RSA para familiarizarse también con esa clase de claves, y para ver las diferencias, no tiene más que ir a PGPkeys/Keys/New Key y seguir los mismos pasos que cuando creó su primera clave.
Nota. Los usuarios de PGP versión 7.0 solamente advertirán las diferencias entre los formatos RSA y D-H cuando abran una clave RSA creada con una versión anterior del programa, en cuyo caso aparecerá como RSA legacy key. Las claves RSA creadas con PGP 7.0 tienen el mismo formato que las D-H, incluyendo subclaves.
A estas alturas, creo que ya estamos preparados para pasar al siguiente capítulo, en el que estudiaremos la aplicación PGPkeys y veremos cómo funciona. Sé que estará deseando cifrar, firmar y, en una palabra, sentir el poder de la criptografía de clave pública en la punta de sus dedos (vaya, qué poético me he levantado hoy). Pero vayamos por orden, no vaya a ser que metamos la pata por querer "trastear" con su nuevo programa de cifrado sin saber cómo se utiliza. Cada cosa a si tiempo.
3.6 - Para ampliar conocimientos
Como siempre, algo más de información para paladares hambrientos:
http://www.cripto.es/expedien/exped002.htm (Adam Back, traducción de A. Quirantes) Historia del PGP. Una breve historia del programa Pretty Goood privacy. Amena, aunque algo antigua; ni siquiera existía el Windows 95 (ah, los viejos tiempos...)
http://www.cripto.es/informes/info007.htm (A. Quirantes) Recelos y sospechas en el mundo PGP. Otra "batallita", algo más extensa y completa que la anterior.
Diversos textos sobre PGP en castellano:
http://www.cripto.es/expedien/hisparch/pgpifaq.htm (Stale Schumacher, traducción de A. Quirantes) Preguntas frecuentes sobre las versiones "internacionales" de PGP
http://ftp://ftp.es.pgpi.org/pub/pgp/5.5/docs/spanish/pgp553i-macintosh-spanish.pdf (Carlos Lamas)Manual de PGP en castellano, versión 5.5.3i para Mac.
http://www.cripto.es/expedien/hisparch/man553pd.zip (A. Quirantes y J. M. Velazque) Manual de PGP en castellano, versión 5.5.3i para Windows.
http://www.cripto.es/informes/info006.htm (A. Quirantes) PGP 5.5.3i (Windows)
http://www.cripto.es/informes/info008.htm (A. Quirantes) PGP 6.0 (Windows)
http://www.cripto.es/informes/info015.htm (A. Quirantes) PGP 6.5.1i (Windows)
Finalmente, una alternativa en código libre: GnuPG
Linux: http://ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-1.0.6.tar.gz
Windows 95/98/NT: http://ftp://ftp.gnupg.org/gcrypt/binary/gnupg-w32-1.0.6.zip
Mac: http://macgpg.sourceforge.net/
UNIX: http://gnupg.unixsecurity.com.br/
|
|
|
|
|
En línea
|
|
|
|
|
<scrk/>
|
Capítulo 4: PGPkeys
4.1 - La ventana PGPkeys 4.2 - Opciones de configuración 4.3 - Antes de comenzar: copiar y revocar 4.4 - Modificando claves 4.5 - Para ampliar conocimientos
Resumen Este capítulo nos enseñará a manejar la aplicación PGPkeys, corazón del sistema PGP. Aprenderemos a configurar correctamente el programa. A continuación, procederemos a manipular y modificar nuestras claves, incluyendo las opciones de revocación y creación de copias de seguridad.
4.1 - La ventana PGPkeys
Uno de los elementos más importantes en la criptografía de clave pública es la administración de claves. PGPkey nos ayuda grandemente en esa tarea. En primer lugar, veamos qué información nos da la ventana de dicho programa. Abra PGPkeys y active todas las opciones del menú View (ver). Verá las siguientes columnas (no necesariamente en este orden):
En primer lugar, la columna Keys (claves). Verá un conjunto de líneas con un icono en forma de llave y su nombre. Si siguió las instrucciones del capítulo anterior, verá la suya (en el ejemplo que usamos, se leería "Pepe Cripto " Este es el llamado Identificador de Usuario (User ID); no confundir con el identificador de clave (Key ID). Esta columna nos dará mucha información, así que la dejaremos para más adelante.
Las demás columnas nos representan lo siguiente:
Validity (validez) Nos indica si la clave se considera "válida", es decir, si tenemos razones para creer que la clave realmente pertenece a la persona que aparenta pertenecer. Una clave válida viene representada por un círculo verde, una no válida por un círculo gris. Nótese que "no válida" no significa defectuosa o que no se pueda usar, sino que no tenemos certeza sobre su propietario. Compruebe que solamente una clave tiene validez: la suya propia. De hecho, aparece la figura de una cabeza junto al círculo (igual que aparece junto al icono en forma de llave de la izquierda). Eso indica que la clave le pertenece, es decir, que la clave privada correspondiente a esa clave pública está en su poder.
Trust (confianza) Si la validez se refiere a la clave, la confianza se refiere a la persona dueña de ésta. Una clave de confianza (más correctamente, una clave perteneciente a una persona de confianza) vendrá representada mediante una barra gris oscura. Si la barra es mitad gris oscura y mitad gris clara, la confianza es "marginal", es decir, parcial. Si no tenemos confianza en el dueño de la clave, ésta vendrá con una barra gris claro. La clave que usted creó será gris oscura con franjas gris claro, inclinadas y delgadas; esto indica que la clave es de "confianza implícita", ya que la creó usted.
Size (tamaño) Indica el tamaño de la clave, en bits. Si la clave es de tipo RSA (icono llave de color gris), aparecerá un solo número. Si es de tipo Diffie-Hellman (icono llave de color marrón), tendrá dos dígitos: el primero de ellos es el tamaño de la clave de cifrado, y el segundo el de la clave de firma.
Creation (creación) y Expiration (caducidad) Indican, como puede imaginar, la fecha de creación de la clave y la de caducidad. Si la clave no caduca (lo más habitual), veremos un Never (nunca).
Key ID (Identificador de clave) Es un conjunto de ocho caracteres hexadecimales, precedidos por "0x", y que identifican la clave. Es de la forma "0x2113D9F9"
ADK (Clave de Descifrado Adicional)¿Recuerdan que la clave pública cifra una clave simétrica (clave de sesión), la cual a su vez cifra el mensaje? Bien, pues una de las cosas que se puede hacer es cifrar con más de una clave pública, con el objeto de que diversos destinatarios puedan descifrar el mismo mensaje. La ADK es un sistema por el que cualquier mensaje se cifra siempre con dos claves: la del destinatario y una segunda (la ADK) controlada por la empresa o el administrador de red. Este sistema está diseñado para entornos empresariales, con objeto de que la empresa pueda tener cierto control sobre los mensajes cifrados por el empleado (por ejemplo, en caso de ausencia de éste, fallecimiento, o despido). Aunque su programa PGP no tiene esta opción, es bueno saber cuándo una clave pública funciona bajo el sistema de ADK. Una clave con ADK viene indicada por un círculo rojo; sin ella, el círculo es gris. Esta es una opción que aún no es muy usada. Yo, cuando menos, todavía no he visto ninguna clave con ADK.
Description (descripción) Nos indica qué tenemos ahí. Los mensajes indican claves públicas (RSA public key o DH/DSS public key), claves caducadas (Expired RSA public key o Expired DH/DSS public key) y nuestro propio par de claves (RSA key pair o DH/DSS key pair). Pero si pincha en el cuadradito que hay a la izquierda del icono con la llave, aparecerán más cosas (ID de usuario, firmas exportables y a veces hasta fotografías). Pronto veremos qué sorpresas nos guardan todavía. Pero antes tenemos que ajustar el programa a nuestro gusto.
Nota: para los usuarios de PGP 7.0, las refencias específicas a claves RSA se entenderán hechas a las creadas con versiones anteriores del programa (las llamadas "RSA Legacy Keys"). En lo demás, no hay diferencias entre los formatos RSA y DH en PGP 7.0
4.2 - Opciones de configuración
Antes de poder seguir adelante, conviene configurar el programa. Para ello, vamos al menú Edit/Options. Aquí nos encontramos con siete pestañas. Vamos a por ellas, que son pocas y cobardes.
Primera pestaña: GENERAL. Primero nos encontramos con la opción Cifrar siempre con clave predeterminada (always encrypt to default key). Recordemos que, una vez cifrado un mensaje, ni siquiera la persona que acaba de cifrarlo puede descifrarlo. Eso resulta bastante molesto, porque no podemos guardar copias legibles de nuestros mensajes salientes. La solución es cifrar con dos claves: la del destinatario y la nuestra propia. Así podremos descifrar siempre los mensajes que hemos cifrado. Recomiendo activar esta opción.
En segundo lugar, la opción Generación rápida de clave (Faster key generation) Esto permite agilizar la generación de una clave Diffie-Hellman, gracias al uso de números primos precalculados. No parece que usar "primos enlatados" disminuya la seguridad, pero tampoco pasa nada por desactivar esta opción y esperar algo más de tiempo cuando creemos una clave. Cosa que, por otro lado, no va a ocurrir todos los días.
A continuación, la opción Frase de descifrado en caché durante ... (Cache decryption passphrase for ...) junto con un intervalo de tiempo. Como su nombre indica, permite que la contraseña permanezca en memoria durante el tiempo escogido. Esto permite poder descifrar diversos mensajes durante ese período de tiempo, sin necesidad de introducir la contraseña una y otra vez. Es una opción cómoda, pero con riesgos: cuanto más tiempo permanezca la contraseña en memoria, más facilidades se le están danto a un atacante potencial para capturarla mediante algún troyano o "fisgón". Si quiere ir a lo seguro, desactive esta opción. La casilla Frase de firmado en caché durante ... (Cache signing passphrase for ...) hace lo mismo, pero para los procesos de firma.
El espacio para el bloque de comentario (Comment block) permite introducir un pequeño comentario que aparecerá en los archivos o mensajes cifrados o firmados por usted. Puede poner su ID de clave, algún mensaje personal, o nada en absoluto.
Para terminar aquí, la opción Borrado de Archivos (File wiping) nos permite usar una opción de PGP: la de borrado seguro PGPWipe. Cuando se "borra" un archivo en Windows, el archivo no se ha borrado físicamente. Simplemente, el lugar que ocupaba en disco se marca como reutilizable. PGPWipe permite borrar realmente dicho lugar en disco sobreescribiéndolo. Tomando como analogía una cinta de video, sería la diferencia entre simplemente rotularla "para volver a grabar" y grabar sobre ella varias veces. Podemos elegir si el programa nos va a Avisar antes de borrar (Warn before wiping), así como el número de veces que se va a sobreescribir el archivo.
Segunda pestaña: FILES (ARCHIVOS). Nos indican la ubicación de tres archivos importantes. Dos de ellos almacenan nuestras claves públicas (Public Keyring File) y nuestras claves privadas (Private Keyring File), y llevan los nombres de pubring.pkr y secring.skr, respectivamente. De forma predeterminada, se hallan en el mismo directorio donde instalamos PGP, subdirectorio PGP Keyrings. El tercer archivo, ubicado en el mismo subdirectorio, se llama randseed.rnd (puede tener otra extensión, como .bin). Es el archivo (Random Seed File) que guarda información aleatoria, necesaria entre otras cosas para generar claves de sesión aleatorias. Puede indicar aquí una ubicación distinta para los tres archivos, !pero asegúrese de que dichos archivos realmente se encuentran donde usted cree!
Tercera pestaña: EMAIL (CORREO ELECTRÓNICO). La primera opción es la de usar PGP/MIME al enviar correo (Use PGP/MIME when sending email Esto permite utilizar de forma predeterminada el protocolo PGP/MIME, que no tiene sentido explicar aquí, pero que facilita las cosas al destinatario si el programa de correo electrónico soporta el estándar PGP/MIME ... y se las complica en caso contrario. Para no liar las cosas, por tanto, mejor no activar esta casilla de momento.
Las casillas Cifrar, firmar nuevos mensajes por defecto (Encrypt, Sign new messages by default) se explica por sí sola: automatiza el proceso de cifrado y de firmado, esto es, cualquier mensaje que envíe será cifrado y firmado de forma predeterminada. Como no siempre va a cifrar los mensajes o a firmarlos, no hace falta activarlas ... al menos, por ahora. En cuanto a la casilla Descifrar/verificar automáticamente al abrir mensajes (Automatically decrypt/verify when opening messages), es asimismo evidente: pasa automáticamente a descifrar el mensaje, o a verificar la firma, sin esperar a que usted lo ordene. Por supuesto, para descifrar se le pedirá la contraseña, a no ser que haya activado la opción de guardar contraseña en caché tal como se explicó para la pestaña anterior.
La opción Usar siempre Visor Seguro al descifrar (Always use Secure Viewer when decrypting) es solamente apta para ultraparanoicos. Al activarla, se utilizará un tipo de letra específialmente diseñado para evitar en lo posible la emisión de señales de radiofrecuencia por parte del monitor, señales que en teoría podrían ser recogidas por un fisgón electrónico con equipo adecuado (los denominados ataques Tempest). Una chuchería curiosa, pero seamos serios. Si el CESID tiene equipos Tempest (y dudo que alguien más en España tenga acceso a esa tecnología), seguro que tienen mejores cosas que hacer que aparcar una furgoneta Tempest en la puerta de su casa. Y si usted es lo bastante importante para merecer ese tipo de atenciones, créame, hay formas mucho más sencillas de intentar acceder a sus datos.
Mucho más importante es la siguiente opción: la del ajuste de línea (Word wrap) Esto indica qué longitud tendrán las líneas del mensaje, una vez cifrado o firmado con PGP. Puede elegir la longitud que desee (la que aparece predeterminada es de 70 caracteres/línea). Pero ATENCIÓN: asegúrese de que el ajuste de línea de PGP sea menor que el de su programa de correo electrónico . De lo contrario, éste introduciría retornos de carro adicionales que invalidarían la firma en un mensaje.
Cuarta pestaña: HOTLEKS (TECLAS RÁPIDAS). Facilitan el uso de PGP. Si, por ejemplo, activa la casilla Cifrar ventana actual (Encrypt current window), podremos cifrar el contenido de la ventana que se esté usando en ese momento (la de WordPad, de Word .. la que sea) sin más que teclear simultáneamente las teclas que usted indica, por ejemplo Control+Mayúsculas+E. Es una alternativa al uso de PGPtray, que veremos más adelante. Puede activar estas casillas o no, a su gusto.
Quinta pestaña: SERVERS (SERVIDORES). Un servidor de claves es un "depósito" donde podemos obtener la clave pública de la persona a la que queramos enviar un mensaje cifrado. Es un sistema muy cómodo, más aún desde que PGP permite hacer búsquedas desde el mismo PGPKeys (menú Server/Search). Uno de los servidores -puede tener más de uno- será el predeterminado y va señalado con letra negrilla; será aquél al que PGP se dirigirá para la búsqueda, a menos que determine vd. lo contrario. Podemos borrar un servidor ya existente, editarlo, o incluir uno nuevo. Ya que estamos, pruebe a introducir un servidor nuevo. Pondremos el de RedIris. Al añadir un servidor nuevo, indique el protocolo de transmisión de datos (en la mayoría de los casos, como ahora, http), el nombre (pgp.rediris.es) y el puerto de comunicación (11371). Para otros servidores, estos datos pueden variar.
A continuación, diversas opciones de sincronización (Synchronize). La sincronización significa sencillamente obtener del servidor de claves la versión más moderna de una clave pública con objeto de actualizarla. Recordemos que constantemente las claves pueden ser firmadas, modificadas, revocadas... es decir, se encuentra en evolución. Puede que hace seis días alguien en quien yo confío haya firmado una clave y la haya enviado al servidor. Si yo voy a usar dicha clave, la firma de esa persona de confianza me ayuda a establecer la validez. Podemos elegir que se actualicen claves (Synchronize keys upon...) en estos casos.
Cuando queremos cifrar un mensaje a un destinatario cuya clave no tenemos en nuestro archivo (... encrypting to unknown keys).
Cuando vayamos a firmar una clave. El servidor nos enviará la última versión de dicha clave antes de firmar, y enviará la clave de nuevo al servidor una vez vd. la haya firmado.
Cuando queramos añadir nombres (IDs de usuario), fotos o revocadores; ver más adelante ese concepto (Adding Names/Photos/Revokers)
Cuando queramos revocar una clave (Revokation)
Cuando queramos verificar una firma en un mensaje (Verification)
Sincronizar resulta bastante cómodo, aunque no es necesario. Puede hacerlo "a mano" buscando en el servidor de claves, como ya veremos.
Sexta pestaña: CA (CA) Si fueron buenos lectores, recordarán que en un capítulo anterior hablamos de las Autoridades de Certificación (AC). Esta casilla permite elegir una AC para poder usar certificados X.509 similares a los usados por los navegadores en sus conexiones seguras. Parece un modo de uncir PGP al carro comercial de las AC. De todos modos, PGP suele usar las firmas de claves (paciencia, ya llegaremos) para establecer la validez de una clave. Así que "pasamos" de esta pestaña.
Séptima pestaña: ADVANCED (AVANZADAS) La opción algoritmos preferidos (preferred algorithm) nos permite decidir qué algoritmo de clave simétrica queremos como predeterminado. A menos que usted lo cambie (de momento, mejor que no), aparece el algoritmo CAST. Se puede elegir entre CAST, IDEA y TripleDES. También podemos decidir los algoritmos permitidos (allowed algorithms); esta opción es solamente útil si en el futuro alguno de estos algoritmos se demuestra que tiene graves fallos que lo hacen presa fácil de ataques criptoanalíticos (!esperemos que no!). Deje los tres activados.
Después viene un ajuste fino al modelo de confianza. Como nada es blanco o negro, puede que una clave sea solamente "semiválida". Esto puede suceder si está firmada por una persona en la que tenemos confianza media (marginal). Puesto que confiamos "a medias" en esa persona, aceptaremos "a medias" las claves firmadas por esa persona. Activar la casilla mostrar nivel de validez marginal (display marginal validity level) sustituye la bola gris/verde (validez/invalidez) en la columna "validity" por una barra donde la cantidad de gris oscuro indica el grado de validez de dicha clave. Por lo general, dicha barra será mitad gris oscura cuando solamente la haya firmado una persona que tiene confianza marginal; será oscura del todo cuando la haya firmado una persona de total confianza (incluyéndonos a nosotros), o al menos dos personas con confianza marginal. Le recomiendo que active de momento esta opción; así podrá familiarizarse mejor con el "modelo de confianza" de PGP.
Más ajuste fino. Si una clave está firmada por una sola persona con confianza marginal, se supone que la validez es marginal, y así aparece si hemos activado la casilla "mostrar nivel de validez marginal" mencionada anteriormente Pero si esta casilla no está activada, ¿cómo aparece la bola de la columna "validity", gris o verde? O, dicho de otra manera, ¿aceptamos la clave como válida o no? Activando la casilla tratar claves de validez marginal como no válidas (treat marginally valid keys as invalid) la respuesta es negativa; harán falta al menos dos personas de confianza marginal para que una clave quede marcada como válida.
Si está activada la casilla avisar cuando se cifra a claves con una ADK (Warn when encrypting keys with an ADK), el programa nos avisa cuando ciframos un mensaje a un destinatario cuya clave tiene una ADK asociada (ya hemos visto ese concepto antes). Esta opción es recomendable porque el remitente tiene derecho a saber si existe dicha ADK, esto es, si el mensaje puede en principio ser descifrado por alguien más.
Por último, una opción importante a efectos de compatibilidad. PGP versión 5.x y anteriores no tienen opciones tales como fotografías o certificados X.509 en las claves. Por tanto, si exporta su clave puede que un usuario de versiones anteriores a la 6.0 no pueda importarla en su archivo de claves. Para mantener la compatibilidad, y permitir que usuarios de versiones antiguas y modernas pueda intercambiarse claves, es conveniente activar la opción de formato de exportación Compatible. Si escoge el formato Completo (Complete), su clave incluirá fotos y certificados, pero un usuario de digamos la opción 5.5 no podrá usar dicha clave para enviarle mensajes a usted. Recomiendo exportar claves en formato compatible. A fin de cuentas, los certificados X.509 aún no se usan en PGP ... y la opción de incluir una fotografía con la clave, en mi opinión, no sirve más que para aumentar el tamaño del archivo de claves. Aunque si quiere usted mostrar su belleza al mundo, no seré yo quien se lo censure.
4.3 - Antes de comenzar: copiar y revocar
Sí, ya sé, ¿cuándo comenzamos a cifrar y firmar? Muy pronto, se lo prometo. Pero antes es necesario tomar precauciones. Parece innecesario, pero créame, a tenor de los muchos mensajes de ayuda del tipo "socorro, no sé que hacer, resulta que ..." que he leído, mejor prevenir que curar.
Lo primero que vamos a hacer es una copia de seguridad de los archivos de claves. Un despiste, un "cuelgue" inoportuno del sistema operativo, un borrado accidental ... y nuestros archivos de claves pueden quedar cuando menos dañados. La solución no puede ser más sencilla: copiar los archivos pubring.pkr y secring.skr que contienen, respectivamente, las claves públicas y privadas almacenadas por usted. Puede guardarlas donde quiera, pero le recomiendo prudencia, sobre todo en relación al archivo de claves privadas. Un atacante que tenga una copia del archivo secring.skr tiene la mitad del trabajo hecho. De todos modos, le resultará inútil sin una copia de su frase de contraseña (passphrase), pero ¿por qué ponérselo fácil? Guarde celosamente una copia de esos archivos. Lo mejor es tenerlos en una partición cifrada, o en su defecto en un disquete separado.
En cualquier caso, PGP está al loro. Si ha creado usted un par de claves (o más), cuando cierre PGPkeys se le preguntará si quiera grabar una copia de seguridad o no. Usted mismo.
A continuación, vamos a revocar la clave privada. Revocar no es más que decir al mundo: esta clave ya no está bajo mi control, no la uséis más. Esto sucede cuando tenemos la sospecha de que alguien más puede tener una copia de nuestra clave privada. Vale, usted tiene el celo guardián de un pitbull. Pero ¿qué tal andamos de memoria? El principal motivo de la pérdida de control sobre una clave es el olvido de la frase de contraseña. Si usted se olvida de dicha contraseña, se acabó el descifrar o verificar con esa clave. Lo mismo le daría haber tirado a la basura su clave privada. Pero los demás usuarios que tengan copias de la clave pública de usted generalmente no lo sabrán, y puede vd. encontrarse con múltiples mensajes que no puede descifrar.
La solución es la revocación. En lugar de simplemente tirar la clave privada a la basura, la revocación modifica la clave pública, de manera que una persona que tenga dicha clave no podría cifrar, ya que PGP se lo impedirá. Por supuesto, una de las cosas que no podemos hacer sin la clave privada es revocarla. Pero si no podemos usarla, ¿cómo vamos a revocarla? El truco es guardar una copia del certificado de revocación antes de que suceda lo irreversible.
Vamos a revocar la clave. Pero antes, una advertencia: asegúrese de que la casilla "synchronize keys upon revokation" (Menú Edit\Options\Servers) esté desactivada antes de comenzar. ¿Ya lo ha comprobado? Estupendo, porque de no ser así PGP enviaría a los servidores de claves el certificado de revocación, y eso no nos interesa.
Para empezar, lo primero que hay que hacer es una copia de ambos archivos de claves (llámelos, por ejemplo, secringr.skr y pubringr.pkr). Adopte éstos como sus archivos de claves en el menú Options/Files. A continuación, pinche sobre el ratón en la clave a revocar y elija Keys/Revoke (también vale usar el botón derecho del ratón). Tras un (sabio) aviso sobre si sabemos lo que vamos a hacer (respuesta: sí), se pedirá la contraseña. Y listo, la suerte está echada. Ahora su clave aparece en PGPkeys con letra cursiva, y el icono de llave que había a la izquierda tiene ahora una x roja.
Ahora, exporte la clave mediante la opción Keys/Export, con el nombre y en el directorio que desee (mejor en disquete). Si algún día ha de usarla, no tiene más que enviar dicho archivo a un servidor de claves. Guarde bien este certificado de revocación, porque si alguien lo consigue podría enviarlo a los servidores de claves, haciendo creer a todo el mundo que esa clave ya no se puede usar. Eso no le da acceso a mensajes cifrados o a suplantación alguna, pero le obligaría a usted a crear un nuevo par de claves, ya que todos creerán que la clave anterior ya no sirve. Un fastidio.
Y ahora, vuelva a dejar PGP como antes. Es decir, sustituya los archivos secring.skr y pubring.pkr de PGP por la copia que vd. hizo de esos archivos antes de la revocación. Y ahora, intente revocar una clave que no sea suya. Como ve, no es posible. Solamente se pueden revocar las claves propias. Y otra cosa: no es necesario perder el control de una clave para querer revocarla. Puede que simplemente deseemos usar otra clave.
4.4 - Modificando claves
Echemos un vistazo a la clave que hemos creado. Pinche sobre su clave y vaya al menú Edit/Expand Selection (o bien pinche sobre el cuadradito que hay a la izquierda del icono de la clave). Sorpresa, la clave se ha "abierto" y aparecen más elementos. Todo forma parte de la clave. La primera línea es la misma que teníamos antes: validez, confianza, tamaño, ID de clave, etc. En la columna Description aparece "DH/DSS key pair", lo que indica que representa un par de claves Diffie-Hellman (o RSA, si es el caso).
Después viene un icono con forma de sobre, que nos da el identificador de usuario (User ID). Este es el "nombre" que le damos a la clave, y que suele corresponder con el nombre (real o ficticio) del usuario y su dirección de correo electrónico. Podemos cambiar fácilmente ese ID por otro. Finalmente, aparece una tercera línea con un icono en forma de lápiz. Es la firma digital. Como ve, la clave (-ás correctamente, el identificador de la clave- está firmada por ella misma. Esto parece una tontería, pero nos asegura que dicha clave no puede alterarse (existen maneras de alterar una clave pública). Si usted no recuerda haber firmado su propia clave, es porque PGP la ha firmado tras el proceso de creación.
Vamos a "jugar" con nuestra clave privada. Ponga el ratón sobre la primera línea de la clave, y presione el botón derecho del ratón. Lo primero que vemos son los comandos Copiar (Copy) y Pegar (Paste), típicos de cualquier aplicación Windows. Después, la de Borrar (Delete). No se la recomiendo ... a no ser que se haya cansado de la criptografía de clave pública. A continuación, algo interesante: firmar (sign). Como recordará el atento lector, firmar una clave implica dar validez a ésta. No podemos validar nuestra propia clave (de hecho, ya está firmada), así que haga la prueba de firmar una clave cualquier. Pinche sobre cualquier otra clave y escoja la opción de firmar.
Aparece entonces una ventana PGP sign key. En la parte superior hay un mensaje recordándonos que, al firmar, certificamos que la clave que firmamos realmente pertenece al usuario que aparecen en el User ID. Luego aparece una casilla que dice "permitir que la firma sea exportable. Otros podrán así fiarse de la firma de usted" (Allow signature to be exported. Others may rely upon your signature). Si no activamos dicha casilla, la firma será no-exportable. Esto significa que si usted exporta posteriormente dicha clave (en forma de archivo, o enviándola a un servidor de claves), la firma no aparece. Es decir, la firma que vd. acaba de hacer no sale de PGPkeys. Existen algunas circunstancias en las que esto resulta aconsejable, pero lo habitual es hacer la firma exportable. De ese modo, la "red de confianza" se va tejiendo y quien confíe en usted aceptará la firma en una clave, dando por tanto dicha clave por válida. Le recomiendo que firme siempre con firma exportable.
Haga la prueba. Escoja una clave cualquiera y fírmela. De repente, la validez de dicha clave es total. Esto se debe a que, al firmarla, usted certifica que esa clave es de quien pretende ser. Firmar una clave es algo que no debe hacerse a menos que se esté seguro de ello. No la firme simplemente para que desaparezca el aviso de key invalid que aparece cuando comprobamos una firma hecha con una clave no válida. Si posteriormente desea quitarle la validez a una clave firmada por usted, basta con que borre esa firma. Para ello, despliegue la clave (Edit\Expand selection), y verá la firma que vd. hizo en la forma de icono con forma de lápiz. No tiene más que borrar dicho icono, y listo. Alternativamente, puede que la validez provenga de la firma de alguien en quien usted ha depositado su confianza, es decir, alguien cuya clave sea de confianza (trusted]). Borre esa firma si quiere usted eliminar la validez de la clave ... aunque no sé por qué querría usted hacer tal cosa.
También puede modificar la confianza de una clave -más correctamente, del dueño de una clave.- Para ello, hay que operar sobre la barra Trust model que aparece en las propiedades de dicha clave. Puede convertir una clave de confianza (trusted) en una clave no confiable (untrusted) o de confianza media, moviendo el indicador que allí aparece. No intente hacerlo con su propia clave, porque PGP no le dejará. Se supone que usted confía en usted mismo (!de no ser así, no debería ni firmar cheques!), por lo que las claves que usted creó aparecen siempre como de confianza irrevocable (implicit trust).
Sigamos con la ventana PGP sign key En la parte inferior izquierda hay un botón que reza Más opciones (More choices) Aparece aquí un ente nuevo: el "meta-presentador" (meta-introducer). Esto suena raro, pero la idea subyacente es sencilla. Recordemos que podemos otorgar validez y confianza a una clave. Cuando firmamos una clave (o cuando ésta contiene la firma de alguien de confianza), solamente la estamos validando. Para darle confianza, hemos de fijársela "a mano" (Key Properties/Trust Model/ Trusted-Marginal-Untrusted). Un meta-presentador es, por definición, alguien de confianza absoluta, de manera que cualquier clave firmada por él será automáticamente considerada como válida por nosotros. Puede probarlo firmando con firma Meta-Presentadora (exportable o no) la clave denominada "Network Associates TNS Division Employee Certification Key" (puede tener un nombre ligeramente diferente, si usa usted PGP 7.0). De repente, casi todas las claves aparecen como válidas. Son aquellas que han sido firmadas con la clave"Network...etc" Abra cualquiera de dichas claves (Edit/Expand Selection) y podrá comprobarlo.
Igual que con las firmas sencillas, que podían ser exportadas o no, los meta-presentadores podemos establecerlos de "puertas adentro" (Meta-Introducer Non-Exportable) o de "puertas afuera" (Trusted Introducer Exportable). Para simplificar, firmar una clave como meta-presentador es como firmar esa clave y, a continuación, otorgarle confianza máxima. Con una diferencia: en ese último caso podemos "ajustar" el nivel de confianza deseado (total, marginal o nulo), en tanto que un meta-presentador es siempre de confianza total. Si le parece complicado, simplemente olvídese de ellos y limítese a establecer la confianza del modo tradicional: mediante el menú de propiedades de clave (Key/Properties).
¿Qué, se va animando? Pues vamos a continuar con nuestra clave recién creada. Una de las cosas que podemos hacerle es añadirle elementos (Add). Podemos en primer lugar añadir un nuevo nombre (Name) a la clave. Esto resulta muy útil cuando se desea modificar el nombre de la clave (User ID), por ejemplo por un cambio de dirección de correo electrónico. Muchos usuarios preguntan "he cambiado de cuenta, ¿tengo que crear un nuevo par de claves?" La respuesta es que no.
Supongamos que nuestro Pepe Cripto quiere abandonar su dirección pepecripto@micasa.com, en favor de pepe@cripto.com. No tiene más que añadir el nombre (Add/Name) e introducir la contraseña. Y ahora aparece el nuevo nombre. Si "abrimos" la clave, comprobaremos que tiene dos iconos de sobre, correspondiente a los dos ID de usuario, el antiguo y el nuevo. El nuevo ID de Usuario está firmado por sí mismo, y el ID antiguo está firmado por el nuevo (esto es para relacionar ambos IDs). Es conveniente mantener el ID antiguo, porque si no los demás no sabrán que se trata de la misma clave con distinto collar. ¿Y si queremos cambiar de opinión y dejar el ID antiguo? Pues no hay más que pinchar sobre él y elegirlo como ID predeterminado (Set as Primary Name).
También podemos añadir una fotografía nuestra (Add/Photo), chuchería simpática pero poco útil. Y también se puede añadir un revocador (Revoker). ¿Y qué es un revocador? Pues una persona a quien otorgamos la facultad de revocar nuestra clave. Es decir, si usted pincha sobre su clave, elige Add/Revoker y seleccciona mi clave, significa que yo podré, con mi clave privada, revocar su clave. De hacer eso, en su clave (Key/Properties) aparecerá una tercera pestaña denominada Revocadores (Revokers). Puede tener todos los revocadores que desee, o ninguno en absoluto.
Esto resulta útil para aquellos usuarios que confíen tanto en otro como para depositar la prueba máxima de confianza: la capacidad de desactivar una clave permanentemente. Como entregarle un poder notarial, vamos. Personalmente, prefiero no otorgar tales poderes a nadie. A fin de cuentas, revocar una clave no es algo que precise usted hacer todos los días ... y recuerde que no se le puede "quitar los poderes" a un revocador. Esta opción, como la de meta-presentador, puede ser útil en entornos corporativos, donde un "maestro cerrajero" ha de tener poder reparar los desaguisados hechos por los usuarios. A nivel de usuario, basta con convertirnos en nuestros propios revocadores y, si llega lo peor, "rematar" nuestra clave nosotros mismos con la orden Revocar (Revoke).
Como penúltimos detalles, se puede añadir un certificado (Certificate) tipo X.509. Esto requiere tener designado una Autoridad de Certificación (AC) en las opciones. De hecho, yo nunca he podido usar dicha opción, y tampoco resulta necesaria. Es, con todo, un nexo de unión entre los mundos PGP y SSL. Otro detalle es que, si tenemos varios pares de claves de nuestra propiedad, uno de ellos aparece con letras negritas en la ventana PGPkeys. Esto designa la clave predeterminada, esto es, la que se usará para descifrar/firmar a menos que indiquemos otra cosa. Podemos elegir nuestra clave predeterminada sin más que pinchar sobre ella y elegir Establecer como Predeterminada (Set as Default)
Por cierto, como habrá podido comprobar, cualquier adición a nuestra clave requiere de la contraseña, ya que esos privilegios no están autorizados a nadie más. Usted no podrá añadir nada a una clave pública que no le pertenezca. Pruebe y verá.
Se nos está alargando el tema algo más de la cuenta, pero continuemos un poco y agotemos el tema. Siguiendo en nuestro "trasteo" de claves, lo que sigue podemos aplicarlo tanto a nuestras claves como a cualquier clave pública. Podemos verificar las firmas que tienen las claves, por ejemplo para comprobar que ninguna ha perdido validez por haber sido firmada con una clave caducada (Reverify signatures), actualizar dicha clave obteniendo la versión más actualizada en el servidor de claves (Update), enviarla a un servidor de claves (Sent to), ver sus propiedades (Key Properties) y exportarla como archivo (Export)
También podemos hacer algo que suena demoledor: dehabilitar una clave (Disable). La idea es la siguiente. Si usted cifra un mensaje de correo electrónico, aparecerán todas las claves públicas en una pantalla para elegir una, y esto puede resultar engorroso si vd. ha acumulado muchas de ellas. Puede borrar algunas de ellas, pero a lo mejor no desea desprenderse de ellas, no vaya a necesitarlas en el futuro. La solución es la deshabilitación. Al deshabilitar una clave se está diciendo al programa que no la tenga en cuenta a la hora de cifrar, de manera que no tendremos que tenerla en cuenta cuando cifremos mensajes. De todos modos sigue estando en nuestro archivo de claves y apareciendo en la ventana PGPkeys (aunque en letra cursiva, para distinguirla de las demás).
No confunda este término con otros. Deshabilitar no significa invalidar, revocar o perder la clave. Cuando nos haga falta, podemos re-habilitarla (Enable). Si el archivo de claves públicas fuese una agenda de teléfonos, imagínese el conjunto de claves habilitadas como esa agendita minúscula que llevamos en la cartera con solamente unos pocos números de teléfono de uso más frecuente. Inhabilitar es, simplemente, poner las hojitas con los teléfonos poco usados en un cajón, donde no molestan pero están a mano para cuando los necesitemos.
Y para terminar, una opción de lo más curiosa: la partición de claves (Share split). Supongamos que usted desea dejarle a sus hijos un documento digital importante, digamos un poder notarial, de forma que decide cifrar dicho documento. El problema es que usted quiere que todos ellos, o al menos unos cuantos, se pongan de acuerdo antes de descifrar el documento, de manera que no pueda uno de ellos usarlo para pulirse la herencia de la familia. Incluso si el depositario de la clave es de confianza, ¿qué hacemos si para su desgracia le atropella un autobús? La solución es "trocear" la clave mediante un procedimiento denominado separación de Blakely-Shamir. De esa forma, solamente mediante la unión de un número de "trozos" (no tienen por qué ser todos) se puede reconstruir la clave.
Ya ven, milagros de la criptografía moderna. Y es que los tiempos adelantan que es una barbaridad. El mero hecho de cifrar o firmar con una clave nos permite un gran número de posibilidades. Espero que no se haya visto usted abrumado con la cantidad de conceptos, opciones y posibilidades de PGPkeys. Mi intención no es confundirle, sino mostrarle todo lo que PGP permite hacer a un usuario. Y no hemos acabado todavía.
Pero el resto es cosa del siguiente capítulo. Mientras tanto, abra PGPkeys y familiarícese con él. Firme, revoque, añada IDs de usuario ... pero no lo haga como una obligación. Tómeselo con calma. Vaya a su propio ritmo, familiarizándose con el esquema de administración de PGP. Y sobre todo, disfrute con ello.
4.5 - Para ampliar conocimientos
Esta vez voy a incluir algunos "deberes". No son obligatorios, y nadie tendrá que repetir curso si suspende. Hace algún tiempo redacté un pequeño Informe donde intento aclarar los conceptos de confianza y validez. Cuenta con la participación estelar del señor Sherlock Holmes, su ayudante doctor Watson y demás personajes salidos de la pluma de Conan Doyle. Se incluye un archivo .zip con diversos archivos de claves públicas y privadas, para que pueda usted "trastear" por su cuenta:
http://www.cripto.es/informes/info009.htm Informe 9: Confianza, validez y el doctor Watson
http://www.cripto.es/informes/holmes.zip Archivo de prueba comprimido (holmes.zip). Incluye diversas claves públicas, y archivos de claves públicas y privadas (extensiones .asc, .pkr y .skr, respectivamente).
Todas las claves privadas tienen la misma frase de contraseña. Mención especial para el primero en averiguarla
|
|
|
|
|
En línea
|
|
|
|
|
<scrk/>
|
Capítulo 5: Usando PGP
5.1 - Distribuir y obtener claves 5.2 - Cifrando y firmando mensajes 5.3 - Descifrando y verificando mensajes 5.4 - PGPtray + PGPtools: no hay barreras 5.5 - PGP y el Explorador de Windows 5.6 - Para ampliar conocimientos
Resumen Tras haber aprendido a configurar correctamente el programa, pasemos ahora a usar PGP. Se mostrarán las diversas formas en que se puede firmar, cifrar, verificar y descifrar: desde su programa de correo electrónico, el Explorador de Windows, e incluso desde cualquier ventana abierta, gracias a la funcionalidad de PGP en su aplicación PGPtray
5.1 - Distribuir y obtener claves
Lo prometido es deuda. Después de aprender algo sobre criptografía, analizar la ventana PGPkeys y configurar el programa, vamos a pasar a la práctica. Abra PGPkeys. Lo primero que vamos a hacer es un poco de limpieza. Habrá usted comprobado que aparecen un conjunto de claves públicas con dominio pgp.com o nai.com. Estas son claves de prueba que acompañan al programa. Puesto que no vamos a usarlas, bórrelas todas. En cuanto a la clave privada pepecripto@micasa.com que creó como prueba, puede borrarla también, aunque puede servirle todavía para hacer pruebas.
En segundo lugar, va usted a crear su propia clave. Ya hemos visto el procedimiento, así que no habrá dificultades. Escoja el menú Edit/New Key de PGPkeys y siga las instrucciones. Le recomiendo una clave tipo Diffie-Hellman de 2048 bits (o una RSA de la misma longitud) sin fecha de caducidad. De hecho, puede crear más de una, según sus necesidades. Puede que desee usar una clave distinta si es administrador de sistema, otra diferente para enviar mensajes por grupos de discusión (news) sin que nadie conozca su verdadera identidad ... a su gusto. Pero, en la mayoría de los casos, con una clave basta.
No obstante, una precaución. Hay todavía un buen número de usuarios que utilizan versiones de PGP anteriores a la 5.0. Dichas versiones NO admiten el uso de claves Diffie-Hellman. Así que considere la posibilidad de crear una clave RSA para tener en reserva por si hubiese usted de comunicarse con un usuario de la vieja guardia. También hay algunos sistemas de correo electrónico anónimo que usan claves PGP del tipo RSA solamente: por ejemplo, el programa Private Idaho o algunos repetidores anónimos (remailers).
Segundo paso: hacer que el mundo de los usuarios de PGP se entere de que usted existe. Para eso hay que diseminar su clave. Existen tres formas fundamentales de hacerlo. En primer lugar, puede exportar su clave (Keys/Export) y convertirla en un archivo .asc, para posteriormente publicarla en una página web, o bien entregarla en mano dentro de un disquete. En segundo lugar, puede enviarla por correo electrónico, sea como archivo adjunto (attachment), sea en el cuerpo del mensaje (copiar+pegar, por ejemplo). Como ejemplo de lo primero, puede usted echar un vistazo a mi página de claves http://www.cripto.es/claves.htm, o simplemente obtener mi clave habitual en la dirección http://www.cripto.es/aqscladh.asc.
La tercera modalidad, y en mi opinión la más cómoda y eficaz, es enviar la clave a un servidor de claves. Ya hemos hablado de los servidores, sí que me limitaré a recordar que son depósitos de claves públicas, y en "claves públicas" se incluyen todos sus añadidos: firmas, fotografías, nombres ID, etc. No es obligatorio enviar la clave a un servidor (aunque sí altamente recomendable), así que lo dejaré a su criterio y le indicaré en cualquier caso cómo se hace. Es sencillo. Vaya al menú Server/Sent to de PGPkeys y escoja el servidor al que quiere enviar su clave. En teoría no importa qué servidor elige, ya que todos se intercambian las claves que tienen; pero en la práctica puede que alguna clave se pierda (siempre hay fallos, incluso en los mejores sistemas), que tarde mucho o que el servidor sea de acceso lento.
Le recomiendo que use el servidor de RedIris, radicado en España. Si me hizo caso en capítulos anteriores, ya lo tendrá en el menú de opciones como servidor predeterminado (Edit/Options/Servers): http://pgp.rediris.es:11371. También puede conseguir una clave por medio del navegador, en la dirección http://www.rediris.es/cert/keyserver. En cualquier caso, ahora un internauta que quiera enviarle un mensaje cifrado no tendrá que enviarle a usted un mensaje pidiéndole su clave. Basta con que la busque en el servidor. Recuerde actualizar su clave cada cierto tiempo, ya que poco a poco irá usted acumulando firmas en su clave.
Ahora vamos a ponernos en el lugar del remitente. ¿Qué debe hacer usted si desea enviar un correo cifrado a otra persona? En primer lugar, obtener la clave de dicha persona. Si no es usuario de PGP, hemos acabado antes de empezar. Pero si lo es, y ha publicado su clave en un servidor, no hay más que usarlo. Para ello, use el menú Server/Search y preparémonos para buscar. Puede cambiar el servidor de claves para la búsqueda, o bien buscar en su propio archivo de claves (local keyring). Puede usar muchos criterios de búsqueda, pero los más útiles son los dos primeros: ID de usuario (es decir, el nombre y dirección email) e ID de clave.
Voy a servir yo mismo como conejillo de indias. Haga la búsqueda Key ID / is / 0x6B9AD6A9. Aparecerá una clave RSA de 1024 bits con nombre "Arturo Quirantes ". Es una clave vieja que ya no uso. De hecho está revocada: vea que aparece con letra cursiva. Otra prueba. Supongamos que usted conoce mi nombre, o parte de él. En ese caso lo mejor es una búsqueda por ID de usuario, en la forma: User ID / contains / Arturo Quirantes. Verá que ahora aparecen tres claves: la clave revocada que obtuvo anteriormente, y dos más. Esas son mis dos claves (una Diffie-Hellman, que uso en forma predeterminada, y una RSA). Si desea incluir alguna a su archivo de claves, no tiene más que darle a la opción Importar (Import).
También nos queda, por supuesto, la opción de pedir la clave a su dueño via correo electrónico. Esto puede hacerse cuando nos consta que usa PGP pero por el motivo que sea ha decidido no publicar su clave en un servidor ... o bien nosotros somos demasiado torpes para encontrarla.
5.2 - Cifrando y firmando mensajes
PGP fue diseñado originariamente como aplicación para correo electrónico, y ese sigue siendo su fuerte a pesar de todos los añadidos posteriores. Abra su programa de correo electrónico. Si éste es Eudora Light/Pro o Microsoft Exchange/Outlook/Outlook Express, verá que aparecen pequeños botones con iconos de candado o de llave. Son los complementos (plug-ins) que harán la labor más fácil.
Para cifrar/firmar un mensaje, no tiene más que escribirlo y, antes de enviarlo, pulsar los iconos correspondientes (Encrypt, Sign). De ese modo, PGP activará los pasos necesarios. Por un lado, le pedirá la contraseña para firmar. Por otro, cifrará el mensaje con la clave correspondiente. ¿Y cómo sabe PGP cuál es la clave pública con la que hay que cifrar? Sencillamente, examina el campo "Destinatario" del mensaje, y busca la clave cuyo ID de usuario contenga esa clave. Así, si compone usted un mensaje para pepe@cripto.com y su archivo de claves pubring.pkr contiene la clave Pepe Cripto , no tiene más que darle al botón "cifrar" de su programa de correo, y listo.
No obstante, a veces no es posible determinar la clave que ha de usarse. Puede que usted tenga dos claves de Pepe Cripto (Una RSA y una DH, por ejemplo), o tal vez haya usado usted un ID de usuario que no es el predeterminado (¿quizá el mensaje va dirigido a la antigua dirección de Pepe Cripto, pepecripto@micasa.com?). En tales casos, PGP reacciona como haríamos nosotros: ante la duda, pregunte. Desplegará una pantalla Encrypt Message to.... No hay más que escoger el (o los) ID de usuario que queramos usar (los cuales vendrán representados por iconos de sobre de color azul o amarillo, según sean claves RSA o DH) y llevarlos de la sub-ventana superior a la inferior (Recipients, o destinatarios). Si escogió usted la opción de cifrar siempre con clave predeterminada (PGPkeys, Edit\Options\General; ver capítulo anterior, apartado 2), su propia clave aparecerá ya en la sub-ventana Destinatarios. Puede usted cifrar usando varias claves -útil si va a enviar un mismo mensaje a varios destinatarios- sin más que mover más claves a la sub-ventana Destinatarios.
Pero antes de cifrar, sigamos examinando la ventana Encrypt Message to... (para hacer que aparezca a voluntad, no tiene más que intentar cifrar un e-mail dirigido a una dirección inexistente). Dicha ventana cuenta en su parte inferior con varias opciones interesantes. Si nuestro grado de paranoia es tal que tememos que los Hombres de Negro hayan aparcado una furgoneta Tempest para captar las emisiones de radiofrecuencia de nuestro monitor, el Visor Seguro (Secure Viewer). Esto consiste, sencillamente, en que el monitor usará un tipo de letra más difícil de captar por un receptor de radiofrecuencia. Como dije en otro capítulo anterior, sólo útil para ultraparanoicos.
En segundo lugar, puede que nuestro interlocutor no tenga clave pública. En ese caso podemos enviarle un mensaje cifrado mediante clave simétrica solamente, olvidándonos de todas esas zarandajas que hemos visto hasta ahora sobre criptografía de clave pública. Eso podemos hacerlo por medio de la opción Cifrado convencional (Conventional encryption). Al elegir esa opción, se generará una clave simétrica (clave de sesión), la cual irá a su vez cifrada mediante una contraseña que usted elegirá para la ocasión (NO introduzca la frase de contraseña que usa habitualmente para activar su clave pública, o ninguna que haya usado hasta ahora). Por supuesto, el éxito de esta opción dependerá de que el destinatario reciba copia de la contraseña, y eso ha de hacerse mediante canal seguro, o no habremos ganado nada en seguridad.
En tercer lugar, veamos una forma de extender las ventajas del cifrado a alguien que NO use PGP ni ningún otro tipo de cifrado. Incluso usando el cifrado convencional, el destinatario tendrá que tener una copia de PGP para descifrar el mensaje. ¿Pero y si no la tiene? Pues en ese caso hay una forma alternativa de descifrar el mensaje. Para eso, al cifrar, hay que usar la opción de Archivo Auto-Descifrable (Self-Decrypting Archive, o SDA). Al cifrar mediante las opciones Cifrado Convencional y SDA se creará un archivo ejecutable .exe. El destinatario no tendrá más que ejecutar dicho programa (desde una ventana de MS-DOS) e introducir la contraseña. Tenga presente que un archivo SDA es mucho más voluminoso que uno cifrado sin dicha opción, ya que deberá incluir información sobre el algoritmo de descifrado. La opción SDA no funciona cuando queremos cifrar y firmar simultáneamente.
ADVERTENCIA: Una buena parte de los virus y troyanos que se transmiten por la Red usan como vía de contagio el correo electrónico, a veces sin el conocimiento del propio remitente. Si recibe usted un archivo cifrado mediante la opción SDA, es buena política acostumbrarse a comprobar cada archivo recibido mediante un antivirus actualizado, incluso si el remitente es persona de su confianza.
Supongamos ahora que desea enviar un mensaje cifrado a un conjunto de destinatarios. Puede incluir varias direcciones de e-mail en el campo Destinatarios, y si PGP tiene las claves públicas de todos ellos procederá a cifrar con todas esas claves. Pero si esos destinatarios son siempre los mismos (un grupo de amigos, compañeros de trabajo, un foro de Internet) hay una opción que le servirá mejor y le simplificará la tarea: crear un grupo. En PGPkeys hay un menú Groups (Grupos). Active la opción New groups (grupo nuevo) y añada una dirección (address) y descripción (description). Ambos datos pueden ser, por ejemplo, algo del tipo "Conocidos del último congreso". Ya tiene el grupo nuevo. Para verlo, active la opción Show groups (Mostrar grupos). Y ahí está. En la ventana PGPkeys se ha creado una sub-ventana Grupos. Ahora, no hay más que añadir al grupo todos los miembros que queramos, sin más que arrastrarlos desde la ventana Keys, o bien echando mano del socorrido copiar+pegar.
Seguro que tiene usted ganas de ver el aspecto de un mensaje de correo electrónico firmado y cifrado, ¿verdad? Pues voy a darle el gusto inmediatamente. Voy a componer un texto, a firmarlo y a cifrarlo, en amgos casos con mi propia clave (Key ID:0x4E2031EC). La elección de colores es arbitraria, con fines didácticos; no es el color que aparecería necesariamente en un mensaje real.
Mensaje original:
Muy señor mío:
Por la presente, deseo agradecerle su información referente a la próxima OPA de Zardoya Otis sobre Telefónica y Repsol. Si observa usted que alguien compra acciones de estas empresas con mi nombre no haga ningún caso, es evidentemente pura casualidad.
Por cierto, ha aparecido en la puerta de mi casa un Mercedes nuevo con los papeles a su nombre. ¿Desea que se lo envíe, o manda usted a recogerlo?
Saludos cordiales.
Mensaje firmado (la "firma digital" se indica con color rojo):
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Muy señor mío:
Por la presente, deseo agradecerle su información referente a la próxima OPA de Zardoya Otis sobre Telefónica y Repsol. Si observa usted que alguien compra acciones de estas empresas con mi nombre no haga ningún caso, es evidentemente pura casualidad.
Por cierto, ha aparecido en la puerta de mi casa un Mercedes nuevo con los papeles a su nombre. ¿Desea que se lo envíe, o manda usted a recogerlo?
Saludos cordiales.
-----BEGIN PGP SIGNATURE----- Version: PGP 6.5i
iQA/AwUBO/uGwdPjg85OIDHsEQJarwCg/ciYl4P8lb5TH9T0CSnSue+8eDYAnAzl AVTwns8rfWL1wU+9ta7mMrQp =GdYO -----END PGP SIGNATURE-----
Mensaje cifrado (o firmado y cifrado a la vez):
-----BEGIN PGP MESSAGE----- Version: PGP 6.5i
qANQR1DBwU4Dk5ujhtPBrrUQCAC2+gmX29QIGoOV37UAzQ2716E3jTkG4mOqeaXp goOsSV1vxlI4IhU0FmsVpw+VTxz7Cby0/yuVIAZZH2CikeqlvDV4exz9E9kLgasK x5IiIQEozfkfRHPn6ewGYZUTPTcHruKR8lodoLcgJVzXFvesTKgTeMIUJz/ko/i5 K6DzU702Dwt5O5qEySINYy8dOHtMCSgsH79ZUN9fka5eZM/galAbMnw+YSDtxopW WJ4nf45riYf2F5dRsHU2YXB7N7Wg+xaeM4gCsJYMvq+niI82Oa/0SimEETZaP1XP FoaBdsDFhp/Xz5IYozTV2C4AuOOLyyO4h70C19GWsoZCryxXB/46VVqpFoqWaOzq PIIeza6QciSOEiUx3s/PihFXSzMPEsVCflp2WaM53EVDr95wKP93kUaOkE3153wc LD/yu5hfNw31AucSTAnIOtFxz2jqjZDU6WQFoZxHSzmFFfVObx9aJ7B3SWdzuUiK 5DBhzIQC0699qOoQCz+jSCvOS/cfd9tGSGuN4l29JsJUOIY5rMNloIhZvPs4tBqu +1wnVHonkvv1CD84m9oWuJURRA8qd8xbuHPPct1beDK1PNkce2nlg0ZlXGD3Yob2 3Xxg+Aj6ZHob85vNIeS+pOg50TwKN8TL/0/hfDuhVdiSB/rDQTHt+xfEzatPETeu wZv2oNX/ycAoKT2lRDFjJVvhB9WnpEAAyUjYx6JJKXxrx9G0Rg/vj7NI8rOHLEYL 9vmckbINisXQo8JJodPuvuj8wxAmSn4r7n9uBR/txZL866OyZlXcxytOp914IdBJ hjaq5iZFArH5fA8jM+tO0SVd9BMKH3nYA7aBwto4mxNMupvm6DV42R92mx4sw4T2 8WufXgLNRgljL1N6l3SrLvWmiB1JvjGgzELKr0uZoDPBvQnl1Fdjzwg7WIJ1Ba64 i3HsLbPIp29Z/lSqcjQw0UqdgfSKzSaQL/MnA77l2QRhbvTbVEoytfrfU1MUFWzi yg== =fMPo -----END PGP MESSAGE-----
5.3 - Descifrando y verificando mensajes
Para descifrar mensajes y/o verificar firmas, los programas de correo electrónico anteriormente mencionados nos lo ponen fácil. Verá iconos que permiten dicho descifrado (previa contraseña, por supuesto) y verificación. Cuando se da a la operación de verificación, aparecen varias líneas en el mensaje. La primera da el estado de la firma (PGP Signature Status): buena, inválida, mala o desconocida. Si el mensaje anterior fuese verificado, aparecería transformado como:
*** PGP Signature Status: good *** Signer: Arturo Quirantes Sierra *** Signed: 7/12/01 18:15:52 *** Verified: 7/12/01 18:16:26 *** BEGIN PGP VERIFIED MESSAGE ***
Muy señor mío:
Por la presente, deseo agradecerle su información referente a la próxima OPA de Zardoya Otis sobre Telefónica y Repsol. Si observa usted que alguien compra acciones de estas empresas con mi nombre no haga ningún caso, es evidentemente pura casualidad.
Por cierto, ha aparecido en la puerta de mi casa un Mercedes nuevo con los papeles a su nombre. ¿Desea que se lo envíe, o manda usted a recogerlo?
Saludos cordiales.
*** END PGP VERIFIED MESSAGE ***
Dependiendo del programa de correo electrónico que utilice usted, es posible que en lugar de lo anterior aparezca una ventana PGPlog. En ella aparecerán diversas columnas sobre el nombre del firmante, validez de la clave usada para firmar y fecha de firma. Si la firma ha sido correctamente verificada aparecerá en la columna izquierda un icono con forma de lápiz. De lo contrario, dicho icono tendrá una tachadura en rojo, indicando que la firma es incorrecta. Esto puede deberse a que el mensaje haya sido alterado tras haber sido firmado. Pero antes de alarmarse, piense que la mayoría de los casos de firma incorrecta se deben a problemas con el programa de e-mail, o con el servidor de correo, ya que éstos pueden añadir caracteres no visibles (espaciados o retornos de carro adicional).
Una cosa ha de quedar muy clara. Una firma inválida NO implica manipulación del mensaje o de la firma. Si la firma ha sido verificada correctamente, aparecerán el mensaje bueno (good) siempre que la clave usada para firmar ha sido validada por nosotros (es decir, cuando tenemos certeza sobre su origen). Si no es así, la firma saldrá como inválida (invalid). Y si no tenemos la clave pública del firmante, saldrá un aviso de verificación desconocida (unknown). Solamente la firma mala (bad) indica una verificación inadecuada. Así que no hay que echarse las manos a la cabeza tras la primera verificación "inválida". La invalidez se refiere a la clave usada para firmar. Pero, con independencia de su procedencia o de si conocemos a su dueño, siempre se puede verificar una firma hecha con una clave dada, válida o no.
¿Y qué hay de otros programas de correo? El hecho de que no tengan plug-ins no significan que no puedan beneficiarse de las ventajas de PGP. Siempre el eterno problema: un programa maravilloso, que desafortunadamente no tiene adaptadores para nuestro caso. Pues eso se acabó. Para cifrar/firmar documentos que no sean necesariamente mensajes de correo (o siquiera documentos), tenemos otros programas dentro de PGP. Hasta ahora hemos visto PGPkeys, pero hay más.
5.4 - PGPtray + PGPtools: no hay barreras
Si abre usted la carpeta "PGP" (disponible en la carpeta Programs), verá que PGPkeys está acompañado por otros dos programas: PGPtray y PGPtools. PGPtray es un programa que, al activarlo, queda residente en memoria dentro de la barra de tareas, en la que queda con el icono de un pequeño candado gris. Si lo pincha con el botón del ratón, verá diversas opciones. La de Salir (Exit) creo que no necesita explicación. Ayuda (Help) y Opciones (Options) abren, respectivamente, el archivo de ayuda y el menú de opciones que ya vimos en PGPkeys/Edit/Options. Otros dos iconos permiten activar los programas PGPkeys y PGPtools (de este último hablaremos muy pronto).
Ahora bien, lo interesante viene al pulsar en la opción Ventana actual (Current window). Aparecen entonces cuatro posibilidades: Descifrar+Verificar, Cifrar+Firmar, Firmar y Cifrar. A tenor de su nombre, ya puede usted imaginarse lo que hace esta opción. Efectivamente: ventana actual permite cifrar, firmar, descifrar y verificar en contenido de CUALQUIER VENTANA en la que se encuentre el cursor en ese momento. Puede ser otro programa de correo electrónico que no tenga plug-ins (o que lo tenga, da igual), una ventana de Word, de WordPerfect ...y, en general, de cualquier ventana. Dejo a su imaginación la variedad de posibilidades que ello conlleva. No solamente eso, sino que si desciframos/verificamos una ventana que contenga claves públicas, se podrán importar a nuestro "llavero" sin dificultades. La opción Portapapeles (Clipboard) permite hacer lo mismo con el contenido del portapapeles.
Estas opciones no funcionan siempre, pero sí en la mayoría de los casos que yo he visto. Ya puede entretenerse en probarlo con las ventanas que queráis. Pero antes, un aviso. Si activa usted PGPtools después de abrir la ventana, puede aparecerle un mensaje de error "PGP no pudo copiar el texto automáticamente de la ventana (PGP could not automatically copy the text from your window)" No se asuste, no pasa nada. Limítese a poner el cursor del ratón sobre la ventana e inténtelo de nuevo.
Y si PGPtray facilita el uso de PGP fuera del entorno de correo electrónico, PGPtools nos pone más a mano un par de herramientas para el uso con archivos. Abra PGPtools, por favor. Verá un conjunto de iconos, semejantes a los de paquetes de aplicaciones como Microsoft Office. El PRIMER ICONO representando un par de llaves, activa nuestro conocido PGPkeys. El SEGUNDO ICONO nos permite cifrar. La diferencia está en que ahora lo que podemos cifrar son archivos de cualquier tipo. No hay más que elegir el archivo a cifrar, y repetir los mismos pasos que cuando cifrábamos un mensaje de correo electrónico. Pero hay algunas opciones que antes no teníamos.
En primer lugar, no aparece el paranoico Visor Seguro, pero sí podemos hacer que el archivo descifrado tenga formato texto (texto output); es una opción útil a veces, aunque de momento no nos interesa. También podemos desear que tras el cifrado el archivo original "en claro" sea destruido. Para eso, nada mejor que la opción Sobreescribir original (Wipe original) Tenemos también la posibilidad de realizar un cifrado convencional (Conventional encryption), igual que cuando cifrábamos mensajes. Y volvemos a tener la opción Archivo Auto-Descifrable (SDA, Self-Decrypting Archive)
El TERCER ICONO permite firmar archivos. La diferencia estriba en que podemos incluir la firma digital en el cuerpo del archivo. Esto resulta a veces engorroso, y en la mayoría de los casos preferimos tener la firma digital en la firma de archivo separado. Ello se puede conseguir mediante la opción, que por lo general aconsejo, de Firma separada (detached output). Así, al firmar el archivo prueba.xyz, obtenemos un segundo archivo con nombre prueba.xyz.sig; ese archivo constituye la firma digital asociada al archivo prueba.xyz (que puede tener el formato que sea, ya que al fin y al cabo no es sino un conjunto de caracteres binarios).
El CUARTO ICONO simplemente combina las funciones de los otros dos (cifrar y firmar). El QUINTO ICONO nos permite verificar o descifrar. En el ejemplo anterior, usar el icono Decrypt/Verify sobre el archivo prueba.xyz.sig comprueba la firma del archivo prueba.xyz (si éste se haya en un directorio diferente, se le preguntará por su ubicación). Aparecerá entonces una ventana PGPlog donde se dará información sobre la clave usada para la firma, y sobre el resultado de la verificación. Si ésta ha sido positiva, aparecerá en la parte izquierda un icono en forma de lápiz. De lo contrario (si, por ejemplo, el archivo ha sido alterado), dicho lápiz vendrá cruzado por una línea roja, indicativo de que algo no va bien.
El SEXTO ICONO da cuenta de una opción muy útil: el borrado seguro (Wipe). Como ya vimos, borrar un archivo o enviarlo a la papelera de reciclaje simplemente ordena al sistema operativo que utilice ese espacio de disco duro cuando lo precise, pero no sobreescribe realmente ese espacio hasta que haga falta. La opción Wipe (machacar despiadadamente) permite borrar realmente un archivo, por el procedimiento de sobreescribirlo varias veces con un conjunto de caracteres adecuado (idealmente, patrones aleatorios). El número de pasadas es el que indicamos en su momento en la casilla correspondiente (PGPkeys/Edit/Options/General/File Wiping/Number of passes); si activamos la opción Avisar antes de sobreescribir (Warn before wiping), PGP tendrá la gentileza de avisarnos antes de machacar un archivo. Esta opción suena tonta, pero nos permite volvernos atrás, lo que es muy útil si hemos elegido el archivo equivocado.
En cuanto al último, el SÉPTIMO ICONO (Freespace Wiping), permite sobreescribir la información que pueda quedar en el espacio libre del disco duro. Según la ventana de instrucciones, también se incluye en este borrado seguro la eliminación de los archivos ya borrados, sus entradas en directorios e incluso el espacio residual que queda al final de un archivo [slack space].
5.5 - PGP y el Explorador de Windows
Una de las opciones más cómodas, a mi entender, de PGP es su fusión con el Explorador de Windows. Si abre usted dicho Explorador, y elige un archivo cualquiera, el botón derecho del ratón le abrirá un conjunto de opciones. Algunas son estándar, como las típicas Copiar, Cortar y Pegar, Abrir, Crear Acceso Directo, etc. Dependiendo de los programas que haya usted instalado, pueden aparecer otras opciones como Añadir a zip o Explorar en Busca de Virus. Y si miramos en la parte inferior del menú ... vaya, vaya, aparecen las siglas PGP.
En efecto: PGP permite cifrar, firmar y sobreescribir desde el Explorador de Windows. Esta es, en mi opinión, una opción muy útil cuando estamos interesados en el almacenamiento seguro de archivos. Poco tengo aquí que decir, salvo que haga usted sus pruebas ... pero tenga cuidado, no vaya a cifrar un archivo necesario para el sistema operativo. El uso de PGP+Explorador es una alternativa interesante al uso de PGPtools. Por supuesto, cada uno se organiza de la forma más cómoda.
5.6 - Para ampliar conocimientos
Si ha llegado usted hasta aquí sin perderse, enhorabuena. Significa que ya no me necesita. Pero puede que quiera aclarar conceptos, o repasar materia. En ese caso, le recomiendo que comience a leerse el manual de usuario, que aparece cuando se instala PGP. Probablemente pueda pasarse sin él, pero es bueno saber que existe. También se incluye una buena iniciación a la criptografía. Así que si le interesa el tema de la criptografía en general, es un buen punto de inicio (y, por cierto, también estoy preparando cursos sobre criptografía, ¿le interesa? .
En cualquier caso, está ya más que preparado para usar PGP habitualmente. Descubrirá que, a fin de cuentas, se convierte en una opción más a la hora de componer un mensaje de correo electrónico. Cifrar es algo menos común, porque no todos los destinatarios de sus mensajes usarán PGP. Pero es muy fácil acostumbrarse a firmar. En cualquier caso, el curso puede acabar aquí.
Pero no lo haré todavía. Queda otro capítulo, una especie de miscelánea. En él se tratan diversos asuntos, como el tipo de "netiqueta" aconsejada, el futuro de PGP, el por qué hay o no que cifrar/firmar, cuántos usuarios de PGP somos... pequeñas pinceladas que contribuyen a mostrar el panorama actual relativo al programa de cifrado de datos más usado hoy día. Siga con nosotros un poco más. Seguro que lo encontrará interesante.
|
|
|
|
|
En línea
|
|
|
|
|
<scrk/>
|
Capítulo 6: Miscelánea PGPera
6.1 - Netiqueta 6.2 - ¿Es usted un terrorista? 6.3 - Presente y futuro de PGP 6.4 - Cajón desastre 6.5 - Despedida
Resumen ¿Tiene futuro PGP? ¿Cuántos usuarios hay en el mundo? ¿Por qué molestarse en cifrar, si no tengo nada que esconder? ¿Es realmente seguro? ¿Hay algún código de "netiqueta" adecuado para PGP? ¿Qué es una "reunión de firma de claves"? Esta y otras preguntas similares serán revisadas en el último capítulo del Curso sencillo de PGP, que servirá como cierre aunque -espero- no como despedida.
6.1 - Netiqueta
A estas alturas puede que se encuentre cansado de atenderme (aunque confío que no) y/o deseoso de lanzarse al mundo del cifrado digital. Pero ya que estamos, vamos a redondear la faena. En primer lugar, compartiré con usted un par de comentarios personales sobre cómo usar y no usar PGP, una especia de "código de buenas costumbres." Como todo en la vida, y especialmente en el ciberespacio, son recomendables algunas normas de comportamiento. Si nos negamos a ceder nuestro asiento a una viejecita en un autobús, nadie nos puede denunciar ante un juez; pero hacerlo demuestra buena crianza, mejor educación y una disposición a echar una mano a nuestros semejantes, lo que en último término redunda en beneficio de todos.
Quiere eso decir que los PGPeros tiene también sus normas de "netiqueta" Yo no las he visto escritas en ninguna parte, pero se me ocurren algunas a bote pronto. Helas aquí, sin orden ni concierto, y espero que le sean útiles.
No envíe su clave pública de forma habitual, sea en el cuerpo del mensaje o como adjunto. Eso solamente contribuye a congestionar aún mas las redes. Si quiere dar a conocer su clave, es más eficiente insertar en el mensaje -como firma o comentario final- información sobre cómo conseguir su clave: dirección html, ID de clave, dirección de servidor de claves, lo que prefiera. Use en lo posible un servidor de claves, tanto para poner su propia clave como para obtener las de los demás. Y, ya que en las tarjetas de presentación se incluye la dirección de correo electrónico, incluya el ID de clave o la huella de su clave.
No envíe a un servidor de claves una clave que no sea suya. Aunque recomiendo los servidores, la decisión sobre su uso debe corresponder a su dueño. Puede que alguien no desee ver su clave en un servidor por motivos de privacidad, miedo o cualquier otra razón pertinente. Respecto a si puede actualizarse una clave ya disponible en un servidor (porque acabe usted de firmarla, por ejemplo), tengo mis dudas, así que sugiero que envíe la firma actualizada a su dueño y deje que él tome la decisión.
No cree claves a tontas y a locas. Hay quien se dedica a crear una clave tras otra, cambiándolas, revocándolas y sin decidirse a usar una en concreto. Recuerde (capítulo 4) que una clave puede tener más de un identificador de clave, así que si cambia de dirección de e-mail no es necesario crear una nueva clave. Y no sea travieso. Nada de crear claves falsas, con nombres y/o direcciones reales que no sean las suyas. Aunque diseminar claves tipo jmaznar@moncloa.es pueda resultarle divertido, hace un flaco favor en pro de la privacidad de las comunicaciones. Que no le pille yo imitando mis claves 
Mantenga su "red de confianza" en buen estado. Esto significa que no vaya firmando claves a tontas y a locas. Más de un novato, irritado porque una verificación de firma le sale "invalid", resuelve el problema firmando la clave usada para la firma. Con ello, estamos diciendo al mundo que la clave pertenece realmente a su pretendido dueño, algo que a lo peor no tenemos modo de comprobar. No firme claves a no ser que tenga seguridad en cuanto a su procedencia.
No tenga miedo en dar a conocer su clave. Nadie le va a ridiculizar (bueno, mi jefe sí me toma el pelo, pero no le hago pastelero caso), ni a enviarle al FBI a su casa. Usar PGP es una decisión personal, pero si ya se ha decidido, ¿a qué ocultarlo? Me gustaría ver el día en el que usar cifrado de datos sea algo tan normal como usar código html.
No haga conversión de infieles. Es bueno usar PGP, y también dar a conocer su existencia y ventajas a amigos y conocidos. Pero hágalo con educación. Establecer batallas sobre si mola más un cifrado u otro no conduce a ninguna parte. Incluya información sobre PGP y cifrado en su página personal, si lo desea. Tome hábitos como el de firmar mensajes por defecto. Deje caer en la conversación que usted protege sus comunicaciones mediante cifrado. Pero todo con buen rollo. En definitiva, sea un buen embajador de PGP, firme pero educado.
6.2 - ¿Es usted un terrorista?
Uno de los argumentos que más oigo cuando hago campaña en pro de la protección en las comunicaciones es el de "¿por qué cifrar, si yo no tengo nada que esconder?" Vivimos tan poco acostumbrados a defender nuestros derechos que muchas veces renunciamos a ellos a cambio de una pretendida sensación de seguridad. Que registren mi correo, si quieren. No hago nada ilegal. Ese es el razonamiento típico.
Sin embargo, hay una falacia oculta: que solamente aquellos con malas intenciones tienen necesidad de proteger sus datos. Por tanto, quien pretenda hacer tal cosa seguro que no es trigo limpio.
¿O acaso sí lo es? Aunque no le conozco, supongamos que usted es básicamente un honrado ciudadano, cumplidor de la ley (quitadas esas multas por exceso de velocidad, y tal vez alguna deducción "dudosa" en su declaración de la Renta). Mire usted a su alrededor. Vive en una casa con cerradura en la puerta. ¿Qué le parecería que la policía pudiese entrar en su domicilio cuando se le antojase, sin orden judicial? ¿O leer el correo que le llega usted al buzón? ¿O tal vez oír sus conversaciones telefónicas? Aunque usted sea un ciudadano modelo, seguro que una situación así le incomoda.
Todos tenemos algo que ocultar. Puede ser legal, ilegal o sencillamente inocuo. Puede que mi receta secreta de salsa de castañas no sea nada malo, pero es MI salsa de castañas. Si la policía quiere meterse en mi vida, tengo perfecto derecho a reclamar tutela judicial y a que mis derechos sean respetados. A eso lo llamamos derecho a la intimidad. Y lo consideramos tan importante que la propia Constitución tiene un artículo que lo protege. Hasta ahora no hemos tenido más medidas de protección que la esperanza en que los posibles infractores cumplan con la ley ... y como demuestra el caso de las escuchas ilegales del CESID, eso no siempre se cumple.
La cifrado o cifrado de datos permite una protección de alto nivel contra escuchas no autorizadas -legales o no-, y no es casualidad que haya constituido uno de los campos de batalla electrónicos más activos de la última década. Los esfuerzos en pro de la restriccion de cifrado por parte de gobiernos y agencias policiales darían para escribir libros enteros. Uno de los argumentos favoritos consiste en afirmar que pederastas, terroristas, narcos y demás gentes de mal vivir usan criptografía.
Durantes las secuelas del atentado contra el edificio federal de Oklahoma City, el director del FBI afirmó que el uso de criptografía debía estar controlada por el gobierno. Nadie pareció caer en la cuenta de que los terroristas no usaron ningún tipo de cifrado. Tras los atentados del 11 de Septiembre, la situación no ha mejorado. Durante los primeros días de la investigación, diversos artículos proclamaron que los terroristas habían usado cifrado de datos para esconder sus actividades. A pesar de que posteriormente el propio FBI tuvo que retractarse y admitir que no habían encontrado un solo mensaje cifrado, el Congreso de Estados Unidos estuvo a punto de promulgar una ley para restringir -si no prohibir de raiz- el cifrado de datos.
En la actualidad, tanto EEUU como otros países están preparando, o han aprobado ya, leyes para ampliar la vigilancia en las comunicaciones electrónicas de forma sin precedentes. A la fecha de escribir estas palabras, el Congreso Español está debatiendo el borrador de ley que regulará el futuro Centro Nacional de Inteligencia, cuyas funciones incluirán la obtención, evaluación e interpretación del "tráfico de señales de carácter estratégico." Todo ello en un clima en el que la seguridad parece tener preferencia absoluta, incluso a expensas de la libertad individual. Philip Zimmermann, creador de PGP, fue profético en sus palabras:
...la ley todavía requiere una orden judicial para una escucha. Pero mientras la infraestructura tecnológica puede persistir durante generaciones, las leyes y las políticas pueden cambiar de la noche a la mañana. Una vez que se ha establecido una infraestructura de comunicaciones optimizada para la vigilancia, un cambio en las condiciones políticas podría llevar a un abuso de este nuevo poder. Las condiciones políticas podrían variar con la elección de un nuevo gobierno, o quizá más abruptamente tras el atentado a un edificio federal
Durante la Segunda Guerra Mundial, cuando la propia existencia de Gran Bretaña estaba amenazada, dicho país firmó una alianza con EEUU para combinar sus esfuerzos contra los mensajes cifrados alemanes. El sistema desarrollado entonces para ganar la guerra ha continuado funcionando hasta la actualidad. Sistemas y redes como Echelon (severamente criticados recientemente por el Parlamento Europeo) continúan aspirando las comunicaciones mundiales para combatir nuevos enemigos, reales o fingidos. Prácticamente no hay país con capacidad técnica para espiar las comunicaciones que no lo haga. Añada a eso otros enemigos caseros de todo tipo (empresas, hackers, vecinos cotillas, cónyuges celosos, rivales comerciales...) y verá como no solamente tiene usted cosas que esconder, sino que es conveniente que lo haga.
Lo que le estoy intentando decir es lo siguiente. Si le da a usted lo mismo que registren su vida privada de arriba abajo, el cifrado de datos no tiene interés para usted. Si, por el contrario, desea usted proteger su intimidad, el cifrado le será tan útil como los sobres cerrados o las puertas con cerradura. Lo que nunca, NUNCA debe hacer es tragarse la píldora del "si te escondes, es que eres un criminal." Usar cifrado es una decisión legítima. No le pondrá fuera del alcance de la ley (un juez puede obligarle a usted a descifrar sus mensajes), pero sí le protegerá de forma legítima.
Cualquiera que sea su decisión, recuerde que es usted quien escoge. No deje que los demás decidan por usted.
6.3 - Presente y futuro de PGP
A despecho de los malos tiempos que soplan últimamente, parece que el cifrado de datos va a continuar. Simplemente, no existe forma eficaz de controlar la criptografía. Puede que ni siquiera sea inteligente intentarlo, toda vez que el comercio electrónico descansa en la existencia de canales seguros de comunicación, sea PGP en el e-mail o protocolos seguros (SSL) en los navegadores de Internet.
No obstante, han aparecido algunas nubes en el panorama. PGP ya no es la incontestable estrella en el panorama del cifrado. Uno de los puntos fuertes de PGP ha sido su virtual ausencia de fallos (bugs). Por desgracia, la complejidad de las últimas versiones para Windows ha hecho que algunos bugs se cuelen de vez en cuando. Tales bugs son escasos, y solamente el que hayan aparecido en PGP les ha dado cierta relevancia. Lo cierto es que encontrar un fallo de programación en PGP era considerado como una hazaña. Los fallos de cierta relevancia encontrados hasta la fecha son básicamente los siguientes:
Bug aleatorio 5.0i. Un fallo en una sola línea de programación hizo que el generador de datos aleatorios de PGP 5.0i (versión para Linux) leyese de forma errónea. Como resultado, las claves usadas podrían ser averiguadas sin mucha dificultad.
Fallos menores. Hay un bug en PGP 6.0.1 por el cual el cifrado de su componente PGPdisk es más débil de lo que debería ser (la clave usada, en teoría de 128 bits, es en la práctica más débil). Otro elemento en la versión 5.5.3i hacía que el borrado seguro (Wipe) no fuese realmente seguro. Ambos fallos fueron fácilmente corregidos en versiones posteriores.
ADK bug Ralph Senderek descubrió en Agosto de 2000 un fallo asociado a la llamada clave de descifrado adicional (ADK, ya mencionada en el capítulo 4). Un nuevo formato de clave, incorrectamente diseñado, permitía incorporar subrepticiamente una clave ADK sin que la alteración fuese detectada. Este bug, grave desde el punto de vista de la seguridad, aparecía en las versiones 5.5.x a la 6.5.3. Tras estudios de las claves existentes en los servidores, parece ser que dicho bug nunca ha sido aprovechado por un atacante. El bug fue corregido en la versión 6.5.8. El lector interesado puede leer todos los detalles en mi Informe 24: Agujero en PGP (http://www.cripto.es/informes/info024.htm)
Ataque checo (o ICZ) En Marzo de 2000, los investigadores checos Vladimir Klima y Tomas Rosa, publicaron un nuevo ataque no solamente contra PGP, sino también contra su estándar abierto OpenPGP. Este ya no era solamente un fallo de programación, sino un serio ataque criptográfico. Resulta muy interesante en teoría, pero en la práctica requiere acceso físico al ordenador de la persona atacada, y en ese caso sería más fácil obtener la clave mediante un troyano. Si se siguen las recomendaciones habituales sobre protección de las claves privadas, este ataque no es factible. Este ataque no funciona con versiones posteriores a la 7.0. El lector interesado puede leer todos los detalles en mi Informe 27: PGP y el ataque checo (http://www.cripto.es/informes/info027.htm)
Armadura ASCII Descubierto en Abril de 2001, permite ocultar un fichero malicioso (un troyano, o una librería dinámica DLL) en un archivo "recubierto" con armadura ASCII. A pesar de la gravedad potencial del bug, hay que ser justo: este fallo no es de PGP en sí, sino del sistema operativo bajo el que opera (Windows). Esto nos recuerda algo muy importante: la seguridad global de una cadena es solamente la del eslabón más débil. Hay parche para las versiones 7.0.3 y 7.0.4; los usuarios de versiones anteriores para Windows pueden protegerse mediante el uso de elementos de seguridad adicional (cortafuegos y antivirus).
Ataque de Otterloo En septiembre de 2001, Sieuwert van Otterloo mostró un fallo que permite "jugar" con la validez de una clave. En claves con más de un identificador, y bajo ciertas circunstancias, un usuario puede ser engañado a pensar que una clave es válida cuando realmente no lo es. El lector interesado puede obtener más detalles en http://www.bluering.nl/pgp
¿Cómo es posible que aparezcan tantos fallos en un programa antaño considerado ejemplo de perfección? Tal vez tenga que ver con la venta de PGP Inc. a Network Associates (NAI) en 1.997. Algunos criptólogos hablan de una "microsoftización", en alusión a la tendencia de añadir accesorios y entornos gráficos que multiplicaban los posibles fallos de seguridad y engordaban grandemente el código fuente. Tras el descubrimiento del ataque checo, Michel Boissou publicó su lamento "¿En qué se ha convertido PGP?" cuya lectura recomiendo (disponible en http://cryptome.org/pgp-what.htm) escribe:
Reprochamos a NAI el haber transformado un programa de seguridad informática en un programa para marketing... el problema está relacionado con las elecciones técnicas y comerciales. PGP es la víctima del marketing de NAI ... de una versión a otra, PGP fue transformado en un gran continuación de seguridad, con más y más funciones, la mayoría de las cuales no son esenciales al cifrado y autenticación de datos. PGP parece crecer mes a mes. El problema es que no sabemos cuándo terminará.
Tampoco parecen haber sentado bien la decisión de no publicar el código fuente. Hasta ahora, toda versión de PGP venía acompañada de su código fuente (el conjunto de líneas de programación) para que cualquiera pudiera revisarlo e incluso recompilarlo si lo desease. Sin embargo, NAI ha dejado de hacer público dicho código fuente. Eso ha dado lugar a especulaciones sobre si van a incluirse "puertas traseras" en las nuevas versiones. Aunque no sea así, muchos usuarios ven esto como un movimiento en la dirección equivocada. Esta fue una de las causas que motivaron la salida de Philip Zimmermann de NAI en Enero de 2001.
Cualesquiera que fuesen los motivos de engordar PGP, no parece haberle sentado bien en el campo de la seguridad ... ni en el de las ventas. En Octubre de 2001, NAI anunció que no iba a seguir desarrollando nuevas versiones de PGP. La empresa aludió a motivos económicos para la puesta en venta de PGP. La verdad es que no es de extrañar: 250 desarroladores significan muchos salarios (pensar que no hace tanto que el "tío Phil" desarrollaba nuevas versiones él solito), y $179 -casi 200 Euros- probablemente sea un precio elevado para una licencia de uso comercial de dos años.
¿Es el fin del sueño PGP? ¿Les he estado vendiendo la moto equivocada durante los cinco anteriores capítulos? Sinceramente, opino que no. En primer lugar, PGP es un programa consolidado, con diez años de solera y varios millones de usuarios. Las versiones anteriores a la 7.0 pueden ser todavía consideradas fiables. En segundo lugar, sencillamente no hay nada mejor en términos de seguridad y fiabilidad.
En tercer lugar, puede que eso sea justamente lo que PGP necesita. Este programa nació como respuesta a los intentos del gobierno norteamericano por controlar la criptografía. Su autor quería ofrecer un programa "para las masas", de forma que cualquier usuario tuviese la protección anteriormente reservada a las entidades gubernamentales. En este sentido, soltar un poco de lastre será bueno. Michel Boissou sugería que PGP debería tener -más correctamente, recuperar- las siguientes características:
ser ligero, conciso, fácil de controlar
implementar algoritmos de cifrado fuertes y probados durante años
evitar sobre todo cacharrería inútil o de utilidad debatible
incorporar solamente lo necesario para cifrar, descifrar y autenticar
limitarse a un producto de fácil codificación, separando la "maquinaria de cifrado" de las adiciones externas (plug-ins) para hacerlas controlables y evolucionarias.
En otro programa esto quedaría como un deseo y poco más, pero como dice su propio creador "PGP es una institución más grande que cualquier empresa individual, y seguirá adelante con o sin Network Associates." Ya en 1999 se presentaba la primera versión de una alternativa denominada GnuPG. Es éste un programa libre bajo licencia GNU, basado en el protocolo no propietario OpenPGP. Aunque fue originariamente diseñado para Windows, hay en desarrollo versiones compatibles con Windows y Mac, incluso con soporte gráfico (o sea, ventanitas). Muchos entusiastas de PGP, entre ellos el propio Zimmermann, están volcándose en OpenPGP para convertirlo en un estándar abierto, lo que evitará que quede a merced de los avatares de una empresa en concreto.
Mi compañero kriptopolero Manolo Gómez se ha pasado con armas y bagajes, de cabeza. Puede que un día de estos yo mismo me cambie a GnuPG. Pero sigue habiendo muchos usuarios potenciales de cifrado sin tiempo, ganas o conocimientos técnicos para aprender los entresijos de GnuPG. Para ellos he hecho este Curso Sencillo. Espero que haya cumplido su propósito... que siempre hay tiempo para cambiar, si es a mejor.
6.4 - Cajón desastre ... y hasta siempre
- ¿Hay algún archivo sobre preguntas frecuentes (FAQ)?
En efecto, haylos. Entre los que conozco, puedo mencionar:
FAQ del grupo comp.security.pgp, de Arnoud Engelfriet. http://www.uk.pgp.net/pgpnet/pgp-faq/ Es algo antiguo (1996), pero bastante extenso.
FAQ sobre la frase de contraseña [passphrase], de Randall T. Williams (1997) http://www.stack.nl/~galactus/remailers/passphrase-faq.html
FAQ sobre ataques a PGP, de infiNity. Para interesados en profundizar ... o para paranoicos http://axion.physics.ubc.ca/pgp-attack.html
FAQ: ¿RSA o Diffie-Hellman? Documento con mucha chicha, actualizado (1999) y cortesía de Sam Simpson http://www.scramdisk.clara.net/pgpfaq.html
PGP: Preguntas y respuestas Interesante compilación de Tom McCune http://www.mccune.cc/PGPpage2.htm
FAQ sobre PGPi Cómo y por qué de las versiones Internacionales. Algo anticuado (1998), pero está en español. http://www.cripto.es/expedien/hisparch/pgpfaq.htm
¿Existe manual de PGP en español?
Desafortunadamente, no. Puesto que hasta hace poco la exportación del programa (fuera de EEUU) era ilegal, Network Associates (propietaria de PGP) no podía dar soporte de ningún tipo fuera de las fronteras del tío Sam. Las traducciones que existen se realizaron de forma "guerrilla" mediante voluntarios. Sí existe una versión del manual para Windows, versión 5.5.3i, que puede resultaros de ayuda. Fue traducido por Juan Manuel Velázque y el que firma. Podéis encontrarlo en http://www.cripto.es/informes.htm (formatos Adobe Acrobat y WordPerfect).
Tengo el siguiente problema con PGP y mi programa de correo electrónico: resulta que ...
A este tipo de preguntas no puedo responder. Desafortunadamente, la proliferación de conectores y programas de correo electrónico, junto con la creciente complejidad de PGP, hace que resulte inevitable la aparición de errores (bugs). Unos se corrigen, otros aparecen. Podéis intentar solucionar vuestro problema particular leyendo accediendo a la sección "bugs" de www.pgpi.org o a la de pgp.com
¿Qué es una "fiesta de firma"?
Las fiestas o reuniones de firma vienen del inglés "keysigning party", y es un invento para ampliar la red de confianza. Resumiendo, es una reunión de usuarios de PGP para firmar claves. En tales reuniones, los usuarios se presentan unos a otros, confirman sus identidades y firman claves de otros. Es una extensión del típico "A y B se encuentran y se intercambian claves". Resulta una manera muy agradable no sólo por aumentar el número (y calidad, por las firmas asociadas) de nuestros archivos de claves, sino porque así los PGPeros se van conociendo. Puede que se intercambien físicamente las claves, pero en la mayoría de los casos basta con comprobar las identidades de las personas y su relación con sus respectivas claves. Este tipo de reuniones están muy extendidas en países como Estados Unidos, pero en España apenas ha arraigado. Quizá se deba al relativamente escaso número de usuarios de PGP. Todo se andará...
Ya puestos en ello, ¿cuántos usuarios de PGP hay?
Resulta difícil de cuantificar. Network Associates da una cifra de 10 millones de usuarios, pero tal vez sea solamente una estimación basada en el número de descargas.
Podemos hacernos una idea más fiable echando un vistazo a los servidores de claves. El servidor de RedIris, por ejemplo, tiene su página de estadísticas en http://www.rediris.es/cert/text/pgp/stats.es.html. Hay que tener en cuenta que algunas claves no tienen un dominio asociado, o tienen uno falso, y por supuesto muchos usuarios habrán decidido no enviar su clave al servidor. Y, aunque viene un desglose por dominios, no podemos decir cuántos usuarios españoles hay, ya que está muy de moda usar dominios .org o .com. Pero ahí va, por lo que valga:
A fecha de 22 Junio 2000, había en el servidor de RedIris un total de 847.853 claves PGP (aunque el número total de claves, según Francisco Montserrat, se aproxima al millón). El dominio .com es el más abundante (292.472). A nivel nacional, los PGPeros alemanes con los más abundantes (92.826 para .de), seguido por los "reinounidenses" (21.099) y los japoneses (16.311). A nivel hispano, los españones son los "pichichis" con 9.079 claves, lo que constituye un magro 1.1% del total. Siguen Argentina (1.477) y México (1.262). No parece gran cosa, pero repito que en los países hispanos existen muchos usuarios con dominios .com y .org, lo que puede distorsionar las cifras.
Esa era la situación cuando redacté mi primera edición de este Curso Sencillo de PGP. ¿Y ahora, qué tal? Pues a tenor de lo que dicen los números, bien, gracias. En Enero de 2002, el número total de claves había aumentado a más de 1.600.000, y los dominios .es sumaban un total de 15.400 claves, lo que nos deja en un 1% del número total de claves. Para que resulte más sencillo de visualizar, he aquí una tabla parcial de datos:
 A juzgar por estas cifras, PGP goza de buena salud. ¿No cree usted? ¿Por qué usar PGP, en lugar de ...?Pregunta truculenta, donde las haya. Eso debe decidirlo solamente el usuario, en función de sus gustos y necesidades. No puedo recomendarle PGP por encima de X, del mismo modo que no voy a defender las ventajas de Netscape Navigator sobre las del Internet Explorer (no aquí, al menos). Si después de este curso usted decide que PGP no satisface sus necesidades, bórrelo y tan amigos. Personalmente, me quedo con él. Pero eso depende crucialmente de la palabra "personalmente". He oído que PGP tiene "puertas traseras". ¿Qué hay de cierto en eso?Cada cierto tiempo aparece la noticia de que PGP ha sido "reventado". Vamos por partes. No hay constancia de que ningún mensaje cifrado con PGP haya sido jamás "reventado" en el sentido de "descifrado por otro medio que no sea la clave privada", excepto en casos aislados con fines de investigación y en los que se usaron claves públicas pequeñas (menos de 512 bits). El código fuente de PGP es abierto y ha sido revisado de arriba abajo, y nadie ha encontrado ninguna puerta trasera. Existe un programa llamado pgpcrak que, a pesar de su nombre, no revienta PGP, sino que se dedica a intentar "adivinar" la frase de contraseña. Escogiendo una frase de contraseña adecuada, pgpcrak fracasa. Y por supuesto, sigue siendo necesario acceder a la clave privada. Los seguidores de este Curso recordarán cómo hablábamos de la opción denominada Clave de Descifrado Adicional, o ADK. Me limitaré a recordar que es una opción para leer mensajes cifrados (nunca para obtener claves privadas) en entornos empresariales. Esto no es una "puerta trasera", puesto que es perfectamente conocida y cumple una función corporativa concreta. Un tema más grave es el siguiente. Existe una asociación de empresas de informática denominada "Alianza para la Recuperación de Claves" (Key Recovery Alliance), cuyo fin es el de idear y considerar diversas opciones para "meter las narices" en mensajes cifrados. Esto tiene una vertiente comercial (como la KRA), pero también tiene el fin de permitir, en determinadas condiciones, que las autoridades judiciales o policiales tuviesen acceso a mensajes cifrados o bien a las propias claves. No voy a entrar en debates sobre la conveniencia o no de dicho acceso policial, y recomiendo al lector interesado mi "Trilogía Key Escrow" para más información (disponible en http://www.cripto.es/informes.htm, Informes números 16, 17 y 18). El caso es que se hace algún tiempo se descubrió que Network Associates, propietaria de PGP, era miembro de la KRA. Imagínense el clamor de la comunidad PGP. ¿Acaso su programa favorito sería modificado para permitir el acceso de policías, espías, jueces y demás gentes de mal vivir? ¿Para eso estuvo su creador al borde de la cárcel? Network Associates lo negaba, pero ¿cómo creerla si tenía el "carnet" de la KRA? La explicación parece ser la siguiente. Network Associates (NAI) se formó tras la fusión de diversas empresas de informática. Dos de las empresas que adquirió posteriormente eran PGP Inc. (propiedad de Phil Zimmermann, creador del programa PGP) y TIS (Trusted Information Systems). Esta última era miembro de la KRA, de manera que su empresa "madre" NAI pasó a figurar en la lista de la KRA. Esto explica las vehementes negativas de NAI acerca de que PGP sería sometida a un régimen de recuperación de claves. Sabia política, ya que de lo contrario PGP perdería una buena parte de su encanto ... y de sus clientes. De hecho, la propia KRA parece estar en paradero desconocido: su página web http://www.kra.org resulta inaccesible, y las mismas políticas de recuperación de claves parecen haber sido abandonadas por la mayoría de los países industrializados. Así que tranquilos, que por lo que parece hay "Pretty Good Privacy" (Intimidad Bastante Buena) para rato. 6.5 - DespedidaY ahora sí. Hemos llegado al final del Curso Sencillo de PGP. Espero que le haya sido de utilidad y entretenimiento. Si le ha picado el gusanillo de la criptografía, siga aprendiendo. Yo pienso continuar en mi Taller de Criptografía, donde siempre será usted bien recibido: http://www.cripto.es. Gracias por su atención, y hasta siempre. Fuente : http://www.cripto.es
|
|
|
|
|
En línea
|
|
|
|
|
|