• Nenhum resultado encontrado

Relatório Trabalho Redes II Estabelecimento de Chave Secreta com Diffie- Hellman

N/A
N/A
Protected

Academic year: 2021

Share "Relatório Trabalho Redes II Estabelecimento de Chave Secreta com Diffie- Hellman"

Copied!
7
0
0

Texto

(1)

Relatório Trabalho Redes II

Estabelecimento de Chave Secreta com

Diffie-Hellman

1. Obje vo

Este trabalho tem como obje vo implementar uma conexão segura entre cliente e servidor,

u lizando os protocolos TCP/IP, troca de chaves de Diffie-Hellman e a seguir uma comunicação

criptografada.

2. Mo vação

Além do interesse acadêmico, um contato prá co de como funciona uma comunicação segura nos

dias atuais.

O método de Diffie-Hellman é atualmente u lizado na maioria das conexões, pois a segurança, mais

especificamente a criptografia é essencial para que dados sensíveis não caia em mãos erradas.

Para criptografias que u lizam uma chave simétrica é necessário que haja uma troca segura em

meio a uma comunicação “pública”. Para tal u lizaremos o método de troca de chaves

Diffie-Hellman, na qual ao fim do processo apenas o cliente e o servidor possuem acesso a chave secreta.

(2)

Cliente Servidor

Área Pública

Estabelece conexão TCP/IP

Estabelece conexão TCP/IP

Chave secreta: a Modulo: p

Base: g Calcula: A = (g^a) mod p

A, g ,p

A, g ,p

Calcula: B = (g^b) mod p

B

B

Calcula: K = (A^b) mod p Calcula: K = (B^a) mod p

A partir de agora K é utilizado como chave de criptografia

svE7au1fóÍ,Q8úq9DéãHGXr3jàR svE7au1fóÍ,Q8úq9DéãHGXr3jàR UPeZO/hIxJlzgcáCÀL5õsvE7au1f UPeZO/hIxJlzgcáCÀL5õsvE7au1f bmlJ2RÀãovCUGta8AÓ,áXDÃULu.M bmlJ2RÀãovCUGta8AÓ,áXDÃULu.M asd18wd1w81a5sd11dw818dasd21 asd18wd1w81a5sd11dw818dasd21

alt [Mensagens criptografadas]

Cliente Servidor

(3)

4. Implementação do Programa

*Código fonte possui a implementação devidamente comentada

O programa foi desenvolvido na linguagem Python e teve como base uma divisão em etapas, das

quais são:

1. Estabelecer Conexão - U lizando a biblioteca Socket, realizar a abertura de conexão entre

Cliente/Servidor sobre os protocolos TCP/IP, onde o servidor con nuará a vo em modo

escuta.

2. Trocas de Chaves - Implementação do método de troca de chaves de Diffie-Hellman.

O cliente sorteia um número primo e um inteiro , em seguida calcula as raízes modulares

desse primo e sorteia uma delas para ser usada como base . Essas variáveis são u lizadas

para o calculo de

que é enviada ao servidor junto com e .

O servidor sorteia um numero inteiro e u liza, junto com os dados recebidos, para calcular

e retorna ao cliente

.

Assim o cliente calcula

e o servidor

onde,

matema camente,

3. Criptografia - A criptografia Cifra de César.

É definido um alfabeto e em cima dele é u lizado a chave de Diffie-Hellman para alterar letra

a letra da mensagem.

O alfabeto é u lizado como uma lista circular e a chave é u lizada como parâmetro para

subs tuir a letra deslocando-a n vezes em cima do alfabeto.

4. Comunicação com Criptografia - Comunicação entre Cliente e Servidor u lizando a

criptografia Cifra de César.

O cliente e o servidor possuem uma lista de frases que serão u lizadas na troca de

mensagens. O cliente sorteia uma frase, cifra e envia ao servidor. Ao receber a mensagem, o

servidor decifra a mensagem, sorteia uma nova frase, cifra e envia ao cliente.

p

a

g

A

= g  mod  p

a

p g

b

B

= g  mod  p

b

K

1(= B  mod  p)

a

K

2(= A  mod  p)

b

K

1 = K2

(4)

Logs de Execução

Log Cliente

######################## Criando Conexao ####################### Sou o cliente e estou inicializando a conexao com o servidor... Obtendo o endereco ip do servidor...

IP do servidor: 127.0.0.1 Criando socket...

Conectando ao servidor...

Inicializacao concluida com sucesso!

###############################################################

