Criptografía

Ocultar información no ha sido nunca cosa fácil, hemos desarrollado toda una ciencia, en el mundo informático toda una tradición y herramienta que ha dado nuevas conotaciones a la seguridad informática, llevándola a formar parte de la seguridad de practicamente la mayoría de nuestras posesiones tangibles. En la actualidad la Criptografía será la que nos permita dar el salto a las nuevas y mejoradas funciones de seguridad. Pero a su vez abren otro flanco de batalla en cuanto a ciberseguridad, esta vez con el punto de mira en las mejoras de los sistemas actualmente vulnerables.

 

¿Qué es la criptografía?

La criptografía se puede definir como la práctica y el estudio de la ocultación de información.

La criptografía moderna se cruza con las disciplinas de las matemáticas, la informática y la ingeniería. Las aplicaciones de la criptografía incluyen tarjetas de cajero automático, contraseñas de computadora y comercio electrónico.

La criptología antes de la era moderna era casi sinónimo de encriptación, la conversión de información de un estado legible a un estado sin sentido. El remitente conservaba la capacidad de descifrar la información y, por lo tanto, evitar que personas no deseadas pudieran leerla.

Desde la Primera Guerra Mundial y la llegada de la computadora, los métodos utilizados para llevar a cabo la criptología se han vuelto cada vez más complejos y su aplicación más extendida.

Usos de la Criptografía

Autenticación

Se puede utilizar para la autenticación de datos y mensajes.

Integridad

Se puede determinar mediante criptografía si los datos o mensajes han sido manipulados y cuándo se ha hecho.

Medida de No Repudio/Confianza

A través de la criptografía se puede garantizar la responsabilidad del remitente y se puede repudiar a aquellos que no cumplan lo estipulado, así se logra un modelo de confianza basada en criptología.

La criptografía también se puede utilizar para la comunicación segura en una red pública.

¿Cómo funciona la criptografía?

Para comprender mejor la criptografía se puede dividir en dos tipos de acuerdo a su funcionamiento:

N

Criptografía de clave simétrica

La criptografía de clave simétrica se refiere a los métodos de cifrado en los que tanto el remitente como el receptor comparten la misma clave (o, con menos frecuencia, en los que sus claves son diferentes, pero están relacionadas de una manera fácilmente computable).

N

Criptografía de clave asimétrica

Los algoritmos asimétricos utilizan pares de claves. Uno se utiliza para el cifrado y el otro para el descifrado. La clave de descifrado generalmente se mantiene en secreto, por lo que se denomina «clave privada», mientras que la clave de cifrado se transmite a todos los que deseen enviar mensajes cifrados, por lo que se denomina «clave pública». Cualquiera que tenga la clave pública puede enviar mensajes cifrados al propietario de la clave secreta. La clave secreta no se puede reconstruir a partir de la clave pública.

Criptografía de clave simétrica

La criptografía de clave simétrica se refiere a los métodos de cifrado en los que tanto el remitente como el receptor comparten la misma clave (o, con menos frecuencia, en los que sus claves son diferentes, pero están relacionadas de una manera fácilmente computable).

Existen dos tipos de cifrados con clave simétrica:

  • Block Ciphers (Cifrados de bloque)
  • Steam Ciphers (Cifrados de vapor)

Block Ciphers

Un «Block Ciphers» es, en cierto sentido, una encarnación moderna del cifrado polialfabético de Alberti: los cifrados de bloque toman como entrada un bloque de texto sin formato y una clave, y generan un bloque de texto cifrado del mismo tamaño.

Dado que los mensajes casi siempre son más largos que un solo bloque, se requiere algún método para unir bloques sucesivos. Se han desarrollado varios, algunos con mayor seguridad en un aspecto u otro que otros. Son los modos de operación y deben ser cuidadosamente considerados cuando se usa un cifrado de bloque en un criptosistema.

Ejemplos de Block Ciphers:

DES

AES

Steam Ciphers

Los «Steam Ciphers», en contraste con el tipo ‘bloque’, crean un flujo arbitrariamente largo de material clave, que se combina con el texto sin formato bit a bit o carácter a carácter, algo así como el bloc de notas de un solo uso.

En un cifrado de flujo, el flujo de salida se crea en función de un estado interno oculto que cambia a medida que opera el cifrado. Ese estado interno se configura inicialmente utilizando el material de la clave secreta.

Ejemplos de Steam Ciphers:

RC4

FISH

Criptografía de Clave Asimétrica

 

