[Esta es la documentación original incluida con MIT PGP 2.6.2. Las diferencias respecto a la version 2.6.2i se describen en leeme.1o] Phil's Pretty Good Software presenta ======== PGP (mr) ======== Pretty Good Privacy [Intimidad bastante buena] Cifrado de clave pública para todos --------------------------- Guía del usuario de PGP (tm) Volumen I: Temas esenciales ---------------------------- por Philip Zimmermann Revisada el 11 de octubre de 1994 PGP Versión 2.6.2 - 11 octubre 94 Programa escrito por Philip Zimmermann y muchos otros Sinopsis: PGP (tm) utiliza criptografía de clave pública para proteger el correo electrónico y los ficheros de datos. Comunícate con seguridad con personas a las que nunca has visto, sin necesidad de canales seguros para intercambiar claves. PGP es rápido y ofrece muchas prestaciones, entre ellas una completa gestión de claves, firmas digitales, compresión de datos y un buen diseño ergonómico. Programa y documentación (c) Copyright 1990-1994 Philip Zimmermann. Reservados todos los derechos. Para obtener más información sobre licencias, distribución, copyright, patentes, marcas registradas, limitaciones de responsabilidad y controles de exportación de PGP, consulta la sección "Consideraciones legales" en la "Guía del usuario de PGP, volumen II: Temas especiales". Distribuido por el Massachusetts Institute of Technology. "Whatever you do will be insignificant, but it is very important that you do it." --Mahatma Gandhi ["Hagas lo que hagas será insignificante, pero es muy importante que lo hagas". -- Mahatma Gandhi] Indice ====== Descripción general Por qué se necesita PGP Cómo funciona Instalación de PGP Cómo utilizar PGP Para ver un resumen de las instrucciones Encriptación de un mensaje Encriptación de un mensaje para múltiples destinatarios Firma de un mensaje Firma y posterior encriptación Utilización de encriptación convencional exclusivamente Gestión de claves Generación de claves RSA Adición de una clave al anillo de claves Eliminación de una clave o identificador del anillo Extracción (copia) de una clave del anillo Visualización del contenido del anillo Cómo proteger las claves públicas contra manipulación Cómo controla PGP la validez de las claves Cómo proteger las claves secretas contra revelación Revocación de una clave pública ¿Qué ocurre si pierdes la clave secreta? Temas avanzados Envío de texto cifrado por canales de correo-E: formato Radix-64 Variable de entorno para la trayectoria Establecimiento de parámetros de configuración Puntos vulnerables Cuidado con los elixires mágicos Nota para usuarios de Macintosh Referencia rápida de PGP Consideraciones legales Agradecimientos Acerca del autor Descripción general =================== Pretty Good(mr) Privacy (PGP), "intimidad bastante buena", de Phil's Pretty Good Software, es una aplicación informática de criptografía de alta seguridad para MSDOS, Unix, VAX/VMS y otros ordenadores. PGP permite intercambiar ficheros y mensajes con intimidad, autenticación y comodidad. 'Intimidad' quiere decir que sólo podrán leer el mensaje aquellos a quienes va dirigido. 'Autenticación' quiere decir que los mensajes que parecen ser de alguien sólo pueden venir de esa persona en particular. 'Comodidad' quiere decir que la intimidad y la autenticación se consiguen sin los problemas de gestión de claves asociados a otros programas de criptografía convencional. No se necesitan canales seguros para intercambiar claves entre usuarios, por lo que PGP resulta mucho más fácil de utilizar. Esto se debe a que PGP está basado en una potente nueva tecnología llamada criptografía de "clave pública". PGP combina la comodidad del criptosistema de clave pública de Rivest-Shamir-Adleman (RSA) con la velocidad de la criptografía convencional, con resúmenes de mensajes para firmas digitales, con compresión de datos antes de encriptar, con un buen diseño ergonómico y con una completa gestión de claves. Por otra parte, PGP realiza las funciones de clave pública con más rápidez que la mayoría de las demás implementaciones informáticas. PGP es criptografía de clave pública para todos. PGP no lleva incorporada comunicación por módem. Para ello debe utilizarse otro programa distinto. Este documento, "Volumen I: Temas esenciales", sólo explica los conceptos esenciales sobre la utilización de PGP; deberían leerlo todos los usuarios. El "Volumen II: Temas especiales" trata las características avanzadas y otros temas especiales; está orientado a aquellos usuarios que vayan a utilizar PGP más en serio. Ninguno de los documentos muestra información detallada sobre la tecnología en la que se basan los algoritmos criptográficos y las estructuras de datos. Por qué se necesita PGP ======================= Es personal. Es privado. Y no le concierne a nadie más que a ti. Puedes estar planificando una campaña política, tratando sobre tus impuestos o teniendo una aventura. O puedes estar haciendo algo que en tu opinión no debería ser ilegal, pero que lo es. Sea lo que fuere, no quieres que nadie más lea tu correo electrónico (correo-E) privado ni tus documentos confidenciales. No hay nada malo en afirmar tu derecho a la intimidad. El derecho a la intimidad es tan básico como la Constitución. Puede que pienses que tu correo-E es lo bastante legítimo como para no necesitar encriptación. Si eres en realidad un ciudadano respetuoso con la ley, sin nada que ocultar, ¿por qué no envías siempre el correo habitual en postales? ¿Por qué no te sometes voluntariamente a pruebas de detección de drogas? ¿Por qué exiges un mandamiento judicial para que la policía registre tu casa? ¿Estás intentando esconder algo? Probablemente eres un subversor, o un traficante de drogas, si ocultas el correo en sobres. O quizá un excéntrico paranoico. ¿Tienen los ciudadanos que cumplen la ley alguna necesidad de encriptar su correo-E? ¿Qué pasaría si todo el mundo creyese que los ciudadanos respetuosos de la ley deberían utilizar postales para enviar el correo? Si algún espíritu valiente intentase afirmar su intimidad utilizando un sobre, levantaría sospechas. Las autoridades quizá abrirían su correo para ver qué está ocultando. Afortunadamente no vivimos en un mundo así y la mayor parte del correo se protege con sobres. Nadie levanta sospechas por afirmar su intimidad con un sobre. Hay seguridad en los grandes números. De forma análoga, sería interesante que todo el mundo utilizase habitualmente el cifrado en el correo-E, fuese inocente o no, para que nadie levantase sospechas por afirmar de esa manera su derecho a la intimidad. Piensa en ello como una forma de solidaridad. Hoy en día, si el gobierno quiere invadir la intimidad de los ciudadanos corrientes tiene que emplear una cierta cantidad de esfuerzo y dinero en interceptar y abrir al vapor el correo normal, o en escuchar, y quizá transcribir, las conversaciones telefónicas. Este tipo de control, muy laborioso, no resulta práctico a gran escala. Sólo se realiza en casos importantes, donde parece que va a merecer la pena. Cada vez una mayor parte de nuestra comunicación privada se dirige por canales electrónicos. El correo electrónico reemplaza gradualmente al correo convencional. Los mensajes por correo-E son demasiado fáciles de interceptar y de explorar para buscar palabras interesantes. Es algo que puede hacerse a gran escala, fácilmente, habitualmente, automáticamente y de una forma imposible de detectar. La NSA explora ya de esta manera los cablegramas internacionales. Nos dirigimos hacia un futuro en el que los países estarán cruzados de lado a lado por redes de datos basadas en fibra óptica de alta capacidad, que conectarán todos nuestros ordenadores personales cada vez más ubicuos. El correo-E será la norma para todos, no la novedad que resulta hoy en día. Puede que el gobierno proteja nuestro correo-E con algoritmos de cifrado diseñados por ellos mismos. Y puede que la mayoría esté de acuerdo. Pero algunos preferirán tomar sus propias medidas de protección. La propuesta de ley 266 del Senado de los Estados Unidos, una propuesta conjunta contra el delito, tenía oculta una medida inquietante. Si esta resolución no vinculante hubiese llegado a ley, habría obligado a los fabricantes de equipos de comunicaciones seguras a incluir "puertas traseras" en sus productos para que el Gobierno pudiese leer cualquier mensaje cifrado. {Su traducción al castellano} es la siguiente: "Es la opinión del Congreso que los proveedores de servicios de comunicación electrónica y los fabricantes de equipos para servicios de comunicación electrónica deben garantizar que los sistemas de comunicación permitan al Gobierno obtener el contenido en texto normal de las comunicaciones de voz, datos y otras comunicaciones, cuando esté adecuadamente autorizado por la ley". Esta medida fue desestimada tras una rigurosa protesta por parte de defensores de la libertad civil y de grupos empresariales. En 1992, la propuesta del FBI sobre intervención de telefonía digital se presentó en el Congreso norteamericano. Obligaría a todos los fabricantes de equipos de comunicaciones a integrar unos puertos especiales para la intervención a distancia, que permitiría al FBI intervenir todo tipo de comunicación electrónica desde sus oficinas. Aunque no consiguió ningún apoyo en el Congreso gracias a la oposición ciudadana, volvió a presentarse en 1994. Lo más alarmante es la nueva y enérgica iniciativa de la Casa Blanca sobre política criptográfica, desarrollada en la NSA desde el inicio de la administración Bush y presentada el 16 de Abril de 1993. La parte central de esta iniciativa es un dispositivo criptográfico construido por el Gobierno, llamado el "chip Clipper", que contiene un nuevo algoritmo criptográfico secreto de la NSA. El Gobierno anima a las empresas privadas a que lo incluyan en todos sus productos de comunicaciones seguras, como teléfonos, fax, etc. AT&T está instalando Clipper en todos sus productos seguros para voz. La trampa: en la fábrica, cada chip Clipper se carga con su propia clave única y el Gobierno mantiene una copia en depósito. Pero no hay que preocuparse-- el Gobierno promete que sólo utilizará esas claves para leer las comunicaciones cuando esté autorizado por la ley. Naturalmente, para que Clipper sea efectivo, el siguiente paso lógico sería proscribir otras formas de criptografía. Si la intimidad se proscribe, sólo los proscritos tendrán intimidad. Los servicios de inteligencia tienen acceso a tecnología criptográfica de calidad. Lo mismo ocurre con los grandes traficantes de armas y los narcotraficantes. También disponen de ellos los contratistas del ejército, las compañías de petróleo y otros gigantes empresariales. Pero la mayoría de la gente normal y de las organizaciones políticas de base no han tenido nunca a su alcance una tecnología asequible para utilizar criptología de clave pública de "grado militar". Hasta ahora. PGP ofrece a la gente la capacidad de tener su intimidad en sus propias manos. Hay una creciente demanda social para ello. Por eso lo escribí. Cómo funciona ============= Sería de ayuda que estuvieses familiarizado con el concepto de criptografía en general y con el de criptografía de clave pública en particular. En cualquier caso, he aquí unas cuantas observaciones como introducción. En primer lugar, algo de vocabulario básico. Supongamos que quiero enviarte un mensaje que nadie excepto tú pueda leer. Podría "encriptar" o "cifrar" el mensaje, lo que significa revolverlo de una forma tremendamente complicada, con el fin de que resulte ilegible para cualquiera que no seas tú, el destinatario original del mensaje. Yo pongo una "clave" criptográfica para encriptar el mensaje y tú tienes que utilizar la misma clave para descifrarlo o "desencriptarlo". Por lo menos así funciona en los criptosistemas convencionales de "clave única". En los criptosistemas convencionales, como el US Federal Data Encryption Standard (DES) [Norma federal para cifrado de datos en EE.UU.], se utiliza una sola clave para encriptar y desencriptar. Por lo tanto, hay que transmitir primero la clave por medio de un canal seguro para que ambas partes la conozcan antes de enviar mensajes cifrados por canales inseguros. Este proceso puede resultar incómodo. Si se tiene un canal seguro para intercambiar claves, ¿para qué se necesita entonces criptografía? En criptosistemas de clave pública, todo el mundo tiene dos claves complementarias, una revelada públicamente y otra secreta (llamada también clave privada). Cada clave abre el código que produce la otra. Saber la clave pública no sirve para deducir la clave secreta correspondiente. La clave pública puede publicarse y distribuirse ampliamente por una red de comunicaciones. Este protocolo proporciona intimidad sin necesidad de ese canal seguro que requieren los criptosistemas convencionales. Cualquiera puede utilizar la clave pública de un destinatario para encriptar un mensaje y él empleará su clave secreta correspondiente para desencriptarlo. Sólo él podrá hacerlo, porque nadie más tiene acceso a esa clave secreta. Ni siquiera la persona que lo encriptó podría descifrarlo. También proporciona autenticación para mensajes. La clave secreta del remitente puede emplearse para encriptar un mensaje, "firmándolo". Se genera una firma digital, que el destinatario (o cualquier otra persona) puede comprobar al descifrarla con la clave pública del remitente. De esta forma se prueba el verdadero origen del mensaje y que no ha sido alterado por nadie, ya que sólo el remitente posee la clave secreta que ha producido esa firma. No es posible falsificar un mensaje firmado y el remitente no podrá desautorizar su firma más adelante. Estos dos procesos pueden combinarse para obtener intimidad y autenticación al mismo tiempo si se firma primero el mensaje con la clave secreta y se encripta después el mensaje firmado con la clave pública del destinatario. El destinatario sigue estos pasos en sentido contrario al desencriptar primero el mensaje con su propia clave secreta y comprobar después la firma con la clave pública del remitente. El programa lo hace automáticamente. Como el algoritmo de cifrado en clave pública es mucho más lento que el cifrado convencional de clave única, el proceso resulta más eficaz con un algoritmo convencional rápido de alta calidad, de clave única, para encriptar el mensaje. El mensaje original sin encriptar se denomina "texto en claro". Sin intervención del usuario se utiliza una clave aleatoria temporal, generada sólo para esa "sesión", para encriptar convencionalmente el fichero normal. Después se encripta esa clave aleatoria convencional con la clave pública del destinatario. La clave de la "sesión" convencional, encriptada con esa clave pública, se envía al destinatario junto al texto cifrado. El destinatario recupera esa clave temporal con su propia clave secreta y ejecuta con ella el algoritmo convencional de clave única, más rápido, para desencriptar el mensaje cifrado. Las claves públicas se guardan en "certificados de clave" individuales que incluyen el identificador de usuario del propietario (el nombre de esa persona [y algún dato único, como la dirección de correo-E]), un sello de hora del momento en el que se generó el par y el material propio de la clave. Cada clave secreta está encriptada con su propia contraseña, por si alguien roba la clave. Cada fichero ("anillo") de claves contiene uno o más de esos certificados. Las claves se identifican internamente mediante un "identificador de clave", que es una "abreviatura" de la clave pública (sus 64 bits menos significativos). Cuando se muestra este identificador, sólo aparecen los 32 bits inferiores para mayor brevedad. Aunque muchas claves pueden compartir el mismo identificador de usuario, a efectos prácticos no hay dos claves que compartan el mismo identificador de clave. PGP utiliza "resúmenes de mensaje" para elaborar las firmas. Un resumen de mensaje es una función "distribución" ("hash") unidireccional de 128 bits, criptográficamente resistente, de ese mensaje. Es análogo a una "suma de verificación" o código CRC de comprobación de errores: "representa" el mensaje de forma compacta y se utiliza para detectar cambios en él. A diferencia de un CRC, sin embargo, resulta computacionalmente impracticable para un atacante idear un mensaje sustitutivo que produzca un resumen idéntico. El resumen del mensaje se encripta con la clave secreta para elaborar la firma. Los documentos se firman añadiéndoles como prefijo un certificado de firma, junto con el identificador de la clave que se utilizó para realizarla, un resumen de mensaje del documento (firmado con la clave secreta) y un sello de hora del momento de la firma. El destinatario utiliza el identificador de la clave para buscar la clave pública del remitente y comprobar la firma. El programa busca automáticamente la clave pública y el identificador de usuario en el fichero de claves correspondiente. Los ficheros cifrados llevan como prefijo el identificador de la clave pública con la que se han encriptado. El destinatario utiliza este prefijo de identificación para encontrar la clave secreta y poder desencriptar el mensaje. Su programa busca automáticamente la clave secreta en el fichero de claves correspondiente. Estos dos tipos de fichero constituyen el método principal para almacenar y gestionar las claves públicas y secretas. En lugar de mantener las claves individuales en ficheros separados, se reúnen en anillos para facilitar la búsqueda automática, ya sea por identificador de clave o por identificador de usuario. Cada usuario mantiene su propio par de anillos. Las claves públicas individuales se guardan en ficheros aparte durante el tiempo necesario para enviarlas a algún amigo, que las añadirá entonces a su propio anillo de claves. Instalación de PGP ================== La distribución para MSDOS de PGP va en un archivo comprimido llamado PGPxxx.ZIP (cada nuevo lanzamiento tendrá un código diferente en lugar de xxx). Por ejemplo, la distribución de la versión 2.6.2i se llama PGP262I.ZIP. El archivo puede descomprimirse con la utilidad de descompresión PKUNZIP o con "unzip" de Unix. Contiene un fichero llamado LEAME.DOC que deberías leer antes de instalar PGP. El fichero LEAME.DOC contiene las últimas noticias acerca de las novedades en la distribución de PGP, además de información sobre qué hay en los otros ficheros incluidos. Si tienes ya una versión anterior, debes cambiar su nombre o borrarla para evitar conflictos con el nuevo PGP. Para instalar PGP, consulta la Guía de instalación en el fichero SETUP.DOC incluido en el archivo. Describe en detalle cómo configurar el directorio PGP y el fichero AUTOEXEC.BAT, además del uso de PKUNZIP para instalarlo. Haremos aquí un breve resumen de las instrucciones por si no quieres esperar a leer el manual de instalación. Para instalar PGP en tu sistema MSDOS, tienes que copiar el archivo comprimido PGPsxx.ZIP en un directorio apropiado del disco duro (como C:\PGP), y descomprimirlo con PKUNZIP. Para obtener el mejor resultado tienes también que modificar el fichero AUTOEXEC.BAT, tal como se describe en otra parte del manual; pero eso puede esperar a que hayas jugado un poco con PGP y hayas leído algo más. Si no has utilizado nunca PGP, el primer paso después de instalarlo (y de leer este manual) es ejecutar la orden de generación de claves de PGP "pgp -kg". Lee antes la sección "Generación de claves RSA". La instalación en Unix y VAX/VMS es parecida a la instalación en MSDOS, pero tendrás que compilar antes el código fuente. Para ello se incluye un fichero "makefile" de Unix con el código. Cómo utilizar PGP ================= Para ver un resumen de las instrucciones =--------------------------------------- Para ver un resumen rápido de las instrucciones de PGP, escribe: pgp -h Encriptación de un mensaje =------------------------- Para encriptar un fichero de texto normal con la clave pública del destinatario, escribe: pgp -e ftexto su_identificador Esta orden produce un texto cifrado llamado ftexto.pgp. Un ejemplo podría ser: pgp -e carta.txt Alice o: pgp -e carta.txt "Alice S" El primer ejemplo busca en el fichero de claves públicas "pubring.pgp" algún certificado que contenga la cadena de caracteres "Alice" en el identificador de usuario. El segundo ejemplo encontrará cualquier identificador que contenga "Alice S". No se pueden incluir espacios en la cadena dentro de la línea de órdenes si no es entre comillas. La búsqueda no tiene en cuenta el tipo de letra (mayúsculas o minúsculas). Si se encuentra una clave pública que coincide, PGP la utiliza para encriptar el fichero normal "carta.txt" y produce un fichero cifrado llamado "carta.pgp". PGP intenta comprimir el texto en claro antes de encriptarlo, lo que mejora considerablemente su resistencia al criptoanálisis. Por esta razón, el fichero cifrado será probablemente menor que el fichero normal. Si quieres enviar el mensaje cifrado por canales de correo-E, conviértelo al formato ASCII imprimible "radix-64" añadiendo la opción -a, tal como se describe más adelante. Encriptación de un mensaje para múltiples destinatarios =------------------------------------------------------ Si quieres enviar el mismo mensaje a más de una persona, puedes hacer que se encripte para varios destinatarios, cualquiera de los cuales podrá desencriptar el mismo fichero. Para indicar múltiples destinatarios sólo tienes que añadir más identificadores en la línea de órdenes, tal como se muestra a continuación: pgp -e carta.txt Alice Bob Carol Así se crea un fichero cifrado llamado carta.pgp que podría desencriptar Alice, Bob o Carol. Puede indicarse cualquier número de destinatarios. Firma de un mensaje =------------------ Para firmar un fichero normal con tu clave secreta, escribe: pgp -s ftexto [-u tu_identificador] Los [corchetes] indican un campo opcional, por lo que no deben escribirse. Esta orden produce un fichero firmado llamado ftexto.pgp. Un ejemplo podría ser: pgp -s carta.txt -u Bob Esta orden busca en tu fichero de claves secretas "secring.pgp" cualquier certificado que contenga la cadena "Bob" en el identificador de usuario. Te llamas Bob, ¿no? La búsqueda no tiene en cuenta el tipo de letra. Si se encuentra una clave secreta que coincide, PGP la utiliza para firmar el fichero normal "carta.txt" y produce un fichero firmado "carta.pgp". Si no se incluye el campo de identificador de usuario, se firma con la clave más reciente del anillo de claves secretas como elección por omisión. PGP intenta comprimir el mensaje después de firmarlo. Por eso el fichero firmado será probablemente menor que el original, lo que puede resultar conveniente para archivar. Sin embargo, este proceso hace que el fichero no sea legible normalmente aunque el mensaje original tuviera solo texto ASCII. Estaría bien dejar un fichero que fuera todavía legible directamente. Sería particularmente útil para enviar un mensaje firmado por correo-E. Para firmar mensajes electrónicos en los que quieras dejar el resultado legible, es más conveniente utilizar CLEARSIG, que se explica más adelante. La firmas se aplica en un formato imprimible al final del texto y se desactiva la compresión. Así el texto permanece legible aunque no se compruebe la firma. Todo esto se explica con detalle en la sección "CLEARSIG - Activar mensajes firmados encapsulados como texto normal" en el volumen de Temas especiales. Si no puedes esperar a leer esa sección, puedes ver cómo queda un mensaje electrónico firmado así con el siguiente ejemplo: pgp -sta mensaje.txt Se genera un mensaje firmado en el fichero "mensaje.asc", formado por el texto original, todavía legible, y una firma ASCII imprimible añadida, todo preparado para enviar por correo-E. Este ejemplo supone que estás utilizando las opciones normales de activación de CLEARSIG en el fichero de configuración. Firma y posterior encriptación =----------------------------- Para firmar un fichero normal con tu clave secreta y después encriptarlo con la clave pública del destinatario: pgp -es ftexto su_identificador [-u tu_identificador] Los [corchetes] indican un campo opcional, por lo que no deben escribirse. Este ejemplo produce un fichero cifrado anidado, ftexto.pgp. La clave secreta para firmar se busca automáticamente en el anillo correspondiente por medio de tu_identificador. La clave pública del destinatario se busca automáticamente en el fichero de claves públicas por medio de su_identificador. Si no incluyes el identificador de usuario del destinatario, se pedirá que lo introduzcas. Si no indicas tu propio identificador de usuario, se utiliza la clave más reciente del anillo de claves secretas como elección por omisión para la firma. Ten en cuenta que PGP intentará comprimir el texto normal antes de encriptarlo. Si quieres enviar este mensaje cifrado por medio de canales de correo-E, conviértelo al formato ASCII imprimible "radix-64" añadiendo la opción -a, tal como se describe más adelante. Pueden indicarse múltiples destinatarios añadiendo más identificadores en la línea de órdenes. Utilización de encriptación convencional exclusivamente =------------------------------------------------------ Algunas veces sólo se necesita encriptar un fichero al estilo antiguo, con criptografía convencional de clave única. Este sistema resulta conveniente para proteger aquellos ficheros de archivo que vayan a guardarse y no se van a enviar a nadie. Dado que la misma persona que va a desencriptar el fichero lo ha encriptado, no se necesita realmente criptografía de clave pública. Para encriptar un fichero normal sólo con criptografía convencional, escribe: pgp -c ftexto Este ejemplo encripta el fichero normal ftexto y produce un fichero cifrado ftexto.pgp, sin criptografía de clave pública, anillos de claves, identificadores de usuario ni nada por el estilo. Pedirá una contraseña como clave convencional para encriptar el fichero. Esta contraseña no tiene por qué ser (de hecho, NO DEBERIA ser) la misma que utilizas para proteger tu propia clave secreta. PGP intentará comprimir el fichero antes de encriptarlo. PGP nunca encripta el mismo texto normal dos veces de la misma forma, incluso con la misma contraseña. Desencriptación y comprobación de firmas =--------------------------------------- Para desencriptar un fichero cifrado o para comprobar la integridad de un fichero firmado: pgp fcifrado [-o fnormal] Los [corchetes] indican un campo opcional, por lo que no deben escribirse. Por omisión se asume que el nombre del fichero cifrado tiene una extensión ".pgp". El nombre opcional de salida para el texto en claro indica dónde hay que poner el texto procesado. Si no se indica ningún nombre, se utiliza el mismo del fichero cifrado sin extensión. Si se anida una firma dentro de un fichero cifrado, se desencripta automáticamente y se comprueba su integridad. Se mostrará el identificador completo del firmante. Nótese que el "desembalaje" del fichero cifrado es completamente automático, sin importar si está firmado, cifrado o ambas cosas. PGP utiliza el prefijo del identificador de clave en el fichero cifrado para encontrar automáticamente la clave secreta en el anillo. Si hay una firma anidada, PGP usa el prefijo de identificador de esa clave para encontrar automáticamente la clave pública en el anillo correspondiente y comprobarla. Si las claves necesarias están en los anillos de claves no se requiere más intervención, excepto para dar la contraseña de la clave secreta, en su caso. Si el fichero había sido encriptado sin criptografía de clave pública, PGP lo reconoce y pide la contraseña para desencriptarlo convencionalmente. Gestión de claves ================= Desde los tiempos de Julio César, la gestión de claves ha sido el aspecto más difícil de la criptografía. Una de las características que distinguen a PGP es su completa gestión de claves. Generación de claves RSA =----------------------- Para generar tu propio par único de claves pública/secreta de un tamaño determinado, escribe: pgp -kg PGP te mostrará un menú de tamaños recomendados para la clave (nivel comercial bajo, nivel comercial alto y nivel "militar") y te pedirá qué indiques qué tamaño de clave quieres, hasta 2048 bits. Cuanto más grande es la clave mayor es la seguridad que se obtiene, pero el precio es una disminución de la velocidad. También se pide un identificador de usuario, esto es, tu nombre. Resulta conveniente poner como identificador un nombre completo, porque así hay menor probabilidad de que otros elijan una clave pública equivocada para encriptar los mensajes dirigidos a ti. En el identificador de usuario se permiten espacios y signos de puntuación. También conviene poner una dirección de correo-E entre <ángulos> después del nombre, como en este ejemplo: Juan Perro Si no tienes dirección de correo-E, pon tu número de teléfono u otra información que ayude a garantizar la unicidad de tu identificador. PGP también pedirá una "contraseña" para proteger tu clave secreta en caso de que caiga en otras manos. Nadie podrá utilizar tu clave secreta sin ella. La contraseña puede ser una expresión o frase con varias palabras, espacios, signos de puntuación o cualquier cosa que quieras poner. No la pierdas, porque no hay forma de recuperarla. La contraseña te hará falta más adelante, cada vez que utilices tu clave secreta. Se tiene en cuenta el tipo de letra (mayúscula o minúscula) y no debe ser demasiado corta ni fácil de adivinar. Nunca aparece en la pantalla. No la dejes escrita donde alguien pueda verla, ni la guardes en el ordenador. Si no quieres poner contraseña (¡no seas tonto!), simplemente pulsa retorno (enter) en el indicador correspondiente. El par de claves pública/secreta se deriva de grandes números verdaderamente aleatorios obtenidos al medir intervalos de tiempo entre pulsaciones de tecla con un temporizador rápido. El programa te pedirá que introduzcas un texto al azar para poder acumular algunos bits aleatorios para las claves. Cuando se te pida, debes pulsar algunas teclas razonablemente al azar; no vendría mal que también el contenido fuera irregular. Parte de la aleatoriedad se deriva de la impredictibilidad del contenido de lo que escribes. Por lo tanto, no escribas secuencias repetidas de caracteres. Ten en cuenta que la generación de claves RSA es un proceso largo. Puede llevar unos segundos para una clave pequeña en un procesador rápido o varios minutos para una clave larga en un viejo IBM PC/XT. PGP indica visualmente el desarrollo de la generación de claves. El par de claves generado se colocará en tus anillos de claves públicas y secretas. Puedes utilizar más adelante la orden -kx para extraer (copiar) tu nueva clave pública desde el anillo correspondiente y ponerla en un fichero de clave separado, listo para distribuir entre tus amigos. Podrás enviar este fichero para que lo incluyan en sus anillos de claves públicas. Naturalmente, la clave secreta es para ti y debe incluirse en el fichero de claves secretas. Cada clave secreta está protegida individualmente por su propia contraseña. Nunca des a nadie tu clave secreta. Por la misma razón, no hagas pares de claves para tus amigos. Cada uno debe hacer el suyo. Mantén siempre control físico sobre tu clave secreta y no te arriesgues a exponerla guardándola en un ordenador remoto compartido. Consérvala en tu propio ordenador personal. Si PGP se queja de no poder encontrar la Guía de usuario en el ordenador y se niega a generar un par de claves sin él, no te preocupes. Lee la explicación del parámetro NOMANUAL en la sección "Establecimiento de los parámetros de configuración" en el volumen Temas especiales de la Guía del usuario. Adición de una clave al anillo =----------------------------- A veces querrás añadir a tu anillo la clave que te ha dado alguien en forma de fichero de claves. Para añadir el contenido de un fichero de claves públicas o secretas al anillo de claves correspondiente (nótese que los [corchetes] indican un campo opcional): pgp -ka fdclaves [anillo] La extensión por omisión del fichero es ".pgp". El nombre opcional del anillo es, por omisión, "pubring.pgp" o "secring.pgp", según se refiera a claves públicas o secretas. Puedes indicar un nombre diferente para el fichero y también su extensión por omisión será ".pgp". Si la clave ya está en el anillo, PGP no la añade otra vez. Se incluyen todas las claves del fichero excepto las duplicadas. Más adelante se explica el concepto de certificación de claves por medio de firmas. Si la clave para añadir incluye firmas, se incorporan junto con ella. Si ya se encontraba en el anillo, PGP solamente añadirá las firmas que no estuviesen. PGP se diseño originalmente para trabajar con anillos personales pequeños. Si quieres utilizar grandes anillos, consulta la sección "Gestión de grandes anillos de claves públicas" en el volumen sobre Temas especiales. Supresión de una clave del anillo =-------------------------------- Para suprimir una clave del anillo de claves públicas: pgp -kr identificador [anillo] Este proceso busca en el anillo el identificador indicado y lo suprime si encuentra una coincidencia. Recuerda que cualquier fragmento del identificador es suficiente para que haya una coincidencia. Se asume que "pubring.pgp" es literalmente el nombre opcional del fichero. Puedes omitirlo o indicar "secring.pgp" si quieres suprimir una clave secreta. Puedes dar también un nombre distinto para el anillo de claves. La extensión por omisión es ".pgp". Si hay más de un identificador de usuario para esa clave, se preguntará si sólo quieres eliminar el identificador indicado, dejando la clave y los otros identificadores intactos. Extracción (copia) de una clave del anillo =----------------------------------------- Para extraer (copiar) una clave del anillo de claves públicas o secretas: pgp -kx identificador fdclaves [anillo] Este proceso copia (sin borrar) la clave especificada por el identificador desde el anillo al fichero indicado. Resulta especialmente útil para dar una copia de tu clave pública a alguien. Si la clave tiene alguna firma de certificación, también se copia con la clave. Si quieres que la clave extraída se represente en caracteres ASCII imprimibles, para correo-E, pon las opciones -kxa. Visualización del contenido del anillo =-------------------------------------- Para ver el contenido del anillo de claves públicas: pgp -kv[v] [identificador] [anillo] Muestra la lista de las claves del anillo que coinciden con la subcadena especificada como identificador. Si omites el identificador, se mostrarán todas las claves. Se asume que "pubring.pgp" es el nombre opcional de anillo. Puedes omitirlo o indicar "secring.pgp" si quieres ver la lista de claves secretas. También puedes si lo deseas especificar otro nombre distinto para el anillo de claves. La extensión por omisión es ".pgp". Más adelante se explica el concepto de certificar claves con firmas. Para ver las firmas de certificación de cada clave, utiliza la opción -kvv: pgp -kvv [identificador] [anillo] Si quieres especificar un nombre de anillo, para ver todas las claves que contiene, prueba esta forma alternativa: pgp fdclaves Sin indicar ninguna opción, PGP muestra la lista de todas las claves en fdclaves.pgp e intenta añadirlas al anillo de claves si no estuviesen. Cómo proteger las claves públicas contra manipulación =---------------------------------------------------- En un sistema de clave pública no hay que proteger las claves públicas contra exposición. De hecho, es mejor que estén ampliamente difundidas. Sin embargo, es importante protegerlas contra manipulación para asegurar que una clave pertenece realmente a quien parece pertenecer. Este quizá sea el punto más vulnerable de un criptosistema de clave pública. Veamos primero un posible desastre y a continuación la manera de evitarlo con PGP. Supongamos que quieres enviar a Alice un mensaje privado. Recibes la clave pública de Alice desde una BBS (Bulletin Board System: tablón electrónico de anuncios). Encriptas la carta para Alice con esa clave y se la envías por medio del correo-E de la BBS. Desafortunadamente, sin saberlo Alice ni tú, otro usuario llamado Charlie se ha infiltrado en la BBS y ha generado una clave pública propia que lleva el identificador de usuario de Alicia. Pone secretamente esa clave falsa en lugar de la verdadera. Tú, sin saberlo, utilizas esa clave en lugar de la auténtica. Todo parece normal porque la clave falsa tiene el identificador de usuario de Alice. Ahora Charlie puede descifrar el mensaje dirigido a Alice, ya que tiene la clave secreta correspondiente. Puede incluso volver a encriptar el mensaje con la verdadera clave pública de Alice y enviárselo a ella para que nadie sospeche nada. Aún peor, puede incluso hacer firmas en nombre de Alice con esa clave secreta, porque todo el mundo utiliza la clave pública falsa para comprobar las firmas de Alice. La única forma de evitar este desastre es impedir que alguien pueda manipular las claves públicas. Si has obtenido la clave pública de Alice, no hay problema. Sin embargo, esto puede resultar difícil si la persona se encuentra a mil kilómetros, o no es localizable en ese momento. Podrías conseguir la clave pública de Alice de un amigo en el que confiéis los dos, David, que sabe que su copia de la clave pública de Alice es buena. David podría firmar la clave pública de Alice, respondiendo de la integridad de la clave. David realizaría esta firma con su propia clave secreta. Así se crearía un certificado firmado de clave pública que demostraría que la clave de Alice no ha sido manipulada. Este mecanismo requiere que tu copia de la clave pública de David sea buena, para poder comprobar la firma. David podría también proporcionar a Alice una copia firmada de tu clave pública. Por tanto, David hace de referencia entre Alice y tú. David o Alice podrían enviar a la BBS ese certificado firmado de clave pública de parte de Alice y tu podrías recibirlo más adelante. Entonces podrías comprobar la firma con la clave pública de David y asegurarte de que es la verdadera clave de Alice. Ningún impostor podría hacer que aceptases una clave falsa como si fuera de Alice, porque nadie puede falsificar la firma de David. Una persona de amplia confianza podría incluso especializarse en ofrecer este servicio de "referencia" entre usuarios, proporcionando firmas para esos certificados de clave pública. Esta persona de confianza podría considerarse un "servidor de claves" o "autoridad de certificación". Podría confiarse en que cualquier certificado de clave pública con la firma del servidor pertenecería verdaderamente a quien parecía pertenecer. Los usuarios que quisieran participar sólo necesitarían una copia buena de la clave pública del organizador para poder verificar sus firmas. Un servidor centralizado de claves o autoridad de certificación está especialmente indicado en grandes instituciones gubernativas o empresariales con control centralizado. Algunos entornos institucionales ya utilizan jerarquías de autoridades de certificación. Para entornos de base descentralizados, estilo "guerrilla", permitir a cualquier usuario actuar como referencia de confianza de sus amigos probablemente funcionará mejor que un servidor centralizado. PGP tiende a enfatizar este enfoque orgánico descentralizado no institucional. Refleja mejor la forma natural que tienen los humanos de interactuar personalmente a nivel social y permite elegir mejor en quién confiar para la gestión de claves. Este tema de proteger las claves públicas contra manipulación es el problema individual más difícil con que se encuentra la aplicación práctica de la clave pública. Es el "talón de Aquiles" de la criptografía de clave pública; solamente en resolver este problema hay invertida una gran complejidad de programación. Sólo deberías utilizar una clave pública después de comprobar que es una clave auténtica no manipulada y que pertenece a la persona a la que dice pertenecer. Puedes estar seguro de ello si obtienes el certificado de clave pública directamente de su propietario, o si lleva la firma de alguien en quien confías y del que ya tienes una clave pública auténtica. Por otra parte, el identificador de usuario debería llevar el nombre completo del propietario, no sólo su nombre de pila. Por mucho que tengas la tentación-- y la tendrás--, nunca, NUNCA cedas a la comodidad y te fíes de una clave pública que hayas recibido de una BBS, a menos que vaya firmada por alguien en quien confías. Esa clave pública sin certificar puede haber sido manipulada por cualquiera, quizá incluso el mismo administrador de la BBS. Si te piden que firmes el certificado de la clave pública de alguien, comprueba que realmente pertenece a la persona indicada en el identificador de usuario. Tu firma en ese certificado de clave pública es tu promesa de que la clave pertenece realmente a esa persona. La gente que confía en ti aceptará esa clave pública porque lleva tu firma. No es recomendable hacerlo de oídas-- no firmes la clave a menos que tengas conocimiento independiente y de primera mano de que realmente pertenece a esa persona. Preferiblemente, deberías firmarla sólo si la has recibido directamente de ella. Debes estar mucho más seguro sobre quién es el propietario de una clave pública para firmarla que para encriptar un mensaje. Para estar suficientemente convencido de la validez de una firma como para utilizarla, deberían bastar las firmas de certificación de las referencias de confianza. En cambio, para firmar una clave tú mismo debes tener conocimiento independiente y de primera mano de quién es el propietario de esa clave. Podrías llamarle por teléfono y leerle el fichero de claves, para que confirme que es verdaderamente la suya-- comprueba que estás hablando con la persona indicada. Consulta la sección llamada "Verificación de una clave pública por teléfono" en el volumen de Temas especiales para obtener más información. Ten en cuenta que la firma en un certificado de clave pública no responde de la integridad de esa persona, solamente de la integridad (la pertenencia) de la clave pública de esa persona. No arriesgas tu propia credibilidad al firmar la clave pública de un sociópata, siempre que estés completamente seguro de que la clave le pertenece. Otras personas aceptarán que le pertenece porque tú la has firmado (asumiendo que confíen en ti), pero no se fiarán del propietario de esa clave. Confiar en una clave no es lo mismo que confiar en su propietario. La confianza no es necesariamente transferible; tengo un amigo del que sé que no miente. Es un crédulo que cree que el presidenteø no miente. Eso no quiere decir que yo crea que el presidente no miente. Es sólo cuestión de sentido común. Si me fío de la firma de Alicia en una clave, y Alicia se fía de la firma de Charlie, eso no implica que yo me tenga que fiar de la firma de Charlie. Resulta conveniente mantener tu propia clave pública a mano con una colección de firmas de certificación de diversas "referencias", para que la mayoría de la gente confíe al menos en una de las que responden de la validez de tu clave. Puedes enviar la clave con su colección de firmas de certificación a varias BBSs. Si firmas la clave pública de alguien, devuélvesela con la firma para que pueda añadirla a su colección de credenciales. PGP controla qué claves del anillo de claves públicas han sido certificadas adecuadamente con firmas de referencias en las que confías. Todo lo que tienes que hacer es decir a PGP en qué personas confías como referencia y certificar esas claves con la tuya propia, que es fundamentalmente fiable. PGP puede continuar desde ahí, validando cualquier clave firmada por esas referencias designadas. Aparte, por supuesto, puedes firmar más claves tú mismo. Seguiremos con esto más adelante. Asegúrate de que nadie pueda manipular tu anillo de claves públicas. La comprobación de cualquier nueva firma de clave pública depende en última instancia de la integridad de las claves de confianza que ya se encuentran en el anillo de claves. Mantén control físico sobre el anillo de claves públicas, preferiblemente en tu propio ordenador personal en lugar de un sistema remoto multiusuario, tal como lo harías con tu clave secreta. El objetivo es protegerlo contra manipulación, no contra exposición. Conserva una copia de seguridad fiable de los anillos de claves públicas y secretas en un medio protegido contra escritura. Como tu propia clave es la máxima autoridad para certificar directa o indirectamente las claves de tu anillo, es la que más tienes que proteger contra manipulación. Para detectar cualquier manipulación de tu propia clave pública, fundamentalmente fiable, PGP puede configurarse para que la compare automáticamente con una copia de seguridad en un medio protegido contra escritura. Para obtener más información, consulta la descripción de la orden "-kc" de comprobación de anillos en el volumen sobre Temas especiales. PGP generalmente asume que vas a mantener seguridad física sobre el sistema, los anillos de claves y la copia misma de PGP. Si un intruso pudiese manipular tu disco, podría en teoría manipular el mismo PGP dejando en entredicho cualquier sistema de seguridad que pueda tener para detectar la manipulación de claves. Una forma algo complicada de proteger el anillo completo de claves públicas contra manipulación es firmarlo con tu propia clave secreta. Puedes hacerlo elaborando un certificado separado de firma para el fichero con las opciones "-sb" (consulta la sección "Separación de firmas de los mensajes" en la Guía del usuario de PGP, volumen de Temas especiales). Desafortunadamente, sigue siendo necesario mantener una copia aparte de tu propia clave pública, para comprobar la firma que has realizado. No puedes fiarte de la clave almacenada en el anillo de claves públicas, ya que es precisamente parte de lo que intentas comprobar. ¿Cómo controla PGP la validez de las claves? =------------------------------------------- Antes de empezar esta sección, lea la anterior sobre "Cómo proteger las claves públicas contra manipulación". PGP lleva el control de las claves del anillo de claves públicas que han sido certificadas adecuadamente con firmas de referencias de confianza. Todo lo que tienes que hacer usted es decir a PGP en qué personas confías como referencia, y certificar esas claves con la tuya propia, que es fundamentalmente fiable. PGP puede continuar desde ahí, validando cualquier otra clave firmada por esas referencias elegidas. Por supuesto, tú mismo puedes firmar más claves. Hay dos criterios completamente distintos por los que PGP juzga la utilidad de una clave pública-- no los confundas: 1) ¿Pertenece la clave realmente a quien parece pertenecer? En otras palabras, ¿ha sido certificada con una firma de confianza? 2) ¿Pertenece a alguien en quien podemos confiar para certificar otras claves? PGP puede calcular la respuesta a la primera pregunta. Para responder a la segunda, tú, el usuario, debes informar a PGP explícitamente. Cuando se da la respuesta a la pregunta 2, PGP puede calcular la respuesta a la pregunta 1 para otras claves que hayan sido firmadas por esa referencia designada como fiable. Las claves que han sido certificadas por una referencia de confianza ya se consideran válidas en PGP. Las claves de esas referencias deben estar certificadas por usted u otra referencia de confianza. PGP también permite tener distintos márgenes de confianza para las personas que van a actuar como referencia. La confianza en el propietario de una clave para servir de referencia no refleja simplemente la estimación de su integridad personal-- también debería reflejar cuál crees que es su nivel de conocimiento respecto a la gestión de claves, y de su buen juicio en la firma de estas. Puedes designar una persona en PGP como desconocida, no fiable, de relativa confianza, o de completa confianza para certificar otras claves públicas. Esta información se almacena en el anillo junto con la clave de esa persona, pero no se incluye con ella, al indica a PGP que copie una clave, ya que esas opiniones privadas sobre confianza se consideran confidenciales. Cuando PGP está calculando la validez de una clave pública, examina el nivel de confianza de todas las firmas incluidas. Elabora una puntuación proporcional de validez-- dos firmas relativamente fiables se consideran tan creíbles como una completamente fiable. El escepticismo de PGP es ajustable-- por ejemplo, puede establecerse que hagan falta dos firmas completamente fiables, o tres relativamente fiables, para dar una clave por válida. Tu propia clave es "axiomáticamente" válida para PGP y no necesita ninguna firma de referencia para probar su validez. PGP sabe qué claves públicas son tuyas buscando las claves secretas correspondientes en el otro anillo. PGP también asume que confías completamente en ti mismo para certificar otras claves. Según pase el tiempo, irás acumulando claves de otras personas, a las que podrás designar como referencias de confianza. Cada uno irá eligiendo sus propias referencias. Y cada uno irá gradualmente acumulando y distribuyendo con su clave una colección de firmas de certificación, con la esperanza de que cualquiera que la reciba confíe al menos en una o dos de ellas. Se producirá de esa forma la aparición de una red descentralizada de confianza para las claves públicas, resistente a fallos. Este enfoque de base, único, contrasta claramente con los esquemas habituales del Gobierno para gestionar claves públicas, como el Internet Privacy Enhanced Mail (PEM) {Correo mejorado en intimidad para Internet}, que se fundamentan en un control centralizado y una confianza centralizada y obligatoria. Los esquemas habituales confían en una jerarquía de Autoridades de certificación que dictan en quién debe usted confiar. El método probabilístico y descentralizado de PGP para determinar la legitimidad de las claves públicas es la piedra angular de su arquitectura de gestión de claves. PGP le permite que elija usted mismo en quién confiar, y le pone en el vértice de su propia pirámide personal de certificación. PGP es para personas que prefieren preparar sus propios paracaídas. Cómo proteger las claves secretas contra revelación =-------------------------------------------------- Protege con cuidado tu propia clave y tu contraseña. Con mucho, mucho cuidado. Si tu clave secreta se ve alguna vez comprometida, es mejor que corras la voz rápidamente y se lo digas a todas las partes interesadas (buena suerte...) antes de que alguien la utilice para hacer firmas en tu nombre. Por ejemplo, podría firmar certificados falsos de clave pública, lo que podría causar problemas a muchas personas, especialmente si tu firma tiene amplio reconocimiento. Por supuesto, el compromiso de tu propia clave secreta podría poner al descubierto todos los mensajes dirigidos a ti. Para proteger tu clave secreta, puedes empezar por mantener siempre control físico sobre ella. Es suficiente con tenerla en el ordenador personal en casa, o en un portátil que puedas llevar contigo. Si tienes que utilizar un ordenador de la oficina, que no siempre controlas físicamente, lleva tus anillos de claves públicas y secretas en un disco extraíble, y nunca te lo dejes. No es conveniente permitir que la clave secreta se encuentre en un ordenador remoto multiusuario, como por ejemplo un sistema Unix con acceso telefónico. Alguien podría fisgonear en la línea del módem y conseguir la contraseña, y más adelante conseguir la clave secreta del sistema. Sólo deberías utilizar la clave secreta en una máquina sobre la que tengas control físico. No guardes tu contraseña en el mismo ordenador que tiene el anillo de claves secretas. Guardar la clave secreta y la contraseña en el mismo ordenador es tan peligroso como guardar tu número secreto en la misma cartera que la tarjeta del cajero automático. No quieres que nadie ponga sus manos en el disco que contiene la contraseña y el anillo de claves secretas. Sería más seguro que memorizases la contraseña y que no la guardases en ningún sitio más que en tu cerebro. Si crees que debes escribirla, protégela, quizá incluso mejor que el anillo de claves secretas. Conserva copias de seguridad del anillo de claves secretas-- recuerda, tú tienes la única copia de tu clave secreta y perderla inutilizaría todas las copias de tu clave pública que haya por el mundo. El enfoque descentralizado y no institucional que utiliza PGP para gestionar las claves públicas tiene sus ventajas pero, desafortunadamente, también implica que no se pueda confiar en una lista única de las claves comprometidas. Por lo tanto, resulta más difícil controlar el daño que puede causar el compromiso de una clave. Sólo puedes divulgar la noticia y confiar en que todo el mundo se entere. Si ocurre lo peor-- tanto tu clave secreta como la contraseña se ven comprometidos (esperemos que llegues a enterarte por algún medio) --, tendrás que emitir un certificado de "compromiso de clave". Este tipo de certificado se utiliza para advertir a los demás de que dejen de utilizar tu clave pública. Puedes hacer que PGP elabore ese certificado mediante la orden "-kd". Después tienes que enviarlo al resto de los habitantes del planeta, o al menos a todos tus amigos, a los amigos de tus amigos, etcétera. Sus propios programas PGP instalarán ese certificado de compromiso en sus anillos de claves públicas y evitará que utilicen la clave por error. Puedes entonces generar un nuevo par de claves secreta/pública y distribuir la nueva clave pública. Puedes enviar en un solo lote la nueva clave con el certificado de compromiso de la antigua. Revocación de una clave pública =------------------------------ Supongamos que, por algún motivo, tanto tu clave secreta como tu contraseña se ven comprometidas. Tendrás que decírselo al resto del mundo para que dejen de utilizar tu clave pública. Para ello, tienes que emitir un certificado de "compromiso de clave" y revocar la clave pública. Para generar ese certificado, utiliza la orden -kd: pgp -kd tu_identificador Este certificado lleva tu firma, realizada con la misma clave que estás revocando. Deberías distribuirlo ampliamente cuanto antes. Las personas que lo reciban podrán añadirlo a sus anillos de claves públicas y sus programas PGP evitarán automáticamente que vuelvan a utilizar la clave antigua por error. Puedes generar un nuevo par de claves secreta/pública, y publicar la nueva clave pública. Puedes también querer revocar la clave por algún otro motivo. Se emplea el mismo mecanismo. ¿Qué pasa si pierdes la clave secreta? =------------------------------------- Normalmente, si quieres revocar la clave secreta puedes utilizar la orden "-kd" para emitir un certificado de revocación, firmado con tu propia clave secreta (véase "Revocación de una clave pública"). Pero ¿qué puedes hacer si pierdes la clave o si se destruye? No puedes revocarla tú mismo porque debes utilizar la clave secreta para hacerlo, y ya no la tienes. Una versión posterior de PGP ofrecerá una forma más segura de revocar clave bajo esas circunstancias, permitiendo que referencias de confianza certifiquen que una clave pública ha sido revocada. Por ahora, tendrás que correr la voz por los medios informales que pueda, pidiendo a los usuarios que "desactiven" la clave pública en sus anillos. Otros usuarios pueden desactivar la clave pública en sus propios anillos con la orden "-kd". Si se indica un identificador que no corresponde a una clave secreta del anillo correspondiente, la orden -kd lo busca en el anillo de claves públicas y marca esa clave como desactivada. Una clave desactivada no puede utilizarse para encriptar mensajes, ni se puede extraer del anillo con la orden -kx. Puede utilizarse para comprobar firmas, pero se muestra una advertencia. Además, si el usuario intenta añadir otra vez la misma clave al anillo, no podrá, ya que la clave desactivada ya se encuentra en él. Estas características combinadas ayudarán a atajar la difusión de una clave desactivada. Si la clave pública indicada ya está desactivada, la orden -kd te preguntará si quieres volver a activarla. Temas avanzados =============== La mayoría de los "Temas avanzados" se recogen en la "Guía del usuario de PGP, Volumen II: Temas especiales". Sin embargo, hay algunos que merecen mencionarse aquí. Envío de texto cifrado por canales de correo-E: formato Radix-64 =--------------------------------------------------------------- Muchos sistemas de correo electrónico sólo permiten utilizar mensajes en texto ASCII, no con los datos binarios de 8 bits que forman el texto cifrado. Para solucionar este problema, PGP admite el formato ASCII radix-64 para mensajes de texto cifrado, parecido al formato Privacy-Enhanced Mail (PEM) y al formato MIME de Internet. Este formato especial representa los datos binarios sólo con caracteres ASCII imprimibles, por lo que sirve para transmitirlos por canales de 7 bits y para enviar datos cifrados como texto normal de correo-E. Este formato hace de "armadura de transporte", protegiendo el mensaje mientras viaja por distintas pasarelas entre sistemas dentro de Internet. También añade un CRC para detectar errores de transmisión. El formato Radix-64 convierte el texto cifrado expandiendo grupos de 3 bytes binarios de 8 bits en 4 caracteres ASCII imprimibles, por lo que el fichero crece un 33%. Esta expansión no es tan grave si se considera que PGP probablemente ya había comprimido el fichero más que eso antes de encriptarlo. Para producir un fichero cifrado en formato ASCII radix-64, añade la opción "a" cuando encriptes o firmes un mensaje, de la siguiente manera: pgp -esa mensaje.txt su_identificador Este ejemplo producirá un fichero cifrado llamado "mensaje.asc", con los datos en un formato ASCII radix-64 parecido al de MIME. Puede cargarse entonces en un editor de textos por canales de 7 bits para transmitirlo como correo-E normal por Internet o cualquier otra red. La desencriptación del mensaje con armadura de transporte radix-64 es idéntica a cualquier desencriptación normal. Por ejemplo: pgp mensaje PGP busca automáticamente el fichero ASCII "mensaje.asc" antes de buscar el binario "mensaje.pgp". Reconoce que el fichero está en formato radix-64, y lo convierte en binario antes de procesarlo normalmente, creando el fichero ".pgp" como producto secundario. El fichero final de salida será de texto en claro, precisamente como era el "mensaje.txt" original. La mayoría de los servicios de correo-E de Internet no permite enviar mensajes de más de 50.000 o 65.000 bytes. Los más largos deben dividirse en partes, para enviarlas por separado. Si el mensaje cifrado es muy grande, y se pide el formato radix-64, PGP lo divide automáticamente en partes más pequeñas para poder enviarlas por correo-E. Las partes se convierten en ficheros con extensiones ".as1", ".as2", ".as3", etc. El destinatario debe concatenar por orden estos ficheros en un solo fichero grande antes de desencriptar. Durante este proceso, PGP ignora cualquier texto extraño en las cabeceras del correo, fuera de los bloques radix-64 del mensaje. Si quieres enviar una clave pública a alguien en formato radix-64, añade la opción -a al extraer la clave del anillo. Si has olvidado indicar la opción -a cuando al crear un fichero cifrado o al extraer una clave, puedes convertir el binario al formato radix-64 poniendo solamente la opción -a, sin encriptar. PGP lo convertirá en un fichero ".asc". Si quieres enviar por correo-E un fichero en texto normal firmado pero no cifrado, PGP lo comprimirá después de firmarlo, haciéndolo ilegible para el observador humano habitual. Es una buena forma de almacenar ficheros firmados en archivos. Pero si quieres enviar el mensaje firmado por correo-E y el mensaje original es un texto (no binario), hay una forma de enviarlo por correo-E de manera que no se comprima el texto en claro y la armadura ASCII se aplique sólo al certificado de firma y no al mensaje. Así el destinatario podrá leer el mensaje firmado con ojos humanos, sin ayuda de PGP. Por supuesto, PGP hará falta para comprobar la firma. Para obtener más información sobre esta característica, consulte la explicación del parámetro CLEARSIG en la sección "Establecimiento de parámetros de configuración" en el volumen de Temas especiales. Algunas veces puedes querer enviar un fichero binario por correo-E sin encriptarlo ni firmarlo con PGP. Algunas personas utilizan uuencode para ello. PGP también puede utilizarse, simplemente con la opción -a por sí misma, y funciona mejor que uuencode. Para obtener más información, consulta la sección "Utilización de PGP como un uuencode mejor" en el volumen sobre Temas especiales. Variable de entorno para la trayectoria =-------------------------------------- PGP utiliza varios ficheros especiales, tales como los ficheros de claves "pubring.pgp" y "secring.pgp", el fichero "ranseed.bin" de semilla para números aleatorios, el fichero "config.txt" (o "pgp.ini" o ".pgprc") de configuración y el fichero "language.txt" de traducciones a otros idiomas. Estos ficheros especiales pueden colocarse en cualquier directorio, siempre que se establezca la variable de entorno "PGPPATH" con la trayectoria. Por ejemplo, en MSDOS, la orden: SET PGPPATH=C:\PGP haría que PGP asumiese que el nombre del anillo de claves públicas es "C:\PGP\pubring.pgp"... contando, desde luego, con que ese directorio exista. Utiliza tu editor de textos favorito para modificar el fichero AUTOEXEC.BAT, de forma que establezca esta variable al arrancar el sistema. Si PGPPATH no se ha definido, se asume que esos ficheros especiales están en el directorio actual. Establecimiento de los parámetros de configuración =------------------------------------------------- PGP tiene ciertos parámetros que pueden definirse en un fichero especial de configuración llamado "config.txt" (de texto), que se encuentra en el directorio apuntado por la variable de entorno PGPPATH. La existencia de un fichero de configuración permite definir diversas banderas y parámetros de PGP, y evita la molestia de tener que indicarlas cada vez en la línea de órdenes. Para cumplir los convenios sobre nombres de ficheros en los distintos sistemas operativos, en Unix el fichero puede llamarse también ".pgprc" y en MSDOS puede llamarse "pgp.ini". Con estos parámetros de configuración puede, por ejemplo, controlarse dónde va a almacenar PGP sus ficheros temporales, puede elegirse el idioma en el que PGP muestra los mensajes de diagnóstico y los indicadores, y puede ajustarse el nivel de escepticismo de PGP para determinar la validez de una clave según el número de firmas que la certifiquen. Para obtener más información sobre cómo establecer estos parámetros de configuración, consulta la sección correspondiente de la Guía del Usuario de PGP, volumen de Temas especiales. Puntos vulnerables =----------------- Ningún sistema de seguridad de datos es impenetrable. PGP puede burlarse de diversas maneras. Los posibles puntos vulnerables que hay que tener en cuenta son, entre otros, el compromiso de la contraseña o de la clave secreta, la manipulación de las claves públicas, los ficheros que se han borrado pero que siguen todavía en el disco, los virus y caballos de Troya, los fallos en la seguridad física, las emisiones electromagnéticas, la exposición en sistemas multiusuario, el análisis de tráfico, y quizá incluso el criptoanálisis directo. Para encontrar un análisis más detallado de estos temas, consulte la sección "Puntos vulnerables" en la Guía del usuario de PGP, volumen de Temas especiales. Cuidado con los elixires mágicos ================================ Al examinar un programa criptográfico, uno siempre se pregunta ¿por qué debería fiarme de este producto? Incluso si ha estudiado el código fuente usted mismo, no todo el mundo tiene la experiencia necesaria en criptografía para juzgar esa seguridad. Hasta siendo un criptógrafo experimentado pueden escaparse debilidades sutiles en los algoritmos. Cuando estaba en la universidad a principios de los años setenta, diseñé lo que creía un excelente esquema de cifrado. Una sencilla corriente de números pseudoaleatorios se sumaba a la corriente de texto normal para crear el texto cifrado. Así parecía frustrarse cualquier análisis de frecuencia del texto cifrado, resultando imposible de romper incluso para los servicios de información con mayores recursos. Me sentía muy orgulloso de mí mismo por la proeza. Muy presuntuoso. Años después, descubrí ese mismo esquema en varios textos introductorios y otros artículos sobre criptografía. Qué bien. Otros criptógrafos habían pensado el mismo esquema. Desafortunadamente, se presentaba como un sencillo ejercicio sobre cómo emplear técnicas criptoanalíticas elementales para romperlo de forma trivial. Nada más que decir sobre mi excelente esquema. De esta humillante experiencia aprendí qué fácil es caer en un falso sentimiento de seguridad cuando se diseña un algoritmo de cifrado. La mayoría de la gente no se da cuenta de lo diabólicamente difícil que resulta diseñar un algoritmo que pueda soportar un ataque prolongado y porfiado por parte de un oponente con recursos. Muchos ingenieros de programación no especializados han desarrollado esquemas igualmente ingenuos (a menudo exactamente el mismo), y algunos de ellos lo han incorporado en programas comerciales de cifrado, vendidos por una buena cantidad de dinero a miles de usuarios confiados. Es algo parecido a vender cinturones de seguridad que tienen buen aspecto y parecen buenos, pero que saltan incluso en la prueba de choque más lenta. Dependiendo del caso, pueden resultar incluso peor que no llevar ningún cinturón de seguridad en absoluto. Nadie sospecha que son malos hasta que hay un choque real. Depender de programas criptográficos débiles puede hacer que usted ponga en peligro información confidencial sin saberlo. Podría no haber llegado a ocurrir nunca si no hubiese tenido ningún programa criptográfico. Quizá usted nunca llegue a descubrir que esos datos se han visto comprometidos. Algunas veces, los programas comerciales utilizan el Federal Data Encryption Standard (DES) {Estándar federal de encriptación de datos}, un buen algoritmo convencional recomendado por el gobierno para uso comercial (pero no para información clasificada, extrañamente-- ejem). DES puede utilizar varios "modos de funcionamiento", unos mejores que otros. El Gobierno recomienda específicamente no utilizar para los mensajes el modo más simple y débil, Electronic Codebook (ECB) {Libro electrónico de códigos}. Pero sí recomienda los modos más complejos y resistentes, Cipher Feedback (CFB) {Retroalimentación de cifrado} y Cipher Block Chaining (CBC) {Encadenamiento de bloques de cifrado}. Desafortunadamente, la mayoría de los programas comerciales de encriptación que he visto utiliza el modo ECB. Cuando he hablado con los autores de algunas de esas implementaciones, me han dicho que no habían oído nunca hablar de los modos CBC o CFB, y que no sabían nada de las debilidades del modo ECB. El solo hecho de que no hayan aprendido suficiente criptografía como para conocer esos conceptos elementales no es precisamente tranquilizador. Estos mismos programas incluyen a menudo un segundo algoritmo exclusivo, más rápido, que puede utilizarse en lugar del DES, que es más lento. El autor del programa suele pensar que su propio algoritmo, más rápido, es tan seguro como DES, pero después de preguntar suelo descubrir que es sólo una variación de mi propio gran esquema de los tiempos de universidad. Puede que ni siquiera esté dispuesto a revelar cómo funciona ese esquema propio, pero me asegura que es excelente y que debería confiar en él. Estoy seguro de que cree que su algoritmo es excelente, pero ¿cómo puedo saberlo sin verlo? Para ser justo, debo señalar que en la mayoría de los casos esos productos terriblemente débiles no eran de empresas especializadas en tecnología criptográfica. Hasta los programas buenos, que utilizan DES en los modos correctos de funcionamiento, tienen problemas. El DES estándar utiliza una clave de 56 bits, que es demasiado pequeña para la tecnología actual, y puede romperse fácilmente por búsqueda exhaustiva de claves en máquinas especiales de alta velocidad. DES ha llegado al final de su vida útil, lo mismo que cualquier programa que se base en él. Hay una empresa llamada AccessData (87 East 600 South, Orem, Utah 84058, teléfono 1-800-658-5199, USA) que vende un programa por $185 que rompe los esquemas de cifrado incorporados en WordPerfect, Lotus 1-2-3, MS Excel, Symphony, Quattro Pro, Paradox y MS Word 2.0. No sólo adivina contraseñas-- hace verdadero criptoanálisis. Algunas personas lo compran cuando olvidan la contraseña de sus propios ficheros. Las agencias de la ley también lo compran para poder leer los ficheros que interceptan. Hablé con Eric Thompson, su autor; me dijo que el programa tarda una fracción de segundo en romperlos, y que puso algunos bucles internos para retrasarlo y que a sus clientes no les pareciese que resultaba tan fácil. También me dijo que el cifrado por contraseña de los ficheros PKZIP es fácil de romper, y que sus clientes oficiales a menudo solicitan ese servicio a otra empresa. En cierta manera, la criptografía es como los productos farmacéuticos. Su integridad puede ser absolutamente crucial. La mala penicilina tiene el mismo aspecto que la buena. Usted puede saber que su hoja de cálculo se equivoca, pero ¿cómo puede saber si su programa de criptografía es débil? El texto cifrado que produce un algoritmo débil tiene tan buen aspecto como el texto producido por un algoritmo resistente. Hay mucho elixir mágico por ahí. Muchos remedios de curandero. Al contrario que los palmarios buhoneros de medicinas de antaño, estos técnicos de programación ni siquiera suelen saber que su producto es un elixir mágico. Pueden ser buenos ingenieros de programación, pero en general no han leído ninguna publicación académica sobre criptografía. Pero creen que pueden escribir buenos programas criptográficos. ¿Por qué no? Después de todo, parece fácil a primera vista. Y su programa parece funcionar bien. Cualquiera que crea que ha diseñado un esquema de encriptación invulnerable puede ser un genio muy poco común, o un ingenuo inexperto. Recuerdo una conversación con Brian Snow, criptógrafo senior de alto nivel en la NSA {National Security Agency - Agencia Nacional de Seguridad}. Dijo que nunca se fiaría de un algoritmo de cifrado diseñado por alguien que no se hubiese "ganado sus galones" pasando mucho tiempo rompiendo códigos. Tiene mucho sentido. Pude comprobar que prácticamente nadie en el mundo de la criptografía comercial estaba cualificado según ese criterio. "Sí", dijo con una sonrisa confiada, "Eso hace nuestro trabajo en NSA mucho más fácil". Un pensamiento escalofriante. Yo tampoco estoy cualificado. El Gobierno también ha ido vendiendo elixires mágicos. Después de la Segunda Guerra Mundial, los EE.UU. vendieron máquinas de cifrado Enigma alemanas a gobiernos del tercer mundo. Pero no les dijeron que los aliados habían roto el código de Enigma durante la guerra, un hecho que permaneció clasificado durante muchos años. Hasta hoy en día, muchos sistemas Unix en todo el mundo utilizan el cifrado Enigma para encriptar ficheros, en parte porque el Gobierno ha creado obstáculos legales contra la utilización de algoritmos mejores. Incluso intentó evitar la publicación inicial del algoritmo RSA en 1977. Además, ha machacado básicamente todos los esfuerzos comerciales para desarrollar teléfonos seguros y efectivos para el público en general. El trabajo principal de la National Security Agency del Gobierno de los EE.UU. es recoger información, especialmente interviniendo encubiertamente las comunicaciones privadas de las personas (véase el libro de James Bamford "The Puzzle Palace"). La NSA ha acumulado una considerable cantidad de habilidad y medios para romper códigos. Si la gente no puede conseguir criptografía de calidad para protegerse, el trabajo de la NSA se vuelve mucho más fácil. La NSA también tiene la responsabilidad de aprobar y recomendar algoritmos de cifrado. Algunos críticos alegan que eso constituye un conflicto de intereses, como poner a la zorra a cuidar las gallinas. La NSA ha estado promocionando un algoritmo de cifrado convencional diseñado por ellos mismos, pero no dice a nadie cómo funciona porque eso es información clasificada. Quiere que los demás se fíen y lo utilicen. Pero cualquier criptógrafo puede decirle que un algoritmo de cifrado bien diseñado no tiene que permanecer clasificado para ser seguro. Sólo las claves deberían necesitar protección. ¿Cómo puede alguien saber realmente si el algoritmo clasificado de la NSA es seguro? No resultaría tan difícil para la NSA diseñar un algoritmo que sólo ellos pudiesen romper, si nadie más pudiese revisarlo. ¿Están vendiendo un elixir mágico deliberadamente? Hay tres factores principales que han minado la calidad de los programas criptográficos comerciales en los EE.UU. El primero es la prácticamente universal incompetencia en los implementadores de programas comerciales de criptografía (aunque ha empezado a cambiar desde la publicación de PGP). Cualquier ingeniero de programación se cree un criptógrafo, lo que ha llevado a la proliferación de muchos programas malos. El segundo es la supresión deliberada sistemática por parte de la NSA de toda la buena tecnología criptográfica comercial, por intimidación legal y presión económica. Parte de esta presión llega por la obligación de cumplir controles rigurosos de exportación en programas criptográficos que, por la economía de la comercialización de los programas, tiene el efecto total de suprimir la informática criptográfica local. El otro método de supresión viene de la concesión de todas las patentes sobre algoritmos de clave pública a una sola empresa, produciendo un único punto de estrangulamiento para evitar la difusión de esta tecnología. El efecto de todo esto es que antes de publicarse PGP no había casi ningún programa criptográfico general de alta seguridad disponible en los EE.UU. No estoy tan seguro de la seguridad de PGP como lo estaba de mi excelente programa de la universidad. Si lo estuviese, sería mala señal. Sin embargo, estoy bastante seguro de que PGP no contiene ninguna debilidad manifiesta (aunque puede tener errores de programación). Los criptoalgoritmos fueron desarrollados por personas de alto nivel en círculos académicos criptográficos civiles, y han soportado revisión individualizada por parte de otros expertos. El código fuente de PGP está disponible para facilitar ese tipo de revisión y para ayudar a disipar los temores de algunos usuarios. Se ha investigado razonablemente bien y ha llevado años escribirlo. Además, yo no trabajo para la NSA. Espero que no haga falta demasiada "fe" para confiar en la seguridad de PGP. Nota para usuarios de Macintosh =============================== PGP se desarrolló originalmente para ordenadores MSDOS y Unix. Hay también una versión de PGP para Apple Macintosh. Este manual se ha escrito para las otras versiones, que utilizan un interfaz por línea de órdenes para todas las funciones. En el Mac, se llega a todas las funciones mediante menús desplegables y cuadros de diálogo. Hay también ayuda en línea sobre el uso de MacPGP y debería haber alguna documentación para Mac con la distribución además de este manual. Casi todas las buenas aplicaciones para Mac están escritas desde cero, no simplemente portadas de otros sistemas operativos. Desafortunadamente, la versión actual de Mac no se diseñó de esa manera. Zbigniew Fiedorwicz la portó desde MSDOS/Unix. Como esta versión de PGP no se había diseñado para un GUI (interfaz gráfico), portarla al Mac no fue fácil y quedan todavía algunos errores. Hay una nueva versión de PGP en desarrollo, diseñada para que sea fácil de adaptar a un GUI. Se desarrollará una nueva versión de Mac a partir de este código fuente. Será más de estilo Mac y más fiable. A pesar de los errores de la versión actual de MacPGP, es importante resaltar que si Zbigniew hubiese esperado a la nueva versión antes de portar PGP al Mac, el mundo hubiese estado privado de una versión para Mac durante demasiado tiempo. Referencia rápida para PGP ========================== He aquí un rápido resumen de las órdenes de PGP. Para encriptar un fichero normal con la clave pública del destinatario: pgp -e fnormal su_identificador Para firmar un fichero normal con su clave secreta: pgp -s fnormal [-u tu_identificador] Para firmar un texto ASCII en claro con tu clave secreta y producir un mensaje firmado en claro para enviar por correo-E: pgp -tas fnormal su_identificador [-u tu_identificador] Para firmar un fichero normal con su clave secreta y después encriptarlo con la clave pública del destinatario: pgp -es fnormal su_identificador [-u tu_identificador] Para encriptar un fichero normal sólo con criptografía convencional, escribe: pgp -c fnormal Para desencriptar un fichero, o comprobar la integridad de la firma en un fichero firmado: pgp fcifrado [-o fnormal] Para encriptar un mensaje para cualquier número de múltiples destinatarios: pgp -e ftexto identificador1 identificador2 ... --- Funciones para la gestión de claves: Para generar tu propio par único de claves pública/secreta: pgp -kg Para añadir el contenido de un anillo de claves públicas o secretas al anillo correspondiente: pgp -ka fdclaves [anillo] Para extraer (copiar) una clave del anillo de claves públicas o secretas: pgp -kx identificador fdclaves [anillo] o: pgp -kxa identificador fdclaves [anillo] Para ver el contenido del anillo de claves públicas: pgp -kv[v] [identificador] [anillo] Para ver la "huella dactilar" de una clave pública, y poder verificarla por teléfono con su dueño: pgp -kvc [identificador] [anillo] Para ver el contenido y comprobar las firmas de certificación en el anillo de claves públicas: pgp -kc [identificador] [anillo] Para modificar el identificador o la frase de contraseña de la clave secreta: pgp -ke identificador [anillo] Para modificar los parámetros de confianza de una clave pública: pgp -ke identificador [anillo] Para suprimir una clave, o sólo un identificador, del anillo de claves públicas: pgp -kr identificador [anillo] Para firmar la clave pública de alguien en el anillo de claves públicas: pgp -ks su_identificador [-u tu_identificador] [anillo] Para suprimir de un anillo ciertas firmas de un usuario: pgp -krs identificador [anillo] Para revocar permanentemente tu propia clave, emitiendo un certificado de compromiso de clave: pgp -kd tu_identificador Para desactivar o volver a activar una clave pública en el anillo de claves públicas: pgp -kd identificador --- Ordenes esotéricas: Para desencriptar un mensaje y dejar su firma intacta: pgp -d fcifrado Para crear un certificado de firma separado del documento: pgp -sb fnormal [-u tu_identificador] Para separar un certificado de firma del mensaje firmado: pgp -b fcifrado --- Opciones que pueden utilizarse en combinación con otras órdenes (formando a veces curiosas palabras): Para producir un fichero cifrado en formato ASCII radix-64, añade simplemente la opción -a cuando encriptes o firmes un mensaje, o cuando extraigas una clave: pgp -sea fnormal su_identificador o: pgp -kax identificador fdclave [anillo] Para eliminar automáticamente el fichero normal después de crear el fichero cifrado, añade simplemente la opción -w (wipe {limpiar}) cuando encriptes o firmes un mensaje: pgp -wes mensaje.txt su_identificador Para indicar que un fichero normal contiene texto ASCII, no binario, y que debe ajustarse a los convenios de línea del destinatario, añade la opción -t (texto) a las otras: pgp -seta mensaje.txt su_identificador Para ver el texto descifrado en la pantalla (como con la orden "more" {más} de Unix), sin grabarlo en un fichero, utiliza la opción -m (more) al desencriptar: pgp -m fcifrado Para indicar que el texto descifrado para la destinataria SOLO puede mostrarse en su pantalla, sin grabarse en el disco, añade la opción -m: pgp -metas mensaje.txt su_identificador Para recuperar el nombre original del fichero normal al desencriptar, añade la opción -p: pgp -p fcifrado Para utilizar en modo filtro, como en Unix, leyendo de la entrada estándar y escribiendo en la salida estándar, añade la opción -f: pgp -festa su_identificador fsalida Consideraciones legales ======================= Para mayor información sobre licencias, distribución, copyrights, patentes, marcas registradas, limitaciones de responsabilidad y controles de exportación de PGP(mr), consulta la sección "Consideraciones legales" de la "Guía del usuario de PGP, volumen II: Temas especiales". PGP utiliza un algoritmo de clave pública reclamado por la patente de EE.UU. n§ 4.405.829. Los derechos exclusivos sobre esta patente están en poder de una compañía de California llamada Public Key Partners, y usted puede estar infringiendo esta patente si utiliza PGP en EE.UU.. Todo esto se explica en el volumen II y en la licencia RSAREF que se incluye con la versión gratuita de PGP. PKP ha dado otras licencias, entre ellas a una empresa llamada ViaCrypt en Phoenix, Arizona. ViaCrypt vende una versión de PGP con todas las licencias. PGP es un programa libre, estilo "guerrilla", gratuito, y no me importa que se distribuya ampliamente. Simplemente, no me pida que le envíe una copia. En lugar de eso, puede obtenerla usted mismo en muchas BBS y en algunos establecimientos FTP de Internet. Antes de distribuir PGP, es muy importante que entiendas los controles de exportación de los EE.UU. sobre programas criptográficos. Agradecimientos =============== Formidables obstáculos y grandes fuerzas se han preparado para parar PGP. Gente dedicada está ayudando a superar estos obstáculos. PGP ha logrado notoriedad como "programa clandestino" y sacarlo "a la superficie" ha requerido paciencia y persistencia. Me gustaría agradecer especialmenta a Hal Abelson, Jeff Schiller, Brian LaMacchia y Derek Atkins en MIT su esfuerzo constante. También me gustaría dar las gracias a Jim Bruce y David Litster en la adminstración del MIt y a Bob Prior y Terry Ehling en MIT Press. Y además me gustaría dar las gracias a todo mi equipo de defensa legal, cuyo trabajo todavía no ha terminado. Solía contar muchos chistes de abogados antes de encontrar a tantos ejemplos positivos en mi equipo e defensa, la mayoría de los cuales trabaja pro bono. El desarrollo de PGP se ha convertido en un fenómeno social notable, cuyo atractivo político único ha inspirado el esfuerzo colectivo de un número creciente de programadores voluntarios. ¿Recuerdas el cuento llamado "Stone Soup"? Me gustaría agradecer a las siguientes personas su contribución a la creación de Pretty Good Privacy ("intimidad bastante buena"). Aunque fui el autor de la versión 1.0 de PGP, grandes partes de las versiones siguientes se implementaron gracias a un esfuerzo de colaboración internacional que incluye a un gran número de personas, bajo mi guía en el diseño. Branko Lankester, Hal Finney y Peter Gutmann contribuyeron con una enorme cantidad de tiempo a añadir opciones para PGP 2.0, y lo adaptaron a diversas variaciones de Unix. Hugh Kennedy lo adaptó al VAX/VMS, Lutz Frank al Atari ST, y Cor Bosman y Colin Plumb al Commodore Amiga. La traducción de PGP a otros idiomas ha sido realizada por Jean-loup Gailly en Francia, Armando Ramos en España, Felipe Rodriquez Svensson y Branko Lankester en los Países Bajos, Miguel Gallardo en España (PGP 1.0), Hugh Kennedy y Lutz Frank en Alemania, David Vincenzetti en Italia, Harry Bush y Maris Gabalins en Letonia, Zygimantas Cepaitis en Lituania, Peter Suchkow y Andrew Chernov en Rusia, y Alexander Smishlajev en Esperantujo. Peter Gutmann se ofreció para traducirlo al inglés de Nueva Zelanda, pero finalmente decidimos que PGP podría arreglárselas con el inglés de EEUU. Jean-loup Gailly, Mark Adler y Richard B. Wales publicaron el código para la compresión ZIP, y han dado permiso para incluirlo en PGP. Las rutinas MD5 fueron desarrolladas y puestas en el dominio público por Ron Rivest. El cifrado IDEA(mr) fue desarrollado por Xuejia Lai y James L. Massey en ETH, Zurich, y se utiliza en PGP con permiso de Ascom-Tech AG. Charlie Merritt fue el primero en enseñarme cómo hacer aritmética decente de precisión múltiple para la criptografía de clave pública, y Jimmy Upton contribuyó con un algoritmo más rápido de multiplicación/módulo. Thad Smith implementó un algoritmo modmult aún más rápido. Zhahai Stewart contribuyó con muchas ideas útiles sobre los formatos de fichero de PGP y otras cosas, incluyendo el tener más de un identificador de usuario por clave. Oí de Whit Diffie la idea de tener referencias. Kelly Goen hizo la mayor parte del trabajo para la publicación electrónica de PGP 1.0. Ha habido diversas contribuciones de programación por parte de Colin Plumb, Derek Atkins y Castor Fu. Otras contribuciones de esfuerzo, ya sean programando o de otra manera, han venido de Hugh Miller, Eric Hughes, Tim May, Stephan Neuhaus y muchos otros, demasiados para acordarme ahora mismo. Zbigniew Fiedorwicz hizo la primera versión para Macintosh. Desde el lanzamiento de PGP 2.0, muchos otros programadores han enviado modificaciones y correcciones de errores, así como ajustes para transportar a otros ordenadores. Son demasiados para darles las gracias individualmente en este momento. Como en el cuento inglés "Stone Soup" {Sopa de piedra}, cada vez es más difícil mirar a través de la sopa para encontrar la piedra en el fondo de la olla, la que dejé caer para empezar todo esto. Acerca del autor ================ Philip Zimmermann es un asesor en ingeniería de programación con 19 años de experiencia, especializado en sistemas incorporados en tiempo real, criptografía, autenticación y comunicaciones de datos. Su experiencia incluye el diseño y la implementación de sistemas de autenticación para redes de información financiera, seguridad en redes de datos, protocolos de gestión de claves, ejecutivos multitarea en tiempo real, sistemas operativos y redes de área local. Zimmermann tiene versiones de productos de criptografía y autenticación, e implementaciones de clave pública como el NIST DSS, además de servicios de desarrollo de productos a medida. La dirección de su asesoría es: Boulder Software Engineering 3021 Eleventh Street Boulder, Colorado 80304 USA Teléfono 1-303-541-0140 (10:00am - 7:00pm Mountain Time) Fax: quedar por teléfono Internet: prz@acm.org