59
unesp - IBILCE - SJRP Tópicos em Sistemas de Tópicos em Sistemas de C t ã C t ã Computão Computão Adriano Mauro Cansian Adriano Mauro Cansian adriano@acmesecurity org adriano@acmesecurity org adriano@acmesecurity.org adriano@acmesecurity.org Seguran Segurança ça Criptografia Aplicada à Internet Criptografia Aplicada à Internet ©2009 Adriano Cansian / Leandro Arabi 1

Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

Embed Size (px)

Citation preview

Page 1: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Tópicos em Sistemas de Tópicos em Sistemas de C t ãC t ãComputaçãoComputação

Adriano Mauro CansianAdriano Mauro Cansianadriano@acmesecurity orgadriano@acmesecurity [email protected]@acmesecurity.org

SeguranSegurançaçaCriptografia Aplicada à InternetCriptografia Aplicada à Internet

©2009 Adriano Cansian / Leandro Arabi 1

Page 2: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Segurança em Redes de ComputadoresSegurança em Redes de ComputadoresSegurança em Redes de ComputadoresSegurança em Redes de Computadores

Fundamentos:Fundamentos:Fundamentos:Fundamentos:O que é segurança?O que é segurança?Criptografia.Criptografia.p gp gAutenticação.Autenticação.Integridade de mensagens.Integridade de mensagens.Distribuição de chaves e certificação.Distribuição de chaves e certificação.

Segurança na prática:Segurança na prática:Aplicação: eAplicação: e--mail seguro.mail seguro.Camada de transporte: Comércio pela Internet, Camada de transporte: Comércio pela Internet, SSL SETSSL SETSSL, SET.SSL, SET.Camada de rede: segurança IP e Camada de rede: segurança IP e IPSecIPSec

©2009 Adriano Cansian / Leandro Arabi 2

Page 3: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Seguro ?!?Seguro ?!?Seguro ?!?Seguro ?!?

S tS t ““ ”” ??Seguro contra Seguro contra ““o queo que”” ??•• DiscussDiscussão bastante longa e complexa…ão bastante longa e complexa…

Ver “Ver “Secrets & LiesSecrets & Lies Digital Security in a Networked WorldDigital Security in a Networked World””•• Ver Ver Secrets & Lies Secrets & Lies -- Digital Security in a Networked WorldDigital Security in a Networked WorldBruce Schneier, John Wiley & Sons, 2000Bruce Schneier, John Wiley & Sons, 2000. ISBN 0. ISBN 0--471471--2531125311--11

•• http://www.schneier.com/bookhttp://www.schneier.com/book--sandl.htmlsandl.html

O d jO d j tt ??O que se deseja O que se deseja protegerproteger??O que se espera do sistema?O que se espera do sistema?Qual o risco aceitável?Qual o risco aceitável?Qual usabilidade se deseja ? Qual usabilidade se deseja ? jj•• Usable = 1/securityUsable = 1/security

©2009 Adriano Cansian / Leandro Arabi 3

Page 4: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

O que uma rede ou sistema deveO que uma rede ou sistema deveO que uma rede ou sistema deve O que uma rede ou sistema deve oferecer em termos de oferecer em termos de ““segurançasegurança””??

AutenticidadeAutenticidade

Confidencialidade (ou Privacidade)Confidencialidade (ou Privacidade)

IntegridadeIntegridade

DisponibilidadeDisponibilidadeG ll D “C S i ” Will 1999Gollmann, D. - “Computer Security”, Willey, 1999.

©2009 Adriano Cansian / Leandro Arabi 4

Page 5: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Outra definição de segurança:Outra definição de segurança:Outra definição de segurança:Outra definição de segurança:

““SiSi é lé l““Sistema seguro Sistema seguro é aquele que se é aquele que se comporta da maneira esperada.”comporta da maneira esperada.”p pp pOu: “Ou: “Sistema seguro é aquele que Sistema seguro é aquele que funciona exatamente da maneirafunciona exatamente da maneirafunciona exatamente da maneira funciona exatamente da maneira para a qual foi projetadopara a qual foi projetado.”.”Garfinkel, S. & Spafford, G., “Practical Unix & Internet Security”, 2ª. Edição, O’Reilly and A i 1996Associates, 1996.

©2009 Adriano Cansian / Leandro Arabi 5

Page 6: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

O queO que é um “é um “ataqueataque” ?” ?O que O que é um é um ataqueataque ? ?

““U tU t éé l ã il ã i““Um ataque Um ataque éé qualquer ação que vise qualquer ação que vise subverter pelo menos um dos três eixos da subverter pelo menos um dos três eixos da segurança: asegurança: a confidencialidadeconfidencialidade ou aou asegurança: a segurança: a confidencialidadeconfidencialidade, ou a , ou a integridadeintegridade ou a ou a disponibilidadedisponibilidade de um de um sistema computacionalsistema computacional ””sistema computacional.sistema computacional.Gollmann, D. - “Computer Security”, Willey, 1999.

“U“Um ataque busca alterar um sistema dem ataque busca alterar um sistema deUUm ataque busca alterar um sistema de m ataque busca alterar um sistema de seu funcionamento normal ou esperado.seu funcionamento normal ou esperado.””Garfinkel S & Spafford G “Practical Unix & InternetGarfinkel, S. & Spafford, G., Practical Unix & Internet

Security”, 2ª. Edição, O’Reilly and Associates, 1996.

©2009 Adriano Cansian / Leandro Arabi 6

Page 7: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Origem dos problemas de seguranOrigem dos problemas de segurançaçaOrigem dos problemas de seguranOrigem dos problemas de segurançaça

F lh i i ê i d i l ã dF lh i i ê i d i l ã d lí i dlí i dFalhas ou inexistência de implantação de Falhas ou inexistência de implantação de políticas de políticas de segurança segurança (a.k.a. falhas de (a.k.a. falhas de ““peoplewarepeopleware””))..Falhas de configuração,Falhas de configuração, e uso incorreto de sistemas e e uso incorreto de sistemas e g ç ,g ç ,recursos.recursos.Softwares apresentando comportamentos imprevistosSoftwares apresentando comportamentos imprevistos, , os quais acabamos quais acabam levando a vulnerabilidades ou situaçõeslevando a vulnerabilidades ou situaçõesos quais acabam os quais acabam levando a vulnerabilidades ou situações levando a vulnerabilidades ou situações críticas específicascríticas específicas. . (a.k.a. software de baixa qualidade)(a.k.a. software de baixa qualidade)..Softwares intencionalmente maliciososSoftwares intencionalmente maliciosos ((malwaremalware), tais como ), tais como vírusvírus, , wormsworms e e backdoorsbackdoors, usados como bases de ataque., usados como bases de ataque.Problemas implícitos nas tecnologiasProblemas implícitos nas tecnologias envolvidas, os quais envolvidas, os quais não foram corretamente tratados por desconhecimento ounão foram corretamente tratados por desconhecimento ounão foram corretamente tratados por desconhecimento ou não foram corretamente tratados por desconhecimento ou impossibilidade técnica impossibilidade técnica (a.k.a. falhas devido a (a.k.a. falhas devido a complexidade tcomplexidade tecnológicaecnológica))..

©2009 Adriano Cansian / Leandro Arabi 7

