You are on page 1of 6

INSTITUTO TECNOLGICO DE SONORA UNIDAD GUAYMAS INGENIERO EN SOFTWARE

Materia: Seguridad Informtica


Profesor: Lic. Ricardo Daniel Carrasco Correa
No. Clase: 2647
Horario: 07:00 08:30 Lunes a Viernes
Aula: AG0111 Aula Integral de Proyeccin
Ciclo Lectivo: 3067 (Verano 2016)
PRCTICA 3:

Cifrado simtrico en Linux.

OBJETIVO:

Cifrar archivos con algoritmos simtricos mediante la herramienta gpg.

MATERIAL:

Mquina virtual con Ubuntu.

ANTECEDENTES:
GNU Privacy Guard (GnuPG o GPG) es una herramienta de cifrado y firmas digitales desarollado por Werner Koch, que viene a ser un
reemplazo del PGP (Pretty Good Privacy) pero con la principal diferencia que es software libre licenciado bajo la GPL. GPG utiliza el
estndar del IETF denominado OpenPGP. GPG es estable, calificado como un software para el uso en produccin y es comnmente
incluido en los sistemas operativos como FreeBSD, OpenBSD, NetBSD y ltimamente con todas las distribuciones GNU/Linux.
La criptografa (del griego oculta y escribir, literalmente escritura oculta) es el arte o ciencia de cifrar y descifrar informacin utilizando
tcnicas que hagan posible el intercambio de mensajes de manera segura que solo puedan ser ledos por las personas a quienes van
dirigidos. Los sistemas simtricos utilizan la misma clave para cifrar y descifrar.
PASOS:
1.

La herramienta gpg nos permite utilizar tanto criptografa simtrica como asimtrica. En este ejemplo veremos la simtrica.

2.

Iniciamos la mquina virtual de Ubuntu y creamos un directorio llamado cifrado donde vamos a trabajar. Lo primero ser crear
un archivo el cual nombraremos prueba, donde vamos a ingresar el nombre del Programa Educativo, en este caso, Ingeniero en
Software.

3.

Ahora procederemos a cifrar el archivo llamado prueba. Abrimos una terminal y para cifrarlo con clave simtrica el archivo,
utilizaremos el comando gpg.
$ gpg -symmetric prueba

El comando nos pedir la clave que queremos utilizar y la pedir de nuevo para confirmarla, ya sea mediante el cuadro de
dilogo anterior o muy posiblemente en la misma terminal.
4.

El resultado del comando es un nuevo archivo con la extensin .gpg. Es un archivo cifrado: si intentamos ver qu hay dentro
con el comando strings, no aparece nada inteligible. No es recomendable utilizar directamente cat porque es un archivo
binario y podramos inutilizar la sesin.

5.

Ahora ya podramos eliminar el archivo prueba, porque su contenido est protegido en el archivo prueba.gpg, PERO NO LO
VAMOS A BORRAR. Para hacer llegar este archivo .gpg a las personas interesadas, podemos utilizar cualquier mecanismo normal
de gestin de archivos (disco duro, memoria USB, upload web, FTP, etc.). Cuando necesiten leerlo, lo descifrarn con el
comando:
$ gpg -decrypt prueba.gpg
El comando pedir la contrasea que habamos utilizado para cifrar (y que haremos llegar al interesado a travs de un medio
seguro). Si la introducimos correctamente, aparecer en pantalla el contenido del archivo.

6.

Si no queremos verlo en la terminal, sino que se guarde a un archivo nuevo, podemos redirigir la salida estndar de la siguiente
manera:
$ gpg -decrypt prueba.gpg > prueba2

7.

Los archivos binarios .gpg no siempre son adecuados. No sirven para incluirlos dentro de un texto (por ejemplo, en un script o
un correo electrnico). Para resolverlo tenemos el parmetro -a, que genera un archivo cifrado pero compuesto solo de
caracteres ASCII. Estos archivos ya no tienen extensin .gpg, sino .asc. Dentro est el contenido cifrado y alrededor un par de
cabeceras informativas. En nuestro ejemplo el comando sera:
$ gpg a -symmetric prueba

8.

El archivo .asc ofrece las mismas garantas que el .gpg y se utiliza igual. Para descifrar sera:
$ gpg -decrypt prueba.asc

9.

La herramienta por defecto utiliza el algoritmo de cifrado CAST5 (en pantalla nos lo informa al descifrar). Podemos cambiarlo
con el parmetro cipher-alg. Por ejemplo, para utilizar AES ejecutaramos:
$ gpg a -symmetric -cipher-alg AES o prueba.aes prueba
En este ejemplo hemos utilizado -a para tener el archivo en ASCII y el parmetro -o para indicar el archivo de salida (es
equivalente a redirigir la salida estndar).

10. El descifrado se hace como siempre:


$ gpg -decrypt prueba.aes
Ahora, el mensaje de la pantalla nos avisa de que el archivo estaba cifrado con AES (ya no es CAST5).

11. Con esta herramienta podemos cifrar archivos binarios, no solo archivos de texto. Vamos a trabajar sobre una copia del propio
ejecutable de la aplicacin fortune y le llamaremos refranes. Primeramente debemos instalar la aplicacin fortune, los
comandos seran:
$ sudo apt-get install fortunes
$ cp /usr/games/fortune refranes
$ ./refranes

12. Lo ciframos en modo ASCII para verlo mejor:


$ gpg a -symmetric refranes

13. Podemos recuperarlo descifrando el archivo refranes.asc con las opciones conocidas. Por ejemplo, podemos dejar el resultado
en un nuevo archivo llamado dichos. Despus de introducir la contrasea, solo necesitamos darle permisos de ejecucin y
estar disponible. Los comandos seran:
$ gpg -decrypt o dichos refranes.asc
$ chmod 755 dichos
$ ./dichos

You might also like