0% encontró este documento útil (0 votos)
95 vistas

GPG Manual Linux

El documento proporciona una introducción al uso de GnuPG (GNU Privacy Guard) para cifrar y firmar archivos de manera segura. Explica cómo generar claves públicas y privadas, exportar la clave pública para compartirla, importar claves de otros, cifrar archivos con claves públicas, descifrar con la clave privada, y firmar archivos digitalmente para verificar la autenticidad. El objetivo final es poder enviar archivos de manera confidencial solo accesibles por el destinatario a través del cifrado asimétrico de claves.

Cargado por

anonimo mo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
95 vistas

GPG Manual Linux

El documento proporciona una introducción al uso de GnuPG (GNU Privacy Guard) para cifrar y firmar archivos de manera segura. Explica cómo generar claves públicas y privadas, exportar la clave pública para compartirla, importar claves de otros, cifrar archivos con claves públicas, descifrar con la clave privada, y firmar archivos digitalmente para verificar la autenticidad. El objetivo final es poder enviar archivos de manera confidencial solo accesibles por el destinatario a través del cifrado asimétrico de claves.

Cargado por

anonimo mo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 10

Hemos hablado ya sobre la criptografa simtrica y asimtrica y

sobre la firma digital, solo toca ponerlo en prctica


con GnuPG (la versin libre de PGP o mejor dicho Pretty Good
Privacy), con el que cifraremos cualquier tipo de archivo que
podremos mandar libremente con cierta seguridad de que
nadie lo podr leer. Y puede que a muchos os ayude a entender
como funciona la criptografa y como funciona el polmico
cifrado de Mega, que tanto est dando que hablar estos das.

Qu es GnuPG?
Antes de empezar con lo interesante tenemos que saber que
es GPG (GNU Privacy Guard), que es un derivado libre de PGP y
su utilidad es la de cifrar y firmar digitalmente, siendo adems
multiplataforma (podis descargarlo desde la pgina oficial)
aunque viene incorporado en algunos sistemas Linux, como
en Ubuntu (ser con el sistema que har todos los ejemplos, en
Windows se encuentra solo con gestor grfico).

Anillo de claves
GPG tiene un repositorio de claves (anillo de claves) donde
guarda todas las que tenemos almacenadas en nuestro sistema,
ya sean privadas o pblicas (como coment, con la clave pblica
cifraremos un mensaje que solo podr descifrar el que posee la
clave privada).

Ms adelante cuando veamos un anillo de claves debemos de


recordar que pub hace referencia a la clave pblica y sub hace
referencia a la privada (y que tenemos que tener a buen
recaudo).

Servidores de claves
Para que nos cifren un mensaje tenemos que compartir la clave
pblica de nuestro par de claves para cifrar, y como es un poco
engorroso difundir una clave a muchas personas existen los
servidores de claves PGP (compatibles con GPG), donde subir
una clave pblica para el que quiera probar los ejemplos.
Unos ejemplos de servidores son estos: pgp.rediris.es (espaol,
aunque falla algunas veces) o pgp.mit.edu (americano, del MIT y a
mi no me ha dado problemas).

Cifrado simtrico

Como ya sabis el cifrado simtrico es el tipo de cifrado ms


sencillo que hay, es ms rpido de procesar y por desgracia
menos seguro que el cifrado asimtrico.
Para empezar la prueba tenemos que tener un archivo de
cualquier tipo e introducir en la terminal de Linux el
comando gpg con el parmetro -c para cifrar y -d para descifrar.

pedro@ubuntu:~/gpg$ echo "Genbeta Dev" > texto.txt

pedro@ubuntu:~/gpg$ gpg -c texto.txt

Tras crear un archivo de texto usamos el comando gpg -c


[archivo], nos aparecer un cuadro que nos pide la contrasea y
se generar un archivo .gpg. Y despus lo descifraremos con el
comando gpg -d [archivo] (e introduciendo la clave de alta
seguridad, en este caso qwerty).
pedro@ubuntu:~/gpg$ gpg -d texto.txt.gpg

gpg: datos cifrados CAST5

gpg: cifrado con 1 frase contrasea

Genbeta Dev

gpg: AVISO: la integridad del mensaje no est protegida

Podis probar a descifrar este archivo usando la clave qwerty.

Cifrado asimtrico

Generar las claves


Para poder cifrar asimtricamente primero tenemos que crear la
pareja de claves (pblica y privada) con el comando gpg --gen-key.