Page 8: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Alguns (poucos) exemplos de ameaAlguns (poucos) exemplos de ameaças (1)ças (1)Alguns (poucos) exemplos de ameaAlguns (poucos) exemplos de ameaças (1)ças (1)

Captura de Pacotes (Captura de Pacotes (sniffingsniffing):):•• Meio Meio broadcastbroadcast•• Placas de rede em modo promPlacas de rede em modo promííscuo lêem todos os pacotes que scuo lêem todos os pacotes que

passam por elaspassam por elaspassam por elas.passam por elas.•• Podem ler todos os dados não criptografados (Por ex. senhas)Podem ler todos os dados não criptografados (Por ex. senhas)•• Exemplo: C captura os pacotes de B.Exemplo: C captura os pacotes de B.

A C

Borg:B dest:A dados

©2009 Adriano Cansian / Leandro Arabi 8

Page 9: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Alguns (poucos) exemplos de ameaAlguns (poucos) exemplos de ameaças (2)ças (2)

IP IP SpoofingSpoofing::

Alguns (poucos) exemplos de ameaAlguns (poucos) exemplos de ameaças (2)ças (2)

•• Pode gerar pacotes “novos” diretamente da Pode gerar pacotes “novos” diretamente da aplicação, colocando qualquer valor no campo aplicação, colocando qualquer valor no campo de endereço IP de origem.de endereço IP de origem.

•• Receptor não sabe se a fonte foi falsificada.Receptor não sabe se a fonte foi falsificada.•• Exemplo: C finge ser B.Exemplo: C finge ser B.

A CA C

B

org:B dest:A dados

©2009 Adriano Cansian / Leandro Arabi 9

Page 10: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Alguns (poucos) exemplos de ameaAlguns (poucos) exemplos de ameaças (3)ças (3)

Negação de Serviço (Negação de Serviço (DoS DoS -- Denial of ServiceDenial of Service):):

Alguns (poucos) exemplos de ameaAlguns (poucos) exemplos de ameaças (3)ças (3)

egação de Se ço (egação de Se ço ( oSoS e a o Se cee a o Se ce))•• Inundação de pacotes maliciosamente gerados “afogam” o Inundação de pacotes maliciosamente gerados “afogam” o

receptorreceptor•• DDoS = DoSDDoS = DoS Distribuído: fontes múltiplas e coordenadasDistribuído: fontes múltiplas e coordenadas•• DDoS = DoSDDoS = DoS Distribuído: fontes múltiplas e coordenadas Distribuído: fontes múltiplas e coordenadas

inundam o receptor.inundam o receptor.•• Por exemplo: C e um computador remoto atacam A com Por exemplo: C e um computador remoto atacam A com

mensagens SYNmensagens SYNmensagens SYNmensagens SYN

A CA C

SYNSYN

BSYNSYNSYN

SYN

©2009 Adriano Cansian / Leandro Arabi 10SYNSYN

Page 11: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Criptografia aplicada à InternetCriptografia aplicada à Internet

Como o mundo virtual pode ser seguroComo o mundo virtual pode ser segurop gp g

©2009 Adriano Cansian / Leandro Arabi 11

Page 12: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Amigos e inimigos: Alice, Bob, TrudyAmigos e inimigos: Alice, Bob, TrudyAmigos e inimigos: Alice, Bob, TrudyAmigos e inimigos: Alice, Bob, Trudymensagens de controle e dadosDados Dados

transmissorseguro

canal

receptorseguro

Figure 7.1 goes here

Bbem conhecidos no mundo da segurança de redes Bbem conhecidos no mundo da segurança de redes Bob, Alice (amantes!) querem se comunicar “seguramente”Bob, Alice (amantes!) querem se comunicar “seguramente”, ( ) q g, ( ) q gTrudy, a “intrusa” pode interceptar, apagar, acrescentar mensagensTrudy, a “intrusa” pode interceptar, apagar, acrescentar mensagens

©2009 Adriano Cansian / Leandro Arabi 12

Page 13: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

O que se deseja na troca de informaO que se deseja na troca de informações ?ções ?O que se deseja na troca de informaO que se deseja na troca de informações ?ções ?

S dS d i didi didSegredo:Segredo: apenas o transmissor e o receptor pretendido apenas o transmissor e o receptor pretendido deveriam “entender”o conteúdo da mensagemdeveriam “entender”o conteúdo da mensagem

•• Transmissor criptografa mensagemTransmissor criptografa mensagemp g gp g g•• Receptor decriptografa mensagemReceptor decriptografa mensagem

Autenticação:Autenticação: transmissor e o receptor querem confirmar as transmissor e o receptor querem confirmar as identidades um do outroidentidades um do outroidentidades um do outro identidades um do outro

Integridade de Mensagem:Integridade de Mensagem: transmissor, receptor querem transmissor, receptor querem assegurar que as mensagens não foram alteradas, (em assegurar que as mensagens não foram alteradas, (em trânsito, ou depois) sem detecção.trânsito, ou depois) sem detecção.

©2009 Adriano Cansian / Leandro Arabi 13

Page 14: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

A linguagem da criptografiaA linguagem da criptografiaA linguagem da criptografiaA linguagem da criptografiaplaintext plaintextK KBtexto aberto texto abertoplaintext plaintext

ciphertext

KAKBtexto aberto texto aberto

texto cifradoAlgoritmo deCriptografia

Algoritmo deDecriptografia

Figure 7.3 goes hereCriptografia Decriptografia

canal canal

Chave simétricaChave simétrica de criptografia: as chaves do transmissor e do de criptografia: as chaves do transmissor e do receptor são idênticas.receptor são idênticas.

Chave públicaChave pública de criptografia: criptografa com chave pública, de criptografia: criptografa com chave pública, decriptografa com chave secretadecriptografa com chave secreta

©2009 Adriano Cansian / Leandro Arabi 14

decriptografa com chave secretadecriptografa com chave secreta..

Page 15: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Criptografia com Chave Simétrica (1)Criptografia com Chave Simétrica (1)Criptografia com Chave Simétrica (1)Criptografia com Chave Simétrica (1)código de substituição:código de substituição: deslocamento deslocamento ‘k’ ou “Cifra de César”‘k’ ou “Cifra de César”

i t d l l t d lf b t di ti t d l l t d lf b t di tâ i “k”â i “k”•• consiste em deslocar as letras do alfabeto por uma distconsiste em deslocar as letras do alfabeto por uma distância “k”.ância “k”.

t t b t b d f hijkl ttexto aberto: abcdefghijklmnopqrstuvwxyz

texto cifrado: xyzabcdefghijklmnopqrstuvw

texto aberto: bob. i love you. aliceEx.:

texto cifrado: yly. f iosb vlr. xifzb

Q ã difí il é b t ódi i l ?Quão difícil é quebrar este código simples?• Há somente 25 valores diferentes para as chaves.• Não seria difícil de descobrir.

©2009 Adriano Cansian / Leandro Arabi 15

Page 16: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Criptografia com Chave Simétrica (2)Criptografia com Chave Simétrica (2)Criptografia com Chave Simétrica (2)Criptografia com Chave Simétrica (2)código de substituição:código de substituição: substituindo uma coisa por outrasubstituindo uma coisa por outra

