Seguridad en sistemas de comunicación punto a punto Juan Camilo Hurtado Dı́az, Andrés Felipe Hernández Garcı́a Pontificia Universidad Javeriana Diego Fernando Mora Velasco Pontificia Universidad Javeriana [email protected],a [email protected] [email protected] Figure 1. Diagrama de bloques del proyecto general, donde existen dos partes esenciales que son la Transmisión y Recepción 1. Introducción Para simular un sistema de comunicación punto a punto, es necesario conocer el funcionamiento en la transmisión y recepción de datos, una vez que se ha logrado identificar la parte escencial, es posible agregar distintas mejoras. En este caso, se ha intentado mejorar la seguridad, incluyendo un mezclado a las frecuencias de la señal en la etapa de transmisión, logrando ası́ que, en caso de ser interceptada la lı́nea, no sea posible escuchar el audio de un punto a otro. Al ser recibida, se realiza el proceso de mezclado que revierte el audio a su señal original. 2. Descripción del Proceso La seguridad punto a punto que se diseñó e implementó consta de dos etapas las cuales son inversas, la parte de transmsión y la de recepción, en la primera se realiza una codificación en la frecuencia y en la segunda la decodificación usando un algoritmo estructurado de la misma forma que el de la primera etapa, es por esto que el proyecto se representa en un diagrama en bloques simplificado, en la fig 1, teniendo esto claro se puede analizar y comprender cada etapa por separado. 2.1. Transmisión Esta etapa tiene como función transmitir un mensaje de voz codificado, para esto se uso la librerı́a SIMULINK del grupo MATHWORKS, el diagrama en bloques de esta etapa se encuentra en la fig 2, se debe grabar el mensaje que desea transmitirse este mensaje se encuentra grabado por supuesto en el tiempo, en modo MONO, como la señal se desea alterar en el dominio de la frecuencia y no en el tiempo, se c 978-1-4673-9461-1/15/$31.00 2015 IEEE debe hacer la transformada de fourier, en este caso se usó la transformada rapida de Fourier (FFT), luego de tener el sonido en el espectro de frecuencia viene la codificación es decir la etapa del SCRAMBLER, para poder comprender el funcionoamiento del SCRAMBLER se debe tener claro primero que este se encuentra almacenado en un vector y segundo que todos los sonidos tienen un espectro en frecuencia diferente, adicionalmente como se desea solo mandar mensajes de voz y esta se encuentra entre 300Hz y 3, 4kHz se decidió colocar un filtro pasabanda con frecuencias de corte mencionadas anteriormente, y ası́ suprimir armónicas que pueden alterar el sonido y son irrelevantes para el proyecto. Al momento de realizar la codificación en el espectro de la frecuencia, se decide, en primera instancia, cambiar los valores de frecuencia en los extremos de cada valor; es decir, el valor correspondiente a la frecuencia 0Hz, cambiar con el valor de frecuencia más alta que posea la seal, realizando, adems una amplificación de 3 veces el valor inicial de cada valor. Después, se realiza una serie de mezclados adicionales, modificando los valores de las frecuencias alrededor de distintos valores: comenzando a mezclar alrededor de uno y dos tercios del tamaño de las muestras; luego alrededor de uno, dos y tres cuartos del tamaño de las muestras; este proceso se repite y se realizará un número de veces igual al valor de la longitud total de las muestras, dividido entre diez, menos uno. Lo anterior quiere decir, que si existen 20 datos se har un mezlado adicional al primero. (ver fig 3). Posterior a la codificación del espectro en frecuencia, para enviar el mensaje en el tiempo se debe regresar del dominio de la frecuencia esto es usando la transformada inversa de fourier en el caso particular de SIMULINK se usó el bloque de la transformada inversa rapida de fourier (IFFT); estando en el dominio del tiempo, esta si se podı́a ya transmitir o enviar a un receptor, por una lı́nea de transmisión. 2.2. Recepción La función de esta etapa es la de recibir el mensaje de la lı́nea de transmisión, decodificarlo y entregarle el mensaje original al receptor, se tiene que tener presente que en realidad el trabajo es analogamente inverso al del transmisor 3. Consideraciones Al momento de realizar el proyecto y observar los resultados, se deben tener en cuenta consideraciones que no estaban planteadas, pero tocaba darles solución, la principal fue el manejo de tipo de datos para poder darles un correcto análisis y verificar el optimo y correcto funcionamiento, para esto se tuvieron en cuenta algunos detalles como debı́an ser exportados los datos del SIMULINK al WORKSPACE de MATLAB para ası́ poder graficarlos y a su vez poder escucharlos, todo esto se pudo hacer revisando las guı́as de MATHWORKS de como funcionaban cada bloques y ejemplos puntuales y ası́ posteriormente aplicarlos al proyecto, una consideración importante es que debido a que este es un prototipo se decidió no usar una lı́nea de transmisión real, sino simplemente suponerla como una lı́nea atenuadora, ya que el principal objetivo es conseguir codificar y decodificar un mensaje de voz humana. Figure 2. Diagrama en Bloque de la Transmisión: El micrófono donde se graba el mensaje, luego viene el bloque de transformada de fourier , seguido se encuentra el bloque de la codificación, es decir SCRAMBLER, y por último devolverse al tiempo con la transformada inversa Para esto se tuvo que seleccionar ciertos puntos del proyecto para ver el proceso completo y estos puntos tienen que estar tanto en el dominio de la frecuencia como del tiempo, en el caso de la frecuencia para poder revisar el funcionamiento del SCRAMBLER y el ISCRAMBLER esta verificación se puede hacer unicamente visual por gráficas y no de forma auditiva, como si se puede hacer en los del dominio del tiempo, luego tendremos 6 puntos de medición u observación, estos son del mensaje original, el mensaje codificado y el decodificado; de cada uno se debe tener una muestra de tiempo y frecuencia. 4. Resultados Teniendo en cuenta las consideraciones mencionadas en la sección 3 del presente árticulo, el diagrama en bloques usado en SIMULINK para el desarrollo del proyecto es un poco mas complejo que el de la fig 1, ver fig 5 Se decidió grabar con un computador portátil un sonido durante 10 segundos, para que el número de muestras no excediera la capacidad de procesamiento con la que se contaba, en la fig 6 se puede observar el mensaje grabado en el tiempo, las unidades en el eje del tiempo no corresponden a segundos, sino al número de la muestra, esto se debe a que el computador grafica datos discretos y no continuos; teniendo el punto de partida del mensaje a transmitir y codificar, se debe verificar la etapa de codificación. Para este caso se revisaron, tanto los espectros en frecuencia, como las señales en el tiempo, ambas debı́an ser diferentes (ver fig 7); en el caso del tiempo, se observa un mismo patrón en el comportamiento de la señal. A pesar de esto, sı́ cambió con respecto a las amplitudes, debido al SCRAMBLER. Ahora, observando los espectros en frecuencia, se muestra que son totalmente diferentes, con lo cual podemos concluir que la Figure 3. En la figura superior, Señal original y primera mezcla. Figura inferior, segunda mezla y señal original. En ningún caso se ha amplificado la señal, para evidenciar el mezclado pero se sigue una misma lı́nea en cuanto al proceso y es pasarlo a la dominio de la frecuencia y hacer la decodificación o como se definio ISCRAMBLER y posteriormente devolver al dominio del tiempo el mensaje y poder verificar su validez.(ver fig 4) 2 Figure 4. Diagrama en Bloque de la Recepción: El primer bloque pasa el mensaje recibido al espectro de frecuencia (FFT), enseguida esta el bloque de decodificación llamado ISCRAMBLER y por último se devuelve al dominio del tiempo con el mensae recuperado usando la transformada inversa de Fourier(IFFT) Figure 5. Diagrama en bloques de la codificación y decodificación de la señal, los bloques adicionales ubicados son para poder tomar los datos y analizarlos (buffer, unbuffer , escuchar...). etapa de codificación previa a la transmisión está funcionando correctamente. Una vez se ha revisado la etapa de transmisón hay que revisar la etapa de recpeción ,ver fig 8, el resultado de la desencriptación es decir el ISCRAMBLER es identico en comportamiento pero tiene un ligero retardo en el tiempo el cual es imperceptible al oido humano ya que es de 51 ms aproximadamente, con esto podemos concluir que el SCRAMBLER esta funcionando correctamente, además se tuvo como respaldo la verificación auditiva de los tres puntos relevantes, donde el audio inicial y el final concuerdan mientras que el audio en la lı́nea de transmisión no tiene nada similar con los otros dos, luego si desean interceptar este mensaje no serı́a posible entenderlo. A pesar de haber solucionado, en parte, una vulnerabilidad frente a ataques MIM (Man in the Middle): enviando seales que resultan inentendibles para el cerebro humano, existen distintas mejoras a futuro que realizar a este SCRAMBLER, usando codificaciones más sofisticadas, simulando, al mismo tiempo, lneas de transmisón que se asemejen a sistemas de la vida real. Se espera Figure 6. Visualización en el tiempo de un mensaje grabado durante 10 segundos. 3 Figure 7. En la figura superior se encuentran la señal original ( azul) y la señal codificada (azul) en el dominio del tiempo. En la figura inferior se encuentran en el dominio de la frecuencia las mismas señales. poder implementar el scrambler como un sistema aparte, que pueda conectarse a la entrada de un dispositivo de comunicación (un telfono móvil) y recibirlo en otro que tenga el mismo dispositivo, permitiendo usarse en sistemas que no posean unidades de procesamiento complejas (como los radio transmisores usados por algunas unidades en servicios militares y de inteligencia). 5. Referencias [1].http://www.mathworks.com/help/hdlverifier/examples/framebased-scrambler-using-communications-systemtoolbox.html [2]. www.mathworks.com Figure 8. Las señales en el tiempo del mensaje original (azul) y el mensaje decodificado(amarillo). 4
© Copyright 2024