Llegamos a la ultima tarea propuesta, un poco de criptografia
Y en la tarea se describe brevemente el uso de herramientas criptograficas.
Si bien se proponen distintas herramientas y se sugiere la utilizacion de linea de comando, elegiremos el camino grafico con la herramienta GPG4Win la cual descargaremos desde su sitio oficial http://www.gpg4win.org/
Como recomendacion adicional a lo propuesto en la tarea, a quienes esten interesados un poco mas en la historia de la criptografia moderna, les recomiendo leer la apasionante historia de la maquina enigma escrita por Roman Ceano en mas de 100 capitulos http://www.kriptopolis.com/enigma y para quienes quieran aprender sobre algoritmos criptograficos modernos y totalmente en español, recomiendo http://www.criptored.upm.es/crypt4you/portada.html pero en este ultimo caso habra que tener una muy buena base matematica :)
Aca les presento la tarea:
TAREA 3: Una sencilla práctica sobre criptografía(NOTA: Esta actividad es una práctica que os servirá para la resolución del enigma que se planteará al final de la unidad 2 de cara a acceder a la propuesta del RETO)
Descripción de la tareaQuizás hayas oído hablar sobre Pretty Good Privacy (PGP), aplicación software comúnmente utilizado para cifrar y firmar digitalmente el correo electrónico, el cual permite cifrar, descifrar y firmar además del correo electrónico, diferentes tipos de archivos. Así se proporciona integridad, privacidad y autenticación a la comunicación de datos.
A su vez, debido principalmente al carácter privado de PGP, la IETF (Grupo de Trabajo de Ingeniería de Internet) definió y ahora mantiene mediante el OpenPGP Working Group el estandar de Internet OpenPGP. Este estándar se define en el RFC 4880 y se utiliza como base en programas como el GNU Privacy Guard abreviado comúnmente como GnuPG o GPG. Este programa lo desarrolla el Free Software Foundation. Distribuido libremente mediante la licencia General Public Licence (GPL), GPG ofrece una interfaz de línea de comandos aunque también existen diversas interfaces de usuario gráficas. Estos son algunos de ellos:
1. Windows 2. Mac OS X 3. Linux
- Kleopatra (KDE)
4. Más herramientas aquí.
- Seahorse (Gnome/xfce)
En esta tarea te proponemos el intercambio de un archivo cifrado y firmado digitalmente. Para ello será necesario trabajar en grupos de al menos dos personas. A grandes rasgos, cada integrante del grupo generará un archivo de texto (mensaje), lo cifrará con la clave pública de un tercero y a su vez, compartirá el mensaje cifrado con el propietario de la clave pública para que éste lo descifre utilizando su clave privada.
Aunque se puede utilizar cualquiera de las herramientas descritas en el párrafo anterior, a modo de ejemplo se ha empleado gpg2, el cual permite realizar las operaciones necesarias mediante la línea de comandos. A grandes rasgos, estos son los pasos a seguir:
1. Generar un nuevo par de claves (pública y privada):2. Exportar la clave pública generada en binario y el modo ASCII blindado
- $ gpg2 --gen-key
- $ gpg2 --export nombre_usuario > nombre_usuario-pub.gpg
3. Compartir con un tercero la clave pública exportada y obtener el suyo
- $ gpg2 --armor --export nombre_usuario > nombre_usuario-pub-asc.gpg
4. Importar la clave pública de un tercero5. Generar un archivo de texto y firmarlo y cifrarlo.
- $ gpg2 --import nombre_usuario2-pub.gpg
- > $ gpg2 --recipient nombre_usuario2 --sign --encrypt test.txt
- Modo binario
- > $ gpg2 --recipient nombre_usuario2 --armor --sign --encrypt test.txt6. Enviar y recibir el mensaje cifrado al compañero de la tarea
- Modo ASCII
7. Descifrar el mensaje recibido mediante nuestra clave privada, el proceso verifica la firma- > $ gpg2 --decrypt test.txt.gpg > test.txt
- Modo binario
- > $ gpg2 --decrypt test.txt.gpg > test.asc.txtUna vez realizados los pasos, el compañero debería de ser capaz de interpretar el mensaje que se le ha enviado.
- Modo ASCII
Para más información podéis descargar el siguiente tutorial donde se detalla paso a paso el uso de la herramienta Gpg4win al igual que la interfaz Kleopatra para la generación de claves, el cifrado y el descifrado de archivos.
Descargamos e instalamos PGP4Win en su version mas reciente.
Iniciamos Kleopatra y generamos los nuevos certificados
Seguimos los pasos del Wizzard, completamos nuestros datos y ponemos una contraseña. Yo recomiendo que la misma tenga fortaleza en cuanto al largo y complejidad. Matematicamente es mejor para la fortaleza el largo que la complejidad, pero eso podremos verlo otro dia en un post aparte :)
Podemos tanto encriptar y firmar un archivo, como asi tambien un texto que tengamos copiado en nuestra memoria, habiendolo seleccionado y copiado antes.
En este primer caso veremos algo asi al firmarlo y encriptarlo
Y al desencriptarlo y verificar la firma
Para el caso de copiar un texto y firmar y cifrar ese texto este sera nuestro resultado
Ahora nos queda pendiente intercambiar firmas y archivos con otros colegas del curso...
Esta tarea la realizamos con Melvin Soler, abajo los resultados
Espero que todos puedan terminar la tarea, si alguien mas necesita colaboracion o intercambiar firmas, aca estoy para ayudar.