техническое · ответ с источниками
Что такое DKIM (DomainKeys Identified Mail)
DKIM — метод аутентификации почты, позволяющий отправителю криптографически подписать заголовок письма. Подпись доказывает, что письмо отправлено с разрешения владельца домена и что содержимое сообщения не было изменено при передаче. Принимающие серверы проверяют подпись с помощью открытого ключа, опубликованного в DNS-записях отправителя.
Как устроен процесс
DKIM работает на основе инфраструктуры открытых ключей. Отправляющий сервер с помощью закрытого ключа создаёт цифровую подпись определённых заголовков и тела сообщения. Подпись добавляется к письму в виде заголовка DKIM-Signature. Принимающий почтовый сервер извлекает из этого заголовка домен и селектор, получает соответствующий открытый ключ из DNS-записи и расшифровывает подпись, чтобы проверить хеш содержимого сообщения.
Почему это важно для отправителей
DKIM даёт уровень доверия, который SPF сам по себе обеспечить не может, потому что подпись сохраняется при пересылке писем. SPF проверяет IP-адрес отправки, а DKIM — само сообщение. Это защищает от подделки (спуфинга) и снижает вероятность того, что крупные провайдеры пометят сообщения как спам. DKIM — обязательное условие для внедрения DMARC и BIMI, которые опираются на выравнивание DKIM при проверке личности отправителя.
Заметки и типичные ошибки
Типичные сбои возникают, когда закрытый ключ меняют, не обновив открытый ключ в DNS, или когда почтовый релей изменяет тело или заголовки сообщения после подписания, что нарушает криптографический хеш. Для управления несколькими ключами для разных сервисов отправителям следует использовать селекторы. Проверить текущую конфигурацию DNS можно с помощью бесплатных инструментов SendHQ (https://sendhq.cc/tools).
Конкретный пример
Отправитель настраивает селектор с именем google. DNS-запись по адресу selector._domainkey.example.com содержит открытый ключ. При отправке письма заголовок DKIM-Signature указывает s=google и d=example.com. Получатель ищет TXT-запись по этому DNS-пути, чтобы найти ключ, необходимый для проверки подписи.
DKIM и выравнивание DMARC
Чтобы проверка DMARC прошла, домен в DKIM-подписи должен совпадать с доменом в заголовке From. Это называется выравниванием DKIM. Если подпись действительна, но домен не совпадает с адресом From, проверка DKIM проходит, а проверка DMARC — нет, что в зависимости от заданной политики может привести к проблемам с доставкой.
Что спрашивают команды
Шифрует ли DKIM тело письма?
Нет, DKIM не шифрует содержимое для конфиденциальности. Он создаёт криптографический хеш для контроля целостности и подлинности: получатель может проверить отправителя, но сообщение остаётся читаемым.
Что происходит, если DKIM-подпись недействительна?
Письмо с недействительной подписью может быть помечено как спам или полностью отклонено, поскольку это указывает на то, что сообщение было изменено или отправитель не авторизован.
Можно ли использовать несколько DKIM-ключей?
Да, с помощью разных селекторов можно использовать несколько DKIM-ключей для разных сервисов отправки или менять ключи, не прерывая поток почты.