Skip to topic | Skip to bottom
Home
Sysadmin
Sysadmin.GnuPGesr1.1 - 19 Apr 2005 - 15:00 - BertAgaztopic end
You are here: Sysadmin > GnuPGes

Start of topic | Skip to actions

Introducción a OpenPGP

Hace 25 años toda encriptación estaba basada en alguna forma de clave secreta compartida - como todas las partes que utilizaban esta encriptación debían tener la misma clave para desencriptar el código podía romperse haciéndose con una de estas claves.

Entonces apareció el concepto de clave pública-clave secreta/privada. Resumiendo, una clave pública es algo que puedes enviar literalmente a todo el mundo porque sólo permite encriptar un contenido que luego puede ser desencriptado por la clave secreta. Las claves públicas encriptan, las secretas desencriptan.

También puedes "firmar" documentos con tu clave secreta, creando un checksum encriptado del contenido del documento que otros pueden verificar con la clave pública para asegurarse que realmente el documento ha sido creado por tí y que no ha sido modificado.

Cuestiones de Seguridad

El modo más sencillo (y más utilizado) para "romper" esta encriptación se denomina "Hombre En El Medio", esto es, si una persona A intenta enviar un mensaje a la persona B, una tercera persona, C, puede colocarse entre ambos y hacer creer a la persona A que es B y viceversa. Es un truco sencillo, pero funciona si no se presta atención.

Hay algunas maneras de combatir estos ataques de suplantación. Primero, y el más directo, es dar tu clave pública de huella digital (fingerprint). Para claves DSA (algoritmo de firma digital) obtenidas mediante GnuPG se trata de un número hexadecimal (base 16) de 40 dígitos, siendo los 8 últimos el identificador de la clave (keyid). Aunque podría haber varias claves compartiendo la misma huella dactilar, el número de claves que uno tendría que generar para encontrar una que coincida es simplemente astronómico.

La segunda manera, que es utilizada a menudo cuando estás contactando con esa persona por primera vez, es verificar las firmas de su clave pública. Como la firma de archivos, algún amigo puede utilizar sus claves secretas para firmar tu clave pública. A diferencia de la firma de documentos, sin embargo, las claves de firma no indican propiedad - indican un conocimiento de primera mano de que la clave es de hecho propiedad de la persona que afirma ser el propietario. Si recibes una clave por primera vez y está firmada por un amigo, es de esperar que se pueda confiar lo suficiente en el jucio de tu amigo como para confiar en la clave de la nueva persona también. Si no reconoces ninguna firma en la clave puedes pasar al siguiente paso y comprobar todas las firmas de los firmantes de claves nuevas. Esto se llama una red de confianza. Dado el hecho de que la mayoría de IMCistas se conocen unos a otros a través de una o dos personas, deberíamos ser capaces de verificar a alguien nuevo a través de contactos con su IMC local o algun otro relacionado con otro IMC que los conozca.

Cada bit que se añade a la clave dobla el número de combinaciones posibles. Considerando que la velocidad de los ordenadores se dobla cada 18 meses, harán falta varias veces tu vida para descifrar una clave de 1024 bits. Sería mucho más fácil entrar en tu casa cuando no estés y copiarse tu clave secreta del disco duro. Es por esto que utilizamos "frases de paso"(passphrases) para encriptar/desencriptar nuestras claves secretas cuando las necesitamos. Si tienes la necesidad de ser realmente precavido, utiliza una "frase de paso" larga, que no sean palabras, alfanumérica con mayúsculas y minúsculas, aleatorias y mantén tus keyrings en un disco de 3½ cuidadosamente escondido en lugar de guardarlo en el disco duro.

Empezando

Si todavía no lo has hecho, ves a http://www.gnupg.org/ y descarga el software. Desde el shell (Usuarios de Windows: shell = MS-DOS/Línea de Comandos) y ejecutad el siguiente comando dos veces:

gpg --gen-key

