gpg - A verificação do MDC é redundante se o arquivo for assinado?

4

Eu entendo que o gpg 1.4.9 calcula um código MDC por padrão. Segundo minha pesquisa, isso corresponde a Sym. Pacote de Dados Protegidos por Criptografia e Integridade (tag 18) na especificação do PGP. Se o arquivo for assinado, isso também não fornece proteção de modificação (além de fornecer uma prova da identidade do remetente)?

Acho que esse pode ser o caso porque escrevi código usando a API BouncyCastle e notei que, quando se verifica um arquivo assinado, uma assinatura é calculada a partir do fluxo de dados criptografados e comparada com a registrada no arquivo.

Estou tentando entender se há alguma redundância aqui ou se esses dois mecanismos servem a propósitos diferentes.

    
por Shane Mcpherson 22.12.2011 / 06:36

1 resposta

2

Sim, todas as versões de assinaturas GPG fornecem proteção de modificação. Quando você assina um documento, ele cria um hash do documento (qual algoritmo ele usa depende das preferências que você definiu). O hash é então codificado usando sua chave privada. Qualquer um pode usar sua chave pública para decodificar o hash, assegurando que você é quem enviou a mensagem. Além disso, eles sabem que a mensagem não foi alterada no momento em que você a assinou.

Além disso, ao criptografar um documento, seja você assiná-lo ou não, um hash do MDC é criado. Isso é para fornecer proteção de modificação caso o documento não seja assinado. O RFC 4880 explica por que isso pode ser útil:

The obvious way to protect or authenticate an encrypted block is to digitally sign it. However, many people do not wish to habitually sign data, for a large number of reasons beyond the scope of this document. Suffice it to say that many people consider properties such as deniability to be as valuable as integrity.

Parece que, se você criptografar e assinar uma mensagem, terá redundância, embora a assinatura forneça mais informações, assegurando a identidade do remetente além da integridade da mensagem.

    
por 15.01.2012 / 16:32

Tags