ódiódi lf béti i t b tit i l t tlf béti i t b tit i l t t•• código monocódigo mono--alfabético: consiste em substituir uma letra por outraalfabético: consiste em substituir uma letra por outra

t t b t b d f hijkl ttexto aberto: abcdefghijklmnopqrstuvwxyz

texto cifrado: mnbvcxzasdfghjklpoiuytrewq

texto aberto: bob. i love you. aliceExemplo

texto cifrado: nkn. s gktc wky. mgsbc

Q ã difí il é b ódi i l ?Quão difícil é quebrar este código simples?:• Força bruta: 26! pares possíveis de letras = 1026

• Mas há outras possibilidades©2009 Adriano Cansian / Leandro Arabi 16

• Mas há outras possibilidades…

Page 17: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Ataque a criptografia com Chave Simétrica (1)Ataque a criptografia com Chave Simétrica (1)Ataque a criptografia com Chave Simétrica (1)Ataque a criptografia com Chave Simétrica (1)

AnAnálise estatística do texto aberto, álise estatística do texto aberto, sabendosabendo--se quais letras e grupos de letras se quais letras e grupos de letras são mais freqüentes no texto.são mais freqüentes no texto.Se o intruso souber algo sobre o possível Se o intruso souber algo sobre o possível ggtexto da mensagem, fica mais fácil quebrar texto da mensagem, fica mais fácil quebrar o código.o código.Por exemplo, se o intruso sabe que “Por exemplo, se o intruso sabe que “BobBob” e ” e ““AliceAlice” estão se comunicando, este pode” estão se comunicando, este podeAliceAlice estão se comunicando, este pode estão se comunicando, este pode suspeitar que estas palavras estão no suspeitar que estas palavras estão no texto.texto.

©2009 Adriano Cansian / Leandro Arabi 17

texto.texto.

Page 18: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Ataque a criptografia com Chave Simétrica (2)Ataque a criptografia com Chave Simétrica (2)Ataque a criptografia com Chave Simétrica (2)Ataque a criptografia com Chave Simétrica (2)

Palavras Palavras ““BobBob” e “” e “AliceAlice” (7 letras diferentes), junto ” (7 letras diferentes), junto com uma cópia do texto cifrado, ele poderia com uma cópia do texto cifrado, ele poderia imediatamente determinar 7 dos 26 pares deimediatamente determinar 7 dos 26 pares deimediatamente determinar 7 dos 26 pares de imediatamente determinar 7 dos 26 pares de letras.letras.Reduz as possibilidades de combinações e facilitaReduz as possibilidades de combinações e facilitaReduz as possibilidades de combinações e facilita Reduz as possibilidades de combinações e facilita os ataques de força bruta.os ataques de força bruta.Há outras possibilidades de ataque:Há outras possibilidades de ataque:á ou as poss b dades de a aqueá ou as poss b dades de a aque

•• Ataque ao texto aberto Ataque ao texto aberto conhecidoconhecido..•• Semelhante ao anterior, com mais dados.Semelhante ao anterior, com mais dados.

•• Ataque ao texto aberto Ataque ao texto aberto escolhidoescolhido..•• Consiste em fazer com que o emitente criptografe um texto Consiste em fazer com que o emitente criptografe um texto

que o atacante previamente conhece.que o atacante previamente conhece.

©2009 Adriano Cansian / Leandro Arabi 18

q pq p

Page 19: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

DES: criptografia com chave simétricaDES: criptografia com chave simétricaDES: criptografia com chave simétricaDES: criptografia com chave simétrica

DES: DES: Data Encryption StandardData Encryption StandardPadrão de criptografia dos EUA [NIST 1993]Padrão de criptografia dos EUA [NIST 1993]Chave simétrica de 56Chave simétrica de 56--bits, 64 bits de texto aberto na entradabits, 64 bits de texto aberto na entradaQ ã é d ã DES?Q ã é d ã DES?Quão seguro é o padrão DES?Quão seguro é o padrão DES?

•• DES ChallengeDES Challenge: uma frase criptografada com chave de 56 bits : uma frase criptografada com chave de 56 bits (“(“Strong cryptography makes the world a safer placeStrong cryptography makes the world a safer place”) foi ”) foi decriptografada pelo método da força bruta em 4 mesesdecriptografada pelo método da força bruta em 4 meses

•• não há ataque mais curto conhecidonão há ataque mais curto conhecidoTornando o DES mais seguro:Tornando o DES mais seguro:Tornando o DES mais seguro:Tornando o DES mais seguro:

•• Use três chaves em seqüência (3Use três chaves em seqüência (3--DES) sobre cada dadoDES) sobre cada dado•• Use encadeamento de blocos de códigosUse encadeamento de blocos de códigos

©2009 Adriano Cansian / Leandro Arabi 19

Page 20: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Criptografia de Criptografia de chave simétrica: chave simétrica: DESDESDESDES

Operação do DESPermutação inicial.Permutação inicial.16 rodadas idênticas de 16 rodadas idênticas de função de substituiçãofunção de substituiçãofunção de substituição, função de substituição, cada uma usando uma cada uma usando uma diferente chave de 48 bits.diferente chave de 48 bits.P t ã fi lP t ã fi lPermutação final.Permutação final.

©2009 Adriano Cansian / Leandro Arabi 20

Page 21: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Criptografia com Chave PúblicaCriptografia com Chave PúblicaCriptografia com Chave PúblicaCriptografia com Chave Pública

Ch i ét iCh i ét iChave simétrica:Chave simétrica:•• Exige que o transmissor e o receptor Exige que o transmissor e o receptor compartilhem a compartilhem a

chave secreta.chave secreta.•• QuestQuestão:ão: como combinar a chave inicialmentecomo combinar a chave inicialmente, , atravatravés és

de um canal nãode um canal não--seguroseguro, , particularmente se eles nunca particularmente se eles nunca se encontram pessoalmente?se encontram pessoalmente?pp

Chave pública:Chave pública:•• Abordagem radicalmente diferente.Abordagem radicalmente diferente.•• Principais: DiffiePrincipais: Diffie--Hellman e RSA.Hellman e RSA.•• Transmissor e receptor Transmissor e receptor não compartilham uma chave não compartilham uma chave

secreta (chamada de chave simsecreta (chamada de chave simétrica)étrica)..(( ))•• A chave de criptografia é A chave de criptografia é públicapública ((conhecida por conhecida por todostodos).).•• Chave de decriptografia é Chave de decriptografia é privadaprivada ((conhecida somente conhecida somente

pelopelo receptorreceptor))

©2009 Adriano Cansian / Leandro Arabi 21

pelo pelo receptorreceptor).).

Page 22: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Criptografia com chave públicaCriptografia com chave públicaCriptografia com chave públicaCriptografia com chave pública

Ch d i t fi úbliCh d i t fi úbliChave de criptografia públicaChave de criptografia pública

Chave de decriptografia privadaChave de decriptografia privada

Figure 7.7 goes hereFigure 7.7 goes hereMensagem Mensagem aberta, m aberta, m

Mensagem Mensagem aberta, m aberta, m

Algoritmo deCriptografia

Algoritmo deDecriptografia

mensagem cifradamensagem cifrada

©2009 Adriano Cansian / Leandro Arabi 22

