El arte de la criptografía

Javier Paniagua

Como Alan Turing estuvo descifrando códigos para romper el cifrado de la maquina Enigma en la Segunda Guerra Mundial, los cibercriminales lo hacen en la actualidad, ¿cuál es el secreto de una criptografía robusta?

Javier Paniagua

Turing, no solo desencriptó los códigos nazis, con esto logró acortar la Segunda Guerra Mundial entre dos y cuatro años. El legado de Alan Turing, trasciende más allá de esta hazaña, también es uno de los padres de la computación y percusores de la informática moderna.

Por eso, conoceremos paso a paso cómo generar barreras criptográficas robustas que permitan proteger la información valiosa de las empresas y eso esto determinado por la  fortaleza que tenga el cifrado de un algoritmo.

Primero se debe conocer cómo funciona dicho algoritmo, del cual no se puede tomar la información, ya que no se conoce con cual llave se cifró, de esa manera queda segura. Por eso se recomienda que las compañías no desarrollen su propio algoritmo cifrado, ya que haciéndolo podrían crear una sensación de falsa seguridad.

Leer también: ¿Cómo aprovechar el IoT en las empresas?

“Un algoritmo se puede crear a partir de un conjunto de pasos que permitan la modificación de la sintaxis de un texto utilizando en una llave, junto con el proceso inverso para lograr descifrar la información, es decir, regresar a la sintaxis original”, comentó Miguel Ángel Mendoza, especialista en seguridad informática de ESET Latinoamérica.

 Sin embargo, la capacidad de cómputo de la actualidad permite que los diversos algoritmos resulten ineficaces, ya que a través de distintos métodos (como la fuerza bruta) es posible obtener la llave de cifrado/descifrado, y por lo tanto tener acceso a la información.

Es por eso que, los algoritmos de cifrado tienen como base funciones matemáticas de elevada complejidad para su solución. Al intentar obtener las llaves de descifrado si no se conocen requiere de mucho tiempo, así como de procesamiento.

En este sentido, la efectividad del cifrado está en función de las llaves utilizadas, así como de la complejidad para solución de las funciones matemáticas empleadas en los algoritmos. Si la llave que ha sido utilizada está comprometida, también lo estará la información cifrada con ella.

Más de este especial: Criptografía en la banca

De acuerdo con Thiago Marques, analista de seguridad, Kaspersky Lab, en el arte de la criptografía se debe entender el proceso donde se aplicará el cripto, conociendo la sensibilidad de la información, así como el rendimiento necesario para que este proceso se ejecute sin problemas.

“Además se debe decidir el algoritmo que se utilizará. En este paso, se tiene que considerar la información del paso anterior para elegir la mejor opción para su entorno e implementar el cripto correctamente, ya que un buen algoritmo mal implementado a veces es más fácil de interrumpir que un algoritmo que no sea tan bueno”, explicó Marques.

¿Qué debo hacer?

Como la criptografía hace referencia al uso de códigos y tanto el desarrollo como su posterior ejecución dependen del algoritmo, donde todos tienen base matemática, es vital representarlos estructuradamente con aritmética modular.

Así es como la seguridad del protocolo RSA depende parcialmente de la dificultad en la factorización de enteros o bien, el algoritmo Diffie-Hellman, uno de los más conocidos, depende de la dificultad de calcular un logaritmo discreto. Otro es el  AES (Advanced Encryption Standard), que es un estándar de cómo deben estar ejecutados estos algoritmos que han sido sometidos anteriormente a una serie de pruebas. 

Otras instituciones que regulan estos estándares alrededor del mundo son: FIPS (Federal Information, Processing Standards), ANSI, IEEE, ISO y NIST (National Institute of Standards and Technology), el cual provee una publicación denominada “NIST Cryptographic Standards and Guidelines Development Process”, que puede tomarse como referencia para equipos de trabajo criptográfico.

No se pierda: Aviones como objetivo de cibercriminales

De acuerdo con Álvaro Andrade, chief executive officer de Ethical Hacking, todo procedimiento va a depender siempre de una política, en este caso, de una política de cifrado, que es la que dará los lineamientos generales sobre la información que se desea proteger como las mencionadas anteriormente.

Es importante tener en cuenta que un procedimiento de cifrado va a ser robusto en dependencia del tipo de criptosistema utilizado de los algoritmos de cifrado utilizados para tal fin.

“Hay que tener en cuenta la complejidad algorítmica que representa la cantidad de recursos temporales que necesita un algoritmo para resolver un problema y por tanto permite determinar la eficiencia de dicho algoritmo. Los criterios que se emplean para evaluar la complejidad algorítmica no proporcionan medidas absolutas sino medidas relativas al tamaño del problema”, explicó Andrade.

 

