Cifrado Asimétrico GPG

Cifrado Asimétrico GPG

56 Ubuntu 16.04 Linux Servidor Seguridad

Cifrado

Simétricas

El cifrado simétrico, constan de una clave, esa clave es la misma pública que privada. De forma que la contraseña que se utiliza para cifrar, es la misma que se utiliza para descifrar.

Texto plano --> Clave 1 --> Mensaje Encriptado --> Clave 1 --> Texto plano

Asimétricas

El cifrado asimétrico, constan de dos claves, una clave privada y otra pública, la clave privada se utiliza para cifrar, en cambio, la clave pública se utiliza para descifrar.

Texto plano --> Clave 1 --> Mensaje Encriptado --> Clave 2 --> Texto plano

Cifrado utilizando GPG

Generar Claves GPG

Para generar las claves asimétricas utilizaremos, vamos a crear una clave DSA y Elgamal

gpg --gen-key

Para mostrar las claves ponemos

gpg --list-keys

Firmar ficheros GPG

Para firmar un fichero, utilizaremos la clave generada anteriormente, ejecutamos el comando

gpg --sign [fichero]

Al firmar un fichero, solo pueden ver el contenido los que tienen nuestra clave pública.

Cifrando ficheros GPG

Para encriptar un fichero, podemos especificar el usuario al que va destinado, de esta forma, para mostrar el contenido necesitamos la clave privada.

gpg --encrypt -r [usuario] [fichero]

Al firmar un fichero, solo pueden ver el contenido los que tienen nuestra clave pública.

Descifrando el mensaje

Al igual que podemos cifrar un fichero, también podemos descifrarlo, de forma que podemos ver el contenido del fichero correctamente.

gpg --decrypt [fichero]

Exportar Clave Pública

Podemos exportar la clave pública de un usuario para poder pasarla a otra persona o guardarla en otro lugar.

gpg --armor --export [identificador]

Aquí tenemos un ejemplo de como quedaría poniendo como identificador el correo electrónico.

gpg --armor --export example@sertxudeveloper.com

Subir una clave a un servidor

Podemos subir nuestra clave pública para que otras personas puedan comprobar la validez del fichero o descifrarlo.

gpg --keyserver pgp.mit.edu --send-keys [identificador]

Descargar una la clave de un servidor

Al igual que podemos subir una clave pública a un servidor, podemos descargar las claves de otras personas especificando el identificador de la clave.

gpg --keyserver pgp.mit.edu --recv-keys [identificador]

Separar la firma del mensaje

Podemos separar la firma del mensaje en sí, de forma que, obtenemos un fichero exclusivo para la firma.

gpg --armor --detach-sign --sign mensaje.txt

Marcar clave como clave de confianza

Cada vez que comprobamos la firma de un fichero o lo desciframos, nos advierte que la clave no es de confianza, de forma que, podemos marcarla como de confianza para que no nos advierta.

gpg --edit-key [identificador]

Tras esto, tenemos que poner trust para verificar la clave

Rechazar clave

Por motivos de seguridad, en algunos casos, podemos rechazar una clave para evitar el uso de la misma.

gpg --armor --output revoke.asc --gen-revoke [identificador]