desenvolvimento de software para descoberta de chaves para ... · seguir, aplicar à cada fatia um...

6
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 [email protected] [email protected]

Upload: leliem

Post on 03-Dec-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

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 [email protected] [email protected]

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 }