La primera vez debería decirte que está creando tus keyrings, la segunda vez entrará en el menú de generación de claves. Deja las opciones por defecto excepto las de nombre real, email y frase de paso (Passphrase). Puedes poner un tiempo de expiración de un año ya que esta es tu primera clave, no hace falta introducir ningún comentario a no ser que vayas a necesitar más de una clave (ie, claves personales/profesionales separadas). Mueve el ratón aleatoriamente, pulsa también algunas teclas, etc. se trata de generar un poco de entropía - ves haciendo hasta que el programa tenga suficientes datos.

En este punto debería haber finalizado la generación de la clave, prueba esto:

gpg --fingerprint

Debería mostrarte tu clave junto con su huella y posiblemente alguna información más como subclaves, etc. Ahora, esto es importante, antes de hacer nada más coge un DISCO NUEVO y copia todos los archivos con extensión gpg (*.gpg) en el disco para tener una copia de seguridad. Con la clave secreta siempre podrás firmar una nueva clave y generar un certificado de revocación de la vieja, o añadir una nueva dirección de correo (y borrar viejas), pero sin la clave secreta pierdes el control sobre ella hasta que expire.

Ahora toca enviar tu clave a un servidor de claves de IMC. No importa realmente a cual, ya que todos están conectados entre ellos, escoge uno de los que estén próximos a ti y usa ese. Si deja de funcionar utiliza otro. Escribe esto para enviar tu clave al servidor keys.indymedia.org, por ejemplo:

gpg --keyserver keys.indymedia.org --send-key

Al introducir tu huella obtuviste el identificador de clave (keyid), aparece detrás de 1024D/ y se corresponde también con los últimos 8 dígitos de la huella. Una vez que hayas completado este paso, tu clave estará ya disponible para que la utilicen otros usuarios. Puedes recibir claves de amigos o recibir una copia actualizada de tu propia clave que un amigo tuyo haya firmado con el siguiente comando:

gpg --keyserver keys.indymedia.org --recv-key

Para asignar un nivel de confianza a la clave de un amigo (amigo se refiere a alguien que has conocido en persona y has verificado que su clave es legítima):

gpg --edit-key

Utiliza entonces el menú para "trust"(confiar) y "sign"(firmar), entonces "save"(guardar). Un último consejo antes de empezar a utilizarla, para evitar tener que escribir --keyserver todo el rato puedes editar el archivo de opciones de GnuPG e indicar allí el servidor.

Utilizando la clave

El lugar más habitual donde utilizar GnuPG es en tu cliente/programa de correo electrónico. Mira en la sección Frontends de http://www.gnupg.org/ para ver cómo hacer que funcione con tu aplicación de correo. Por supuesto si utilizas correo estándar de web tendrás que hacerlo de la forma difícil, pero siempre puedes pasarte a un servicio de correo de verdad.

Para encriptar algo "manualmente" sálvalo como archivo de texto y ejecuta en la línea de comandos:

gpg --armor --encrypt -r

Una forma alternativa, abreviada, de hacer esto:

gpg -ea -r
[donde -e = --encrypt, -a = --armor y -r = -recipient]

Esto creará un fichero nuevo encriptado con extensión .asc. Para desencriptar algo encriptado con tu clave (encripta algo con tu propia clave para probar) escribe esto:

gpg --decrypt

o también,

gpg -d

[aquí -d es la abreviación de --decrypt]

Puedes utilizar la redirección (>, ó --output) para guardar el resultado desencriptado en un archivo en lugar de que salga por la pantalla del shell.

Hay miles de usos más, pero dejaré que te leas el manual que contiene GnuPG para averiguarlos. smile Que lo pases bien, y no dejes que mi jerga técnica te desanime. Realmente es bastante simple de utilizar y los beneficios de su utilización bien valen el tiempo empleado en aprender a utilizarlo.

Miscelánea

Para más información, ver la página del grupo de trabajo del KeyServer

Fuente: http://lists.indymedia.org/mailman/public/keyservers/2002-March/000001.html

Translated from GnuPG by elgrillado

-- BertAgaz - 19 Apr 2005
to top


You are here: Sysadmin > GnuPGes

to top

Copyright © 1999-2008 by the contributing authors.
All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding this tool? Send feedback (in English, Francais, Deutsch or Dutch).