Yahoo Domain Keys (YDK)
Доменные ключи — это способ предотвращения подделки адресов отправителей в электронной почте. Т.е. для борьбы с фишингом в частности. Это похоже на обычную цифровую подпись S/MIME, но использует намного более простой (чем PKI) способ распространения открытых ключей: они помещаются в текстовые DNS-записи специального формата. И подписывается не только тело письма, но и его заголовки. Т.е. этот способ и проще, и вцелом надежнее, чем S/MIME. Причем не требует никаких изменений и настроек в почтовых программах пользователей — подписывать исходящую почту может сам почтовый сервер (для этого разработаны специальные расширения, устанавливаемые на сервере, см. YdkPlugin).Доменные ключи обладают важным преимуществом перед SenderPolicyFramework — пересыльщики почты не обязаны поддерживать SRS — валидность подписи не нарушается сменой IP, а может быть нарушена только искажением заголовков или тела письма, чего обычные форвардеры не делают.
AndreyCherezov /15.09.2006 11:53/ За два с лишним года DK достаточно хорошо прижился в почтовой инфраструктуре. Наиболее крупными пользователями технологии являются Google, Yahoo, Earthlink и Ebay — по данным Yahoo, только на YahooMail ежедневно подписываются более 300 млн. сообщений. Google использует YDK для вычисления репутации отправителя (см.


Так выглядит подтверждение подлинности домена отправителя в YahooMail (подпись письма производилась в Eserv/3) :

А так выглядит подпись в заголовке письма (первые три строки добавлены Eserv'ом при получении письма и проверке DK и SPF):
DomainKey-Status: good
Received: from [66.163.179.174] (helo=web35805.mail.mud.yahoo.com)
by eserv.ru (acSMTP/3.0.4347) with SMTP id 92713
for <andrey@cherezov.koenig.su>; Fri, 15 Sep 2006 12:59:06 +0400
Received-SPF: none
Received: (qmail 86534 invoked by uid 60001); 15 Sep 2006 08:56:57 -0000
~DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws;
s=s1024; d=yahoo.com;
h=Message-ID:Received:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type;
b=nRNlhmBafDV3TOSiJCmZBvwHcT3ECLO1pEEuEXaB4SNohMxWX0zhHSAR76lOvc HV2AN0MPUa8NGKP5Ls0aF16uHSFzzN6JVJuupbZm3WjX+kqbqW4YOR7Wqru0ABXn XSgQMsnEr4VbXNv+FvkvU9EbxZGX8MM9JA0bTEv2rSfmY= ;
Message-ID: <20060915085657.86532.qmail@web35805.mail.mud.yahoo.com>
Received: from [195.135.213.3] by web35805.mail.mud.yahoo.com via HTTP; Fri, 15 Sep 2006 01:56:57 PDT
...
История DomainKeys
20 мая 2004 Yahoo, наконец, представили спецификацию YDK:
Письма подписываются 384-битным ключем — традиционный метод RSA-подписи для SHA1-дайджеста, разве что длина ключа меньше традиционной из-за ограничений DNS. Подпись вставляется в заголовок письма — "DomainKey-Signature:" (а не в S/MIME-секцию, как в обычной X.509 ЦП для писем; хотя предложен заголовок и для X.509 — "DomainKey-X509:"). Открытый ключ домена публикуется в DNS в TXT-записи субдомена _domainkey. Метод позволяет проверить, что письмо было действительно отправленно с указанного в From домена. Никаких привязок к IP отправителя не производится — этим YDK превосходит методы SenderPolicyFramework и CallerID. Но это и его недостаток: письмо с YDK-подписью придётся принимать полностью, а SenderPolicyFramework (SPF) позволяет отвергать письмо еще до его приема — на стадии MAIL FROM. Вцелом YDK кажется мне более прогрессивным решением, чем SPF. Хотя тех же целей можно было достичь повсеместным внедрением X.509 S/MIME-подписей, т.к. вся инфраструктура для этого готова. В спецификации YDK несколько раз подчеркивается, что YDK в отличие от X.509 не требует вовлечения CA, поэтому бесплатно. Но есть ведь и бесплатные CA (наш


В общем, я затрудняюсь в однозначной оценке YDK vs X.509. Ясно лишь, что это удобнее, чем SPF, но при этом сложнее в реализации. Жизнь покажет, кто из них боеспособнее. [Замечание от 31.01.2006: за 2 года использования YDK стало ясно, что популярность YDK не дотягивает до SPF. Но полноценная поддержка YDK в таких популярных веб-почтах как YahooMail и GoogleMail (см. скриншоты на стр. YdkPlugin) — это тоже не мало: один только Yahoo обрабатывает 300 млн.сообщений в день (и Yahoo и Gmail подписывают всю исходящую почту, и проверяют подписи на всей входящей). В России благами YDK по-прежнему пользуются только пользователи Eserv/3.]
AndreyCherezov /24.05.2004 20:49/

AndreyCherezov /25.05.2004 23:16/ Первая версия YdkPlugin для Eserv/3
AndreyCherezov /26.05.2004 13:28/

AndreyCherezov /26.05.2004 23:08/ Первым внешним адресатом среди YDK-подписанных писем, попавших на наш Eserv, оказался сам Mark Delany (разработчик спецификации YDK). Проверили с ним YDK в обе стороны. Работает! Так что рекомендую, проверено


AndreyCherezov /07.06.2004 09:20/ Еще один сервер, поддерживающий YDK:

AndreyCherezov /27.09.2004 17:58/

AndreyCherezov /09.07.2005 05:14/ 1 июня Yahoo и Cisco договорились об объединении спецификаций DK и IIM в одну общую DKIM. Возможность этого обсуждалась разработчиками почти год. IIM (Cisco’s Internet Identified Mail) почти не имеет технических преимуществ перед YDK и при этом сложнее в реализации. Скорее всего объединение имеет маркетинговые цели — "рекламный вяк" в противовес microsoft'овской возне с SenderID. Косвенно это подтверждается снятием с сайта Yahoo (задним числом)

3 марта 2004
Yahoo предлагает использовать цифровые сертификаты для подтверждения домена отправителя в SMTP-сессиях. Сертификаты эти (открытые ключи) предполагается хранить в DNS заданного домена (также SenderPolicyFramework и MS CallerID предлагают использовать DNS для хранения списка авторизованных IP), а закрытый ключ добавлять в заголовок письма. Получатель может сопоставить ключи и удостоверится в происхождении письма. По-моему, в заголовок все-таки нужно вставлять не закрытый ключ, а цифровую подпись, сделанную закрытым ключем

Описание YDK было опубликовано в декабре на



В принципе идея мало отличается от моего предложения повсеместного использования цифровой подписи (см. комментарий к HashCash). Главное отличие — в YDK предполагается использование не персональных пользовательских ключей, а по-доменных. И YDK предлагает использовать инфраструктуру DNS вместо традиционных для криптографии PKI. Видимо для того, чтобы не привязываться к платным сертификатам и владельцам PKI/CA. Или просто для уменьшения нагрузки на серверы, проверяющие подписи.
См. также HashCash, SenderPolicyFramework, CallerID, AntiSpamNews.
2005