Los algoritmos asimétricos utilizan pares de claves. Uno se utiliza para el cifrado y el otro para el descifrado. La clave de descifrado generalmente se mantiene en secreto, por lo que se denomina «clave privada», mientras que la clave de cifrado se transmite a todos los que deseen enviar mensajes cifrados, por lo que se denomina «clave pública». Cualquiera que tenga la clave pública puede enviar mensajes cifrados al propietario de la clave secreta. La clave secreta no se puede reconstruir a partir de la clave pública. La idea de los algoritmos asimétricos fue publicada por primera vez en 1976 por Diffie y Hellmann.

Criptografía de clave pública

(Public-Key Cryptography)

En un artículo innovador de 1976, Whitfield Diffie y Martin Hellman propusieron la noción de criptografía de clave pública (también, más generalmente, llamada clave asimétrica) en la que se utilizan dos claves diferentes pero matemáticamente relacionadas: una clave pública y una clave privada.

Un sistema de clave pública está construido de tal manera que el cálculo de una clave (la ‘clave privada’) es computacionalmente inviable a partir de la otra (la ‘clave pública’), aunque estén necesariamente relacionadas. En cambio, ambas claves se generan en secreto, como un par interrelacionado.

En los criptosistemas de clave pública, la clave pública puede distribuirse libremente, mientras que su clave privada emparejada debe permanecer en secreto. La clave pública generalmente se usa para el cifrado, mientras que la clave privada o secreta se usa para el descifrado.

Diffie y Hellman demostraron que la criptografía de clave pública era posible al presentar el protocolo de intercambio de claves Diffie-Hellman.
Además del cifrado, la criptografía de clave pública se puede utilizar para implementar esquemas de firma digital. Una firma digital recuerda a una firma ordinaria; ambos tienen la característica de que son fáciles de producir para un usuario, pero difíciles de falsificar para cualquier otra persona.

Intercambio de claves Diffie-Hellman

 

El intercambio de claves Diffie-Hellman (D-H) es un método específico de intercambio de claves. Es uno de los primeros ejemplos prácticos de intercambio de claves implementado en el campo de la criptografía. El método de intercambio de claves Diffie-Hellman permite que dos partes que no se conocen previamente establezcan conjuntamente una clave secreta compartida a través de un canal de comunicaciones inseguro. Esta clave se puede usar para cifrar comunicaciones posteriores mediante un cifrado de clave simétrica. Es un tipo de intercambio de claves.

Aunque el acuerdo de clave Diffie-Hellman en sí mismo es un protocolo de acuerdo de clave anónimo (no autenticado), proporciona la base para una variedad de protocolos autenticados y se utiliza para proporcionar confidencialidad directa perfecta en los modos efímeros de Transport Layer Security (denominados EDH o DHE dependiendo del conjunto de cifrado).

Conceptos básicos en la encriptación con clave asimétrica

Hash

Funciones hash

Una función hash criptográfica es un procedimiento determinista que toma un bloque arbitrario de datos y devuelve una cadena de bits de tamaño fijo, el valor hash (criptográfico), de modo que un cambio accidental o intencional en los datos cambiará el valor hash.

Los datos que se codificarán a menudo se denominan «mensaje», y el valor hash a veces se denomina resumen del mensaje o simplemente resumen.

La función hash criptográfica ideal tiene cuatro propiedades principales o significativas:

 

  • Es fácil calcular el valor hash para cualquier mensaje dado.
  • No es factible encontrar un mensaje que tenga un hash dado.
  • No es factible modificar un mensaje sin cambiar su hash.
  • No es factible encontrar dos mensajes diferentes con el mismo hash.

Firma Digital

Una firma digital o esquema de firma digital es un esquema matemático para demostrar la autenticidad de un mensaje o documento digital.

Una firma digital válida le da al destinatario una razón para creer que el mensaje fue creado por un remitente conocido y que no fue alterado en tránsito.

Las firmas digitales se utilizan comúnmente para la distribución de software, transacciones financieras y en otros casos en los que es importante detectar falsificaciones y manipulaciones.

Las firmas digitales emplean un tipo de criptografía asimétrica. Para los mensajes enviados a través de un canal inseguro, una firma digital implementada correctamente le da al receptor razones para creer que el mensaje fue enviado por el remitente reclamado.

Las firmas digitales también pueden proporcionar no repudio, lo que significa que el firmante no puede afirmar con éxito que no firmó un mensaje, al mismo tiempo que afirma que su clave privada permanece en secreto; Además, algunos esquemas de no repudio ofrecen una marca de tiempo para la firma digital, de modo que incluso si la clave privada está expuesta, la firma es válida.

