Могу ли я просто изменить ключ RSA, используемый в DKIM (DNS TXT Record), не меняя селектор DKIM, или это приведет к каким-либо проблемам?
Если нет, то для чего нужен селектор DKIM?
Кстати: 20120113
это селектор, о котором я говорю 20120113._domainkey.gmail.com
Как вы можете прочитать Вот ".... К имени домена добавлен селектор, используемый для поиска информации об открытом ключе DKIM ...".
Также в Википедия условия: "... Принимающий SMTP-сервер использует доменное имя и селектор для выполнения поиска в DNS [...] селектор - это простой метод, позволяющий подписывающим сторонам добавлять и удалять ключи, когда они пожелают ..."
Другими словами, если вы отправляете электронное письмо, подписанное DKIM, вы должны сообщить внешним почтовым серверам КАК они могут получить ваш ключ RSA для проверки действительности вашей электронной почты. RSA-ключ опубликован в вашем DNS, хорошо, но ГДЕ? Какой DNS-запрос его получит? Как они узнают, какой DNS-запрос / запись разрешает? Здесь селектор играет свою роль: если вы отправляете почту с example.com
домен и в своей почте вы указываете whatever
в качестве селектора тогда:
DKIM-подпись [...] d = example.com; [...] s = что угодно
TXT
запись для whatever._domainkey.example.com
публикация вашего ключа RSA, например:any._domainkey.example.com IN TXT "k = rsa \; t = s \; p = MIGfMA [...] AQAB"
Как видите, DNS-запрос имеет вид <selector> ._domainkey. <your_domain>
Исходя из этого, можно сказать, что:
RSA-ключ можно заменить / обновить без какого-либо воздействия на селектор. Очевидно, очень важно, чтобы при обновлении одной стороны ключа (общедоступной, опубликованной в DNS) вы меняли и другую сторону (ту, которая использовалась для «подписи» исходящей почты);
если вы оставите селектор без изменений при обновлении ключа RSA, побочным эффектом будет .... удаленные клиенты (не серверы; я говорю о MUA), которые по каким-либо причинам хотят проверить DKIM-подпись, включенную в их старые / заархивированные электронные письма, потерпят неудачу в процессе проверки (поскольку заархивированное электронное письмо было подписано закрытым ключом, открытый ключ которого, опубликованный на DNS, обновился и теперь другой!).
Хочу добавить, что по моему опыту я привык думать, что DKIM-подпись / проверка - это процесс, нацеленный на транспорт электронной почты, а не на клиентскую сторону проверки. Так что я готов поспорить, что обновлять KEYs, не трогая селектор, вполне безопасно.
Я также думаю, что .... если вы собираетесь обновить КЛЮЧИ, вы должны изменить как свой код подписи (который должен указывать на новый закрытый ключ), так и DNS (чтобы опубликовать новый общедоступный ключ). -ключ в записи TXT). Так почему бы не изменить также селектор (опять же, с обеих сторон?). Вы в конечном итоге получите ДВА селекторы, опубликованные в DNS: один указывает на старый ключ, а другой - на новый. Таким образом, во время SMTP-транспорта все будет в порядке, а также MUA смогут проверять старые / заархивированные электронные письма, поскольку старый ключ, связанный со старым селектором, все еще доступен.
Да ты жестяная банка, но без уважительной причины Я бы настоятельно не советовал этого делать.
Вот некоторые причины, по которым повторное использование селектора не является хорошей идеей:
«Для поддержки нескольких одновременных открытых ключей для каждого домена подписи». Вот несколько вариантов использования параллельных ключей:
Все цитаты взяты из RFC 6376.
Вы жестяная банка сделай это. Однако это не обязательно BCP.
Причина наличия нескольких селекторов заключается в том, чтобы ключ мог оставаться действительным в течение определенного периода времени после вращения.
Например, если вы измените ключ RSA, используемый в селекторе 20120113, то любое сообщение, которое все еще было где-то в очереди и было доставлено позже, не сможет выполнить DKIM, потому что ключ изменился.
В идеале вы должны опубликовать новый ключ 20160106, если вы сделали это сегодня, и добавить его в качестве дополнительного селектора. Таким образом, сообщения, использующие оба ключа, могут быть проверены. По истечении разумного периода времени, скажем, двух недель, вы можете удалить старый ключ.
(Я предполагаю, что вы действительно не имеете в виду ключ 20120113._domainkey.gmail.com буквально? Если вы действительно говорите о ключе Gmail, остановитесь и поговорите с John RG внутри себя, прежде чем что-либо менять.)