pedro@ubuntu:~/gpg$ gpg --gen-key


gpg (GnuPG) 1.4.11; Copyright (C) 2010 Free Software Foundation, Inc.

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.

Por favor seleccione tipo de clave deseado:

(1) RSA y RSA (predeterminado)

(2) DSA y Elgamal

(3) DSA (slo firmar)

(4) RSA (slo firmar)

Su seleccin?:

GPG nos permite elegir el tipo de clave que queremos usar, hay
opciones que solo permiten firmar y otras que permiten firmar y
cifrar, en este caso usaremos DSA y Elgamal.

las claves DSA pueden tener entre 1024 y 3072 bits de longitud.

De qu tamao quiere la clave? (2048)

Nos piden el tamao de la clave que puede variar entre 1024


bits y 3072, esto es de libre eleccin, yo tomar el trmino
medio que es el que propone por defecto (2048).

A partir de aqu todo es ms trivial, nos pide la fecha en la que


expirar la clave, la informacin del emisor de la clave (nombre,
mail y algunos datos extra que queramos dar) y por ltimo nos
pedir la contrasea que salvaguarda la clave privada.

Tras generar las claves podemos verlas con el comando gpg


-k que nos muestra nuestro anillo de claves, lo importante de
este paso es que veremos la identificacin de cada una, que es
necesaria para poderlas exportar y enviar.
pedro@ubuntu:~/gpg$ gpg -k

/home/pedro/.gnupg/pubring.gpg

------------------------------

pub 2048D/18384645 2013-01-23

uid Pedro Gutirrez (Manual GPG - Genbeta Dev)


<[email protected]>

sub 2048g/C4A9EA7A 2013-01-23

Exportar y enviar la clave privada

El objetivo de esta pareja de claves es que cualquiera nos


pueda mandar un archivo cifrado que solo veremos nosotros
y esto se hace difundiendo la clave pblica que acabamos de
crear (la pblica, nunca la privada), para exportarla en un
archivo usaremos el comando gpg -output [archivo destino] --export
[ID de a clave pblica] (la clave pblica generada antes tiene la
ID 18384645).

pedro@ubuntu:~/gpg$ gpg --output CPub.gpg --export 18384645

pedro@ubuntu:~/gpg$ ls

CPub.gpg

Este archivo ahora se puede difundir por el medio que


queramos, tenemos que tener en cuenta que el nico problema
de seguridad que habra en difundir la clave es que alguien se
hiciese pasar por otro al mandarnos un mensaje, algo que
pasara igual si no estuviese cifrado, por eso el que nos enve
algo lo debera de firmar (si fuese pertinente).

Podis descargar esta clave pblica, que ahora veremos como


importar y sirve para mandarme un archivo cifrado o para
comprobar que un archivo lo he firmado yo.
Subir una clave pblica a un servidor de claves

Los servidores de claves suelen ser de acceso pblico (al no


haber mucho problema por difundir una clave pblica) y en este
caso subiremos una clave a los servidores del MIT (pgp.mit.edu)
usando el comando gpg --send-keys --keyserver [Direccin del
servidor] [ID de la clave pblica] (al igual que antes la ID
es 18384645).

pedro@ubuntu:~/gpg$ gpg --send-keys --keyserver pgp.mit.edu 18384645

gpg: enviando clave 18384645 a hkp servidor pgp.mit.edu

A partir de este momento la clave estar accesible desde este


servidor especfico.

Importar la clave desde el archivo o servidor de


claves

Para poder usar la clave pblica para cifrar o comprobar la


identidad del remitente tenemos que importar previamente la
clave, desde un archivo debemos de usar el comando gpg --import
[Archivo de la clave pblica] (el que hemos descargado
anteriormente).

pedro@ubuntu:~/gpg$ gpg --import CPub.gpg

gpg: clave 18384645: Pedro Gutirrez (Manual GPG - Genbeta Dev)


<[email protected]> sin cambios

gpg: Cantidad total procesada: 1

gpg: sin cambios: 1

Al tener la clave ya en mi anillo de claves me contesta que no


hay cambios.
Para realizar la importacin desde el servidor tenemos que usar
el comando gpg --keyserver [Direccin del servidor] --recv-keys [ID de
la clave].
pedro@ubuntu:~/gpg$ gpg --keyserver pgp.mit.edu --recv-keys 18384645

