#4sysadmins

Inicio » Comandos para el uso de GPG

Comandos para el uso de GPG

gpg : Alternativa libre del sistema de encriptación y firmas pgp

  • Generar claves:
$ gpg --gen-key

Tras responder a una serie de preguntas relacionadas con la clave, como por ejemplo el nombre completo de la persona, dirección de correos, contraseña (muy importante recordarla y no perderla), etc… se crearán las claves en el directorio ~/.gnupg.

  • Comprobar las claves que tenemos en nuestro anillo de claves:
$ gpg -k

o

$ gpg --list-keys
  • Exportar claves a usuarios en formato binario o en ASCII para poder enviar por correos:
$ gpg --export ID_Clave > nebul4ck-gpg.pub

o

$ gpg --output nebul4ck-gpg.pub --export ID_Clave

Con este comando estaremos generando una clave pública (nebul4ck-gpg.pub) la cual se creará en el directorio en el que estemos trabajando y que posteriormente distribuiremos para que puedan verificar nuestros correos/documentos o encriptar sus mensajes para que solo nosotros podamos descifrar.

Si teníamos pensado enviar nuestra clave pública por correo, podríamos haber añadido la opción –armor al comando gpg –export de manera que se generara una salida ASCII.

  • Exportar a depósitos de claves (servidores de red que contienen multitud de claves públicas):
$ gpg --keyserver pgp.rediris.es --send-keys ID_denuestraclave

Este comando enviará nuestra clave al servidor de claves pgp.rediris.es (servidor de claves públicas) para que posteriormente pueda ser descargada por algún interesado.

Aviso: Para crear claves públicas anteriormente utilizamos el uid (nombre o correo electrónico) o bien el código de la línea pub de la salida del comando gpg -k. Para subir una clave pública a un depósito de clave solo servirá el ID de la linea pub.

  • Importar claves públicas de terceros:
$ gpg --import <nombre-archivo>

O bien, importarla desde un servidor de claves:

$ gpg --key-server <nombre_host> --recv-keys <id_clave>
  • Revocar clave pública:

Nota: Es muy importante generar un certificado de revocación de clave si hemos decidido enviar nuestra clave a un servidor, ya que está será distribuida en pocos minutos al resto del mundo.

Para crear el certificado de revocación haremos lo siguiente:

$ gpg --gen-revoke <ID_clave>

Podemos añadir la opción –output <nombre_archivo.gpg> si en vez de mostrar el certificado por la stdout se añada a un archivo.

Una vez tengamos generado el certificado deberemos de copiar y pegar el texto mostrado por la stdout en un archivo (en caso de que no hayamos agregado la opción –output directamente). Este será nuestro certificado de revocación. Si llega el momento de revocar la clave deberemos de importar este certificado en nuestra clave, bastará con:

$ gpg --import <nombre_archivo.gpg>

Deberemos de distribuir esta revocación a los usuarios que estaban haciendo uso de nuestra clave. Si la teníamos subida a un depósito de claves público, deberemos de volver a usar el comando gpg con las opciones –keyserver y –send-keys para importar nuestra clave revocada.

  • Para cifrar un documento con la clave pública de un usuario (por ejemplo jjgomez) desde el usuario nebul4ck podremos hacer lo siguiente:

    1 . Se supone que ta tenemos importada a nuestro anillo de claves la clave pública de jjgomez por lo que vamos a comprobar su ID:

    $ gpg -k
    /home/nebul4ck/.gnupg/pubring.gpg
    --------------------------------
    pub 2048R/BCK2ADAK 2015-03-28 [expires: 2015-03-30]
    uid nebul4ck <nebul4ck@freeser.com>
    sub 2048R/2AD3B0D9 2015-03-28 [expires: 2015-03-30]
    pub 2048R/5GJ945FD 2015-03-30 [expires: 2015-04-01]
    uid Jose Julio Gómez (Mi mail) <jjmgomez@gmail.com>
    sub 2048R/CB851754 2015-03-30 [expires: 2015-04-01]

    2 . Ciframos de la siguiente manera (usaremos el nombre, correo o ID de jjgomez)

    $ sudo gpg --output contabilidad_2015.dot.gpg --recipient 5GJ945FD --encrypt contabilidad_2015.gpg

    De esta manera obtendremos un archivo binario, por lo que no podremos pasarlo directamente por email a menos que sea como adjunto. Podremos añadir la opción –armor para codificarlo en ASCII y poder copiar y pegar el texto en un correo.

    $ sudo gpg --output contabilidad_2015.dot.gpg --recipient 5GJ945FD --armor --encrypt contabilidad_2015.dot

    Ahora vamos a descifrar el documento desde el usuario jjgomez:

    $ sudo --output contabilidad_2015.dot --decrypt contabilidad_2015.dot.gpg

    Nos pedirá la contraseña (la que introdujo en este caso jjgomez cuando generó su par de claves). Y listo! ya podremos leer el documento.

  • Para firmar un documento podremos usar las opciones –sign o –clearsign de gpg. La diferencia entre ambas opciones es que –sign además de firmar el documento, lo encriptará con la clave privada, de manera que el destinatario (jjgomez) podrá verificar que se trata de un documento procedente de nosotros mediante la opción –verify <archivo> pero no podrá leerlo a menos que lo descifre antes con –decrypt. Si utilizamos –clearsign el documento irá sin cifrar, por lo podrá leerse sin problemas y comprobar igualmente mediante –verify que el documento fue emitido por nebul4ck.

    Utilizar –sign provocará que se cree un archivo encriptado con el mismo nombre que el original pero con extensión .gpg. Si utilizamos –clearsign el archivo resultando tendrá la terminación .asc

    $ gpg --clearsign contabilidad_2015.dot
    $ gpg --verify contabilidad_2015.dot.asc

    Si queremos profundizar algo mas en el uso de gpg podremos acudir a la siguiente dirección https://www.gnupg.org/gph/es/manual.html, y además leer la página man de gpg.


Deja un comentario, Gracias!

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: