O cenário que você descreve exige falhas multipe na Web of Trust:
-
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). -
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.
-
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.