Es de suma importancia el diagrama de flujo de datos que  ayuda al desarrollo de un algoritmo para poder representar el comportamiento de los datos de entrada desde el texto plano, sus llamadas a subprocesos y transformaciones, hasta su salida en texto cifrado.

Además de pseudocódigo, el cual se emplea para describir un algoritmo sin la necesidad de difundir cuáles son sus principios básicos. De manera que sea más sencillo para un ser humano de comprender el mensaje, a diferencia de lo que ocurriría frente a un lenguaje de programación real y finalmente la implementación. Este sería el último paso para el desarrollo de un algoritmo donde se escoge el mejor lenguaje de programación para implementar todos los procesos anteriormente analizados.

Siga: Petya: El nuevo ciberataque en Europa

Recomendaciones para protocolo criptográfico ideal

Basta con aplicar al pie de la letra los estándares de clave pública. Haciendo especial hincapié en la custodia de la clave privada, ésta será la piedra angular de su identidad digital, y se encuentra bajo el control exclusivo del propietario y alojada en una tarjeta inteligente o token criptográfico (certificados como Dispositivos Seguros de creación de Firma o SSCD), de esta forma se garantiza un nivel de seguridad máximo.

De acuerdo con Randall Barnett, especialista informático del Instituto Costarricense de Electricidad (ICE), para que un protocolo criptográfico sea robusto se debe tener en cuenta: el establecimientos de claves, autenticación de entidades, cifrado simétrico y autenticación de mensajes, transporte de datos en forma segura a nivel de aplicación y métodos de no repudio.

También aspectos con programas especializados, tales como IPSec, Authentication Header, Encapsulating Security Payload e Internet Key Exchange.

“Todo código matemático es posible representarlo en un lenguaje de programación y para programar analizas el problema, extraes la idea central, separas todo en problemas más pequeños y sencillos de interpretar, codificas según el lenguaje de programación y pruebas”, explicó Barnett.

¿Cómo están conformados?

Los algoritmos criptográficos están compuestos ya sea por sistemas de clave simétrica, asimétrica (exponenciación modular o funciones hash).

Es habitual observar los algoritmos en la tecnología PKI (Infraestructuras de Clave Pública), siendo la base de los procesos de autenticación segura y firma digital empleados hoy en día. Y utiliza tecnología de RSA, donde la seguridad reside en la complejidad de factorizar números entero conformados por el producto de dos números primos, a esa complejidad matemática dota gran robustez a los datos.

“La tecnología PKI utiliza certificados digitales que cumplen estándares internacionales. En especial, la estructura de un certificado digital sigue el estándar X.509 (definiendo principalmente campos y estructura)”, explicó Javier González Montilla,  International Sales Manager de Bit4d.

 De forma parecida, las claves criptográficas han de respetar unas longitudes mínimas que se consideran seguras a día de hoy. Definidas por la comunidad científica internacional  y reguladas a nivel nacional por parte de un organismo local (en España por parte del MINETUR y del Centro Criptológico Nacional).

Según, Camilo Fernández, socio de ciberseguridad de Devel Security by Deloitte, es importante tener en cuenta cómo están conformados, ya que esto se verá relaciona al modelo criptográfico que se vaya a emplear.

“Podría ser de llave simétrica en donde ambos lados conocen la llave de cifrado y esta misma es la utilizada para descifrar. También se puede hacer uso de llaves públicas y privadas en donde no se comparte algo entre los involucrados y provee adicionalmente integridad en la comunicación”, comentó Fernández.

En qué caso se utiliza uno o el otro dependerá del tipo de protocolo de comunicación, su diseño y su capacidad de usar los distintos modelos.

Incluso se utiliza un ordenador actual, un ataque de fuerza bruta a una clave RSA de 2048 bits necesitaría un tiempo medio de 4,394,967,296 x 1.5 millones de años; es decir, un tiempo 468 veces superior a la vida del Universo, desde el Big Bang hasta ahora.

Entre los factores a resaltar están: la factorización de enteros y algunos problemas de logaritmos discretos, la base de la mayoría de los algoritmos asimétricos de llave pública.

De acuerdo con Miguel Ángel Mendoza, de ESET, destacó la existencia  de algoritmos públicos o propietarios, la ventaja de emplear algoritmos de cifrado de dominio público como AES, recae en el hecho de que son revisados continuamente por la comunidad científica y académica, al tiempo que son colocados a disposición de investigadores en la materia, para hallar fallas o determinar su idoneidad. Estos a su vez ya probados son menos propensos a contener errores que un algoritmo propietario.

Este artículo está clasificado como: ,

Comentarios

Para poder comentar debe iniciar su sesión:

INGRESAR