View
213
Download
0
Category
Preview:
Citation preview
Anais do XX Encontro de Iniciação Científica – ISSN 1982-0178 Anais do V Encontro de Iniciação em Desenvolvimento Tecnológico e Inovação – ISSN 2237-0420
22 e 23 de setembro de 2015
Resumo: Este trabalho consiste em automatizar o processo de descoberta de chaves ópticas válidas para a aplicação de uma nova técnica de criptografia óptica baseada na codificação em fase e atraso de fatias espectrais de um dado sinal. Para isso, foi elaborado um software baseado em algoritmo genético que procura chaves cuja taxa de erro de bit do sinal codificado seja inferior a 10
-15 em uma
configuração back-to-back. Palavras-chave: Comunicação óptica, Redes
ópticas, Criptografia, NSPDE, Algoritmo genético. Área do Conhecimento: Engenharias –
telecomunicações – CNPq.
I. INTRODUÇÃO
As fibras ópticas são consideradas um meio de
transmissão mais confiável que os cabos e o ar.
Porém, atualmente, há mecanismos de baixo custo
(~US$1000) capazes de captar, de maneira não
intrusiva, sinais ópticos para destinatários não
autorizados [2].
Para contornar problemas de segurança,
comumente são utilizadas técnicas de criptografia de
dados, tradicionalmente implantadas na Camada de
Apresentação do modelo de referência para
interconexão de sistemas abertos (open systems
interconnection, OSI) da ISO. Entretanto, pesquisas
recentes indicam que a segurança pode ser
aumentada em redes de comunicação se cada
camada implantar sua própria criptografia [3].
Nosso grupo propôs um novo método de
criptografia óptica para sinais que trafegam por redes
transparentes (transparent optical networks, TON).
Esse método fundamenta-se em dividir um sinal óptico
G(ω), por exemplo, com uma largura de banda de 50
GHz em fatias espectrais estreitas de 7 GHz e, a
seguir, aplicar à cada fatia um desvio de fase, φi, e um
atraso i. Após essas operações, as fatias são
multiplexadas e passam a compor uma versão
codificada de G(ω). Assim, este sinal pode ser
transmitido por uma TON e, mesmo que recebido por
usuários não autorizados, em princípio, não poderá
ser interpretado corretamente. Por outro lado, o
receptor autorizado possui as chaves de codificação e
com isso é capaz de compensar os desvios de fase e
atraso com o intuito de recuperar o sinal original. Este
tipo de criptografia óptica é chamado de técnica de
codificação espectral de fase e de atraso em banda
estreita (narrowband spectral phase and delay
encoding, NSPDE).
Figura 1: Diagrama de blocos, NSPDE.
II. ALGORITMO GENÉTICO
Algoritmos genéticos (AGs) são algoritmos de
busca baseados na seleção natural e na genética.
Eles pertencem à classe dos algoritmos evolucionários
e são usados para encontrar soluções para problemas
de otimização e busca usando mecanismos da
evolução biológica como mutação, recombinação
(crossover), seleção natural e fitness [7].
Os principais conceitos de AG são:
população, geração, indivíduos e genes. A população
é um conjunto de indivíduos gerado normalmente no
inicio da execução do algoritmo. O indivíduo é
constituído de informações de genes. Em nosso
trabalho, os genes são valores de fase e atraso
gerados aleatoriamente, os indivíduos são valores de
chaves válidas de criptografia e a população é um
conjunto de chaves válidas.
A população gerada é então submetida às
etapas de crossover, mutação, fitness e seleção,
como mostra a Figura 5. A cada rodada dessas etapas
uma nova geração de indivíduos é gerada. Logo, a
população pode ser submetida a um número definido
Desenvolvimento de Software para Descoberta de Chaves para a Criptografia Óptica Mediante Fatiamento Espectral
Gabriel Felipe Amadi Marcelo Luís Francisco Abbade Engenharia Elétrica Grupo de sistemas fotônicos e internet avançada CEATEC CEATEC gabriel.fa@puccamp.edu.br marceloabbade@uol.com.br
Anais do XX Encontro de Iniciação Científica – ISSN 1982-0178 Anais do V Encontro de Iniciação em Desenvolvimento Tecnológico e Inovação – ISSN 2237-0420
22 e 23 de setembro de 2015
de gerações ou até que se encontre uma solução
desejada para o problema.
Na etapa de crossover, os indivíduos são
selecionados a partir de uma taxa que seleciona uma
porcentagem da população para que haja um
cruzamento entre os indivíduos. O cruzamento de
indivíduos visa diversificar a população a partir dos
indivíduos existentes gerando novos indivíduos. Há
três tipos principais de técnicas de cruzamento, a de
um ponto, a de dois pontos e a circular. Neste trabalho
foi utilizado o cruzamento de um ponto, como ilustrado
na Figura 3.
Na mutação, como no cruzamento, uma
porcentagem da população é selecionada para que os
genes existentes sejam modificados. Porém, para
cada indivíduo selecionado, um número estipulado de
genes sofre uma mutação, trocando seu valor para um
valor aleatório, como ilustrado na Figura 4.
Na etapa de fitness, há uma avaliação da
população para achar os indivíduos mais aptos. No
caso deste trabalho foram feitas duas verificações que
se enquadram como a função-objetivo do nosso
problema. A primeira foi verificar se os genes ainda
estavam dentro dos limites estabelecidos para os
valores de fase (de 0 a 180°) e atraso (de 0 a 10
vezes 5 ps). Já a segunda avaliação foi feita para
verificar se os valores de taxa de erro de bits (bit error
rate, BER) do sinal codificado e do sinal decodificado
estavam dentro dos valores pré-estabelecidos (maior
que 10-1
na saída do codificador e menor ou igual a
10-30
na saída do decodificador. Observa-se, no
entanto, que experimentalmente seria muito difícil
medir uma BER inferior a 10-15
). Nessa etapa ocorreu
também a comunicação entre o artefato desenvolvido
para executar o AG e o software VPI Transmission
Maker, no qual foram feitas as simulações do
desempenho das chaves.
Na etapa de seleção, a população é novamente
avaliada para que sejam escolhidos os indivíduos
mais aptos a continuar na próxima geração. Há
diversas técnicas abordadas na literatura, como roleta,
ranking, torneio e truncamento [6]. Neste trabalho foi
escolhida a técnica de truncamento onde os N
indívudos de uma população são ordenados por sua
aptidão calculada no fitness e o restante é excluído da
população.
Figura 2: População com quatro indivíduos.
Figura 3: Cruzamento de um ponto.
Figura 4: Mutação.
Figura 5: Diagrama de blocos.
III. ARRANJO DE SIMULAÇÃO
Utilizamos um sinal de entrada de 200 Gbps,
16-QAM, com uma largura de banda de 65 GHz e
potência de 1 mW. Empregando filtros com uma
largura de 9,3 GHz cada, dividimos o sinal em 7 fatias,
sendo a frequência inicial de 193,07 THz. Após fatiá-
los aplicamos valores de fase e atraso para distorcer e
codificar o sinal e analisamos sua BER (os valores
utilizados são gerados pelo algoritmo genético).
Depois de codificado, decodificamos o sinal
compensando os desvios de fase e atrasos e
medimos novamente sua BER. Se a BER no
codificador foi maior que 10-1
e a BER no
decodificador for menor que 10-30
consideramos a
chave válida, ou seja, ela poderia ser utilizada em
situações práticas.
Anais do XX Encontro de Iniciação Científica – ISSN 1982-0178 Anais do V Encontro de Iniciação em Desenvolvimento Tecnológico e Inovação – ISSN 2237-0420
22 e 23 de setembro de 2015
Para a simulação criamos junto ao aluno de
Engenharia da Computação Felipe Tortella, um script
no VPI Transmission Maker [8] para comunicação com
o software do algoritmo genético implantado. O script
consiste em atribuir os valores de fase e atraso
descobertos pelo AG no esquemático do VPI, simulá-
los e enviar os resultados de BER de volta ao AG para
que ele possa gerar novas chaves (Apêndice A).
IV. RESULTADOS
Obtivemos mais de 15 chaves válidas com
simulações de 40 minutos totais de duração. Neste
trabalho serão apresentadas somente as três
melhores e a pior chave. Após a obtenção das chaves,
todas foram testadas individualmente para comprovar
sua validez. A Figura 8 representa a constelação de
entrada do sinal. As Figuras 9a e 9b mostram as três
melhores e a pior chave gerada pelo AG. É possível
observar que mesmo o nosso pior caso de BER
atende a todas as nossas especificações iniciais. As
Figuras 10, 11, 12 e 13, respectivamente, representam
as constelações de saída do codificador das três
melhores e da pior chave. As Figuras 14, 15, 16 e 17,
respectivamente, apresentam a constelação de saída
do decodificador das três melhores e da pior chave.
Figura 6: Sinal de entrada e codificador.
Figura 7: Decodificador e sinal de saída.
Figura 9a: Chaves válidas.
Figura 9b: BERs das chaves válidas.
V. CONCLUSÃO
O funcionamento do software foi satisfatório,
visto que, é capaz de gerar múltiplas chaves
criptográficas válidas em um tempo de execução
razoável. Com estes resultados podemos começar
testes com propagação do sinal e em seguida
experimentalmente.
Figura 8: Constelação de entrada.
Figura 10: Constelação sinal codificado (1ª).
Anais do XX Encontro de Iniciação Científica – ISSN 1982-0178 Anais do V Encontro de Iniciação em Desenvolvimento Tecnológico e Inovação – ISSN 2237-0420
22 e 23 de setembro de 2015
Figura 11: Constelação sinal codificado (2ª).
Figura 12: Constelação sinal codificado (3ª).
Figura 13: Constelação sinal codificado (4ª).
Figura 14: Constelação sinal decodificado (1ª).
Figura 15: Constelação sinal decodificado (2ª).
Figura 16: Constelação sinal decodificado (3ª).
Anais do XX Encontro de Iniciação Científica – ISSN 1982-0178 Anais do V Encontro de Iniciação em Desenvolvimento Tecnológico e Inovação – ISSN 2237-0420
22 e 23 de setembro de 2015
REFÊRENCIAS
[1] M. L. F. Abbade, "PROJETO DE CIRCUITO FOTÔNICO PARA A REALIZAÇÃO DE CRIPTOGRAFIA ÓPTICA BASEADA EM FATIAMENTO ESPECTRAL", Projeto de Pesquisa Institucional para o biênio 2014-2015, 2013.
[2] K. Shaneman, and S. Gray, "Optical network
security: technical analysis of fiber tapping
mechanisms and methods for detection & prevention,"
IEEE Military Communications Conference, vol. 2, pp.
711-716, 2004.
[3] K. Kitayama, M. Sasaki, S. Araki, M. Tsubokawa, A.
Tomita, K. Inoue, K. Harasawa, Y. Nagasako, and A.
Takada, "Security in Photonic Networks: Threats and
Security Enhancement," IEEE/OSA Journal of
Lightwave Technology, vol. 29, pp. 3210-3222,
November, 2011.
[4] M. L. F. Abbade ; L. A. Fossaluzza Junior ; C. A.
Messani ; G. M. Taniguti ; E. A. M. Fagotto ; I. E.
Fonseca . All-Optical Cryptography through Spectral
Amplitude and Delay Encoding. Journal of
Microwaves, Optoelectronics and Electromagnetic
Applications, v. 12, p. 376-397, 2013.
[5] M. L. F. Abbade ; M. Cvijetic ; C. A. Messani ; C. J.
Alves ; S. Tenenbaum . All-optical cryptography of M-
QAM formats by using two-dimensional spectrally
sliced keys. Applied Optics, v. 54, p. 4359-4365, 2015.
[6] LINDEN, R. Algoritmos Genéticos - uma importante ferramenta da inteligência computacional - 2ª Edição. BR: Brasport, 2008. Capítulo 9 - Outros Tipos de Seleção. [7] MISHRA, S.; BALI, S. Public Key Cryptography Using Genetic Algorithm. International Journal of
Recent Technology and Engineering (IJRTE), p. 150-154, mai. 2013. [8] Monografia (em fase de redação) do aluno Felipe
Tortella, curso de Engenharia da Computação na
Pontifícia Universidade Católica de Campinas, 2015.
APÊNDICE A
O script abaixo foi divido em 4 partes com o
intuito de facilitar a explicação de cada processo
executado na comunicação do AG com o VPI. A Parte
1 cria uma contagem de vezes que o programa será
executado. Também define algumas variáveis guiam o
AG e o VPI para que eles não percam a sincronia e
definem as variáveis que serão retornadas com os
valores de BER do codificador e do decodificador. A
Parte 2 define as variáveis de atraso e assumem os
valores gerados pelo AG para elas. A Parte 3 é
semelhante à Parte 2, porém ela define os valores de
fase ao invés de atraso e assumem os valores para as
variáveis. A Parte 4 faz o AG exibir os valores de BER
assumidos pelas variáveis, tanto de atraso como de
fase, para o programa.
Parte 1:
for {set i 1} {$i<100000} {incr i} { set filename c:/temp/sincronia.txt set var 0 set fileID [open $filename r] gets $fileID var close $fileID set filename c:/temp/retornoD.txt set var 0 set fileID [open $filename r] gets $fileID var close $fileID set filename c:/temp/retornoE.txt set var 0 set fileID [open $filename r] gets $fileID var close $fileID while {$var < 10} { set filename c:/temp/sincronia.txt set var 0 set fileID [open $filename r] gets $fileID var close $fileID }
Parte 2: set filename c:/temp/atraso0.txt set var 0 set fileID [open $filename r] gets $fileID var close $fileID setstate this "atraso1" $var set filename c:/temp/atraso1.txt set var 0 set fileID [open $filename r] gets $fileID var close $fileID setstate this "atraso2" $var set filename c:/temp/atraso2.txt set var 0 set fileID [open $filename r] gets $fileID var
Figura 17: Constelação sinal decodificado (4ª).
Anais do XX Encontro de Iniciação Científica – ISSN 1982-0178 Anais do V Encontro de Iniciação em Desenvolvimento Tecnológico e Inovação – ISSN 2237-0420
22 e 23 de setembro de 2015
close $fileID setstate this "atraso3" $var set filename c:/temp/atraso3.txt set var 0 set fileID [open $filename r] gets $fileID var close $fileID setstate this "atraso4" $var set filename c:/temp/atraso4.txt set var 0 set fileID [open $filename r] gets $fileID var close $fileID setstate this "atraso5" $var set filename c:/temp/atraso5.txt set var 0 set fileID [open $filename r] gets $fileID var close $fileID setstate this "atraso6" $var set filename c:/temp/atraso6.txt set var 0 set fileID [open $filename r] gets $fileID var close $fileID setstate this "atraso7" $var set filename c:/temp/fase0.txt set var 0 set fileID [open $filename r] gets $fileID var close $fileID
Parte 3: setstate this "fase_1" $var set filename c:/temp/fase1.txt set var 0 set fileID [open $filename r] gets $fileID var close $fileID setstate this "fase_2" $var set filename c:/temp/fase2.txt set var 0 set fileID [open $filename r] gets $fileID var close $fileID setstate this "fase_3" $var set filename c:/temp/fase3.txt set var 0 set fileID [open $filename r] gets $fileID var close $fileID setstate this "fase_4" $var set filename c:/temp/fase4.txt set var 0 set fileID [open $filename r] gets $fileID var close $fileID setstate this "fase_5" $var set filename c:/temp/fase5.txt set var 0 set fileID [open $filename r] gets $fileID var close $fileID setstate this "fase_6" $var set filename c:/temp/fase6.txt set var 0 set fileID [open $filename r] gets $fileID var close $fileID setstate this "fase_7" $var
Parte 4: run 1 set OutputValue [statevalue PostValue1 InputValue] set filename c:/temp/retornoE.txt set fileID [open $filename w] puts $fileID $OutputValue close $fileID set OutputValue [statevalue PostValue2 InputValue] set filename c:/temp/retornoD.txt
set fileID [open $filename w] puts $fileID $OutputValue close $fileID set var 0 set filename c:/temp/sincronia.txt set fileID [open $filename w] puts $fileID $var close $fileID }
Recommended