gpg: solicitando clave 18384645 de hkp servidor pgp.mit.edu

gpg: clave 18384645: Pedro Gutirrez (Manual GPG - Genbeta Dev)


<[email protected]> sin cambios

gpg: Cantidad total procesada: 1

gpg: sin cambios: 1

Como podemos ver al tener ya la clave nos devuelve el mismo


mensaje.

Cifrar con la clave pblica


Ahora tenemos que pensar que hemos importado una clave
pblica, por ejemplo de nuestro jefe y tenemos que mandarle un
documento, para cifrar el documento usaremos el comando gpg
encrypt recipient [ID de la clave] [Archivo]

pedro@ubuntu:~/gpg$ echo "Genbeta Dev" > documento.txt

pedro@ubuntu:~/gpg$ gpg --encrypt --recipient 18384645 documento.txt

pedro@ubuntu:~/gpg$ ls

documento.txt documento.txt.gpg

Y ya tenemos el archivo listo para mandarlo de forma segura.

Descifrar un archivo con la clave privada


Y ahora es el momento de descifrar con nuestra clave privada el
documento tras recibirlo, con el comando gpg -d [Archivo] e
introduciendo la contrasea que creamos para salvaguardar la
clave privada.
pedro@ubuntu:~/gpg$ gpg -d documento.txt.gpg

Necesita una frase contrasea para desbloquear la clave secreta

del usuario: "Pedro Gutirrez (Manual GPG - Genbeta Dev)


<[email protected]>"

clave ELG-E de 2048 bits, ID C4A9EA7A, creada el 2013-01-23 (ID de clave


primaria 18384645)

gpg: cifrado con clave ELG-E de 2048 bits, ID C4A9EA7A, creada el 2013-
01-23

Pedro Gutirrez (Manual GPG - Genbeta Dev) <[email protected]>

Genbeta Dev

Y el resultado nos lo muestra a continuacin (Genbeta Dev), aunque


si queremos especificar la salida debemos de usar el
parmetro -o [Archivo de salida].

Firmar archivos
Una de las medidas de seguridad bsicas al pasar un mensaje es
asegurarnos que el emisor es quien dice ser, para asegurarnos
de esto digitalmente existe la firma digital, en el artculo
anterior expliqu como GPG usaba los hash para crear una
firma simple, pero tambin podemos cifrarlo y a su vez firmarlo,
que es lo que haremos con el comando gpg -u [ID de la clave
privada] --output [Archivo resultante] --sign [Archivo para firmar] e
introduciendo la contrasea de la clave privada.

pedro@ubuntu:~/gpg$ echo "Genbeta Dev" > firmar.txt

pedro@ubuntu:~/gpg$ gpg -u C4A9EA7A --output firmar.txt.gpg --sign


firmar.txt
Necesita una frase contrasea para desbloquear la clave secreta

del usuario: "Pedro Gutirrez (Manual GPG - Genbeta Dev)


<[email protected]>"

clave DSA de 2048 bits, ID 18384645, creada el 2013-01-23

Y ahora para asegurarse la confidencialidad del documento


(ahora que esta firmado por nosotros) deberamos de cifrarlo
con la clave pblica del destinatario.

Verificar y descifrar un archivo firmado


Cualquiera con la clave pblica asociada a la que ha firmado el
documento puede leerlo, de la misma forma que desciframos un
archivo (gpg -d [Archivo]) o verificndolo nicamente con el
comando gpg --verify [Archivo].

pedro@ubuntu:~/gpg$ gpg --verify firmar.txt.gpg

gpg: Firmado el mi 23 ene 2013 05:25:18 CET usando clave DSA ID 18384645

gpg: Firma correcta de Pedro Gutirrez (Manual GPG - Genbeta Dev)


<[email protected]>

Y el resultado es la informacin del remitente, que podis


comprobar vosotros con este archivo y con la clave pblica de
los pasos anteriores.

Resumen
GPG es una herramienta de cifrado muy potente y fcil de usar,
que en principio, a la mayora no nos hace falta, pero puede que
se nos presente la necesidad de enviar algo por medio inseguros
(porque no haya ms remedio), hacindolo de esta forma
podremos hacerlo sin miedo ha que lean el contenido del
archivo o nos den el cambiazo.
Este es un tema bastante extenso y si no lo acabas de entender
puede ser un lo, pero para preguntar estn los comentarios

También podría gustarte