18.11.2014 Views

Anais - Engenharia de Redes de Comunicação - UnB

Anais - Engenharia de Redes de Comunicação - UnB

Anais - Engenharia de Redes de Comunicação - UnB

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ataque geométrico alternadamente [Ruttor 2007]. O ataque <strong>de</strong> maioria é o com maior<br />

taxa <strong>de</strong> sucesso contra a criptografia neural, e para aumentar a segurança contra<br />

esse protocolo foi proposto por [Ruttor 2007] o uso <strong>de</strong> queries, em que um algoritmo<br />

utiliza informações internas <strong>de</strong> uma das TPM para gerar vetores <strong>de</strong> entradas com<br />

maior probabilida<strong>de</strong> <strong>de</strong> ocorrência <strong>de</strong> passos atrativos entre os parceiros.<br />

O ataque genético é baseado em um algoritmo evolucionário. No ataque<br />

genético, E começa com apenas uma TPM, mas po<strong>de</strong> usar até m re<strong>de</strong>s neurais.<br />

Quando y A = y B , o seguinte algoritmo é aplicado:<br />

m<br />

• Caso E tenha até Tree Parity Machines, ele <strong>de</strong>termina todas as 2 K−1<br />

2 K−1<br />

representações internas (o 1 , o 2 , . . . , o i ) que produzem a saída y A e os usa para<br />

atualizar os pesos <strong>de</strong> acordo com a regra <strong>de</strong> aprendizado. Assim E cria 2 K−1<br />

variantes <strong>de</strong> cada TPM nesse passo <strong>de</strong> mutação [Ruttor 2007].<br />

• Caso E já tenha mais que<br />

E isso é obtido <strong>de</strong>scartando todas as re<strong>de</strong>s que predisseram menos que U<br />

saídas y A nos últimos V passos <strong>de</strong> aprendizagem em que y A = y B no passo<br />

<strong>de</strong> seleção. Como regra adicional, E mantém ao menos 20 TPMs.<br />

m<br />

TPMs, só as mais aptas <strong>de</strong>vem ser mantidas.<br />

2 K−1<br />

Foram propostas duas melhorias ao algoritmo, sendo o uso <strong>de</strong> queries, por<br />

[Ruttor 2007], e o uso <strong>de</strong> transmissões errôneas, proposto por [Allam e Abbas 2010],<br />

em que as TPMs parceiras enviam suas saídas erroneamente com probabilida<strong>de</strong><br />

baseada na distância estimada entre os pesos <strong>de</strong> A e B e a re<strong>de</strong> parceira tenta<br />

predizer o envio <strong>de</strong>sta informação usando os mesmos cálculos.<br />

5. Conclusões<br />

O protocolo foi implementado na linguagem Python para comprovar o funcionamento<br />

da técnica <strong>de</strong> criptografia neural. Com a implementação, po<strong>de</strong>-se observar<br />

o fenômeno <strong>de</strong> sincronização <strong>de</strong> re<strong>de</strong>s neurais e validar algumas características do<br />

protocolo. Foi possível confirmar que, conforme verificado por Ruttor 2007 e Firmino<br />

Filho 2009, o tempo <strong>de</strong> sincronização das re<strong>de</strong>s neurais aumenta exponencialmente<br />

com o aumento <strong>de</strong> L.<br />

Foram utilizadas duas re<strong>de</strong>s neurais Tree Parity Machine utilizando a regra<br />

<strong>de</strong> aprendizado <strong>de</strong> Hebb e configuradas com K = 4, N = 4 e L variável para obter<br />

a média do tempo <strong>de</strong> sincronização e sua variação com L. Os resultados obtidos<br />

encontram-se na figura 4, on<strong>de</strong> po<strong>de</strong>-se observar um crescimento polinomial no<br />

número <strong>de</strong> mensagens trocadas para atingir a sincronização com o aumento <strong>de</strong> L.<br />

Mantendo o valor L = 3, N = 4 e variando o parametro K, obtemos os tempos<br />

<strong>de</strong> sincronização exibidos na figura 5, on<strong>de</strong> po<strong>de</strong>mos observar que o aumento<br />

no número <strong>de</strong> mensagens trocadas para a sincronização não aumenta consi<strong>de</strong>ravelmente<br />

com o aumento <strong>de</strong> K, porém, o tempo <strong>de</strong> processamento gasto aumenta<br />

proporcionalmente.<br />

Temos que, após cada sincronização bem sucedida entre TPMs, obtemos uma<br />

matriz <strong>de</strong> pesos <strong>de</strong> tamanho K × N, exemplificada na figura 6. É possível, <strong>de</strong>ntre<br />

outras formas, utilizar a matriz como chave criptográfica concatenando os valores e<br />

aplicando um algoritmo <strong>de</strong> hash, como o SHA-256, para gerar imediatamente uma<br />

chave <strong>de</strong> 256 bits válida para um algoritmo criptográfico simétrico, como o AES.<br />

317

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!