GnuPG

Los métodos de cifrado son una buena alternativa como barrera de seguridad. En Linux disponemos de GnuPG, versión del código libre de PGP, la que nos permite cifrar los mensajes utilizando pares de claves asimétricas. Las claves públicas suelen ser compartidas con otros usuarios depositándolas en los servidores de claves, mientras que la privada debe permanecer SOLO con su propietario. GPG usa para ello algoritmos no patentados, a saber: ElGamal, CAST5, 3DES, AES y Blowfish.

Utilizaremos como estándar de documentación:
# para referirnos a superusuario (root)
$ para referirnos a un usuario

Definir un server por default

vi .gnupg/gpg.conf

keyserver hkp://subkeys.pgp.net

Generar par de claves pública/privada

Se generará un par de llaves público/privada.

gpg --gen-key

Se requiere especificar, según se pida, a continuación:

1. Tamaño de la llave.
2. Caducidad de el par de claves.
3. Ingresar información de usuario.

Agregar GPG pública

gpg --keyserver hkp://subkeys.pgp.net --recv-keys ABCDEGFH

Listar keys privadas

Lista todas aquellas claves públicas adheridas a tu ” ~/.gnupg/pubring.gpg”.

gpg --list-keys

Validar key

Se valida verificando la huella digital de la key y firmándola para certificar su validez.

La huella digital de una clave se verifica con el propietario de la clave. Esto puede hacerse en persona o por teléfono, o por medio de otras maneras. Si la huella digital que se obtiene por medio del propietario es la misma que la que se obtiene de la clave, entonces se puede estar seguro de que se está en posesión de una copia correcta de la clave. Después de comprobar la huella digital ya se puede firmar la clave con el fin de validarla.

gpg --edit-key username@gmail.com
Command> fpr
Command> sign
Command> check
Command> quit
Renovar key privada

La idea es que la key privada tiene una fecha de caducación que es definida cuando es creada. Una vez cumplida esa fecha, la misma expira, y es requerido renovarla. A saber: La actualizo localmente, y guardo los cambios.

gpg --edit-key ID expire
Command> save

Donde ID podría ser nombre y apellido de persona. Envió los cambios a algún server para que se actualicen.. A partir de allí puede decirse que la key privada fué renovada exitosamente.

gpg --keyserver hkp://subkeys.pgp.net --send-keys ABCDEFGH

Puedo comprobar la esperada actualización de expiración de la key.

gpg --list-key

Renovar subkey privada

La subkey es “El gamal”(que permite cifrar + firmar). Es posible que una vez caducada nuestro par de claves gpg, y luego de renovadas (Paso anterior) NO SE HAYA ACTUALIZADO la fecha de expiración de la subkey. Cómo hacerlo? »

gpg --edit-key ABCDEFGH

Command> key 1 # donde key 1=subkey. pub 1024D/ABCDEFGH created: 2007-03-12 expires: never usage: SC trust: ultimate validity: ultimate sub* 1024g/ABCDEFGH created: 2007-03-12 expires: never usage: E [ultimate] (1). Username username@gmail.com Command> save

gpg --keyserver hkp://subkeys.pgp.net --send-keys ABCDEFGH

Puedo comprobar la esperada actualización de expiración de la key.

gpg --list-key

Generar certificado de revocación

En el caso de perder contraseña, extravío de key privada, el certificado de revocación sse hará público. De modo que los usuarios de la misma serán notificados de que la clave pública NO DEBERÁ ser usada nunca más.

gpg --output revoke.asc --gen-revoke ABCDEFGH
gpg --keyserver hkp://subkeys.pgp.net --send-keys ABCDEFGH

OBLIGATORIAMENTE: se pedirá ingresar la passprhase para confirmar la operación.
Cifrar archivo

gpg -c file_a_encriptar

El comando anterior generará “file_a_encriptar.gpg”, el cual es una copia idéntica de “file_a_encriptar” pero encriptado. Lo encriptará luego de ingresar correctamente dos veces la passphrase.
Descifrar archivo

gpg --output file_desencriptado --decrypt file_encriptado.gpg

“file_desencriptado” es un archivo idéntico a “file_encriptado.gpg” DESENCRIPTADO. Para hacer esta acción pedirá passphrase.
Exportar clave pública

La idea es copiar la llave pública a un archivo, en este caso file_with_publickey.asc, en formato ASCII, para después trasladarlo.

gpg --armor --output file_with_publickey.asc --export usuario@gmail.com

No hay comentarios.: