HACKING ÉTICO (Unida 1 - Tarea 3)

TAREA 3: Una sencilla práctica sobre criptografía

(NOTAEsta 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 tarea

Quizá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
4.  Más herramientas aquí.
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):
    • $ gpg2 --gen-key
2.  Exportar la clave pública generada en binario y el modo ASCII blindado
    • $ gpg2 --export nombre_usuario > nombre_usuario-pub.gpg
    • $ gpg2 --armor --export nombre_usuario > nombre_usuario-pub-asc.gpg
3.  Compartir con un tercero la clave pública exportada y obtener el suyo
4.  Importar la clave pública de un tercero
    • $ gpg2 --import nombre_usuario2-pub.gpg
5.  Generar un archivo de texto y firmarlo y cifrarlo.
    • Modo binario
- >   $ gpg2 --recipient nombre_usuario2 --sign --encrypt test.txt
    • Modo ASCII
- >   $ gpg2 --recipient nombre_usuario2 --armor --sign --encrypt test.txt
6.  Enviar y recibir el mensaje cifrado al compañero de la tarea
7. Descifrar el mensaje recibido mediante nuestra clave privada, el proceso verifica la firma
    • Modo binario
- >   $ gpg2 --decrypt test.txt.gpg > test.txt
    • Modo ASCII
- >   $ gpg2 --decrypt test.txt.gpg > test.asc.txt
Una vez realizados los pasos, el compañero debería de ser capaz de interpretar el mensaje que se le ha enviado.
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.

¿Qué es la Criptografía?

El objetivo principal de la criptografía es proteger nuestra información personal o corporativa, modificándola de manera que no sea comprensible para personas no autorizadas. Hablamos de que ciframos la información, para que atraviese un medio potencialmente inseguro como es Internet, y el destinatario descifra el mensaje recibido, y así puede comprenderlo. Para cifrar y descifrar usamos claves criptográficas. Esto es lo que conocemos como confidencialidad, una solución que aporta la criptografía a la seguridad de la información.

Además, la criptografía puede aportar otras soluciones a los problemas de seguridad como:
La integridad de los datos: garantizar que los datos no han sido modificados por un tercero.
La validación de la identidad, la autenticación: garantizar que nos estamos comunicando con la persona o sistema con el que realmente queremos comunicarnos.

En realidad, en nuestro día a día usamos la criptografía, muchas veces sin ser conscientes de ello, cuando hablamos por teléfono y cuando nos conectamos a un sitio web seguro, por ejemplo. Los servidores web seguros hacen uso de lo que llamamos certificados digitales, que garantizan que el servidor web al que estamos conectados es realmente quien dice ser, y no un suplantador que quiere hacerse con nuestras claves de acceso a la banca electrónica, por poner un ejemplo.

El certificado digital es un vínculo entre una clave pública y una identidad, que se consigue mediante una firma digital por una autoridad de certificación (CA: Certificacion Authority o Autoridad de Certificación). La autoridad de certificación es reconocida y aceptada por todos, e imposible de suplantar. Por regla general, por seguridad no se trabaja directamente con la autoridad de certificación, si no con un intermediario o autoridad de registro.
Si estás interesado en aprender de manera práctica sobre criptografía, te recomendamos una herramienta muy didáctica: CrypTool

Comentarios

Entradas populares de este blog

▷✅Tutorial Generación de Código G con Aspire Vectric 2018

Actualizar Huawei Ascend P7 L10 a Android 5.1.1 Lollipop

ROUTER CNC