GNU/Linux >> Tutoriales Linux >  >> Linux

Conceptos básicos de GnuPG explicados con ejemplos de comandos GPG de Linux

GnuPG significa GNU Privacy Guard.

GnuPG es una implementación abierta del estándar OpenPGP (Pretty Good Privacy) tal como se define en RFC 4880. En este artículo cubriremos la instalación y los aspectos básicos de la generación de claves usando gnupg.

Este artículo es parte de nuestro serie en curso sobre criptografía. Si es nuevo en criptografía, consulte nuestro artículo anterior sobre Introducción a la criptografía.

En sistemas basados ​​en Debian, use el siguiente comando para instalar la herramienta GnuPg.

# apt-get install gnupg

El primer paso para usar GnuPg es crear los pares de claves pública y privada. El siguiente comando se utiliza para crear las claves.

$ gpg --gen-key

El comando anterior actuará en modo interactivo. A continuación se explican varias entradas que se deben dar al comando gpg anterior.

1. Elija el algoritmo que se utilizará para la generación de claves

gpg: directory `/home/lakshmanan/.gnupg' created
gpg: new configuration file `/home/lakshmanan/.gnupg/gpg.conf' created
gpg: WARNING: options in `/home/lakshmanan/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/home/lakshmanan/.gnupg/secring.gpg' created
gpg: keyring `/home/lakshmanan/.gnupg/pubring.gpg' created
Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)

Your selection?

Cada algoritmo tiene sus propias ventajas y desventajas. Elija el que prefiera o utilice el algoritmo RSA predeterminado. Presiona 1 o Entrar .

2. Selecciona el tamaño de la clave

Una vez seleccionado el algoritmo, le pedirá el tamaño de la clave.

RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)

En general, cuanto mayor sea el tamaño de la clave, más segura será. Prácticamente 2048 debería ser suficiente. Escriba el tamaño de su clave o presione Intro para aceptar el valor predeterminado.

3. Validez de clave

La siguiente entrada que debemos proporcionar es cuánto tiempo es válida la clave.

Requested keysize is 2048 bits
Please specify how long the key should be valid.
         0 = key does not expire
        = key expires in n days
      w = key expires in n weeks
      m = key expires in n months
      y = key expires in n years
Key is valid for? (0)

Escriba 0 si no desea que la clave caduque.

Volverá a pedir una confirmación. Presiona Y

Key does not expire at all
Is this correct? (y/N) y

4. Crear ID de usuario y contraseña

Cada clave se asignará con una identificación de usuario y una contraseña. Ahora le pide su nombre, correo electrónico y frase de contraseña

You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
    "Heinrich Heine (Der Dichter) "

Real name: lakshmanan
Email address: [email protected]
Comment: My test GPG keys
You selected this USER-ID:
    "lakshmanan (My test GPG keys) "

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
You need a Passphrase to protect your secret key.

Enter Passphrase

5. Teclas de salida final

Para generar una clave única, el sistema necesita más bytes aleatorios. Por lo tanto, realice algunas operaciones que accedan al disco, la red, etc., para que el sistema obtenga suficientes bytes aleatorios.

We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.

Not enough random bytes available.  Please do some other work to give
the OS a chance to collect more entropy! (Need 39 more bytes)
+++++
+++++

Una vez que haya suficientes bytes aleatorios disponibles, se generarán las claves.

gpg: /home/lakshmanan/.gnupg/trustdb.gpg: trustdb created
gpg: key A7344E7D marked as ultimately trusted
public and secret key created and signed.

gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
pub   2048R/A7344E7D 2012-10-12
      Key fingerprint = 3AE0 7948 C880 E5F7 F0A1  E16A 6EBB 3931 A734 4E7D
uid                  lakshmanan (My test GPG keys)
sub   2048R/96F8EF9B 2012-10-12

Ahora hemos generado los pares de claves para usar con GnuPg. El resultado anterior proporciona información importante como

ID de clave A7344E7D

Usaremos este Key-Id para realizar varias operaciones, como veremos más adelante.

6. Enumere los pares de claves

Puede enumerar las claves que se generaron utilizando la opción –list-keys y –list-secret-keys

$ gpg --list-keys
/home/lakshmanan/.gnupg/pubring.gpg
-----------------------------------
pub   2048R/A7344E7D 2012-10-12
uid                  lakshmanan (My test GPG keys)
sub   2048R/96F8EF9B 2012-10-12

$ gpg --list-secret-keys
/home/lakshmanan/.gnupg/secring.gpg
-----------------------------------
sec   2048R/A7344E7D 2012-10-12
uid                  lakshmanan (My test GPG keys)
ssb   2048R/96F8EF9B 2012-10-12

7. Exporte sus claves públicas

Ahora hemos generado un par de claves. El siguiente paso es publicar su clave pública en Internet (servidores de claves), para que otra persona pueda usar esa clave pública para enviarle un mensaje.

$ gpg --armor --export --output lakshmanan_pubkey.gpg lakshmanan

Ahora el archivo ‘lakshmanan_pubkey.gpg’ tendrá mi clave pública. También puede usar su ID de clave o dirección de correo como argumento para este comando.

$ gpg --armor --export --output lakshmanan_pubkey.gpg A7344E7D

or

$ gpg --armor --export --output lakshmanan_pubkey.gpg [email protected]

Ahora puede enviar el archivo a las personas con las que conversa.

8. Enviar claves a un servidor de claves

Exportar su clave pública y enviarla a las personas será engorroso, si habla con muchas personas. En ese caso, puede cargar su clave pública en un servidor llamado "Key-Sever". Así que las personas que quieren su clave pueden obtenerla del servidor de claves.

$ gpg --send-keys --keyserver keyserver.ubuntu.com A7344E7D

Ahora debería tener un conocimiento básico de GnuPG. En el próximo artículo de esta serie, explicaremos cómo cifrar, descifrar y firmar digitalmente sus mensajes utilizando GnuPG.


Linux
  1. Comando de apagado de Linux explicado con ejemplos

  2. Comando nslookup de Linux explicado con ejemplos

  3. Comando Traceroute de Linux, explicado con ejemplos

  4. Comando whoami en Linux explicado con ejemplos

  5. Comando Ping de Linux explicado con ejemplos

Comando Tr en Linux explicado con ejemplos

w Comando explicado con ejemplos en Linux

Comando de espera en Linux explicado con ejemplos prácticos

Comando Tee en Linux explicado con ejemplos

Explicación del comando tee de Linux (con ejemplos)

Explicación del comando csplit de Linux (con ejemplos)