Как работает подпись DKIM
Отправляющая система формирует заголовок DKIM-Signature. В нем есть домен подписанта (параметр d=), селектор ключа (s=), выбранные заголовки и хеш тела письма. Отправитель подписывает данные закрытым ключом. Получатель использует d= и s=, чтобы найти публичный ключ в DNS и проверить подпись.
Селектор позволяет домену публиковать несколько ключей и менять их поэтапно. По RFC 6376 ключ выбирается по имени, составленному из селектора и домена _domainkey; сам DNS-запрос и формат записи зависят от конкретной реализации и актуальных правил ключей.
Проверка зависит от сохранности подписанных частей. Если почтовый посредник меняет тело письма или подписанный заголовок так, что результат перестает соответствовать канонизации и хешу, подпись может не пройти проверку. Это не всегда означает подделку: иногда причина - легитимная модификация письма на маршруте.
Что подпись подтверждает - и чего не подтверждает
DKIM связывает сообщение с доменом, владелец которого контролирует ключ и DNS-запись. RFC формулирует это как утверждение ответственности подписывающего домена. Подпись не доказывает, что видимое имя отправителя принадлежит конкретному человеку, и не скрывает содержимое письма от посредников.
Получатель может проверить DKIM независимо от DMARC. DMARC дополнительно сравнивает (aligns) домен подписи с доменом в поле From и учитывает SPF; поэтому валидная DKIM-подпись от постороннего домена сама по себе не дает DMARC pass.
Ключи и совместимость
При смене ключа новый селектор помогает разделить публикацию и вывод старого ключа из обращения. RFC 8301 обновил правила криптографических алгоритмов для DKIM, а RFC 8463 добавил метод Ed25519-SHA256. Не копируйте старые примеры с фиксированным алгоритмом без сверки текущей документации почтовой платформы.
Связанные механизмы разобраны отдельно: DMARC, SPF и DNS. Использованы RFC 6376, 8301 и 8463; домены, DNS-ключи и письма не проверялись.

Вывод относится к сценарию этой страницы и не заменяет проверку конкретного тарифа.