Enviado por Edu4rdSHL el Mié, 25/04/2018 - 18:11
GNUPG

Cómo hemos visto en nuestro post anterior, existen diferentes metodos de cifrado y cada uno de ellos tiene ventajas y desventajas. Ahora es momento de colocarlo en practica y experimentar cada uno de los metodos de cifrado. Para lograr esto usaremos la herramienta de cifrado GPG que es la version de codigo abierto de PGP y esta disponible para todas las plataformas entre las cuales estan GNU/Linux, Windows, Mac OS, BSD Systems. GPG puede ser descargado desde su sitio oficial de descargas. GPG utiliza el estándar del IETF denominado OpenPGP. Durante todo este post estaré usando un sistema GNU/Linux, así que lo que haga aqui se hará de la misma manera en cualquier otro sistema de la familia GNU/Linux. Si tienes algun problema sobre el uso de GPG en otro sistema pueden buscar referencias en internet. Para empezar con nuestro experimento, necesitamos un archivo cualquiera, yo en este caso usaré un archivo que contiene las siguientes lineas de texto: "Este es un ejemplo para enseñar a encriptar archivos haciendo uso de GPG, y la llevará a cabo el equipo de Security Hack Labs.", el archivo se llamará gpgtest, y se podra descargar desde aquí.  

Nota: El sha1sum se usa para verificar la integridad de un fichero mediante la suma de comprobación del hash SHA-1 de un archivo. Es unico, con la mas minima modificación cambiará, con eso nos aseguramos de que los archivos descargados son los correctos y que no se ha tocado su integridad ni han sido editados, es una medida extra de seguridad por parte de nosotros, aclaramos que el sha1sum de un archivo al copiar/pegar cambia, asi contenga lo mismo que otro. Nosotros usaremos las suma SHA1 de todos los archivos que publiquemos para que ustedes puedan comprobar la integridad de ellos si desean.

Cifrado usando cifrado simétrico

Es la manera mas sencilla de cifrar un archivo, pero tambien la menos segura. Para ello solo basta con teclear en la terminal de comandos lo siguiente:

  1. ~$ gpg -c gpgtest #Te pedira dos veces la clave de cifrado, y el archivo resultante de dicho comando tiene terminacion .gpg. 
  2. En este ejemplo usamos la contraseña sechacklabs, así que si alguien desea confirmar lo escrito en este post lo puede hacer usando esa contraseña y descargando el archivo encriptado el cual esta disponible para descargar aquí.
     
  3. Para desencriptar el archivo se usa el siguiente comando:
  4. gpg -d [archivo.gpg] #Nos pedira la contraseña, la cual como dije anteriormente es sechacklabs.

Cifrado asimétrico.

Para poder cifrar asimétricamente primero tenemos que crear la pareja de claves (pública[pub] y privada[sub]) con el comando:

~$  gpg --gen-key

A medida que vayas avanzando te irá pidiendo datos como nombres, apellidos, email y algunas otras más. Al final te mostrara un mensaje donde te dice que la generación de claves ha sido existosa, sera algo como esto: "claves pública y secreta creadas firmadas". Si durante el proceso de creación de claves tienes problema con la generación de entropía, puedes instalarte el Daemon haveged el cual esta diseñado para crear entropía dentro del sistema.

** GPG nos permite elegir el tipo de clave que queremos usar, hay opciones que solo permiten firmar y otras que permiten firmar y cifrar, en este caso usaremos RSA y RSA.

** GPG nos permite elegir la longitud de la clave, entre mayor sea la longitud, mayor encriptación tendrá. Nosotros recomendamos 4096 bits.

Cuando hayamos creado las claves podemos verlas con el comando

~$ gpg -k

Importante: La clave pública siempre sera la que inicia con pub, por ningún motivo comparta su clave secreta.

Para cifrar un archivo usando el comando:

~$ gpg --encrypt -r "ID del usuario al que lo enviaremos" archivo #Previamente debemos conocer su clave GPG pública y haberla importado.

Para descifrar un archivo:

~$ gpg --decrypt archivo

 

Síguenos en FacebookTwitterunete a nuestra charla en Riotúnete a IRC o únete a Telegram y no olvides compartirnos en las redes sociales. También puede hacernos una donación o comprar nuestros servicios.

Etiquetas

Acerca del autor

Especialista en Seguridad Informática bajo certificación OSCP, experto en técnicas de privacidad y seguridad en la red, analista de criptografía, Fundador de Security Hack Labs. Desarrollador de BlackArch Linux. Twitter: @edu4rdshl XMPP: edu4rdshl@conversations.im Threema ID: 736WU8VV