Page 23: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Algoritmos de criptografia com chave públicaAlgoritmos de criptografia com chave públicaAlgoritmos de criptografia com chave públicaAlgoritmos de criptografia com chave pública

eebb = Chave criptogr= Chave criptográfica pública de Bob.áfica pública de Bob.bb p gp g ppddbb = Chave criptogr= Chave criptográfica privada de Bob.áfica privada de Bob.mm = mensagem= mensagem eebb(m) =(m) = Texto cifradoTexto cifradomm mensagem mensagem eebb(m) (m) Texto cifrado.Texto cifrado.

Duas exigências correlatas:dd (( (( )) ))ddbb ( ( eebb((mm)) ) = ) = mm•• Aplicando a chave pAplicando a chave pública de Bob e, em ública de Bob e, em

seguida a chave privada de Bob à mensagemseguida a chave privada de Bob à mensagemseguida, a chave privada de Bob, à mensagem seguida, a chave privada de Bob, à mensagem mm, recuperamos , recuperamos mm, , para qualquer mensagem para qualquer mensagem mm..

eebb (( ddbb((mm)) ) =) = ddbb (( eebb((mm)) ) =) = mmeebb ( ( ddbb((mm)) ) ) ddbb ( ( eebb((mm)) ) ) mmRSA: Algoritmo de Rivest, Shamir & Adelson.

©2009 Adriano Cansian / Leandro Arabi 23