############### Troca de chaves com Diffie-Helman ############### O modulo da operacao eh 907

A base escolhida eh 403

O inteiro secreto do cliente sorteado foi 68478 O valor publico calculado eh 662

Enviando para o servidor:403,907,662

O valor publico recebido do servidor eh:'116' A chave eh :591

###############################################################

Usando a chave 591 para cifrar e descifrar mensagens...

Sorteando uma mensagem...

A mensagem a ser enviada(nao cifrada) eh:Neste sentido, o inicio da atividade geral de formacao de atitudes acarreta um processo de reformulacao e

modernizacao do investimento em reciclagem tecnica. Cifrando a mensagem...

Enviando a seguinte mensagem cifrada: TkyzkfyktzojudfufotoioufjgfgzoBojgjkfmkxg rfjkfluxsgigufjkfgzozAjkyfgigxxkzgfAsfvxuikyyufjkfxkluxsArgigufkfsujkxtoFgigufj ufotBkyzosktzufksfxkioirgmksfzkitoige

Recebendo mensagem do servidor...

(5)

ftufiusvxuskzosktzufktzxkfgyfkwAovkyfvujkftuyfrkBgxfgfiutyojkxgxfgfxkkyzxAzAxgig ufjuyfiutnkiosktzuyfkyzxgzkmoiuyfvgxgfgzotmoxfgfkDikrktioge'

Descriptografando com a chave errada...

A mensagem descriptografada com a chave errada eh :N.bthc cn.dl.hcdmshehbq.onmsn r.bqhshbnr.mn.bnloqnldshldmsn.dmsqd. r.dpthodr.oncd.mnr.kdu q. .bnmrhcdq q. .ddr sqtstq b n.cnr.bnmgdbhldmsnr.drsq sdfhbnr.o q . shmfhq. .dwbdkdmbh ,

Descriptografando com a chave certa...

A frase do servidor descifrada corretamente eh: O cuidado em identificar pontos criticos no comprometimento entre as equipes pode nos levar a considerar a reestruturacao dos conhecimentos estrategicos para atingir a excelencia.

Sorteando uma mensagem...

A mensagem a ser enviada(nao cifrada) eh:Neste sentido, o inicio da atividade geral de formacao de atitudes acarreta um processo de reformulacao e

modernizacao do investimento em reciclagem tecnica. Cifrando a mensagem...

Enviando a seguinte mensagem cifrada: TkyzkfyktzojudfufotoioufjgfgzoBojgjkfmkxg rfjkfluxsgigufjkfgzozAjkyfgigxxkzgfAsfvxuikyyufjkfxkluxsArgigufkfsujkxtoFgigufju fotBkyzosktzufksfxkioirgmksfzkitoige

Recebendo mensagem do servidor...

Recebeu do servidor a mensagem cifrada:'GotjgfgyyosdfkDoyzksfjABojgyfgfxkyvkozuf jkfiusufgfiutyurojgigufjgyfkyzxAzAxgyflgiorozgfgfixogigufjufotBkyzosktzufksfxki oirgmksfzkitoige'

Descriptografando com a chave errada...

A mensagem descriptografada com a chave errada eh :zhmc . rrhl9.dwhrsdl.ctuhc r. .qdrodhsn.cd.bnln. .bnmrnkhc b n.c r.drsqtstq r.e bhkhs . .bqh b n.cn.hmudrshld msn.dl.qdbhbk fdl.sdbmhb ,

Descriptografando com a chave certa...

A frase do servidor descifrada corretamente eh: Ainda assim, existem duvidas a respeito de como a consolidacao das estruturas facilita a criacao do

investimento em reciclagem tecnica.

(6)

Log Servidor

######################## Criando Conexao ####################### Sou o servidor e estou inicializando o socket de escuta...

Obtendo meu proprio IP... Meu IP eh 127.0.0.1

Criando um socket...

Reservando(bind) a porta 7001 Servidor entrou em modo escuta

Inicializacao concluida com sucesso!

###############################################################

Servidor aguardando uma nova conexao

Uma nova conexao foi feita com ('127.0.0.1', 46680)

############### Troca de chaves com Diffie-Helman ############### Sou o servidor, recebi a msg:'403,907,662'

O modulo eh:907 A base eh:403

O valor publico do cliente eh:662

O inteiro secreto do servidor sorteado foi 13947 O valor publico calculado eh 116

Sou o servidor e estou enviando:116 A chave eh 591

###############################################################

Usando a chave 591 para cifrar e descifrar mensagens...

Recebendo mensagem do cliente...

