Cifrado simétrico y asimétrico para principiantes

Compártelo

Hola muy buenas a tod@s en este nuevo módulo o unidad formativa del “Curso o Guía de Seguridad en el Correo Electrónico”, os voy a mostrar una introducción al cifrado simétrico y asimétrico para principiantes.

Intentaré explicaros sencillamente unos principios básicos de criptografía. Por lo que os mostraré las diferencias entre criptografía simétrica y asimétrica que os ayudarán en el próximo módulo del curso, entonces os mostraré como generar vuestros propios certificados digitales, sin necesidad de depender de una autoridad certificadora para firmar y encriptar correos entre usuarios.

Por ello voy a intentar hacerlo de manera que todo el mundo lo entienda a través de imágenes. “Una imagen vale más que mil palabras”. Veréis como al final del módulo se os despejarán todas las dudas que podáis tener y si aún queda algo que no comprendáis, entonces, me lo hacéis saber en los comentarios de esta introducción al cifrado simétrico y asimétrico para principiantes y si está en mi mano, intentaré resolver vuestras dudas.

Los módulos anteriores de la Guía o Curso de Seguridad en el Correo Electrónico, los podéis consultar en los siguientes enlaces:

Imagen de un candado que representa la privacidad de los correos electrónicos cifrados simétrica y asimétricamente.
Introducción al cifrado simétrico y asimétrico para principiantes.

¿Que es la criptografía?

La criptografía estudia la manera de proteger la información, con la utilización de códigos y cifrados. Un código es el proceso con el cual un remitente modifica cierta información “esto se llama cifrado”; para hacerla ilegible a todo el mundo, menos al destinatario, que conoce el código y puede descifrarla.

Jevi – FormCiberSeg

Entonces para que nos entendamos todos: La criptografía es la conversión de texto legible en formato ilegible.
En la criptografía, primero los datos se convierten en texto de cifrado (es decir, son encriptados o cifrados), para que luego los datos que se han cifrado, se vuelvan a convertir en una forma legible (es decir, descifrado). La criptografía básicamente funciona con el concepto de cifrar y descifrar.

Ojo, no confundir el cifrado y el descifrado, por la codificación y decodificación, pues con estos dos últimos procesos, los datos se convierten de una forma a otra, pero no se modifican deliberadamente para ocultar su contenido.

¿Cómo funciona la criptografía de clave pública? ¿Qué es una clave privada y una clave pública? ¿Por qué el cifrado asimétrico es diferente del cifrado simétrico?

Términos empleados en Criptografía.

A continuación os voy a poner unas palabras con su significado para que os familiaricéis con estos términos empleados en Criptografía.

Cifrado:

Los datos cifrados se refieren a los mensajes o textos cifrados. El texto de cifrado es la conversión de texto legible a una manera no legible. Es una de las formas más efectivas de conseguir la seguridad de los datos. Para poder leer un archivo cifrado, se debe tener acceso a una clave secreta o contraseña que le permita descifrarlo.

Descifrado:

Descifrado es el proceso de convertir datos cifrados a su forma original, para que puedan ser comprendidos. Para descifrar esos datos, es necesaria una clave secreta o contraseña para poder descifrarlos.

El cifrado se puede hacer de tres maneras:
Simétrico:

El cifrado simétrico es tomar datos legibles, mezclarlos para que no se puedan leer, y luego se descifrarán nuevamente cuando sea necesario. En general es rápido, y hay bastantes métodos de cifrados buenos para elegir. Lo más importante que debéis tener en cuenta sobre el cifrado simétrico es que ambas partes, el que cifra o encripta y el descifrador o desencriptador, necesitan acceso a la misma clave.

Asimétrico:

El cifrado asimétrico también toma datos legibles, los codifica y los descifra nuevamente en el otro extremo, pero hay una variante: se usa una clave diferente para cada extremo. Los “cifradores o encriptadores”, usan una clave pública para codificar los datos, y los “descifradores o desencriptadores”, usan la clave privada correspondiente en el otro extremo para descifrarla nuevamente.

Hash:

Una función criptográfica hash (usualmente conocida como “hash”), es un algoritmo matemático que transforma cualquier bloque arbitrario de datos en una nueva serie de caracteres con una longitud fija. Independientemente de la longitud de los datos de entrada, el valor hash de salida tendrá siempre la misma longitud. El Hash sirve para autenticar datos.