Page 24: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Escolha das chavesEscolha das chavesEscolha das chavesEscolha das chaves1. Encontre dois números primos grandes p, q (por p g p q (p

exemplo com 1024 bits cada um)2. Calcule n = pq e z = (p-1)(q-1)3. Escolha e (com e < n) que não tenha fatores

primos em comum com z, exceto o 1. • Ou seja, e e z são ditos “primos entre si”.

4. Escolha d tal que ed-1 é exatamente divisível por ( t l ã há t di i ã dz. (em outras palavras, não há resto na divisão de

ed por z, ou ed mod z = 1 ).• Chave Pública é o par (n e)• Chave Pública é o par (n,e).• Chave Privada é o par (n,d).

©2009 Adriano Cansian / Leandro Arabi 24

Page 25: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

RSA: Criptografia e DecriptografiaRSA: Criptografia e DecriptografiaRSA: Criptografia e DecriptografiaRSA: Criptografia e Decriptografia

0 D d ( ) ( d) t d t0. Dado (n,e) e (n,d) como mostrado antes..

1. Para criptografar o padrão de bits, m, calcula-se:p g p , ,

c = me mod n (i.e., resto quando me é dividido por n)

2 P d i t f d ã d bit bid2. Para decriptografar o padrão de bits recebidos, c :

m = cd mod n dm = cd mod n (i.e., resto de cd quando é dividido por n))

e dMágica m = (m mod n)e mod ndMágicaacontece!

©2009 Adriano Cansian / Leandro Arabi 25

Page 26: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Exemplo RSA:Exemplo RSA:Exemplo RSA:Exemplo RSA:

• Bob escolhe p=5, q=7. • Então n=35, z=24.• e = 5 (assim e z são primos entre si)• e = 5 (assim e, z são primos entre si).• d = 29 (assim ed-1 é exatamente divisível por z).

e d eletra m me c = m mod ne

L 12 248832 17criptografia:

c m = c mod ndcd letradecriptografia:17 481968572106750915091411825223072000 12 L

decriptografia:

©2009 Adriano Cansian / Leandro Arabi 26

Page 27: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Funcionamento do RSAFuncionamento do RSAFuncionamento do RSAFuncionamento do RSA

CodificaCodificaçãoção: Uma mensagem representada pelo : Uma mensagem representada pelo número inteiro número inteiro mm é primeiramente elevada à é primeiramente elevada à potênciapotência ee usandousando se aritmética de módulo nse aritmética de módulo npotência potência ee usandousando--se aritmética de módulo n.se aritmética de módulo n.DecifraçãoDecifração: Eleva: Eleva--se o resultado à potência d, se o resultado à potência d, novamente usando aritmética de módulo nnovamente usando aritmética de módulo nnovamente usando aritmética de módulo n.novamente usando aritmética de módulo n.Resultado de uma etapa de codificação, seguida Resultado de uma etapa de codificação, seguida de uma decifração é sempre (de uma decifração é sempre (mmee))d.d.de u a dec ação é se p e (de u a dec ação é se p e ( ))

m = (m mod n)e mod ndm = (m mod n)e mod n

©2009 Adriano Cansian / Leandro Arabi 27

Page 28: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Funcionamento do RSAFuncionamento do RSA m = (m mod n)e mod ndFuncionamento do RSAFuncionamento do RSA m = (m mod n)e mod nd

Teoria dos Números - Se p,q forem primos e n = pq, então:Teoria dos Números Se p,q forem primos e n pq, então:

x mod n = x mod ny y mod (p-1)(q-1)

(m mod n)e mod n = m mod nd ed

x mod n x mod n(teorema)

= m mod ned mod (p-1)(q-1)

= m mod n1Lembre que escolhemos e e d tais que ed-1 seja exatamente divisível por (p-1)(q-1) com resto 1 Então

(pois nós escolhemos ed divisível por(p-1)(q-1) com resto 1 )

por (p 1)(q 1) com resto 1. Então ed mod (p-1)(q-1) =1

©2009 Adriano Cansian / Leandro Arabi 28

= m

Page 29: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

AutenticaçãoAutenticaçãoAutenticaçãoAutenticação

Meta:Meta: Bob quer que Alice “prove” sua Bob quer que Alice “prove” sua identidade para ele.identidade para ele.

Protocolo ap1.0: Alice diz “Eu sou Alice”

Cenário de Falha??

©2009 Adriano Cansian / Leandro Arabi 29

Page 30: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Autenticação: outra tentativaAutenticação: outra tentativaAutenticação: outra tentativaAutenticação: outra tentativa

Protocolo ap2 0: Alice diz “Eu sou Alice” e envia seuProtocolo ap2.0: Alice diz Eu sou Alice e envia seuendereço IP junto como prova.

Eu sou AliceEu sou Alice

Cenário de Falha??

Eu sou AliceEu sou Alice

Endereço IP de AliceEndereço IP de Alice

Cenário de Falha??

©2009 Adriano Cansian / Leandro Arabi 30

Page 31: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Autenticação: outra tentativaAutenticação: outra tentativaAutenticação: outra tentativaAutenticação: outra tentativaProtocolo ap3.0: Alice diz “Eu sou Alice” e envia sua

senha secreta como prova.

Eu sou Alice,Eu sou Alice,senhasenha

Cenário de Falha?

senhasenha

Cenário de Falha?

©2009 Adriano Cansian / Leandro Arabi 31

Page 32: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Autenticação: mais uma tentativaAutenticação: mais uma tentativaAutenticação: mais uma tentativaAutenticação: mais uma tentativaProtocolo ap3.1: Alice diz “Eu sou Alice” e envia sua senha secreta criptografada para prová-lo.

I am Aliceencrypt(password)Eu sou AliceEu sou Alice

Cenário de Falha?

encrypt(password)criptografia (senha)criptografia (senha)

Cenário de Falha?

©2009 Adriano Cansian / Leandro Arabi 32

Page 33: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Autenticação: mais uma tentativaAutenticação: mais uma tentativaAutenticação: mais uma tentativaAutenticação: mais uma tentativaMeta: evitar ataque de reprodução (playback).Nonce: número (R) usado apenas uma vez na vida.

AP4 0: para provar que Alice “está ao vivo” Bob envia a AliceAP4.0: para provar que Alice está ao vivo , Bob envia a Alice um nonce, R.

Alice deve devolver R, criptografado com a chave secreta comumcomum.

©2009 Adriano Cansian / Leandro Arabi 33

Falhas, problemas?

Page 34: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Autenticação: AP5 0Autenticação: AP5 0Autenticação: AP5.0Autenticação: AP5.0

Ap4 0 exige chave secreta compartilhadaAp4 0 exige chave secreta compartilhadaAp4.0 exige chave secreta compartilhadaAp4.0 exige chave secreta compartilhada•• Problema: como Bob e Alice combinam a chave?Problema: como Bob e Alice combinam a chave?

ÉÉ í l t ti d té i d hí l t ti d té i d h•• ÉÉ possível autenticar usando técnicas de chave possível autenticar usando técnicas de chave pública?pública?

AP5 0:AP5 0: UsarUsar noncenonce criptografia de chave públicacriptografia de chave públicaAP5.0:AP5.0: Usar Usar noncenonce, criptografia de chave pública, criptografia de chave pública

EnvieEnvie--me sua chave pública eme sua chave pública eAA

Bob calculaBob calculaee [d[d [R]]=R[R]]=R

©2009 Adriano Cansian / Leandro Arabi 34

eeAA[d[dAA[R]]=R[R]]=RautenticandoautenticandoAliceAlice

Page 35: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Ap5 0: falha de segurançaAp5 0: falha de segurançaAp5.0: falha de segurançaAp5.0: falha de segurançaAtaque do homem (mulher) no meio:Ataque do homem (mulher) no meio: Trudy se passa Trudy se passa

por Alice (para Bob) e por Bob (para Alice)por Alice (para Bob) e por Bob (para Alice)

Figure 7 14 goes hereFigure 7.14 goes here

©2009 Adriano Cansian / Leandro Arabi 35

Necessita chaves públicas certificadas (veremos mais adiante…)

Page 36: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Assinaturas Digitais (1)Assinaturas Digitais (1)Assinaturas Digitais (1)Assinaturas Digitais (1)

Técnica criptográfica análoga às assinaturas Técnica criptográfica análoga às assinaturas p g gp g gmanuais.manuais.

•• Transmissor (Bob) Transmissor (Bob) assina digitalmente um documentoassina digitalmente um documento, , estabelecendo que ele é o autor/criadorestabelecendo que ele é o autor/criadorestabelecendo que ele é o autor/criador. estabelecendo que ele é o autor/criador.

•• Verificável e Verificável e nãonão--forjávelforjável: receptor (Alice) pode verificar que : receptor (Alice) pode verificar que Bob, e ninguém mais, assinou o documento.Bob, e ninguém mais, assinou o documento.

Assinatura digital simples para mensagem m:Assinatura digital simples para mensagem m:•• Bob criptografa Bob criptografa mm com sua chave com sua chave privada privada ddBB, criando a , criando a

mensagem assinadamensagem assinada ddBB(m).(m).mensagem assinadamensagem assinada ddBB(m).(m).•• Bob envia Bob envia mm e e ddBB(m)(m) para Alice.para Alice.

©2009 Adriano Cansian / Leandro Arabi 36

Page 37: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Assinaturas Digitais (2)Assinaturas Digitais (2)Assinaturas Digitais (2)Assinaturas Digitais (2)

Suponha que Alice recebe a mensagem Suponha que Alice recebe a mensagem mm, , ee a assinatura a assinatura p q gp q g ,,digital digital ddBB(m)(m)Alice verifica que Alice verifica que mm foi assinada por Bob foi assinada por Bob aplicando a chave aplicando a chave privadaprivada de Bobde Bob eeBB aa ddBB(m)(m) entãoentão verifica queverifica que eeBB(d(dBB(m) ) = m(m) ) = m..privada privada de Bobde Bob eeBB a a ddBB(m)(m) entãoentão verifica que verifica que eeBB(d(dBB(m) ) m(m) ) m..Se Se eeBB(d(dBB(m) ) = m(m) ) = m, quem quer que tenha assinado , quem quer que tenha assinado mm deve deve posuirposuir a chave privada de Boba chave privada de Bob..

Ali ifi tãAli ifi tãAlice verifica então que:Alice verifica então que:•• Bob assinou Bob assinou mm..

Ni é i iNi é i i•• Ninguém mais assinou Ninguém mais assinou mm..•• Bob assinou Bob assinou mm e não e não m’m’..

NãoNão repúdio:repúdio:NãoNão--repúdio:repúdio:•• Alice pode levar Alice pode levar mm, e a assinatura , e a assinatura ddBB(m)(m) a um a um

tribunal para provar que Bob assinou tribunal para provar que Bob assinou mm..

©2009 Adriano Cansian / Leandro Arabi 37

t bu a pa a p o a que ob ass out bu a pa a p o a que ob ass ou

Page 38: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Resumos (Resumos (hashhash) de mensagens (1)) de mensagens (1)Resumos (Resumos (hashhash) de mensagens (1)) de mensagens (1)

ÉÉÉ É Computacionalmente caro criptografar com Computacionalmente caro criptografar com chave pública mensagens longas chave pública mensagens longas M tM t i t di it i d i t fii t di it i d i t fi ããMeta:Meta: assinaturas digitais de comprimento fixo, sassinaturas digitais de comprimento fixo, são ão facilmente computáveis, como uma “impressão facilmente computáveis, como uma “impressão digital”digital”digitaldigitalAplicar Aplicar funçãofunção hashhash HH a a mm, para obter um resumo , para obter um resumo de tamanho fixo, de tamanho fixo, H(m).H(m).de a a o o,de a a o o, ( )( )

©2009 Adriano Cansian / Leandro Arabi 38

Page 39: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Resumos (Resumos (hashhash) de mensagens (2)) de mensagens (2)Resumos (Resumos (hashhash) de mensagens (2)) de mensagens (2)

P i d d d f õ d H hP i d d d f õ d H hPropriedades das funções de Hash:Propriedades das funções de Hash:MuitasMuitas--parapara--11Produz um resumo da mensagem de tamanho fixoProduz um resumo da mensagem de tamanho fixoProduz um resumo da mensagem de tamanho fixo Produz um resumo da mensagem de tamanho fixo ((fingerprintfingerprint = = impressão digital).impressão digital).Dado um resumo da mensagem Dado um resumo da mensagem xx, , é computacionalmente é computacionalmente i ti á l t t li ti á l t t l H( )H( )impraticável encontrar m tal que impraticável encontrar m tal que x = H(m).x = H(m).Computacionalmente impraticável encontrar duas Computacionalmente impraticável encontrar duas mensagens m e m’ tal que H(m) = H(m’).mensagens m e m’ tal que H(m) = H(m’).g q ( ) ( )g q ( ) ( )

©2009 Adriano Cansian / Leandro Arabi 39

Page 40: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Assinatura digital = resumo assinado de mensagemAssinatura digital = resumo assinado de mensagemAssinatura digital resumo assinado de mensagemAssinatura digital resumo assinado de mensagem

Bob envia mensagem Bob envia mensagem Alice verifica a assinatura e a Alice verifica a assinatura e a integridade da mensagemintegridade da mensagemdigitalmente assinada:digitalmente assinada: integridade da mensagem integridade da mensagem digitalmente assinada:digitalmente assinada:

©2009 Adriano Cansian / Leandro Arabi 40

Page 41: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Algoritmos de funções deAlgoritmos de funções de hashhashAlgoritmos de funções de Algoritmos de funções de hashhash

A ifi d (A ifi d ( h kh k ) d l TCP/IP) d l TCP/IPA soma verificadora (A soma verificadora (checksumchecksum) dos protocolos TCP/IP ) dos protocolos TCP/IP resulta num resumo de mensagem pobre.resulta num resumo de mensagem pobre.

•• Muito fácil encontrar duas mensagens com a mesma Muito fácil encontrar duas mensagens com a mesma ggsoma verificadora.soma verificadora.

O algoritmo MD5 é a função de O algoritmo MD5 é a função de hashhash mais usada.mais usada.C l l d 128C l l d 128 bit dbit d•• Calcula resumo de 128Calcula resumo de 128--bits da mensagem num processo bits da mensagem num processo de 4 etapas. de 4 etapas.

•• Uma cadeia arbitrária X` cujo Uma cadeia arbitrária X` cujo hashhash de 128 bits obtido pelo de 128 bits obtido pelo jj ppMD5 é igual ao MD5 é igual ao hashhash de um cadeia X parece difícil de de um cadeia X parece difícil de construir.construir.

Algoritmo SHAAlgoritmo SHA 1 também é usado1 também é usadoAlgoritmo SHAAlgoritmo SHA--1 também é usado.1 também é usado.•• Padrão do EUAPadrão do EUA•• Resumo de mensagem com 160Resumo de mensagem com 160--bitsbits

©2009 Adriano Cansian / Leandro Arabi 41

gg

Page 42: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Como estabelecer intermediários confiáveis?Como estabelecer intermediários confiáveis?Como estabelecer intermediários confiáveis?Como estabelecer intermediários confiáveis?

P blP bl P blP blProblema:Problema:•• Como duas entidades Como duas entidades

estabelecem uma estabelecem uma

Problema:Problema:•• Quando Alice obtém a Quando Alice obtém a

chave pública de Bob chave pública de Bob chave compartilhada chave compartilhada secreta sobre uma secreta sobre uma rede?rede?

pp(de um web site, e(de um web site, e--mail, mail, ou diskete), ou diskete), como ela como ela sabe que é a chavesabe que é a chaverede?rede?

Solução:Solução:•• Centro de distribuição Centro de distribuição

sabe que é a chave sabe que é a chave pública de Bob e não pública de Bob e não de Trudyde Trudy??

S l ãS l ãde chaves confiávelde chaves confiável(KDC) atuando como (KDC) atuando como intermediário entre as intermediário entre as

SoluçãoSolução•• Autoridade certificadora Autoridade certificadora

confiável (CA).confiável (CA).entidades.entidades.

( )( )

©2009 Adriano Cansian / Leandro Arabi 42

Page 43: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Centro de Distribuição de Chaves (KDC)Centro de Distribuição de Chaves (KDC)ç ( )ç ( )

Alice e Bob necessitam de Alice e Bob necessitam de um chave simétricaum chave simétricaum chave simétrica um chave simétrica compartilhada.compartilhada.KDC:KDC: servidor compartilha servidor compartilha

Aliceconhece

R1diferentes chaves diferentes chaves secretas com cada secretas com cada usuário registradousuário registrado. .

R1

Bob conhece R1gg

Alice e Bob Alice e Bob conhecem as conhecem as próprias chaves próprias chaves simétricassimétricas KK KK Alice se comunica com o KDCAlice se comunica com o KDC

Alice e Bob se comunicam usando chave compartilhada R1

simétricassimétricas, , KKAA--KDCKDC KKBB--KDCKDC , , para comunicação com o para comunicação com o KDCKDC..

Alice se comunica com o KDC, Alice se comunica com o KDC, obtém a chave de sessão obtém a chave de sessão R1R1, e , e KKBB--

KDCKDC(A,R1)(A,R1)Alice envia a BobAlice envia a BobAlice envia a Bob Alice envia a Bob KKBB--KDCKDC(A,R1),(A,R1), Bob extraí Bob extraí R1R1Alice e Bob agora Alice e Bob agora compartilham a compartilham a chave simétricachave simétrica R1R1

©2009 Adriano Cansian / Leandro Arabi 43

chave simétrica chave simétrica R1R1..

Page 44: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Autoridades CertificadorasAutoridades Certificadoras informaçãoAutoridades CertificadorasAutoridades Certificadoras

Autoridades certificadoras (CA) Autoridades certificadoras (CA)

informaçãode identidade

de Bob

chave públicade Bobassociam chaves públicas a associam chaves públicas a

uma particular entidadeuma particular entidade..Entidade (pessoa, roteador, etc.) Entidade (pessoa, roteador, etc.)

de BobAutoridade

Certificadora

pode pode registrar sua chave registrar sua chave pública junto pública junto àà CACA..

•• Entidade fornece “prova de Entidade fornece “prova de certificado

Chave privada daautoridade certificadora

identidade” à CA. identidade” à CA. •• CA cria certificado ligando a CA cria certificado ligando a

entidade à chave pública.entidade à chave pública.

criptografadode Bob

pp•• Certificado é digitalmente Certificado é digitalmente

assinado pela CA.assinado pela CA.Quando Alice quer a chave pública de Quando Alice quer a chave pública de Bob:Bob:Obtém o certificado de Bob (com Bob Obtém o certificado de Bob (com Bob ou em outro local).ou em outro local).Aplica a chave pública da CA ao Aplica a chave pública da CA ao certificado de Bob para obter a chave certificado de Bob para obter a chave pública de Bobpública de Bob

©2009 Adriano Cansian / Leandro Arabi 44

pública de Bob.pública de Bob.

Page 45: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

EE--mail seguromail seguro (1)(1)EE--mail seguromail seguro (1)(1)

• Alice quer enviar uma mensagem de e-mail secreta, m, para Bob.

Alice envia mensagem Bob recebe mensagem

• Gera chave simétrica aleatória, KS.

de e-mail m de e-mail m

, S• Criptografa mensagem com KS• Também criptografa KS com a chave pública de Bob.

E i K ( ) (K ) B b©2009 Adriano Cansian / Leandro Arabi 45

• Envia KS(m) e eB(KS) para Bob.

Page 46: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

EE--mail seguro (2)mail seguro (2)EE--mail seguro (2)mail seguro (2)• Alice quer prover autenticação do transmissor e integridade da mensagem.

Alice envia mensagemde e-mail m

Bob recebe mensagemde e-mail m

• Alice assina digitalmente a mensagem.• Envia a mensagem (em texto aberto) e a assinatura

©2009 Adriano Cansian / Leandro Arabi 46

• Envia a mensagem (em texto aberto), e a assinatura digital.

Page 47: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

EE--mail seguro (3)mail seguro (3)EE mail seguro (3)mail seguro (3)

• Alice quer prover privacidade, autenticação do transmissor e integridade da mensagem.

Nota: Alice usa tanto sua chave privada quanto a chave pública de Bob.

©2009 Adriano Cansian / Leandro Arabi 47

Page 48: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Pretty Good PrivacyPretty Good Privacy (PGP)(PGP)Pretty Good PrivacyPretty Good Privacy (PGP)(PGP)

E d i t fi dE d i t fi dEsquema de criptografia de eEsquema de criptografia de e--mail da Internet: um padrão de mail da Internet: um padrão de fato.fato. ------BEGIN PGP SIGNED MESSAGEBEGIN PGP SIGNED MESSAGE------

Hash: SHA1Hash: SHA1

Uma mensagem PGP assinada:

Combina criptografia de Combina criptografia de chave chave simétricasimétrica, criptografia de , criptografia de chave públicachave pública, função de , função de h hh h i t di it li t di it l

Bob:My husband is out of town Bob:My husband is out of town tonight.Passionately yours, Alicetonight.Passionately yours, Alice

hashhash e e assinatura digitalassinatura digital..Oferece privacidade, Oferece privacidade, autenticação do transmissor e autenticação do transmissor e i id di id d

------BEGIN PGP SIGNATUREBEGIN PGP SIGNATURE------Version: PGP 5.0Version: PGP 5.0Charset: noconvCharset: noconvyhHJRHhGJGhgg/12EpJ+lo8gE4vB3mqJhFEvZyhHJRHhGJGhgg/12EpJ+lo8gE4vB3mqJhFEvZ

integridade.integridade.O inventor, Phil Zimmerman, O inventor, Phil Zimmerman, foi alvo de uma investigação foi alvo de uma investigação

y gg p g qy gg p g qP9t6n7G6m5Gw2P9t6n7G6m5Gw2

------END PGP SIGNATUREEND PGP SIGNATURE------

federal durante três anos.federal durante três anos.

©2009 Adriano Cansian / Leandro Arabi 48

Page 49: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

SSLSSL -- Secure Sockets LayerSecure Sockets Layer (1)(1)SSL SSL Secure Sockets LayerSecure Sockets Layer (1)(1)

PGP oferece segurança para uma aplicação de PGP oferece segurança para uma aplicação de rede específica.rede específica.SSLSSL d d t td d t tSSL opera SSL opera na camada de transportena camada de transporte. . Fornece segurança para qualquer aplicação Fornece segurança para qualquer aplicação baseada no TCP que usa os serviços da SSLbaseada no TCP que usa os serviços da SSLbaseada no TCP que usa os serviços da SSL. baseada no TCP que usa os serviços da SSL. Usada entre clientes WWW e servidores de Usada entre clientes WWW e servidores de comércio eletrônico (httpcomércio eletrônico (httpSS://)://)comércio eletrônico (httpcomércio eletrônico (httpSS://).://).Serviços de segurança da SSL:Serviços de segurança da SSL:

•• Autenticação do servidorAutenticação do servidorAutenticação do servidorAutenticação do servidor•• Criptografia dos dados Criptografia dos dados •• Autenticação do cliente (opcional)Autenticação do cliente (opcional)

©2009 Adriano Cansian / Leandro Arabi 49

Page 50: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

SSLSSL -- Secure Sockets LayerSecure Sockets Layer (2)(2)SSL SSL Secure Sockets LayerSecure Sockets Layer (2)(2)

Autenticação do ServidorAutenticação do Servidor::•• clientes com SSL habilitado incluem chaves clientes com SSL habilitado incluem chaves

públicas para CA’s confiáveis.públicas para CA’s confiáveis.•• Cliente solicita o certificado do servidor, Cliente solicita o certificado do servidor,

i i d l tid d tifi d fiá li i d l tid d tifi d fiá loriginado pela entidade certificadora confiável.originado pela entidade certificadora confiável.•• Cliente usa a chave pública da CA para extrair a Cliente usa a chave pública da CA para extrair a

chave pública do servidor do certificadochave pública do servidor do certificadochave pública do servidor do certificado. chave pública do servidor do certificado. Visite o menu de segurança do seu Visite o menu de segurança do seu browserbrowser

i tid di tid dpara examinar suas entidades para examinar suas entidades certificadoras confiáveis.certificadoras confiáveis.

©2009 Adriano Cansian / Leandro Arabi 50

Page 51: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

SSLSSL -- Secure Sockets LayerSecure Sockets Layer (3)(3)SSL SSL Secure Sockets LayerSecure Sockets Layer (3)(3)

S ã SSL i t f dS ã SSL i t f dSessão SSL criptografada:Sessão SSL criptografada:ClienteCliente gera uma gera uma chave de sessão simétrica,chave de sessão simétrica, e a e a criptografa com a chave pública do servidorcriptografa com a chave pública do servidorcriptografa com a chave pública do servidorcriptografa com a chave pública do servidorEnvia a chave simétrica criptografada ao servidor.Envia a chave simétrica criptografada ao servidor.Com sua chave privada o servidor decriptografa aCom sua chave privada o servidor decriptografa aCom sua chave privada, o servidor decriptografa a Com sua chave privada, o servidor decriptografa a chave simchave simétrica da sessãoétrica da sessão..Cliente e o servidor negociam que as prCliente e o servidor negociam que as próximasóximasg q pg q pmensagens serão criptografadas usando a chave mensagens serão criptografadas usando a chave simsimétrica enviadaétrica enviada..Todos os dados enviados na porta TCP (peloTodos os dados enviados na porta TCP (peloTodos os dados enviados na porta TCP (pelo Todos os dados enviados na porta TCP (pelo cliente ou pelo servidor) cliente ou pelo servidor) são criptografados com são criptografados com a chave de sessão (sima chave de sessão (simétrica e temporária)étrica e temporária)..

©2009 Adriano Cansian / Leandro Arabi 51

(( p )p )

Page 52: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

SSLSSL -- Secure Sockets LayerSecure Sockets Layer (4)(4)SSL SSL Secure Sockets LayerSecure Sockets Layer (4)(4)

SSL: SSL: é a é a base do mecanismo base do mecanismo Transport Layer SecurityTransport Layer Security (TLS) do (TLS) do p y yp y y ( )( )IETF.IETF.SSL pode ser usado tambSSL pode ser usado tambémém porporSSL pode ser usado tambSSL pode ser usado também ém por por aplicações que não usam a Web, por aplicações que não usam a Web, por exemplo o IMAP.exemplo o IMAP.Autenticação do cliente pode ser feitaAutenticação do cliente pode ser feitaAutenticação do cliente pode ser feita Autenticação do cliente pode ser feita com certificados do cliente.com certificados do cliente.

©2009 Adriano Cansian / Leandro Arabi 52

Page 53: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

SETSET -- Secure Electronic TransactionsSecure Electronic Transactions (1)(1)SET SET Secure Electronic TransactionsSecure Electronic Transactions (1)(1)

Projetado pra transações de pagamento de cartões Projetado pra transações de pagamento de cartões de crédito sobre a Internet.de crédito sobre a Internet.Of i d l d t êOf i d l d t êOferece serviços de segurança envolvendo três Oferece serviços de segurança envolvendo três partes:partes:

ClienteCliente•• Cliente.Cliente.•• Comerciante.Comerciante.

Banco do vendedorBanco do vendedor•• Banco do vendedor.Banco do vendedor.Todos devem ter certificados.Todos devem ter certificados.

SET ifi l l l d tifi dSET ifi l l l d tifi dSET especifica o valor legal dos certificados.SET especifica o valor legal dos certificados.•• Divisão das responsabilidades pelas Divisão das responsabilidades pelas

transaçõestransações©2009 Adriano Cansian / Leandro Arabi 53

transações.transações.

Page 54: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

SETSET -- Secure Electronic TransactionsSecure Electronic Transactions (2)(2)SET SET Secure Electronic TransactionsSecure Electronic Transactions (2)(2)

Nú d ã d li é i d b d d dNú d ã d li é i d b d d dNúmero do cartão do cliente é enviado ao banco do vendedor Número do cartão do cliente é enviado ao banco do vendedor sem que o vendedor veja o número aberto em nenhum sem que o vendedor veja o número aberto em nenhum momentomomento..

•• Previne que os vendedores possam furtar e repassar Previne que os vendedores possam furtar e repassar números de cartões de crédito.números de cartões de crédito.

Três componentes de software:Três componentes de software:Três componentes de software:Três componentes de software:•• Carteira do Carteira do browserbrowser•• Servidor do comercianteServidor do comerciante•• Gateway do adquirenteGateway do adquirente

(Veja o livro(Veja o livro--texto para a descrição detalhada de uma transação SET)texto para a descrição detalhada de uma transação SET)

©2009 Adriano Cansian / Leandro Arabi 54

Page 55: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

IPsecIPsec: segurança na camada de rede (1): segurança na camada de rede (1)IPsecIPsec: segurança na camada de rede (1): segurança na camada de rede (1)

S C d d R dS C d d R dSegurança na Camada de Rede:Segurança na Camada de Rede:•• O host transmissor criptografa os dados no datagrama IPO host transmissor criptografa os dados no datagrama IP•• Segmentos TCP e UDP; ICMP e mensagens SNMPSegmentos TCP e UDP; ICMP e mensagens SNMP•• Segmentos TCP e UDP; ICMP e mensagens SNMP.Segmentos TCP e UDP; ICMP e mensagens SNMP.

Autenticação na Camada de RedeAutenticação na Camada de Rede•• HostHost destino pode autenticar o endereço IP da origemdestino pode autenticar o endereço IP da origem

Dois protocolos principais:Dois protocolos principais:•• Protocolo de autenticação de cabeçalhoProtocolo de autenticação de cabeçalho

AHAH A th ti ti H dA th ti ti H d•• AH AH -- Authentication HeaderAuthentication Header•• Protocolo de encapsulamento seguro de dadosProtocolo de encapsulamento seguro de dados

•• ESP ESP -- Encapsulation Secure PayloadEncapsulation Secure Payloadp yp y

©2009 Adriano Cansian / Leandro Arabi 55

Page 56: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

IPsecIPsec: segurança na camada de rede (2): segurança na camada de rede (2)IPsecIPsec: segurança na camada de rede (2): segurança na camada de rede (2)

T t AH ESP i i ã t f tT t AH ESP i i ã t f tTanto para o AH como para o ESP, exige negociação entre a fonte Tanto para o AH como para o ESP, exige negociação entre a fonte e o destino:e o destino:

•• Cria Cria canal lógico de camada de rede,canal lógico de camada de rede, chamado de “acordo de chamado de “acordo de serviço” (SA).serviço” (SA).

Cada SA é unidirecional.Cada SA é unidirecional.Unicamente determinado por:Unicamente determinado por:pp

•• Protocolo de segurança (AH ou ESP).Protocolo de segurança (AH ou ESP).•• Endereço IP da origem.Endereço IP da origem.

Identificador de conexão de 32Identificador de conexão de 32 bitbit•• Identificador de conexão de 32Identificador de conexão de 32--bit.bit.

©2009 Adriano Cansian / Leandro Arabi 56

Page 57: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

ProtocoloProtocolo ESPESPProtocolo Protocolo ESPESPOferece privacidade, autenticação de host e integridade dos dados.Oferece privacidade, autenticação de host e integridade dos dados.

S fS fDados e trailer ESP são criptografados.Dados e trailer ESP são criptografados.Campo de próximo cabeçalho está no trailer ESP.Campo de próximo cabeçalho está no trailer ESP.Campo de autenticação do ESP é similar ao campo de Campo de autenticação do ESP é similar ao campo de C p ç S pC p ç S pautenticação do AH.autenticação do AH.Protocolo = 50. Protocolo = 50.

AutenticadoAutenticado

Criptografado

©2009 Adriano Cansian / Leandro Arabi 57Protocolo = 50

Page 58: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Protocolo de Autenticação de Cabeçalho (AH)Protocolo de Autenticação de Cabeçalho (AH)

Oferece autenticação do Oferece autenticação do hosthost originador, integridade de dados, mas não originador, integridade de dados, mas não privacidade dos dadosprivacidade dos dadosprivacidade dos dados. privacidade dos dados. Cabeçalho AH é inserido entre o cabeçalho IP e o campo de dados do IP.Cabeçalho AH é inserido entre o cabeçalho IP e o campo de dados do IP.Campo de Protocolo = 51.Campo de Protocolo = 51.Roteadores intermediários processam o datagrama na forma usual.Roteadores intermediários processam o datagrama na forma usual.p gp g

Cabeçalho AH incluiCabeçalho AH inclui::Identificador de conexãoIdentificador de conexãoDados de autenticação: mensagem assinada e resumo da mensagem são Dados de autenticação: mensagem assinada e resumo da mensagem são calculados sobre o datagrama IP original, provendo autenticação da fonte e calculados sobre o datagrama IP original, provendo autenticação da fonte e integridade dos dados.integridade dos dados.Campo próximo cabeçalho: especifica o tipo de dados (TCP, UDP, ICMP, Campo próximo cabeçalho: especifica o tipo de dados (TCP, UDP, ICMP, etc.)etc.)etc.)etc.)

©2009 Adriano Cansian / Leandro Arabi 58

Page 59: Tópicos em Sistemas de CtãComputaçãoangel.acmesecurity.org/~adriano/tcpip/2009/adr-tcpip-2009-seguran... · deveriam “entender”o conteúdo da mensagem ... •• Consiste

unesp - IBILCE - SJRP

Segurança de Redes (resumo)Segurança de Redes (resumo)Segurança de Redes (resumo)Segurança de Redes (resumo)Técnicas básicas…...Técnicas básicas…...Técnicas básicas…...Técnicas básicas…...

Criptografia (simétrica e pública).Criptografia (simétrica e pública).AutenticaçãoAutenticaçãoAutenticação.Autenticação.Integridade de mensagem.Integridade de mensagem.

d it á i dd it á i d... usadas em muitos cenários de segurança ... usadas em muitos cenários de segurança diferentes.diferentes.EE ililEE--mail seguromail seguroTransporte seguro (SSL)Transporte seguro (SSL)IPsecIPsec

©2009 Adriano Cansian / Leandro Arabi 59