Cómo funciona GPG

Veamos cómo funciona GPG.

  • Necesitaremos un par de claves pública/privada. Para generarlas haremos:
    $ gpg --gen-key

    La primera vez que lo ejecutemos creará el directorio ~/.gnupg y los archivos:

    • ~/.gnupg/gpg.conf: archivo de configuración de GPG.
    • ~/.gnupg/pubring.gpg (binario): archivo de claves públicas (anillo).
    • ~/.gnupg/secring.gpg (binario): archivo de claves privadas (anillo).
    • ~/.gnupg/trustdb.gpg (binario): base de datos de confianza.

    A continuación tendremos que responder a una serie de preguntas:

    • Tipo de clave
      Por favor seleccione tipo de clave deseado:
      (1) DSA y ElGamal (por defecto)
      (2) DSA (sólo firmar)
      (5) RSA (sólo firmar)
      Su elección:

      Seleccionamos el tipo de clave por defecto, 1.

    • Longitud de la clave
      El par de claves DSA tendrá 1024 bits
      Las claves ELG-E pueden tener entre 1024 y 4096 bits de longitud
      ¿De qué tamaño quiere la clave? (2048)

      Seleccionamos la longitud por defecto, 2048.

    • Caducidad
      Especifique el período de validez de la clave.
      0=    la clave nunca caduca
      <n>=  la clave caduca en n días
      <n>w= la clave caduca en n semanas
      <n>m= la clave caduca en n meses
      <n>y= la clave caduca en n años
      ¿Validez de la clave (0)?

      Seleccionamos un año: 1y.

    • Identificador de usuario
      Necesita un identificador de usuario para identificar su clave.
      El programa construye el identificador a partir del Nombre,
      Comentario y email de esta forma:
      "Heinrich Heine (Der Dichter) <[email protected]>"
      Nombre y apellidos: frans berns
      Email: [email protected]
      Comentario: francis
      Ha seleccionado este ID de usuario:
      "frans berns (francis) <[email protected]>"
      ¿Cambiar (N)ombre, (C)omentario, (D)irección, (V)ale o (S)alir?

      Si está bien pulsamos (V)ale y continuamos.

    • Passphrase
      Necesita una Frase contraseña para proteger su clave privada
      Introduzca Frase contraseña:
      Repita Frase contraseña:

    Una vez introducidos todos los datos, generará el par de claves. Durante este proceso GPG recoge datos aleatorios que usará para generar las claves:

    ++++++++++++++++++
    Es necesario generar muchos bytes aleatorios. Es una buena idea realizar
    alguna otra tarea (trabajar en otra ventana/consola, mover el ratón,
    usar la red y los discos) durante la generación de números primos.
    Esto da al generador de números aleatorios mayor oportunidad de recoger
    suficiente entropía.
    ++++++++++++++++++

    Cuando termine nos mostrará el mensaje final:

    ~/.gnupg/trustdb.gpg: se ha creado base de datos de confianza.
    Clave ED4B2ABA marcada como de confianza absoluta.
    Claves pública y secreta creadas y firmadas.
    Comprobando base de datos de confianza:
    3 dudosas necesarias, 1 completa necesaria.
    Modelo de confianza PGP:
    Nivel: 0 Validez: 1 Firmada: 0 Confianza: 0-, 0q, 0n, 0m, 0f, 1u
    Siguiente comprobación de base de datos de confianza el 2007-04-09
    pub 1024D/ED4B2ABA 2006-04-09 [caduca: 2007-04-09]
    Huella de clave: C8F1 06C9 27C9 C2D1 2205 95F3 14BB 1129 ED4B 2ABA
    uid frans berns (francis) <[email protected]>
    sub 2048g/D223B5B2 2006-04-09 [caduca: 2007-04-09]
  • Para comprobar si se han generado las claves, las listamos:
    • listamos las claves públicas (de momento sólo está la nuestra):
      $ gpg --list-keys
      /home/francis/.gnupg/pubring.gpg
      --------------------------------
      pub 1024D/ED4B2ABA 2006-04-09 [caduca: 2007-04-09]
      uid frans berns (francis) <[email protected]>
      sub 2048g/D223B5B2 2006-04-09 [caduca: 2007-04-09]

      El UID lo utilizaremos cuando tengamos que seleccionar una clave. El UID de nuestra clave es ED4B2ABA.

    • listamos las claves privadas:
      $ gpg --list-secret-keys
      /home/francis/.gnupg/secring.gpg
      --------------------------------
      sec 1024D/ED4B2ABA 2006-04-09 [caduca: 2007-04-09]
      uid frans berns (francis) <[email protected]>
      ssb 2048g/D223B5B2 2006-04-09
  • Para conocer el fingerprint de la clave cuyo UID es ED4B2ABA, haremos (si no especificamos el UID obtendremos los fingerprint de todas las claves):
    $ gpg --fingerprint ED4B2ABA
    Huella de clave: C8F1 06C9 27C9 C2D1 2205 95F3 14BB 1129 ED4B 2ABA

    Vemos que el UID de una clave son los últimos 8 caracteres de su fingerprint. El fingerprint lo utilizaremos para comprobar las claves que recibamos antes de certificarlas, y con nuestra clave para dárselo en mano o por teléfono a otros usuarios.

  • Podemos editar los parámetros de una clave con el comando:
    $ gpg --edit-key ED4B2ABA

    Entraremos en modo interactivo, donde disponemos de numerosos comandos. Por ejemplo, para modificar la fecha de caducidad ejecutaremos el comando:

    Command> expire

    Nos pedirá la passphrase y guardaremos los cambios con:

    Command> save
  • Para ver los certificados de las claves públicas que tenemos, haremos:
    $ gpg --list-sigs
    /home/francis/.gnupg/pubring.gpg
    --------------------------------
    pub   1024D/ED4B2ABA 2006-04-09 [caduca: 2007-04-09]
    uid                     frans berns(francis)<[email protected]>
    sub   2048g/D223B5B2 2006-04-09 [caduca: 2007-04-09]
    sig ED4B2ABA 2006-04-09 frans berns(francis)<[email protected]>

    Vemos que sólo tiene nuestro certificado.

  • Podemos borrar claves:
    • para borrar la clave pública cuyo UID es aa8e6a57, haremos:
      $ gpg --delete-key aa8e6a57
    • para borrar la clave privada cuyo UID es ED4B2ABA, haremos:
      $ gpg --delete-secret-key ED4B2ABA
  • Una vez que se tiene el sistema funcionando necesita ser mantenido:
    • para mantener actualizados los niveles de confianza, haremos:
      $ gpg --refresh-keys
    • para actualizar las claves del servidor, por si alguién añade un certificado a una clave y lo envía al servidor, haremos:
      $ gpg --check-trustdb

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>