Artículo Reporte de Caso Modelo de encriptación simétrica basada en atractores caóticos. Symmetric encryption model based in chaotic attractors. César Augusto Suárez Parra Universidad Distrital Francisco José de Caldas Facultad de Ingeniería
[email protected] Edilma Isabel Amaya Barrera Universidad Distrital Francisco José de Caldas Facultad de Ingeniería
[email protected] Rafael Esteban Huérfano Ortiz Universidad Distrital Francisco José de Caldas Facultad de Ingeniería
[email protected] José David Moreno Posada Universidad Distrital Francisco José de Caldas Facultad de Ingeniería
[email protected] Fabio Andrés Parra Fuentes Universidad Distrital Francisco José de Caldas Facultad de Ingeniería
[email protected]
Resumen El desarrollo de los medios de comunicación hace que cada día sea más difícil la seguridad en la transmisión de información; el aumento de la capacidad de procesamiento de las máquinas y los desarrollos algorítmicos conllevan a una disminución en el tiempo para descifrar la información por medio de técnicas de combinatoria, lo que plantea la necesidad de generar nuevas formas de codificación de la información. En este artículo presentamos un modelo de encriptación simétrica para comunicaciones digitales, utilizando el caos generado por el atractor de Lorenz. El modelo propuesto está basado en modelos de encriptación desarrollados para comunicaciones análogas. Palabras claves: Sincronización, caos, encriptación, atractor de Lorenz, comunicaciones digitales.
Abstract The development of the media makes more difficult day by day the security in the transmission of information; the increase in the processors processing capacity and the algorithmic development lead up to the decrease in the time to decrypt the information using combinatorial techniques, therefore it is necessary to generate new ways to code the information. In this paper, we present a symmetric encryption model for digital communications, using the chaos generated by the Lorenz's attractor. The proposed model is based in encryption models developed for analog communications. Key words: Synchronization, chaos, encryption, Lorenz attractor, digital communications.
1. Introducción Los sistemas dinámicos estudian el comportamiento en el tiempo de fenómenos físicos, los cuales se modelan matemáticamente por medio de ecuaciones diferenciales o en diferencias finitas, según se trate de fenómenos de tipo continuo o discreto, respectivamente, y el propósito es antes que hallar la solución analítica, analizar el comportamiento del sistema a largo plazo, determinar si al realizar pequeños cambios en las condiciones iniciales del modelo, se generan cambios trascendentales con la evolución del tiempo, en caso afirmativo, se trata de una situación en la que aparece el caos, que está ligado a fenómenos de tipo no lineal , en los cuales el comportamiento es impredecible a largo plazo. En el año 1963 el meteorólogo, Edward Lorenz, estaba estudiando el comportamiento de la atmósfera, y quería proponer un modelo matemático para realizar predicciones del clima, formuló lo que en la actualidad se conoce como Ecuaciones de Lorenz, pero curiosamente por medio de simulaciones se dió cuenta que ante pequeñas perturbaciones de los datos iniciales, el sistema cambiaba su comportamiento, lo cual impedía hacer predicciones. La pregunta que motivó el desarrollo de este trabajo, se puede sintetizar así: ¿de qué manera se puede aprovechar el caos generado por el atractor de Lorenz para crear un modelo de encriptación simétrica que aumente el nivel de seguridad de la información? En 1989 Louis M. Pecora y Thomas L. Carroll descubrieron el sincronismo que se puede presentar en atractores caóticos, descomponiendo los sistemas en por lo menos dos subsistemas y encadenando estos subsistemas con señales comunes, si los exponentes de Lyapunov de los subsistemas son todos negativos los sistemas a los que pertenecen los subsistemas sincronizarán, es decir, los valores de un sistema convergerán a los valores del otro [1]. Esta propiedad fue utilizada en el año 1993 por Kevin Cuomo y Alan Oppenhein para ocultar comunicaciones análogas implementando las ecuaciones de Lorenz en los circuitos electrónicos de emisión y recepción [2]. Ellos propusieron dos estrategias para el encriptamiento de la información, la primera adicionando al mensaje el enmascaramiento caótico de la señal común en el emisor y luego restándole en el receptor, la segunda consiste en utilizar la modulación de las señales caóticas para adicionar el mensaje en el circuito emisor y luego hacer la detección del error en el circuito receptor.
M.S. Azzaz, C. Tankougast, S.Sadoudi y Adandache de la Universidad Paul Verlaine de Metz en Francia, realizaron la implementación de una llave aleatoria, para encriptar y desencriptar información, basada en el atractor caótico de Lorenz, sobre compuertas programables FPGA (Field Programing Gates Array), con lo cual lograron, según lo indican, una arquitectura de hardware compacta y con alta velocidad de desempeño. La arquitectura fue diseñada con base en la solución numérica de las ecuaciones de Lorenz por el método Runge Kutta 4 [3]. En el año 2011 se realizó una tesis de maestría en la Universidad Nacional de Colombia (Sede Bogotá) alusiva al enmascaramiento de información mediante sistemas caóticos sincronizados, donde aplica la propiedad de sincronismo de algunos sistemas caóticos para simular numéricamente el enmascaramiento de información y la transmisión y recuperación de ésta utilizando la técnica de enmascaramiento Chaotic Shift Keying (CSK) con los modelos de Lorenz, Rössler y Sprott [4].
2. Generalidades de los sistemas dinámicos caóticos Un sistema dinámico es una representación matemática de un sistema físico, que busca predecir el comportamiento del sistema físico a medida que transcurre el tiempo; la representación matemática involucra ecuaciones diferenciales o ecuaciones en diferencias finitas según sea de tipo continuo o discreto respectivamente. Cuando no se satisface el principio de superposición se está ante la presencia de un sistema no lineal, para lo cual se hace un estudio fundamentalmente de tipo cualitativo para caracterizar su dinámica en el tiempo, la no linealidad abre la posibilidad de que se genere caos. En este documento se entiende que el caos ocurre cuando el sistema presenta un comportamiento aperiódico a largo plazo, es decir, existen trayectorias que con el paso del tiempo no convergen a órbitas periódicas, cuasiperiódicas, o puntos fijos, y exhibe una dependencia sensible a pequeñas variaciones en las condiciones iniciales, lo que significa que dos trayectorias cercanas, a medida que transcurre el tiempo se separan de forma exponencial. 2.1.Atractor de Lorenz Lorenz formuló un modelo tridimensional para realizar predicciones climatológicas y notó que si el modelo se alimentaba de la observación anterior con cifras redondeadas en lugar de las cifras reales, éste se comportaba inicialmente de la misma forma pero rápidamente comenzaban a trazarse trayectorias totalmente distintas a las trayectorias seguidas cuando las cifras eran las reales, lo cual generaba predicciones en el clima muy erradas [5]. El modelo formulado por Lorenz es: 𝑥̇ = 𝜎(𝑦 − 𝑥) 𝑦̇ = −𝑥𝑧 + 𝑟𝑥 − 𝑦 𝑧̇ = 𝑥𝑦 − 𝑏𝑧
(1)
Quien a raíz de las observaciones anteriores, descubrió que este modelo exhibe comportamiento caótico, ya que para pequeños cambios en los parámetros, las soluciones oscilan de manera irregular; así por ejemplo, en la figura 1, se muestra el comportamiento aperiódico de las variables x, y, z para σ =10, b=8/3, r=28.
Figura 1. Atractor de Lorenz
3. Sincronización de sistemas dinámicos caóticos. La sincronización de sistemas caóticos comenzó con los estudios de Pecora y Carroll en el año 1.990, y se ha utilizado para encriptar información, gracias a la impredictibilidad en el comportamiento de los sistemas caóticos. Para realizar la sincronización se requieren dos sistemas, uno llamado maestro, que es el sistema caótico original, y el otro denominado esclavo, el cual se construye de subsistemas obtenidos a partir del sistema original y seleccionando la variable que se desee como enlace, llamada variable sincronizante. Los sistemas maestro y esclavo estarán sincronizados si las trayectorias de los dos sistemas al cabo del tiempo coinciden aunque inicialmente sean distintas. Particularmente, en el caso del atractor de Lorenz Pecora, formuló los siguientes dos subsistemas [2]: 𝑥̇ 1 = σ(y − 𝑥1 ) 𝑧̇1 = 𝑥1 𝑦 − 𝑏𝑧1 𝑦̇ 2 = 𝑟𝑥 − 𝑦2 − 𝑥𝑧2
(2)
𝑧̇1 = x𝑦2 − 𝑏𝑧2
(3)
Cualquiera de estos dos subsistemas se puede elegir para construir el sistema esclavo y realizar la sincronización. Si se elige el subsistema (3), la variable sincronizante es 𝑥 , luego los sistemas maestro y esclavo son: 𝑥̇ 𝑚 = 𝜎(𝑦𝑚 − 𝑥𝑚 ) 𝑦̇𝑚 = −𝑥𝑚 𝑧𝑚 + 𝑟𝑥𝑚 − 𝑦𝑚
(4)
𝑧̇𝑚 = 𝑥𝑚 𝑦𝑚 − 𝑏𝑧𝑚 𝑥̇𝑚 = 𝜎(𝑦𝑚 − 𝑥𝑚 ) 𝑦̇𝑒 = −𝑥𝑚 𝑧𝑒 + 𝑟𝑥𝑚 − 𝑦𝑒
(5)
𝑧̇𝑒 = 𝑥𝑚 𝑦𝑒 − 𝑏𝑧𝑒 Los exponentes de Lyapunov son negativos, lo cual implica que: |𝑦𝑚 − 𝑦𝑒 | → 0 |𝑧𝑚 − 𝑧𝑒 | → 0
(6)
Lo que indica que los dos sistemas se sincronizan [1]. Si el subsistema elegido es el (2), la variable sincronizante es y, por lo tanto el sistema esclavo en este caso es: 𝑥̇ 𝑒 = 𝜎(𝑦𝑚 − 𝑥𝑒 ) 𝑦̇𝑚 = −𝑥𝑚 𝑧𝑚 + 𝑟𝑥𝑚 − 𝑦𝑚
(7)
𝑧̇𝑒 = 𝑥𝑒 𝑦𝑚 − 𝑏𝑧𝑒 Como en el caso anterior, se tiene que: |𝑥𝑚 − 𝑥𝑒 | → 0;
|𝑧𝑚 − 𝑧𝑒 | → 0
(8)
Por lo tanto, los dos sistemas se sincronizan.
4. Diseño e implementación de un modelo de encriptación utilizando el atractor de Lorenz 4.1.Modelo de Encriptación Simétrico Aprovechando las características de sincronización de los atractores extraños y el caos generado por los mismos se desarrolló un modelo de encriptación simétrico digital capaz de encriptar y desencriptar un mensaje utilizando el atractor de Lorenz. La figura 2 refleja el proceso de este tipo de encriptación.
Figura 2. Encriptación simétrica
El procedimiento consiste en la superposición del atractor de Lorenz y el mensaje a encriptar. El mensaje debe ser transformado tomando como base su representación a nivel bit y sumando digito a digito junto con la componente X del atractor de Lorenz. Para obtener la componente en X del atractor de Lorenz se utilizó el método de integración numérica Runge Kutta 4 (RK4), cada vez que se realiza una iteración del método de integración numérica se suma junto con un fragmento del mensaje hasta que se superpone en su totalidad el mensaje. La razón de escoger la componente X del atractor de Lorenz es debido a que ésta es la que presenta mayor entropía comparándolo con las componentes Y y Z. Lo anterior se sintetiza en el siguiente diagrama de bloques.
Figura 3. Diagrama de bloques del sistema de encriptación
El emisor envía las condiciones iniciales del atractor de Lorenz como clave pública para desencriptar el mensaje. Aprovechando la sincronización de atractores, el receptor debe tener un atractor de Lorenz sincronizado gracias a las condiciones iniciales enviadas en la clave pública. El proceso de decodificación se debe hacer por fragmentos, retirando de cada dígito el caos generado por el atractor y obteniendo en cada iteración un fragmento del mensaje original. Finalmente, la concatenación de cada fragmento del mensaje y su conversión a caracteres alfanuméricos permiten obtener el mensaje enviado, tal como se ilustra en la figura 4.
Figura 4. Fragmentación del mensaje
Los parámetros del sistema de Lorenz utilizados son: = 10, r = 28 y b = 8/3, ya que con estos valores el sistema de Lorenz exhibe comportamiento caótico. Es necesario conocer la capacidad del generador caótico para el envío de mensajes debido a que se podrían volver muy difíciles de manejar en cualquiera de las dos máquinas en los que se va a establecer la comunicación puede ser el emisor o el receptor, las pruebas se realizaron sobre una red local, el mensaje se particionó separándolo cada tres dígitos, ya que éste debe enviarse por tramas para lograr un mejor enmascaramiento, y es enviado al receptor que luego se encarga de unir cada parte y descifrar el mensaje, con el propósito de obtener un modelo que satisfaga los principios de seguridad en criptografía [6].
4.2. Modelo de Encriptación Asimétrico Una de las principales desventajas que presenta el modelo de encriptación simétrico es la posibilidad de sincronizar fácilmente un atractor de Lorenz a través de la clave pública. Si una máquina deseara conocer el mensaje enviado por dos máquinas a través de este modelo de encriptación, basta con intersectar la clave pública y sincronizar un atractor extraño con las condiciones iniciales inscritas en la clave pública. La solución a este problema consiste en aplicar un nivel de seguridad mayor utilizando un método de encriptación asimétrico, el cual implementa una clave pública y privada diferentes para el envío de mensajes, lo cual se esquematiza en la figura 5.
Figura 5. Encriptación asimétrica
El mensaje se encripta utilizando la clave pública y sólo puede ser desencriptado utilizando la clave privada, aprovechando el método de encriptación RSA (Rivest, Shamir y Adleman) se agrega un nuevo nivel de seguridad sobre éste utilizando el caos generado por los atractores extraños. Así, el procedimiento consiste en encriptar el mensaje utilizando el procedimiento RSA y posteriormente encriptarlo utilizando el modelo de encriptación simétrico presentado en la sección anterior. En caso de intersectar la clave pública con las condiciones iniciales del atractor, la máquina debe desencriptar el mensaje oculto en el atractor extraño y posteriormente desencriptar RSA, en este punto se debe resaltar que con la tecnología actual el tiempo para desencriptar un mensaje codificado a través de RSA es extremadamente grande, aunque se espera que con el desarrollo exponencial de la tecnología este tiempo disminuya.
4.3. Implementación del modelo El proceso de implementación se contempla en varias fases que se presentan por medio del siguiente diagrama de flujo:
Figura 6. Diagrama de flujo del proceso de encriptación del mensaje
A continuación se muestra el resultado de una implementación del modelo propuesto en este artículo para el mensaje “Hola” en el lenguaje de programación Java.
Figura 7. Resultado por consola de la implementación del modelo en lenguaje Java
El mensaje es convertido a bytes, éste se fragmenta y cada parte se suma con la componente X del atractor de Lorenz que ha sido resuelto por medio del método RK4 y utilizando el mismo razonamiento pero restando la componente se obtiene el mensaje original. La figura 8 muestra el comportamiento de la señales acorde con la implementación del modelo para los parámetros utilizados.
Figura 8. Señal del mensaje transmitido con un atractor caótico de Lorenz.
Es de anotar que no se puede asignar cualquier valor para los parámetros (σ, r, b), ya que se debe estar seguro que el atractor correspondiente sea caótico. Obsérvese que para σ=1, r=5 y b=1 no se obtiene ningún aumento en el nivel de seguridad, como se evidencia en la figura 9.
Figura 9. Señal del mensaje transmitido con un atractor no caótico de Lorenz
Para esta implementación se utilizó el atractor de Lorenz pero se puede utilizar cualquier otro atractor caótico que sea sincronizable, lo cual abre un campo de investigación en el que se aproveche la teoría del caos para mejorar la seguridad en la transmisión de la información.
5. Conclusiones y expectativas futuras El modelo planteado es una alternativa a los métodos de encriptación existentes; con el acelerado avance de la computación y las telecomunicaciones, y con la búsqueda constante de vulnerar la seguridad, en un futuro podría ser posible descifrar los mensajes encriptados por los algoritmos utilizados actualmente, razón ésta por la que es necesario explorar y tomar elementos de otros campos como en este caso la sincronización de sistemas caóticos el cual ya se había aplicado en sistemas análogos, para crear nuevos algoritmos de cifrado o para mejorar los modelos existentes, y en éste trabajo se utilizaron estos desarrollos pero para diseñar un modelo digital de encriptación. Cabe resaltar que para darle un mayor sentido al modelo propuesto desde el punto de vista ingenieril, aún queda trabajo futuro por realizar, tal como: evaluar el desempeño del modelo mediante intentos de desencriptación para tratar de vulnerar la seguridad, hacer exploraciones con parámetros diferentes a los utilizados en el caso de estudio con el atractor Lorenz, aplicar otros atractores como Rösler y Rikitake en el modelo. Referencias bibliográficas [1] Louis M. Pecora y Thomas L. Carroll, “Synhronization in chaotic systems”. Physical Review Letters, Volumen 64, Número 8, Febrero 1990, pp. 821-824. [2] K. M. Cuomo, A. V. Oppenheim, y Steven H. Strogatz, “Synchronization of Lorenz-Based Chaotic Circuits with Applications to Communications”. IEEE transactions on circuits and systems-II: analog and digital signal processing, Volumen 40, Número 10, Octubre 1993, pp. 626-633.
[3] M. S. Azzaz, C. Tanougast, et al., “Real-time FPGA implementation of Lorenz's chaotic generator for ciphering telecommunications”. IEEE North-East Workshop on Circuits and Systems and TAISA Conference, 2009, pp. 1-4. [4] Camilo A. Ramírez, “Enmascaramiento de Información Mediante Sistemas Caóticos Sincronizados”, Tesis de magister, Departamento de matemáticas, Universidad Nacional de Colombia, Bogotá, Colombia, 2011. [5] Steven H. Strogatz, Nonlinear Dynamics and Chaos with Applications to Physics, Biology, Chemistry, and Engineering. Perseus Books, Reading, Estados Unidos, 1994, pp. 301-347. [6] Auguste Kerckhoffs, “La cryptographie militaire”. Journal des sciences militaires, Volumen 9, Enero 1883, Febrero 1883, pp. 5-83, 161-191. _____________________________
César Augusto Suárez Parra Ingeniero Mecánico e Industrial de la Universidad INCCA de Colombia, Magister en Materiales y procesos de fabricación de la Universidad Nacional de Colombia Sede Bogotá. Actualmente se desempeña como docente en la Universidad Distrital Francisco José de Caldas. e-mail:
[email protected] ______________________________
Edilma Isabel Amaya Barrera Licenciada en Matemáticas Universidad Distrital Francisco José de Caldas, Magister en Matemáticas de la Universidad Nacional de Colombia Sede Bogotá. Actualmente se desempeña como docente en la Universidad Distrital Francisco José de Caldas. e-mail:
[email protected] _______________________________
Rafael Esteban Huérfano Ortiz Estudiante de Ingeniería de Sistemas de la Universidad Distrital Francisco José de Caldas, Bogotá, D.C., Colombia. e-mail:
[email protected] _______________________________
José David Moreno Posada Estudiante de Ingeniería de Sistemas de la Universidad Distrital Francisco José de Caldas, Bogotá, D.C., Colombia. e-mail:
[email protected] _______________________________
Fabio Andrés Parra Fuentes Estudiante de Ingeniería de Sistemas de la Universidad Distrital Francisco José de Caldas, Bogotá, D.C., Colombia. e-mail:
[email protected]