PGP: na web, e se tudo fosse adulterado?

5

Estou tentando entender como a Criptografia de Chave Pública pode realmente funcionar de maneira segura.

Pelo que eu posso encontrar, você acessa example.com e faz o download da chave pública PGP / GPG e adiciona ao seu chaveiro. Em seguida, eles enviam um arquivo de texto (ou algo semelhante) assinado com sua Chave Privada ou Criptografado com sua Chave Pública; e você pode verificar sua autenticidade e / ou descriptografá-lo.

E se o atacante modificou o site em trânsito para você e assinou sua própria chave falsa com o nome dela, e você a colocou no seu chaveiro? Então você vai validar e descriptografar o arquivo adulterado assumindo que é válido.

Suponho que estou falando de adulteração do MITM em todo o tráfego da Web, ou algo semelhante. Não tenho certeza de como a "assinatura" pode proteger contra a chave e os dados se eles foram falsificados em trânsito.

    
por Ken R. 01.08.2011 / 18:27

3 respostas

9

O cenário que você descreve exige falhas multipe na Web of Trust:

  1. O invasor teria que comprometer o servidor de chaves e colocar uma cópia falsa de sua chave pública lá.
    Presumivelmente, se você é paranóico o bastante para usar o PGP, você teria outras pessoas assinando sua chave, então o invasor teria que fazer com que essas pessoas assinassem a chave falsa (ou contaminassem um chaveiro inteiro).

  2. Outros usuários teriam que aceitar a chave pública comprometida para uso | Os verdadeiramente paranóicos só pegam as chaves fisicamente de seus donos. O paranoico normal (como eu) só insiste nisso quando assina uma chave.

  3. O invasor teria que comprometer o fluxo de dados (descriptografá-lo - a parte fácil, pois é criptografado com a chave comprometida), modificá-lo, criptografá-lo novamente e assiná-lo com a chave privada do remetente

    Presumivelmente, se você é paranoico o suficiente para usar o PGP, insista para que receba tudo assinado.
    As assinaturas são feitas com a chave privada do remetente, portanto, o invasor comprometeu a chave do remetente ou fez com que você aceitasse uma versão comprometida de sua chave pública, que será usada para verificar a assinatura falsa.

Existe um livro maravilhoso sobre este assunto - Criptografia Aplicada - que explica mais sobre os tipos de compromissos exigidos para este sistema quebrar.

    
por 01.08.2011 / 18:52
5

De um modo geral, você precisa validar as chaves antes de confiar nelas.

No caso que você delineou, isso significaria apenas confiar na chave se ela for fornecida por meio de um canal seguro (SSL validado, por exemplo) ou de alguma outra forma em que você confia (o hash de impressão digital é comunicado por meio de um diferentes meios para validação, por exemplo).

    
por 01.08.2011 / 18:37
1

Em geral, para o PGP, é por isso que há reuniões importantes para a assinatura, para que você possa ver a impressão digital pessoalmente, verificar o ID da outra pessoa e depois obter a própria chave pública on-line.

    
por 01.08.2011 / 21:39