Como curiosidad, según un generador online de hash SHA-1, (SHA-1 es una de las funciones hash más ampliamente utilizadas en la informática, junto con MD 5 y SHA-2) el hash de mi nombre, Jevi, ha dado como resultado: 31e483f81b956ae5a06104266ff6b3ebce002de4

Online-Convert

Si queréis saber más de lo que es un Hash y cómo funciona, os dejó AQUÍ el enlace a la web de Kaspersky donde entra más a fondo en el tema.

¿Que es el cifrado entonces?

Como ya os he comentado en el spoiler, a grandes rasgos el cifrado, para que lo entendáis, es el proceso de coger un mensaje, revolviendo sus contenidos para que solamente ciertas personas puedan interpretar y leer ese mensaje.

Os introduciré en dos tipos de cifrado: Cifrado simétrico y cifrado asimétrico.

Cifrado simétrico para principiantes

Cifrado simétrico en introducción al cifrado simétrico y asimétrico para principiantes

Ahora echaremos un vistazo rápido a la encriptación simétrica para entender porqué la encriptación asimétrica fue creada.


Presentación de Vero y Jevi en la introducción al cifrado simétrico y asimétrico para principiantes

Para ello voy a presentaros a Vero. A mi, ya me conocéis.


Vero tiene un documento sensible

Vero tiene un documento sensiblemente delicado que desea compartir conmigo.


Vero pone contraseña al documento

Vero utiliza un programa de encriptación para proteger su documento con una contraseña que ella ha escogido.


Vero protege y envía correo a Jevi

Cuando ya lo tiene protegido el documento, Vero me lo envía.


Jevi recibe el documento sensible

Recibo el documento pero tengo un problema. No puedo abrirlo pues no tengo la contraseña que ha usado Vero para encriptar el documento.
En otras palabras, no tengo la llave para abrir el candado del documento.


Pregunto la contraseña a Vero.

Por lo que tengo que pedir la contraseña para poder abrirlo.
Ahora es cuando viene el problema.


Como envía Vero la contraseña?

¿Como comparte Vero esa contraseña de forma segura conmigo?


enviar correo en Introducción al cifrado simétrico y asimétrico para principiantes

Enviarla por correo es arriesgado porque otros pueden hacerse con la contraseña y utilizarla para descifrar cualquier mensaje entre Vero y yo.

Este es el tipo de problema que el cifrado asimétrico intenta resolver.

Cifrado asimétrico en introducción al cifrado simétrico y asimétrico para principiantes

Cifrado asimétrico para principiantes.

Buzón de correo

Para que entendáis mejor esta introducción al cifrado simétrico y asimétrico para principiantes, imaginad que el cifrado asimétrico es parecido a un buzón físico de correos de los que hay por la calle.

El buzón está expuesto a cualquiera que conozca su localización.
Por lo que se puede decir que la ubicación del buzón es completamente pública.


Cualquiera puede tirar una carta al buzón al ser público.

Por lo que cualquiera que conozca la localización o la dirección, se puede acercar y tirar una carta.


El dueño del buzón tiene llave

Sin embargo, solamente el dueño del buzón, en este caso Vero, tiene una llave para abrirlo y leer los mensajes.


Algoritmo RSA

RSA es un algoritmo de cifrado de clave pública que le permite al usuario conservar la confidencialidad de la información cuando es transmitida o compartida con otros usuarios.

Jevi – FormCiberSeg.

Como podéis observar hemos vuelto a la parte técnica; daros cuenta que en la imagen siguiente, las llaves privadas y públicas de Vero y Jevi, las pongo de un color diferente cada una, así podréis seguir más facilmente el proceso de intercambio de claves entre ellos.

Algoritmo RSA en Introducción al cifrado simétrico y asimétrico para principiantes por FormCiberSeg - Formación y Ciberseguridad.

Al usar cifrado asimétrico tanto Vero como Jevi tienen que generar un par de claves en sus ordenadores.

Una forma popular y segura de hacerlo es usando el “Algoritmo RSA”.

Este algoritmo generará una Clave Pública y una Clave Privada que están vinculadas matemáticamente, la una con la otra.

Las claves públicas se usan para cifrar datos y solamente las claves privadas correspondientes pueden descifrarlas. Aunque las claves están enlazadas, no están unidas la una a la otra.

Dicho más llanamente: Si conocéis la clave pública de alguien en particular, no podéis obtener su clave privada.

Retomando el ejemplo del buzón, la dirección del buzón, sería la clave pública, que como su nombre indica es algo que todos pueden saber.

