Si
nos ha seguido hasta ahora, recordará que el sistema PGP consta de dos claves,
una pública y una privada. El siguiente paso consiste en crear su propio par
de claves. Comencemos con la versión 2.6.3
Para ello, vaya al sistema
operativo, sitúese en el directorio PGP, teclee
PGP -kg
y siga las instrucciones. El programa pregunta:
a) Tamaño de la clave. Se recomienda 1.024 o 2.048 bits, si
bien puede elegir el tamaño que prefiera. Como regla de andar por casa
considere lo siguiente: el ordenador más rápido del mundo en la actualidad
necesitaría una semana para romper una clave de 512 bits, 150 años para romper
una de 768 bits y unos 200.000 años para violentar una clave de 1024 bits (no
está mal para un programa criptográfico que cabe en un disquete). Máquinas con
hardware especialmente diseñado para romper claves pueden tardar bastante
menos, pero aún así nos movemos en las escalas de muchos años .. eso
suponiendo que alguien quiera gastarse trescientos millones de dólares para
leer sus mensajes.
b) Identificación del usuario. Se suele usar
el nombre seguido de la dirección electrónica, p. ej. "Juan Jiménez <
jjimenez@virtual.serv.es >" (Aunque puede vd. identificarse como prefiera,
la combinación Nombre+email suele ser la más utilizada).
c)
Contraseña. Se trata de una frase clave que vd. deberá entrar cada vez
que quiera cambiar las características de su clave secreta o, simplemente,
usarla. No necesita ser una sola palabra, sino una frase fácil de recordar,
como "Curro se va al Caribe" (recuerde que hay diferencia entre mayúsculas y
minúsculas). Esta contraseña no debe ser divulgada NUNCA y bajo ninguna
circunstancia.
d) Random bytes. Se le pedirá que teclee durante
unos segundos. El propósito de ello es el de dotar al generador de claves con
una ristra de bits elegidos al azar; en este caso, los bits proviene de los
intervalos entre la pulsación de una tecla y la siguiente. Por ello, teclee
múltiples teclas a diversas velocidades.
Hecho esto, el programa
creará dos ficheros: PUBRING.PGP (donde se guardará su clave pública, junto
con otras claves de otros usuarios que vaya vd. recogiendo en el futuro) y
SECRING.PGP (que contiene su clave secreta). Es extremadamente importante que
mantenga SECRING.PGP bajo siete llaves. Cuando vd. quiera distribuir su clave
pública para que le envíen mensajes cifrados, solamente ha de teclear
PGP -kxa e-mail archivo.txt (donde "e-mail" es su dirección de
correo electrónico y archivo.txt es el nombre del archivo que contiene su
clave pública)
Con la versión 5.5.3i, el proceso es más sencillo.
Solamente ha de ejecutar PGPkeys y activar la opción keys/new key
(claves/nueva). El programa le dará las instrucciones a seguir. Los
ficheros que contienen las claves se llaman en este caso PUBRING.PKR y
SECRING.SKR.
Un último detalle: en ambos casos debe firmar
inmediatamente su propia clave pública. De otro modo, un usuario sin
escrúpulos puede alterarla para hacerla pasar por propia. Use el comando -ks
si usa la versión 2.6.3i; la 5.5.3i firma automáticamente las claves creadas.
![]()
Esta sección es necesaria sólo si utiliza la versión 2.6.3
Si quiere utilizar el programa PGP, necesitará conocer
todos sus comandos. Puede obtenerlos tecleando " PGP -h". Sin embargo, activar
(!y conocer!) los diversos comandos es una labor frustrante e ingrata, con el
engorro añadido de tener que salir constantemente al sistema operativo DOS.
Es por esto que, en vez de tal cosa, se suele operar con PGP por
intermedio de un programa de interfaz ("shell") desde Windows, que convierte
los códigos de uso en simples botones dentro de un programa Windows. Existen
muchos de estos programas en circulación. ¿Cuál utilizar? Deseo aquí darle
alguna indicación al respecto.
Los shells que aquí presento no son
necesariamente los mejores o los más eficaces, sino que han sido seleccionados
de entre muchos (y no los conocemos todos, claro). Tenga asimismo presente la
situación legal de estos programas. Aunque son de libre distribución, algunos
requieren un registro y el pago de derechos a los autores. Por favor,
infórmese en cada caso; por lo general, el propio programa trae información al
respecto ![]()
Registre su clave pública
Uno de los
problemas más importantes acerca del esquema de criptografía de clave pública
(cualquiera que sea la versión utilizada) es la autentificación, esto es,
¿cómo saber si la clave pública realmente pertenece a quien afirma?
Aclaremos este punto con un ejemplo. Alicia quiere enviar un mensaje a
Benito. Para ello, recibe la clave pública de Benito y con ella cifra un
mensaje para enviárselo. Desafortunadamente, otro usuario (llamémosle Carlos)
ha generado un par de claves pública-privada y ha ubicado su propia clave
pública afirmando que es la de Benito. Alicia, sin saberlo, cifra el mensaje;
pero, puesto que la clave realmente pertenece a Carlos, es éste quien podrá
descifrar el mensaje más tarde. Es como si Carlos crease un buzón de correos
rotulado "Benito" pero que realmente no pertenece a Benito.
¿Cómo se
puede evitar esta usurpación de personalidad? Debemos asegurarmos de que la
clave de Benito no ha sido manipulada o creada por otro. Para ello, no debemos
fiarnos de claves públicas transmitidas por un tercero u obtenidas en lugares
dudosos (por ejemplo, un BBS, o Servicio Electrónico de Tableros). La mejor
forma es pedírsela al propio Benito, bien personalmente, bien accediendo a
direcciones electrónicas (http, ftp, correo-e) que sepamos pertenecen a Benito
y se encuentran bajo su control; también podemos ponernos en contacto con él
para que pueda verificar que la clave que poseemos realmente es suya.
Puesto que no siempre es ésto posible, también existe la posibilidad
de aceptar una clave si viene avalada por una persona de nuestra confianza.
Esto se puede lograr mediante la firma de claves. Cualquier clave pública
puede ser "firmada" digitalmente por terceros, los cuales dan fe de la
autenticidad de esa clave. Si, por ejemplo, usted tiene confianza en Diego,
una clave pública firmada por él será para vd. garantía de la veracidad de la
clave pública por usted conseguida. Lo mismo sucede al revés: si su clave
pública ha sido firmada por otros usuarios, cualquier persona que confíe en
ellos aceptará su clave.
El proceso se puede jerarquizar, de tal modo
que existen Autoridades de Certificación (AC) centrales para claves PGP; así,
podríamos fiarnos de una AC gubernamental del mismo modo que confiamos en un
documento emitido por el Estado (DNI, pasaporte, libro de familia,...).
Alternativamente, una AC puede actuar como un servidor de claves: una especie
de listín telefónico, donde se guardan claves públicas de muchas personas.
Puede así obtenerse la clave pública de una persona, o bien comprobar que una
clave obtenida por otros medios es auténtica (análogamente a como obtenemos y
verificamos números de teléfono en las páginas amarillas).
En la
actualidad, la tendencia es a que las AC sean empresas privadas (por ejemplo,
VeriSign, Thawte o la española IPS), en tanto que los servidores de claves son
entidades no lucrativas. Como ejemplo, he aquí el
Servidor de claves
de RedIris
En cualquier caso, PGP le proporcionará cifrado seguro
si sigue normas de seguridad sencillas y básicas:
1) Utilice solamente
claves públicas de confianza; no se fíe de claves transmitidas por terceros,
por conductos inseguros o que no son verificables. Juzgue la validez de una
clave en función de las firmas que la avalan. Y viceversa: procure que las
personas que vayan a enviarles mensaje cifrados tengan acceso a su clave
pública, y que ésta este adecuadamente avalada por terceros de confianza.
2) Mantenga el control físico sobre su anillo de claves públicas
(PUBRING). El objetivo es protegerlo contra manipulación, no contra
exposición. Guarde cuidadosamente el fichero de clave secreta (SECRING) contra
cualquier tipo de uso por parte de terceros. Y conserve una copia de seguridad
de ambos ficheros (PUBRING y SECRING)
3) NUNCA firme una clave pública
de otra persona a no ser que esté realmente seguro sobre la identidad del
propietario.
4) Tampoco firme documentos que le presenten al azar; no
sólo pondría vd. su credibilidad en juego, sino que un fisgón podría utilizar
esa información para intentar violentar su clave.
Con estas sencillas
precauciones (sentido común, al fin y al cabo), su herramienta de cifrado será
totalmente segura.
![]()