OpenPGP предназначен для подписи определенного сообщения. При использовании с OpenPGP/MIME он аутентифицирует тело сообщения и предотвращает его изменение. Если все сделано правильно, это включает в себя все тело, включая все части, такие как навесное оборудование. Можно прикрепить дополнительные части постфактум, и некоторые среды, такие как списки рассылки, делают это, и в этом случае эти части не аутентифицируются. Цифровая подпись в этом случае обычно (но не обязательно) делается автором сообщения.
DKIM подписывает все тело, а также набор заголовков, указанных в сообщении. Обычно это включает в себя От
заголовок и другие данные, но включаются не все заголовки. Подпись в этом случае обычно делается почтовым сервером для исходного домена этого сообщения. Это связано с тем, что ключ должен находиться в DNS, а этим обычно занимаются только владельцы домена.
В обоих случаях можно изменить сообщение, если получить к нему доступ. Например, если электронное письмо отправлено в список рассылки, программное обеспечение списка рассылки может изменить его. Часто это делается для добавления трейлера к сообщению. В таком случае для OpenPGP, если трейлер будет добавлен к телу как отдельная часть, подпись не будет охватывать эти данные, но подпись все равно будет проверять подписанные данные. Для DKIM любое изменение тела неизбежно приведет к тому, что подпись не пройдет проверку.
Другие случаи, в которых может произойти модификация, включают в себя системного администратора одной из систем, обрабатывающих данные, или злоумышленника на сетевом пути, если соединение, используемое для отправки почты, не защищено с помощью TLS. (Строго говоря, можно было бы изменить данные даже с TLS, но поскольку соответствующий участник прервет протокол, транзакция SMTP не будет завершена.)
Ни в одном из этих случаев модификация не предотвращается, но ее можно обнаружить. Как правило, когда кто-то получает данные с недопустимой подписью, он считает данные ненадежными и, по крайней мере, не предпринимает никаких действий с ними. Можно дополнительно отказаться от данных и, в некоторых случаях, уведомить другую сторону по защищенному каналу о подделке.
На практике большинство сторон, зная, что сообщение аутентифицировано либо с помощью цифровой подписи, либо с помощью MAC-адреса (например, в TLS), не будут пытаться активно пытаться подделать данные, если только их намерение не состоит в том, чтобы предотвратить связь. (скажем, со стороны правительства), поскольку другим сразу же становится очевидным, что фальсификация имела место. Большинство случаев модификации происходит потому, что кто-то не учёл, что сообщение может быть аутентифицировано (и, следовательно, не учёл, будут ли обнаружены модификации), например, в нашем примере со списком рассылки, или из-за какого-то несчастного случая (проблема с сетью, программное обеспечение и др.).