Los mensajes firmados digitalmente pueden ser cualquier cosa representable como una cadena de bits: los ejemplos incluyen correo electrónico, contratos, etc.

Autoridad Certificadora

La autoridad certificadora o autoridad certificadora (CA) es una entidad que emite certificados digitales. El certificado digital certifica la propiedad de una clave pública por parte del sujeto designado en cada certificado. Esto permite que otros confíen en las firmas o afirmaciones realizadas por la clave privada que corresponde a la clave pública certificada.

En este modelo de relaciones de confianza, una CA es un tercero de confianza en el que confían tanto el sujeto (propietario) del certificado como la parte que confía en el certificado. Las CA son características de muchos esquemas de infraestructura de clave pública (PKI).
Las CA comerciales cobran por emitir certificados en los que la mayoría de los navegadores web confiarán automáticamente (Mozilla mantiene una lista de al menos 36 CA raíz confiables, aunque varias CA comerciales o sus revendedores pueden compartir la misma raíz confiable).
Además de las CA comerciales, algunos proveedores emiten certificados digitales al público sin costo alguno. Las grandes instituciones o entidades gubernamentales pueden tener sus propias CA.

Análisis Criptográfico

El objetivo del criptoanálisis es encontrar alguna debilidad o inseguridad en un esquema criptográfico, permitiendo así su subversión o evasión.

Es un error común pensar que todos los métodos de encriptación se pueden descifrar. En relación con su trabajo en la Segunda Guerra Mundial en Bell Labs, Claude Shannon demostró que el cifrado del bloc de notas de un solo uso es indescifrable, siempre que el material clave sea verdaderamente aleatorio, nunca se reutilice, se mantenga en secreto para todos los posibles atacantes y tenga una longitud igual o mayor que la del mensaje.

La mayoría de los cifrados, además del bloc de notas de un solo uso, se pueden descifrar con suficiente esfuerzo computacional mediante un ataque de fuerza bruta, pero la cantidad de esfuerzo necesario puede depender exponencialmente del tamaño de la clave, en comparación con el esfuerzo necesario para usar el cifrado. En tales casos, se podría lograr una seguridad efectiva si se demuestra que el esfuerzo requerido (es decir, el «factor de trabajo», en términos de Shannon) está más allá de la capacidad de cualquier adversario.

Esto significa que se debe demostrar que no se puede encontrar ningún método eficiente (a diferencia del método de fuerza bruta que requiere mucho tiempo) para descifrar el cifrado.

Dado que actualmente no se puede hacer tal demostración, a partir de hoy, el bloc de notas de un solo uso sigue siendo el único cifrado teóricamente indescifrable.

Tipos de Ataques en Criptografía

Known Plaintext Attack

En un ataque de texto sin formato conocido (Known Plaintext attack), un atacante debe tener tanto el texto sin formato como el texto cifrado de uno o más mensajes. Estos dos elementos se utilizan para extraer la clave criptográfica y recuperar el texto cifrado.

Ciphertext Only Attack

En este ataque, un atacante obtiene mensajes encriptados que han sido encriptados usando el mismo algoritmo de encriptación. Tales tipos de ataques no requieren que el atacante tenga el texto sin formato porque el análisis estadístico del registro rastreado es suficiente.

Man-in-the-middle Attack

En esta forma de ataque, un atacante se coloca en medio del flujo de comunicaciones entre dos partes. Una vez que el atacante ingresa al flujo de comunicaciones, puede realizar un ataque de solo texto cifrado, etc.

Replay Attack

En este tipo de ataques, el ciberdelincuente intenta repetir o retrasar la transmission criptográfica, se puede prevenir usando Tokens de Acceso.

Un token de acceso es un string aleatorio que identifica a un usuario y puede ser utilizado por la aplicación para realizar llamadas API.

El token incluye información sobre cuándo expirará el token y qué aplicación generó el token.

Chosen Plaintext Attack

En un ataque de texto sin formato elegido, un atacante de alguna manera recoge la información que se va a cifrar y toma una copia de ella con los datos cifrados.

Esto se usa para encontrar patrones en la salida criptográfica que podrían descubrir una vulnerabilidad o revelar una clave criptográfica.

Ataque de Fuerza Bruta

Teóricamente posible, más que improbable.

Cifrado de disco

