Pages

Ads 468x60px

lunes, 4 de agosto de 2014

Cifrando que es gerundio



Criptografía simétrica.

====================================================================

     Cifrando que es gerundio - Parte I

     Cifrando que es gerundio - Parte II

====================================================================



Vamos a aprender a cifrar un texto, en este caso usaremos CentOS. Vamos a hacerlo sencillo como siempre y paso a paso.

Lo primero que haremos será crear una carpeta y dentro un archivo de texto con el mensaje secreto a cifrar (usando vim).




Una vez creado el archivo, vamos a cifrarlo con clave simétrica.

     sudo gpg --symmetric texto

Esto hará el cifrado sobre el archivo texto. Nos pide una contraseña y que la repitamos.





Automáticamente nos genera un fichero con la extensión .gpg y si intentásemos ver el contenido con el comando strings, no veríamos nada legible. 




Ahora debemos eliminar el fichero texto ya que ese si que es legible. Podemos enviar el fichero texto.gpg en un pendrive, subirlo a un FTP etc.

Cuando llegue a su destino, lo único que tendrán que hacer para poder leerlo es

     sudo gpg --decrypt texto.gpg

Nos pedirá la clave que habíamos usado al cifrar el archivo y ya podrán leer el texto.


En azul el texto que estaba cifrado


Si queremos volcar el archivo a un documento de texto en lugar de verlo por pantalla (sería lo suyo por si tenemos a alguien detrás xD), bastaría con escribir:

sudo gpg --decrypt texto.gpg > texto2

Podemos usar el modificador -a ya que los ficheros .gpg no son adecuados para incluirlos por ejemplo en un correo electrónico. Lo que hace este modificador es generar un fichero cifrado pero solo compuesto por caracteres ASCII, de manera que ya no tendrían la extensión .gpg sino .asc.




Para descifrar el texto procedemos de la misma forma que antes:

     sudo gpg --decrypt texto.asc 

     o

     sudo gpg --decrypt texto.asc > texto2




Como podemos ver en la imagen, por defecto usa el algoritmo de cifrado 3DES, pero podríamos cambiarlo por ejemplo por AES con el comando cipher-alg quedando de la siguiente forma:

     sudo gpg -a --symmetric --cipher-alg AES -o texto.aes texto

En este ejemplo uso el modificador -a para que el fichero esté en ASCII y el -o para indicar el fichero de salida (sería lo mismo que hacerlo con la salida estándar)

En el caso de querer descifrarlo, lo haríamos como siempre:

     sudo gpg --decrypt texto.aes




Bien, visto esto, creo que cabe destacar que la criptografía simétrica tiene un problema principal, que es la forma en que circulan las claves, es decir, como conseguimos que tanto el emisor como el receptor tengan la clave.
No deberíamos usar el mismo canal inseguro con el que hemos enviado el mensaje, ya que si por ejemplo usamos un pendrive y dentro tenemos el fichero cifrado, no debemos meter en él la clave de cifrado también (es de cajón). 
Esto nos lleva a tener que usar un segundo canal de comunicación, el cual deberíamos proteger también de algún modo.

Creo que esto es más engorroso y poco seguro, así que para solucionarlo tenemos la criptografía asimétrica, pero esto lo veremos en otra entrada.




Roberto García (@1GbDeInfo)

Creative Commons Licence
1Gb De informacion by Roberto García Amoriz is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
Based on a work at http://www.1gbdeinformacion.com/.
Permissions beyond the scope of this license may be available at http://www.1gbdeinformacion.com/.

Perfil profesional en Linkedin

 
Blogger Templates