El propietario del buzón, es el único que tiene la clave privada y eso es lo que se necesita para abrir el buzón.


Como usar el cifrado asimétrico para comunicarse.

Ahora veréis como Vero y Jevi, usan el cifrado asimétrico para comunicarse de forma segura con los demás.

Intercambio de llaves públicas para la introdución al cifrado simétrico y asimétrico
Intercambio de llaves públicas

Comienzan intercambiando sus claves públicas, Vero le da su clave pública a Jevi y Jevi le da la suya a Vero como podéis apreciar en la imagen de arriba.


Vero encripta el documento con la llave pública de Jevi

Ahora Vero puede enviar de nuevo su documento sensible…

Usar clave pública de jevi para enviar documento

Para ello encripta el documento con la clave o llave pública de Jevi y se lo envía.


Jevi recibe documento de Vero con su clave pública

Jevi recibe el documento encriptado con su clave pública (la de Jevi). Usa su llave privada para descifrarlo y lee el documento.

Jevi hace uso de su clave privada para abrir el documento

Debido a que usan cifrado asimétrico, solamente Jevi puede descifrar el mensaje. Ni siquiera Vero puede descifrarlo porque no tiene la llave privada de Jevi.


Proteger claves privadas en la introducción al cifrado simétrico y asimétrico para principiantes

La fuerza y seguridad del cifrado asimétrico ahora depende de Vero y Jevi para mantener sus claves privadas bien protegidas.

Si un ciberdelincuente robase la clave privada de Vero, puede usarla para descifrar todos los mensajes que vayan destinados para ella, sin embargo el ciberdelincuente no puede descifrar los mensajes enviados por Vero, pues eso requiere la clave privada de Jevi.


Usos del cifrado asimétrico en “introducción al cifrado simétrico y asimétrico para principiantes”.

Usos de cifrado asimétrico
Usos del cifrado asimétrico

La criptografía o el cifrado asimétrico se usa en mucho sitios donde la seguridad es sumamente importante.


Puede que no lo sepáis, pero siempre que visitáis un sitio web seguro a través del protocolo HTTPS, estáis haciendo uso de la criptografía asimétrica.

¿Que es HTTPS y para que sirve?

HTTP es el acrónimo de Protocolo de Transferencia de Hiper Texto (Del inglés: Hypertext Transfer Protocol).
HTTPS, es lo mismo pero añadiéndole “Seguro” (Secure en Inglés). Son dos protocolos que se usan para lo mismo, la transferencia de datos.

La diferencia entre ambos radica en la manera o forma en la que los datos viajan. HTTP define la sintaxis y la semántica que utilizan los elementos de software de la arquitectura web (clientes, servidores, proxies) para comunicarse. Si los datos son transferidos mediante HTTP, estos viajan en texto plano y son accesibles para cualquiera que intercepte la comunicación.

En cambio, el protocolo HTTPS usa una conexión segura mediante un cifrado SSL y por tanto los datos viajan de un modo seguro de un lugar a otro.


¿Que es SSL?

SSL es la abreviatura de Capa de Conexiones Seguras, (En Inglés: Secure Sockets Layer, de donde coge el nombre).

Siendo un protocolo para navegadores y servidores web que permite autenticar, cifrar y descifrar, la información enviada a través de internet; haciendo uso de certificados digitales para establecer comunicaciones seguras a través de Internet. Recientemente ha sido sustituido por TLS (Transport Layer Security) el cual está basado en SSL y son totalmente compatibles, SSL/TLS.

Este protocolo es el que os permite confiar información personal a sitios web, ya que vuestros datos se ocultan a través de métodos criptográficos mientras naveguéis por sitios seguros.


¿Cómo funciona SSL/TLS?

Los datos enviados usando HTTPS están asegurados por el protocolo TLS (Transport Layer Security), que ofrece 3 capas de protección fundamentales:

Cifrado:

El cifrado de los datos intercambiados los mantiene seguros de miradas indiscretas. Eso significa que mientras el usuario está navegando en un sitio web, nadie puede ” escuchar” a sus conversaciones , realizar un seguimiento de sus actividades a través de múltiples páginas o robar su información.

Integridad de los datos:

Los datos no puede ser modificados o dañados durante la transferencia, intencionadamente o no, sin ser detectado.

Autenticación:

Demuestra que los usuarios se comunican con la página web deseada. Protege contra los ataques y construye la confianza del usuario, lo que se traduce en más beneficios para el negocio.