El cifrado de disco funciona de manera similar al cifrado de mensajes de texto. Con el uso de un programa de encriptación para su disco, puede salvaguardar toda la información grabada en el disco y evitar que caiga en las manos equivocadas.

El cifrado de discos es increíblemente útil siempre y cuando necesite enviar información confidencial por correo.

RSA(Rivest,Shamir,Adleman)

RSA (que significa Rivest, Shamir y Adleman, quienes lo describieron públicamente por primera vez) es un algoritmo para la criptografía de clave pública. Es el primer algoritmo que se sabe que es adecuado tanto para la firma como para el cifrado, y fue uno de los primeros grandes avances en la criptografía de clave pública. RSA se usa ampliamente en los protocolos de comercio electrónico y se cree que es seguro dadas las claves suficientemente largas y el uso de implementaciones actualizadas.

Ataques RSA:

  • Brute forcing RSA Factoring
  • Esoteric attack
  • Chosen ciphertext attack
  • Low encryption exponent attack
  • Error analysis
MD%

MD5

MD5 (Message-Digest Algorithm 5) es una función hash criptográfica ampliamente utilizada con un valor hash de 128 bits.

MD5 se ha empleado en una amplia variedad de aplicaciones de seguridad y también se usa comúnmente para verificar la integridad de los archivos. Sin embargo, se ha demostrado que MD5 no es resistente a colisiones.

MD5 no es adecuado para aplicaciones como certificados SSL o firmas digitales que dependen de esta propiedad.

Un hash MD5 generalmente se expresa como un número hexadecimal de 32 dígitos.

SSL (Secure Socket Layer)

SSL significa Secure Sockets Layer y es un protocolo desarrollado por Netscape para transmitir documentos privados a través de Internet. SSL funciona mediante el uso de una clave privada para cifrar los datos que luego se transfieren a través de la conexión SSL. El protocolo SSL es independiente del protocolo de aplicación.

SSL

PGP Pretty Good Privacy

Pretty Good Privacy (PGP) es un programa informático de cifrado y descifrado de datos que proporciona privacidad criptográfica y autenticación para la comunicación de datos.

PGP se utiliza a menudo para firmar, cifrar y descifrar correos electrónicos para aumentar la seguridad de las comunicaciones por correo electrónico.

Fue creado por Philip Zimmermann en 1991. PGP y productos similares siguen el estándar OpenPGP (RFC 4880) para cifrar y descifrar datos.

El cifrado PGP utiliza una combinación en serie de hashing, compresión de datos, criptografía de clave simétrica y, finalmente, criptografía de clave pública; cada paso utiliza uno de varios algoritmos admitidos.

Cada clave pública está vinculada a un nombre de usuario y/o una dirección de correo electrónico.

La primera versión de este sistema se conocía generalmente como una web de confianza en contraste con el sistema X.509 que utiliza un enfoque jerárquico basado en la autoridad de certificación y que se agregó a las implementaciones de PGP más tarde.

Las versiones actuales del cifrado PGP incluyen ambas opciones a través de un servidor de administración de claves automatizado.

SSH (Secure Shell)

El programa, SSH (Secure Shell), es un reemplazo seguro para telnet y las utilidades r de Berkeley (rlogin, rsh, rcp y rdist).

Proporciona un canal encriptado para iniciar sesión en otra computadora a través de una red, ejecutar comandos en una computadora remota y mover archivos de una computadora a otra.

SSH proporciona una sólida autenticación de host a host y de usuario, así como comunicaciones cifradas seguras a través de una Internet insegura. SSH2 es una versión más segura, eficiente y portátil de SSH que incluye SFTP, un FTP con un tunel SSH2.

Más de diez maneras de robar una contraseña

Más de diez maneras de robar una contraseña

Una contraseña es algo habitual en nuestros días, algo tan sencillo que al ser secreto, permite una seguridad única, imprescindible hoy en nuestros días las contraseñas se han convertido en algo tedioso, la mayoría de las personas en edad laboral debe de lidiar con...

Cómo organizar un ciberataque en España

Cómo organizar un ciberataque en España

Un ciberataque actualmente en España se puede llevar a cabo a través de conocer el ciclo de vida de esta, este ciclo es conocido dentro del argot tecnológico como Cyber Kill Chain, un concepto de uso militar que se usa para defnir los pasos a seguir para atacar de...

¿Tienes alguna duda?

Nos encanta responder todas las preguntas que recibimos, contacta con nosotros a través de esta diccionario o a través de [email protected]

× ¡Escríbenos por Whats App aquí!