Recebido do cliente a mensagem cifrada:'TkyzkfyktzojudfufotoioufjgfgzoBojgjkfmkx grfjkfluxsgigufjkfgzozAjkyfgigxxkzgfAsfvxuikyyufjkfxkluxsArgigufkfsujkxtoFgigufj ufotBkyzosktzufksfxkioirgmksfzkitoige'

Descriptografando com a chave errada...

A mensagem descriptografada com a chave errada eh :Mdrsd.rdmshcn9.n.hmhbhn.c . shuhc cd.fdq k.cd.enql b n.cd. shstcdr. b qqds .tl.oqnbdrrn.cd.qdenqltk b n.d.ln cdqmhy b n.cn.hmudrshldmsn.dl.qdbhbk fdl.sdbmhb ,

(7)

A frase do cliente descriptografada eh: Neste sentido, o inicio da atividade geral de formacao de atitudes acarreta um processo de reformulacao e

modernizacao do investimento em reciclagem tecnica. Sorteando uma mensagem para enviar...

A mensagem a ser enviada(nao cifrada) eh:O cuidado em identificar pontos criticos no comprometimento entre as equipes pode nos levar a considerar a reestruturacao dos conhecimentos estrategicos para atingir a excelencia. Cifrando a mensagem...

Enviando a mensagem cifrada: UfiAojgjufksfojktzoloigxfvutzuyfixozoiuyftufiusvxus kzosktzufktzxkfgyfkwAovkyfvujkftuyfrkBgxfgfiutyojkxgxfgfxkkyzxAzAxgigufjuyfiutnk iosktzuyfkyzxgzkmoiuyfvgxgfgzotmoxfgfkDikrktioge

Recebendo mensagem do cliente...

Recebido do cliente a mensagem cifrada:'TkyzkfyktzojudfufotoioufjgfgzoBojgjkfmkx grfjkfluxsgigufjkfgzozAjkyfgigxxkzgfAsfvxuikyyufjkfxkluxsArgigufkfsujkxtoFgigufj ufotBkyzosktzufksfxkioirgmksfzkitoige'

Descriptografando com a chave errada...

A mensagem descriptografada com a chave errada eh :Mdrsd.rdmshcn9.n.hmhbhn.c . s huhc cd.fdq k.cd.enql b n.cd. shstcdr. b qqds .tl.oqnbdrrn.cd.qdenqltk b n.d.lnc dqmhy b n.cn.hmudrshldmsn.dl.qdbhbk fdl.sdbmhb ,

Descriptografando com a chave correta...

A frase do cliente descriptografada eh: Neste sentido, o inicio da atividade geral de formacao de atitudes acarreta um processo de reformulacao e

modernizacao do investimento em reciclagem tecnica. Sorteando uma mensagem para enviar...

A mensagem a ser enviada(nao cifrada) eh:Ainda assim, existem duvidas a respeito de como a consolidacao das estruturas facilita a criacao do investimento em reciclagem tecnica.

Cifrando a mensagem...

Enviando a mensagem cifrada: GotjgfgyyosdfkDoyzksfjABojgyfgfxkyvkozufjkfiusufgfi utyurojgigufjgyfkyzxAzAxgyflgiorozgfgfixogigufjufotBkyzosktzufksfxkioirgmksfzkit oige

Terminei de enviar mensagens cifradas Servidor aguardando uma nova conexao

Referências

Documentos relacionados

No primeiro, destacam-se as percepções que as cuidadoras possuem sobre o hospital psiquiátrico e os cuidados com seus familiares durante o internamento; no segundo, evidencia-se

O objetivo deste trabalho foi realizar o inventário florestal em floresta em restauração no município de São Sebastião da Vargem Alegre, para posterior

Our contributions are: a set of guidelines that provide meaning to the different modelling elements of SysML used during the design of systems; the individual formal semantics for

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

Nesse contexto, o presente trabalho tem como objetivo realizar testes de tração mecânica e de trilhamento elétrico nos dois polímeros mais utilizados na impressão

Os principais objectivos definidos foram a observação e realização dos procedimentos nas diferentes vertentes de atividade do cirurgião, aplicação correta da terminologia cirúrgica,

psicológicos, sociais e ambientais. Assim podemos observar que é de extrema importância a QV e a PS andarem juntas, pois não adianta ter uma meta de promoção de saúde se

escolar e entrevistas com roteiros semiestruturados aplicados às professoras formadoras da Universidade Federal de Permabuco (UFPE) e da Escola Cristo Rei, aos profissionais