20
Infraestrutura de Chave P´ ublica - InfoSec 14 de Junho de 2016

Infraestrutura de Chave Pública - InfoSecalbertini/1sem2016/infosec/aulas/aula07b-PKI.pdfI Ataque \Man in the middle" I Esquemas de distribui˘c~ao de chaves publicas I Certi cados

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Infraestrutura de Chave Pública - InfoSecalbertini/1sem2016/infosec/aulas/aula07b-PKI.pdfI Ataque \Man in the middle" I Esquemas de distribui˘c~ao de chaves publicas I Certi cados

Infraestrutura de Chave Publica - InfoSec

14 de Junho de 2016

Page 2: Infraestrutura de Chave Pública - InfoSecalbertini/1sem2016/infosec/aulas/aula07b-PKI.pdfI Ataque \Man in the middle" I Esquemas de distribui˘c~ao de chaves publicas I Certi cados

Conteudo

I Estabelecimento de chaves simetricas

I Protocolos baseados em autoridades centrais (Kerberos)

I Ataque “Man in the middle”

I Esquemas de distribuicao de chaves publicas

I Certificados

Page 3: Infraestrutura de Chave Pública - InfoSecalbertini/1sem2016/infosec/aulas/aula07b-PKI.pdfI Ataque \Man in the middle" I Esquemas de distribui˘c~ao de chaves publicas I Certi cados

Estabelecimento de chaves

I Duas abordagensI Transporte de chaves (key transport)

I Apenas um usuario decide qual e a chaveI Tipo criptografia simetrica

I Negociacao de chaves (key agreement)I Os dois usuarios participam da geracao da chaveI Tipo Diffie-Hellman

Page 4: Infraestrutura de Chave Pública - InfoSecalbertini/1sem2016/infosec/aulas/aula07b-PKI.pdfI Ataque \Man in the middle" I Esquemas de distribui˘c~ao de chaves publicas I Certi cados

Distribuicao de chaves simetricas

I Abordagem naıve:I Estabelecer pares de chaves secretas entre todos usuariosI Para usuario (A,B,C ,D) temos chaves kAB , kAC , kAD , kBC , . . .

I Problemas:I Numero de pares de chaves e n · (n − 1)/2I Para 1000 usuarios, necessarias 499500 chavesI E complicado adicionar novos usuarios (como?)

Page 5: Infraestrutura de Chave Pública - InfoSecalbertini/1sem2016/infosec/aulas/aula07b-PKI.pdfI Ataque \Man in the middle" I Esquemas de distribui˘c~ao de chaves publicas I Certi cados

Protocolos baseados em centro de distribuicao de chaves(Kerberos)

I Ideia: usar um “autoridade confiavel” centralI Key Distribution Center (KDC)

I Autoridade central compartilha uma chave com cada usuarioI Usuarios (A,B,C ,D), chaves: kA,KDC , kB,KDC , kC ,KDC , kD,KDC

I Comunicacao entre A e B exige comunicacao com KDCprimeiro

I KDC gera ksessao aleatoriaI KDC encripta: yA = ekA(ksessao) e yB = ekB (ksessao)I KDC envia yA e yB para AI A obtem chave ksessao = e−1kA

(yA)I A envia texto cifrado com ksessao e yB para B

I Para um usuario novo E , basta se cadastrar em KDC e obteruma key encryption key (KEK) kE ,KDC

I Problemas:I KDC e um ponto unico de falha

Page 6: Infraestrutura de Chave Pública - InfoSecalbertini/1sem2016/infosec/aulas/aula07b-PKI.pdfI Ataque \Man in the middle" I Esquemas de distribui˘c~ao de chaves publicas I Certi cados

Estabelecimento de chaves assimetricas

I Meta: troca de chaves com meio inseguroI Abordagens:

I Transporte de chaves: autoridade centralI Negociacao de chaves: Diffie-Hellman

I Problema: Man-in-the-Middle attack

Page 7: Infraestrutura de Chave Pública - InfoSecalbertini/1sem2016/infosec/aulas/aula07b-PKI.pdfI Ataque \Man in the middle" I Esquemas de distribui˘c~ao de chaves publicas I Certi cados

Man-in-the-Middle attack

pk

pk, sk

Alice pk

Alice pk∗

Alice pk∗

Alice pk

Page 8: Infraestrutura de Chave Pública - InfoSecalbertini/1sem2016/infosec/aulas/aula07b-PKI.pdfI Ataque \Man in the middle" I Esquemas de distribui˘c~ao de chaves publicas I Certi cados

Distribuicao de chaves publicas

pk

pk, sk

Alice pk

Alice pk∗

Alice pk

Page 9: Infraestrutura de Chave Pública - InfoSecalbertini/1sem2016/infosec/aulas/aula07b-PKI.pdfI Ataque \Man in the middle" I Esquemas de distribui˘c~ao de chaves publicas I Certi cados

Usar assinaturas para distribuicao segura de chaves

I Ideia: usar autoridade confiavel com uma chave publicaconhecida por todos

I CA = certifying authority = autoridade certificadoraI Chave publica pkCAI Chave privada skCA