Los datos cifrados se refieren a los mensajes o textos cifrados. El texto de cifrado es la conversión de texto legible a una manera no legible. Es una de las formas más efectivas de conseguir la seguridad de los datos. Para poder leer un archivo cifrado, se debe tener acceso a una clave secreta o contraseña que le permita descifrarlo.


El protocolo SSL/TLS, funciona de la siguiente forma:

  • El navegador intenta conectarse a un sitio protegido con SSL.
  • El navegador solicita que el servidor web se identifique.
  • El servidor envía una copia de su certificado SSL al navegador
  • El navegador comprueba si el certificado SSL es de confianza. Si es así, envía un mensaje al servidor.
  • El servidor devuelve un acuse de recibo firmado digitalmente para comenzar una sesión SSL cifrada.
  • Los datos cifrados se comparten entre el navegador y el servidor.

Aquí os dejo una ilustración que os lo aclarará mejor, al ver visualmente lo que ocurre al desear entrar a Facebook.


¿Que datos están protegidos por el protocolo SSL/TLS?

  • Vuestras informaciones de registros: nombres, direcciones, direcciones de correo electrónico, números de teléfono.
  • Datos de identificación: direcciones de correo electrónico y contraseñas.
  • Datos de pagos: números de tarjetas de crédito, cuentas bancarias.
  • Formularios donde debáis inscribiros.
  • Documentos cargados por los clientes.

Los certificados SSL, deben de garantizar que la información no se pueda leer ni manipular y que la información personal no caerá en manos equivocadas como ciberdelincuentes.


PGP y GPG

Son herramientas de cifrado digamos entre particulares, las cuales permiten a los usuarios enviar correos electrónicos y ficheros de forma segura haciendo uso de cifrado y firma digital sin necesidad de obtener certificados digitales de una entidad certificadora.

En el próximo módulo o unidad formativa del “Curso de Seguridad en el Correo Electrónico” os mostraré como manejar Gpg4win. Herramienta que permite a los usuarios enviar correos electrónicos y ficheros de forma segura haciendo uso de cifrado y firma digital, con lo que pondremos en práctica los usos del cifrado simétrico y asimétrico para principiantes, que os he mostrado en este módulo o unidad formativa.

Por lo que os lo voy a explicar por encima para completar información de este módulo, dejando para el próximo, el entrar más a fondo en el tema.

¿Que es PGP?

Pretty Good Privacy (PGP privacidad bastante buena) es un programa desarrollado por Phil Zimmermann y cuya finalidad es proteger la información distribuida a través de Internet mediante el uso de criptografía de clave pública, así como facilitar la autenticación de documentos gracias a firmas digitales en la actualidad pertenece a Symantec.

Este programa garantiza la autenticidad de los mensajes electrónicos que se envíen. Podéis cifrar cualquier tipo de información personal (emails, archivos o el disco duro entero); siendo difícil para cualquier otra persona, que no seáis vosotros, intentar sacar información o interceptar el contenido de estos archivos. Tiene también la opción de “firma digital” para enviar mensajes que serán verificados por el destinatario; así se tiene la tranquilidad de que el mensaje no ha sido modificado durante el proceso de envío y solo nosotros hemos podido enviarlo.

¿Que es GPG?

La organización Free Software Foundation desarrolló su propio programa gratuito PGP llamado GNU Privacy Guard (abreviado como GnuPG o GPG), que proporciona una librería para encriptación, descifrado y funcionalidades de firma electrónica. Además, PGP se acompaña también con interfaces muy cómodas para el usuario (llamadas GUI), disponibles para la mayoría de los sistemas operativos disponibles.

GPG cifra los mensajes usando pares de claves individuales asimétricas generadas por los usuarios. Las claves públicas pueden ser compartidas con otros usuarios de muchas maneras, un ejemplo de ello es depositándolas en los servidores de claves. Siempre deben ser compartidas cuidadosamente para prevenir falsas identidades por la corrupción de las claves públicas. También es posible añadir una firma digital criptográfica a un mensaje, de esta manera la totalidad del mensaje y el remitente pueden ser verificados en caso de que se desconfíe de una correspondencia en particular.

GnuPG también soporta algoritmos de cifrado simétricos

Bitcoin

Las criptomonedas como el Bitcoin, también utilizan el cifrado asimétrico para asegurarse de que solamente el propietario de una billetera, pueda transferir o retirar dinero de ella.

