Você pode impedir que um homem no meio leia a mensagem?


10

Ouvi falar de todas essas prevenções de ataque do homem do meio e fico imaginando como isso pode funcionar se o homem do meio ouvir apenas o seu fluxo e não quiser alterar a mensagem.

O homem do meio não pode apenas pegar as chaves trocadas pelos oponentes, mudar as chaves e depois descriptografar e criptografar a mensagem novamente?

Como um certificado pode impedir isso?

Editar:

Ouvi dizer que a autoridade de certificação geralmente diz: "Sim, essa é a chave dos outros". Mas como posso ter certeza de que a assinatura do certificado não é falsificada?

Respostas:


10

O homem do meio não pode apenas pegar as chaves trocadas pelos oponentes, mudar as chaves e depois descriptografar e criptografar a mensagem novamente?

Sim eles podem.

Um protocolo de troca de chaves como (a versão "manual" do) DH é seguro contra a interceptação (ou seja, simplesmente observar o que está sendo transmitido no canal), mas quebra completamente contra ataques do tipo man-in-the-middle (MITM), como você declarou.

Os certificados são uma tentativa de remediar isso, mas surge outro problema: como você pode garantir que ambas as partes recebam o certificado correto? Obviamente, você não pode simplesmente enviar os certificados pelo canal inseguro, pois isso é suscetível novamente a um ataque MITM.

A solução é a existência de um canal alternativo, (completamente) seguro . Seriam as duas partes se encontrando pessoalmente e trocando seus certificados fisicamente ou por algum canal alternativo confiável (por exemplo, por telefone, se for confiável).

Nas redes de computadores, o canal alternativo é geralmente uma infraestrutura de chave pública (PKI). Isso significa que seu sistema operacional ou navegador possui um conjunto de certificados raiz pré-configurados dos quais outros certificados são assinados (e possivelmente ainda mais certificados usando-os como certificados intermediários ). Portanto, quando você visita um site, ele apresenta um certificado assinado , que é assinado usando (uma cadeia de) certificados nos quais você já confia. Então, usando este certificado, é possível uma troca de chaves autenticada (por exemplo, para concordar com uma chave efêmera para usar com criptografia simétrica comum).


Então, estamos basicamente comunicando os certificados através de um segundo canal, sabemos que estamos seguros?
TVSuchty 23/02/19

Sim; caso contrário, um ataque MITM é sempre possível. É um pouco contra-intuitivo pensar em uma estrutura como uma PKI como um "canal", mas a idéia não é tão absurda se você a considerar simplesmente como uma maneira de transmitir informações (neste caso, certificados).
23619 dkaeae

Mas por que não falaríamos sobre o canal, sabemos que estamos seguros, em primeiro lugar?
TVSuchty 23/02/19

11
@TVSuchty Você precisa de uma chave confiável inicial, mas isso só precisa ser comunicado uma vez na vida. Essa chave também pode ser a chave de uma autoridade de certificação, na qual você confia para emitir certificados para outras pessoas. Por exemplo, quando você instala um navegador, ele vem com as chaves de muitas autoridades de certificação. Quando você acessa um site https, recebe uma chave para o site e um certificado emitido por uma CA informando que a chave está correta, para que você possa iniciar https corretamente. Mas isso pressupõe 1) as chaves da CA no navegador são as corretas e 2) as próprias CAs podem ser confiáveis.
chi

11
@TVSuchty Uma chave confiável é suficiente, desde que seja a chave pública de uma CA em que você possa confiar. Firefox usa ~ 100 chaves de AC .
chi

5

Em um ataque de homem do meio, você pede a chave de Bob, mas Eve intercepta a mensagem e envia a chave dela. Ela pede a chave de Bob e depois passa mensagens entre você e Bob, descriptografando-as, lendo e / ou alterando-as no processo.

O problema é que você não sabe se realmente possui a chave de Bob. Os certificados contornam isso porque a autoridade de certificação (CA) envia a Bob uma mensagem assinada digitalmente dizendo "A chave de Bob é 12345". Você pode verificar este certificado porque não há muitas CAs; portanto, seu navegador contém apenas uma lista de chaves de CA válidas. Agora, se Eve intercepta sua tentativa de iniciar uma comunicação criptografada com Bob, ela tem duas opções. Se ela lhe disser que a chave de Bob é 67890, ela não fornece um certificado e você diz "Desculpe, você precisa provar isso" ou ela fornece um certificado falso e você diz "Esse certificado não é válido". Como alternativa, ela diz que a chave de Bob é 12345 e fornece um certificado válido, mas isso não lhe serve porque ela não


Por que Eve não pode simplesmente me enviar o certificado de Bobs? Quero dizer, o que há de especial na chave de Bob para que a véspera não possa replicar uma chave semelhante? Como sei que essa chave é certificada? Como verifico o certificado?
TVSuchty 23/02/19

Eu lhe disse por que ela não pode enviar o certificado de Bob (ou melhor, por que o envio de certificado de Bob não a ajuda). Não existe uma chave semelhante. Você sabe que a chave está certificada porque você possui o certificado. Você verifica o certificado verificando a assinatura digital usando a chave da CA.
David Richerby

O @TVSuchty Eve deve primeiro descriptografar a mensagem para lê-la e depois criptografar novamente a mensagem para transmiti-la. Somente o certificado de assinatura particular de Bob permitirá criptografar como Bob, mas a pessoa infeliz sujeita ao ataque do MITM deve poder provar se possui o certificado de Bob para saber se o Eve foi fornecido. É por isso que alguns aplicativos seguros solicitam que você aceite a chave de criptografia na primeira vez e sempre que ela for alterada.
Willtech 24/02/19

11
@TVSuchty Um certificado diz basicamente "Eu sou X, e você pode confiar que eu sou X porque Y diz isso". Eve pode criar facilmente um certificado que diz "Eu sou Bob, e você pode confiar que eu sou Bob porque Eve diz isso". Se o meu computador obtém esse certificado, apenas ri. "Eve diz que sim" não é motivo para acreditar que é o certificado de Bob. "Como a Verisign diz isso", com a Verisign sendo um dos, digamos, 100 fornecedores de certificados que foram instalados no computador pelo fabricante, essa é uma razão para acreditar. Mas Eva não pode forjar esse certificado.
gnasher729

Outra resposta para "por que não pode véspera me enviar o certificado de bob:" Eve pode tentar forjar o certificado de Bob ou roubá-lo. Talvez um milhão de dólares seja suficiente para subornar um dos funcionários de Bob para entregar uma cópia do certificado de Bob. Bob precisa se certificar de que é difícil roubar o certificado. Se roubado, um certificado pode ser revogado e não será mais aceito. O certificado agora diz "este é um certificado genuíno de Bob, mas foi roubado, então não confie nele".
gnasher729
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.