Seguridad en sistemas de comunicación punto a punto

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