La criptografía asimétrica o de clave pública es la piedra angular de la tecnología Blockchain, ya que es el elemento indispensable para poder realizar intercambios de información de forma segura entre partes que no tienen que confiar necesariamente entre ellas.

Dentro de la tecnología Blockchain, en lo que se refiere a la identidad del usuario, hay 3 datos principales que es necesario cifrar:

  • Clave privada.
  • Clave pública.
  • Dirección Bitcoin

La criptografía asimétrica utiliza dos claves, una pública y otra privada, ambas vinculadas entre sí mediante una función unidireccional que es capaz de calcular la clave pública a partir de la clave privada, pero no al revés. Lo que podemos hacer es permitir que alguien cifre un contenido con nuestra clave pública y que solo nosotros seamos capaces de descifrarlo con la clave privada como os mostré en las ilustraciones de Vero y Jevi. ¿A que se entiende mejor con las ilustraciones una vez ya las hemos visto?

La clave privada no es más que un número aleatorio de 256 bits (2^256 ceros y unos “^ = Potencia” ) representada en hexadecimal. El tamaño de la clave es uno de los datos críticos para determinar la seguridad del cifrado frente a ataques de fuerza bruta. Cuanto mayor sea el número de claves posibles, más difícil será encontrar la clave válida.

Resumiendo, la clave privada no es más que un número aleatorio tan grande que es probablemente imposible generar otro igual. A partir de éste número se calcula la clave pública usando el algoritmo de encriptación ECDSA (Elliptic Curve Digital Signature Algorithm). Pero esto no os lo voy a explicar.

SSH

SSH (o Secure SHell) es el nombre de un protocolo y del programa que lo implementa cuya principal función es el acceso remoto a un servidor por medio de un canal seguro en el que toda la información está cifrada. Además de la conexión a otros dispositivos, SSH permite copiar datos de forma segura (tanto archivos sueltos como simular sesiones FTP cifradas), gestionar claves RSA para no escribir contraseñas al conectar a los dispositivos y pasar los datos de cualquier otra aplicación por un canal seguro tunelizado mediante SSH y también puede redirigir el tráfico del (Sistema de Ventanas X) para poder ejecutar programas gráficos remotamente. El puerto TCP asignado es el 22.

Fuente: Wikipedia.

Resumen:

Ahora ya sabéis como funciona la encriptación asimétrica y cuales son las diferencias entre cifrado simétrico y asimétrico.

En este módulo habéis aprendido lo siguiente:

  • Que es la criptografía. Sabiendo a grandes rasgos, que es la conversión de texto legible en formato ilegible.
  • Términos más empleados en Criptografía.
  • En que consiste el cifrado. Os he mostrado las diferencias entre el cifrado simétrico y asimétrico y que es un HASH.
  • Os he introducido un poco en el Algoritmo RSA.
  • Habéis aprendido a usar el cifrado asimétrico para comunicaros con otros usuarios.
  • Los distintos usos donde se aplica el cifrado asimétrico.
  • Que son los protocolos HTTP y HTTPS.
  • Que es y como funciona el protocolo SSL/TLS.
  • Los datos que están protegidos con el protocolo SSL/TLS.
  • Diferencias entre PGP y GPG.
  • Uso de cifrado asimétrico en Bitcoin.
  • El protocolo SSH.

Muchas gracias por haberme acompañado hasta aquí, si os quedase alguna duda sobre el cifrado simétrico y asimétrico, lo dejáis en comentarios y entre todos intentaremos resolver vuestras dudas. Hasta el próximo módulo, en el cual os mostraré, como generar certificados para cifrar correos entre particulares, poniendo en práctica lo que en ese módulo os he mostrado, sin necesidad de pasar por una Autoridad de certificación.

Atte: Jevi – Jesús Vila Arsenal. FormCiberSeg – Formación y Ciberseguridad. Cibercooperante

Logo QR Formación y Ciberseguridad
Formación y Ciberseguridad en las nuevas tecnologías. FormCiberSeg
Sumario
Introducción al cifrado simétrico y asimétrico para principiantes
Título
Introducción al cifrado simétrico y asimétrico para principiantes
Descripción
Mediante unos principios básicos de criptografía, os muestro las diferencias entre criptografía simétrica y asimétrica, centrado en el uso del correo electrónico.
Autor
Edición
FormCiberSeg - Formación y Ciberseguridad
Logotipo

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Mostrar Iconos
Ocultar Iconos