Page 10: Infraestrutura de Chave Pública - InfoSecalbertini/1sem2016/infosec/aulas/aula07b-PKI.pdfI Ataque \Man in the middle" I Esquemas de distribui˘c~ao de chaves publicas I Certi cados

Usar assinaturas para distribuicao segura de chaves

I Alice pede para o CA assinar o contrato (Alice, pk)I Certificado da CA sobre Alice consiste na assinatura do par

“dados de identidade da Alice” IDAlice e “chave publica daAlice” pkAlice com a chave privada skCA da autoridadecertificadora

I certCA→Alice = SignskCA(IDAlice , pkAlice)

I CA deve verificar identidade de Alice fora da comunicacao(por canal seguro)

Page 11: Infraestrutura de Chave Pública - InfoSecalbertini/1sem2016/infosec/aulas/aula07b-PKI.pdfI Ataque \Man in the middle" I Esquemas de distribui˘c~ao de chaves publicas I Certi cados

Geracao de certificado pelo cliente

Page 12: Infraestrutura de Chave Pública - InfoSecalbertini/1sem2016/infosec/aulas/aula07b-PKI.pdfI Ataque \Man in the middle" I Esquemas de distribui˘c~ao de chaves publicas I Certi cados

Geracao de certificado pela CA

Page 13: Infraestrutura de Chave Pública - InfoSecalbertini/1sem2016/infosec/aulas/aula07b-PKI.pdfI Ataque \Man in the middle" I Esquemas de distribui˘c~ao de chaves publicas I Certi cados

Usar assinaturas para distribuicao segura de chaves

I Bob obtem par “IDAlice , pk” e o certificado certCA→Alice

I e verifica que VrfyPKCA((IDAlice , pkAlice), certCA→Alice) = 1

I Bob agora tem certeza que pk e a chave publica de AliceI Depende da confiabilidade de CA

I CA deve ser honesto e verificar apropriadamente a identidadede Alice

I Depende da seguranca da chave privada de CA

Page 14: Infraestrutura de Chave Pública - InfoSecalbertini/1sem2016/infosec/aulas/aula07b-PKI.pdfI Ataque \Man in the middle" I Esquemas de distribui˘c~ao de chaves publicas I Certi cados

Diffie-Hellman com certificados

I sA e sB sao as assinaturas de certificacao do CA

Page 15: Infraestrutura de Chave Pública - InfoSecalbertini/1sem2016/infosec/aulas/aula07b-PKI.pdfI Ataque \Man in the middle" I Esquemas de distribui˘c~ao de chaves publicas I Certi cados

Problema cıclico?

I Com Bob obtem pkCA em primeiro lugar?I Opcoes:

I Roots of TrustI Web of TrustI Repositorios de chaves publicas

I MIT PGP keyserver

Page 16: Infraestrutura de Chave Pública - InfoSecalbertini/1sem2016/infosec/aulas/aula07b-PKI.pdfI Ataque \Man in the middle" I Esquemas de distribui˘c~ao de chaves publicas I Certi cados

Roots of Trust: chaves de CAs

I Pontos de origem de confianca (Roots of Trust)

I Bob so precisa obter de maneira segura um numero pequenode chaves publicas de CAs

I Necessario garantir distribuicao segura somente para essaspoucas chaves publicas iniciais

I OpcoesI Distribuir como parte do sistema operacionalI Instalar com os navegadores Web

Page 17: Infraestrutura de Chave Pública - InfoSecalbertini/1sem2016/infosec/aulas/aula07b-PKI.pdfI Ataque \Man in the middle" I Esquemas de distribui˘c~ao de chaves publicas I Certi cados

Roots of Trust

Page 18: Infraestrutura de Chave Pública - InfoSecalbertini/1sem2016/infosec/aulas/aula07b-PKI.pdfI Ataque \Man in the middle" I Esquemas de distribui˘c~ao de chaves publicas I Certi cados

Teia de confianca

I Obter chaves publicas de meus amigos pessoalmenteI Partes que assinam chaves

I Obter cerficados na minha chave publica de meus amigos

I Se A conhecer pkB e B emitiu certificado para C entao Cpode mandar esse certificado para A

Page 19: Infraestrutura de Chave Pública - InfoSecalbertini/1sem2016/infosec/aulas/aula07b-PKI.pdfI Ataque \Man in the middle" I Esquemas de distribui˘c~ao de chaves publicas I Certi cados

Repositorio de chaves publicas

I Armazenar certificados em um repositorio centralI Exemplo: servidor de chaves PGP do MIT

I Para achar a chave publica de AliceI Obter todas as chaves publicas para Alice e certificados nessas

chavesI Procurar por um certificado assinado por alguem que voce

confia cuja chave publica voce ja tem

Page 20: Infraestrutura de Chave Pública - InfoSecalbertini/1sem2016/infosec/aulas/aula07b-PKI.pdfI Ataque \Man in the middle" I Esquemas de distribui˘c~ao de chaves publicas I Certi cados

PKI na pratica

I Nao funciona tao bem quanto na teoriaI Proliferacao de CAs raizI RevocacaoI Outros problemas