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 для вычисления репутации отправителя (см.
![](/e4a/web.gif)
![](/e4a/file.gif)
Так выглядит подтверждение подлинности домена отправителя в YahooMail (подпись письма производилась в Eserv/3) :
![yahoo ydk](http://www.eserv.ru/img/yahoo_ydk.png)
А так выглядит подпись в заголовке письма (первые три строки добавлены 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:![](/e4a/web.gif)
![](/e4a/web.gif)
![](/e4a/smiles/icon_smile.gif)
В общем, я затрудняюсь в однозначной оценке 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/
![](/e4a/web.gif)
AndreyCherezov /25.05.2004 23:16/ Первая версия YdkPlugin для Eserv/3
AndreyCherezov /26.05.2004 13:28/
![](/e4a/web.gif)
AndreyCherezov /26.05.2004 23:08/ Первым внешним адресатом среди YDK-подписанных писем, попавших на наш Eserv, оказался сам Mark Delany (разработчик спецификации YDK). Проверили с ним YDK в обе стороны. Работает! Так что рекомендую, проверено
![](/e4a/smiles/icon_smile.gif)
![](/e4a/web.gif)
AndreyCherezov /07.06.2004 09:20/ Еще один сервер, поддерживающий YDK:
![](/e4a/web.gif)
AndreyCherezov /27.09.2004 17:58/
![](/e4a/web.gif)
AndreyCherezov /09.07.2005 05:14/ 1 июня Yahoo и Cisco договорились об объединении спецификаций DK и IIM в одну общую DKIM. Возможность этого обсуждалась разработчиками почти год. IIM (Cisco’s Internet Identified Mail) почти не имеет технических преимуществ перед YDK и при этом сложнее в реализации. Скорее всего объединение имеет маркетинговые цели — "рекламный вяк" в противовес microsoft'овской возне с SenderID. Косвенно это подтверждается снятием с сайта Yahoo (задним числом)
![](/e4a/web.gif)
3 марта 2004
Yahoo предлагает использовать цифровые сертификаты для подтверждения домена отправителя в SMTP-сессиях. Сертификаты эти (открытые ключи) предполагается хранить в DNS заданного домена (также SenderPolicyFramework и MS CallerID предлагают использовать DNS для хранения списка авторизованных IP), а закрытый ключ добавлять в заголовок письма. Получатель может сопоставить ключи и удостоверится в происхождении письма. По-моему, в заголовок все-таки нужно вставлять не закрытый ключ, а цифровую подпись, сделанную закрытым ключем
![](/e4a/smiles/icon_wink.gif)
Описание YDK было опубликовано в декабре на
![](/e4a/web.gif)
![](/e4a/web.gif)
![](/e4a/web.gif)
В принципе идея мало отличается от моего предложения повсеместного использования цифровой подписи (см. комментарий к HashCash). Главное отличие — в YDK предполагается использование не персональных пользовательских ключей, а по-доменных. И YDK предлагает использовать инфраструктуру DNS вместо традиционных для криптографии PKI. Видимо для того, чтобы не привязываться к платным сертификатам и владельцам PKI/CA. Или просто для уменьшения нагрузки на серверы, проверяющие подписи.
См. также HashCash, SenderPolicyFramework, CallerID, AntiSpamNews.
2005
![](/e4a/web.gif)
![](/e4a/web.gif)
![](/e4a/web.gif)