Otro texto clasico de EncomIX. La traducción al castellano de el programa PGP versión 2.6.2 internacional.
En aquella época, pensabamos que las matemáticas eran más fuertes que cualquier puerta blindada. Hoy somos más descuidados, pero la frase sigue siendo cierta.
[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










