Los algoritmos de cifrado son una parte fundamental para la seguridad informática de una organización. De hecho, son estos la barrera que impide el robo de información sensible. Pero, ¿cómo funcionan? ¿Qué tipos hay? Te contamos en este artículo.
Si tenemos que utilizar una analogía, podemos decir que los algoritmos de cifrado son un símil para las combinaciones de caja fuerte. Estas están dispuestas para evitar el ingreso de personas no autorizadas a información o activos sensibles.
Aunque no importa qué tan fuerte sea la caja de seguridad, si sus claves son débiles. Puede contener los materiales de seguridad más fuertes, pero si un adversario consigue la clave de seguridad de nada valdrá la fortaleza de la misma.
Lo mismo sucede a la inversa. ¿De qué sirve una combinación fuerte en seguridad, si con apenas un golpe la estructura de la caja fuerte se desploma?
Entonces, podemos decir, que el secreto del éxito es lograr una mezcla sólida de estructuras firmes y claves seguras. Justamente es lo que pasa con los algoritmos de cifrado. Entremos más en materia.
¿Qué es un algoritmo de cifrado?
Podemos definir al algoritmo de cifrado como un componente de seguridad del transporte electrónico de datos. Son la principal barrera de protección, y en ocasiones la única, a la hora de prevenir un fraude de datos.
Los algoritmos de cifrado son parte importante de los protocolos de gestión de riesgos y ya se encuentran imbricados en los programas y aplicaciones de nuestros dispositivos.
¿Cómo funcionan los algoritmos de cifrado?
En resumen, podemos decir que el trabajo del algoritmo de cifrado es ayudar a transformar el texto sin formato en texto cifrado, y viceversa. De esta forma, se pueden solucionar cuestiones importantes de vulnerabilidad cuando estos están siendo transportados en la red.
Se considera que la fortaleza de los sistemas de algoritmos aumenta, a medida que aumenta su longitud.
Tipos de datos
Para terminar de entender cómo funcionan los algoritmos de cifrado debemos comprender qué tipo de datos existen y cómo se comportan.
- Datos en movimiento: Son los datos que se transmiten a través de una red.
- Datos en reposo: Corresponden a la información almacenada en dispositivos.
- Datos en uso: Son aquellos que están siendo utilizados. Ya sea que se estén actualizando, borrando o visualizando.
¿Para qué sirven los algoritmos de encriptación?
Los algoritmos de encriptación tienen un objetivo claro. Su misión es asegurar la:
- Confidencialidad: Mediante la codificación del contenido del mensaje.
- Autenticación: A través de la verificación del origen del mismo.
- Integridad: Debe asegurar que el contenido no fue modificado desde su envío.
- No rechazo: Evita que los remitentes nieguen haber enviado el mensaje cifrado.
Tipos algoritmos de cifrado
1 | Algoritmos de cifrado de archivos
Este primer tipo de algoritmo de cifrado es el que utilizan predeterminadamente los dispositivos para convertir los textos sin formato en texto cifrado.
Existent tres tipos básicos:
- DES (Estándar de cifrado de datos): Se trata de un cifrado de bloque simétrico que divide el texto a cifrar en bloques de datos de 64 bits cada uno. Fue impulsado por IBM en la década del 70, pero NIST pidió que saliera de circulación debido a que no resistía los ataques de fuerza bruta.
- AES (Estándar de cifrado avanzado): Es la evolución de su antecesor DES. Solo que, en vez de dividir los bloques de datos en 64 bits, lo hace en 128. Existen tres versiones; 128, 192, y 256, los cuales se consideran los más irrompibles en el mercado actual.
- RSA (Rivest Shah Addleman): Este algoritmo de cifrado es asimétrico, por lo que utilice distintas claves para encriptar y desencriptar. Para ello utiliza exponenciación modular, y problemas de logaritmos discretos.
2 | Capas de cifrado de archivos
En el caso de los algoritmos de cifrado de archivo en capas, se estila utilizar diferentes sistemas combinados para potenciar la seguridad de los datos en reposo y en tránsito.
Existen varios tipos que pueden combinarse libremente:
- PGP (Pretty Good Privacy): Es una clave de cifrado de código gratuito que resguarda la seguridad de los datos en cuanto a archivo, sobre todo cuando estos se encuentren en tránsito. Debido a esto, utilizará una clave privada y otra pública con una gran cuota de éxito frente a ataques de fuerza bruta.
- S/MIME (Secure Multipurpose Internet Mail Extension): En cambio, S/MIME aprovecha el cifrado de extremo a extremo de los datos en tránsito. Generalmente, se utiliza en servicios de correo electrónico, para asegurar que los mismos no sean interceptados por terceros. El remitente posee una clave público que cifrará el mensaje, y solo el destinatario podrá leerlo gracias a su clave privada. En cuanto a autenticación, utilizará certificados digitales para autentificar y autorizar el acceso en los puntos finales.
- SSL (Secure Socket Layer): Para la nube, en un primer momento se utilizó este algoritmo de encriptación. A pesar de ser un poco antiguo, ofrece privacidad, autenticación e integridad a las comunicaciones entre el cliente y el servido. Con este fin utiliza cifrado, certificación digital y protocolos de enlaces virtuales.
- TLS (Transport Layer Security): Este sistema de cifrado combina el cifrado simétrico y asimétrico para lograr una capa de protección en la nube aún más sólida que el SSL.
- SSH (Secure Shell): El SSH se diferencia del TLS en que este no está destinado a utilizarse protector de transferencia de archivos. Si no que se encarga de crear un túnel encriptado para acceder a los datos de otro dispositivo mediante el uso de una clave pública.
3 | Protocolos de cifrado de transferencia de archivos
En el caso de los algoritmos de cifrado para transferencia de archivos mediante protocolos, se necesita una combinación de algoritmos, protocolos y funciones adicionales para asegurar la transferencia segura.
- FTPS (FTS o SSL): Este método utiliza Secure Socket Layer para encriptar datos en los canales de comando. Para ello utilizará una combinación de contraseñas de ID de usuario, certificados digitales para verificar la identidad del destinatario.
- AS2, AS3 y AS4: Se trata de declaraciones de aplicabilidad (AS2) con sus respectivas variaciones que transmiten mensajes cifrados entre puntos finales. Con este propósito usarán algoritmos hash y certificados digitales.
- SFTP (Protocolo seguro de transferencia de archivos): Por otro lado, el SFTP es un protocolo de transferencia de archivos que utiliza el cifrado SSH. Su finalidad es proteger los datos en el mismo puerto FTP, haciendo que todos los archivos se cifren antes de enviarlos a la nube.
- HTTPS: Por último, el HTTPS es una implementación del cifrado TLS en el protocolo HTTP. Es común su utilización en cifrados para el envío de datos a través de sitios webs y navegadores.
¿Qué es el criptoanálisis?
Sin embargo, también existe una contraparte que trabaja fervientemente es desbaratar los algoritmos de cifrado. Se trata del criptoanálisis.
Su función es descubrir e investigar los métodos para obtener el significado de la información encriptada, sin contar con la información secreta que se requiere para hacerlo.
Para lograr este propósito, generalmente basta con entender cómo funciona el sistema para lograr dar con la clave secreta. Aunque no es tan sencillo como suena, ya que es complejo obtener el texto cifrado de un criptosistema.
Así se han creado distintos modelos de ataque de acuerdo a la información disponible y el tipo de cifrado que presente la información.
En otras palabras, el criptoanálisis es la ciencia de descifrar códigos y decodificar secretos. Es utilizado para romper esquemas de autenticación y esquemas de autenticación. Pero en ocasiones, también es utilizado para corregir las debilidades de los algoritmos de cifrado.
¿Cuáles son los tipos comunes de ataques a los algoritmos de cifrado?
- Fuerza bruta: El primer tipo es el más sencillo, ya que solo consiste en que el atacante descifre el mensaje con cada clave secreta posible hasta dar con la correcta.
- Man-in-the-middle: El ataque de “hombre en el medio”, implica que el atacante intercepte una comunicación entre dos usuarios, impidiendo que el mensaje llegue hasta el destinatario. De esta forma, podrá eliminar o editarlo antes de permitir que siga su curso. Para esto, el ciberdelincuente deberá adivinar la clave secreta.
- Solo texto cifrado: En estos casos, solo se puede atacar el mensaje cifrado, ya que se desconoce el contenido del mensaje.
- Texto plano conocido: También conocido como texto sin formato conocido. Se caracteriza por contar con un texto sin formato y un texto cifrado que quedarán disponibles si el atacante descubre la clave. Esto es sencillo, debido a que el mismo puede adivinar el texto sin formato de algunas partes del texto cifrado.
- Texto plano elegido: Para este caso, el atacante deberá obtener acceso al dispositivo de cifrado de destino si este es desatendido. Pero, solo podrá lograrlo intentando ejecutar distintas piezas de texto sin formato. Al compararlo se podrá llegar a la clave.
Entonces, ¿qué algoritmo de cifrado utilizo?
Cada algoritmo de cifrado tiene un fin particular y determinados beneficios o desventajas. Sin embargo, la primera recomendación es optar por aquellos algoritmos de encriptación de más reciente actualización.
También sería prudente utilizar una solución MFT. También conocida como de Transferencia de Archivos Gestionados.
Conclusión
En este artículo hemos aprendido cómo funcionan los algoritmos de cifrado. Hemos repasado los distintos tipos y sus beneficios. Pero también hemos echado un pequeño vistazo al criptoanálisis, una herramienta que en ocasiones parece ser su enemiga más acérrima.