Instalando PGP
Por Daniel Sentinelli
En números anteriores hemos visto las características que
han convertido a PGP en un standard de facto cuando se
trata de privacidad informática. Hoy vamos a ver como
instalar y configurar PGP.
Que versión?
Existen versiones de PGP para DOS, OS/2, VMS, Amiga,
Unix, etc. En primer lugar debemos conseguir la versión
adecuada para nuestro sistema operativo.
Por otra parte debido a complejos problemas legales y
políticos que ya comentamos en números anteriores,
existen en este momento dos versiones de PGP: una
"oficial" que cuenta con la aprobación de todos los
poseedores de patentes sobre el algoritmo RSA, pero que
incluye limitaciones molestas o sospechosas; y otra
versión "internacional no-oficial" de origen menos claro
pero sin limitantes molestas.
Por razones obvias, es conveniente conseguir un paquete
de distribución standard, y a través de una fuente que
nos resulte confiable.
Al momento de redacción de esta nota, la ultima versión
de PGP es la 2.6, y por ej, los paquetes de distribución
para DOS se llaman PGP26.ZIP (versión oficial) y
PGP26UI.ZIP (versión "unofficial international").
Instalación
La Instalación es sumamente sencilla: basta con crear un
directorio (por ej. C:\PGP) y extraer dentro de él los
archivos que se encuentran el paquete de distribución.
Hay un par de detalles que conviene ajustar antes de
comenzar a trabajar con el programa.
Por un lado, conviene setear un par de variables de DOS
en el AUTOEXEC.BAT en forma similar a este ejemplo:
SET TZ=BUE3
SET PGPPATH=C:\PGP
La variable TZ debe responder al formato 'aaan' donde las
tres letras son solo descriptivas (BUE por Buenos Aires
en el ejemplo) y el valor numérico indica el
desplazamiento con respecto a la hora Universal o GMT.
Como varios programas usan esta variable, muchos usuarios
ya la tendrán correctamente definida.
Con respecto a PGPPATH, indica el lugar donde se
encuentran los archivos que contienen las claves públicas
y privadas (pubring y secring en la jerga PGP), y que
generalmente será el mismo directorio donde está
instalado el programa.
El segundo detalle a tener en cuenta es el archivo
CONFIG.TXT, que permite definir varias preferencias para
agilizar el uso del programa, como idioma, nombre del
usuario, y varios seteos técnicos.
Como sugerencia, recomiendo incluir "EncryptToSelf=On".
Como podran notar la Instalación es sumamente sencilla y
rápida. Por eso mismo recomiendo dedicar algunos minutos
a leer detenidamente la documentación del programa. Esta
es extremadamente clara y responde por adelantado a la
mayor parte de las preguntas que se plantean los
usuarios.
Generando las claves
Antes de generar su par de claves, asegúrese de haber
entendido claramente de que se trata todo esto. En
principio, uno genera sus claves una sola vez y las usa
para siempre. Tal como explicáramos en números
anteriores, la clave privada se mantiene secreta y no se
difunde jamás, mientras que la publica se distribuye lo
mas posible. Si Ud. no entiende el uso del programa, y
cada diez días genera nuevamente sus claves porque perdió
su secring o tuvo algún problema similar, deberá pedirle
a los demás usuarios de PGP que borren su clave publica
anterior e incorporen la nueva. Este tipo de maniobra
resulta engorrosa, la clave nueva tarda en distribuirse,
y en general la gente comenzará a odiarlo y maldecir su
username.
Si ya esta listo para empezar, todo lo que debe hacer es
tipear:
PGP -kg
Lo primero que pregunta el programa es la longitud de la
clave a generar. Cuanto mas grande es la clave, mayor es
el grado de seguridad que brinda, pero también resultan
mas lentas todas las operaciones que se realicen con esa
clave. El programa sugiere los siguientes valores:
384 bits: grado casual, rápido pero menos seguro
512 bits: grado comercial, velocidad intermedia, buena
seguridad
1024 bits: grado militar, muy lento, máxima seguridad
Antes de hacer su elección, evalúe sus necesidades de
seguridad así como la velocidad de la maquina en que va a
usarla, pero también considere el tiempo de vida que
espera darle a su clave. Tenga en cuenta que lo que tarda
20 segundos en una 386 de hoy, puede resultar casi
instantáneo en la Pentium o PowerPC que usara dentro de
algunos años. También considere que la CIA, las empresas
competidoras, o quien sea que pueda intentar violar su
privacidad, puede llegar a contar en el futuro con
supercomputadoras con las cuales atacar por fuerza bruta
una clave corta.
A continuación, el programa pide el nombre del usuario
(user ID) de la clave. El formato sugerido es:
nombre y apellido
Un detalle a tener en cuenta es que una clave puede tener
asociados varios user IDs. Por ej, mi clave esta asociada
a los user IDs
Daniel Sentinelli
Daniel Sentinelli <4:900/131@fidonet.org>
El siguiente paso es ingresar una passphrase, algo así
como una password pero mas larga. Por favor, no confunda
esta passphrase con su clave PGP. En realidad su clave
PGP va a ser solo una serie de bits sin sentido aparente,
que se genera una sola vez; en cambio la passphrase es
una especie de "llave de seguridad" para esa clave PGP, y
puede cambiarse todas las veces que desee. Siempre elija
una frase mas o menos larga para hacer mas difícil que
alguien pueda descubrirla mirándolo teclear, pero
asegúrese que va a recordarla en el futuro porque si la
olvida no podra acceder nunca mas a su clave PGP y deberá
generar una nueva.
A continuación, y si es la primera vez que usa el
programa, este le pedirá que tipee cualquier cosa en el
teclado. PGP necesita 152 bytes aleatorios para iniciar
su generador pseudo-random, y los obtiene a partir de las
diferencias de tiempo entre las pulsaciones de las
teclas. Sea irregular, y no ingrese patrones repetitivos
como "asdfglkjh".
Luego de algún tiempo de procesamiento, PGP genera el par
de claves. En el directorio de PGP aparecerán tres
archivos nuevos: RANDSEED.BIN que alimenta el generador
pseudo-random, SECRING.PGP que contiene la clave privada,
y PUBRING.PGP que contiene la clave publica.
Si Ud. generara varias claves, por ej una personal, otra
para el e-mail de su empresa, etc.; todas las claves
privadas se almacenan en SECRING.PGP. Por ese motivo es
muy importante que este archivo no escape nunca a su
control y que nunca caiga en manos de otra persona.
Por otra parte, en PUBRING.PGP ademas de su propia clave
pública, se almacenaran todas las claves públicas de las
personas con las que intercambie archivos encriptados.
Intercambio de claves
Ya estamos listos para empezar a usar PGP. Para eso vamos
a suponer que nuestro amigo Fernando Saicha ha seguido
pasos similares a los nuestros y también ha generado su
clave PGP.
Lo primero que necesitamos hacer es intercambiar claves
públicas. Para eso, en mi caso daría la orden
pgp -kx "Daniel Sentinelli" daniel.pgp
con lo que genero un archivo DANIEL.PGP que contiene mi
clave pública lista para ser distribuida. A su vez, mi
amigo hará lo mismo con su clave y producirá un archivo
SAICHA.PGP
Una vez hecho el intercambio de claves, debo incorporar
la que he recibido a mi pubring. Para esto la orden es:
pgp -ka saicha.pgp
y mi amigo hará lo propio con el archivo que yo le
entregue. El programa nos preguntara si queremos
certificar esa nueva clave. El tema escapa el alcance de
esta nota, así que por ahora, sugiero responder NO hasta
que sepa de que se trata.
Encriptando
Ahora si, ya estamos listos para intercambiar archivos
encriptados.
Tomamos cualquier archivo, por ejemplo un texto llamado
HOLA.TXT y aplicamos la orden:
pgp -e hola.txt "Fernando Saicha"
con lo que producimos el archivo HOLA.PGP, encriptado con
la clave publica de Fernando Saicha y decriptable solo
por el con su clave privada.
Decriptando
Vamos a suponer que nuestro amigo hizo lo mismo que
nosotros, y nos envio el archivo QUETAL.PGP, encriptado
con nuestra clave publica.
Para leerlo, aplico la orden
pgp quetal.pgp -o quetal.txt
El programa nos pedirá la passphrase que habilita el uso
de nuestra clave privada, necesaria para decriptar el
archivo. Si se ingresa correctamente, procesara el
archivo almacenando el resultado en QUETAL.TXT.
Firmando con PGP
Tal como resaltamos en artículos anteriores una de las
características mas importantes de PGP es la posibilidad
de "firmar" un archivo encriptándolo con nuestra clave
privada, permitiendo que quien lo decripte con nuestra
clave publica pueda estar seguro que el archivo fue
generado por nosotros. Para firmar un archivo la orden
es, por ej:
pgp -s contrato.txt
lo que generamos el archivo CONTRATO.PGP. Ya que debe
usar nuestra clave privada, el programa nos pide la
passphrase que habilita el acceso a esta. Cuando otra
persona recibe este archivo lo procesa igual que si fuera
a decriptarlo, con la diferencia que PGP no pedirá una
passphrase (ya que esta decriptando con nuestra clave
privada), y que mostrara un mensaje indicando que el
archivo esta correctamente firmado, incluyendo fecha y
hora de la firma.
Lo que hemos visto son solo las posibilidades básicas de
PGP, pero es suficiente para que todos los que lo deseen
puedan comenzar a experimentar con él.
Daniel Sentinelli dirige la consultora DATAFRONTier
especializada en comunicaciones, redes y seguridad
informática; y es un ferviente entusiasta de PGP y su
clave publica se encuentra disponible en varios "PGP
pubkey servers" locales y mundiales. Puede ser contactado
por e-mail en Internet en daniel@ubik.satlink.net, o en
Fidonet en 4:900/131. Su PGP fingerprint es 14 fe 06 10
f2 7b b3 3b e0 cb 5e 53 a7 d3 5b a9.