eserv.ru // YahooDomainKeys

wikipost /2006-09-15 17:53/ (v2)
Продукты и услуги Скачать Документация Купить Поддержка Форумы Партнёрам Статьи О компании
News
15.05.2012
Eserv504
15.05.2012
ActiveSync
01.04.2012
Eproxy508
25.03.2012
Eserv503
26.02.2012
Eserv502
08.02.2012
UMI.CMS
22.12.2011
Eserv431
20.12.2011
Eproxy507
15.11.2011
Eproxy506
19.09.2011
Eproxy505
08.09.2011
Eserv430
07.09.2011
Lightning
19.07.2011
PoweredBy
16.07.2011
IPv6
08.07.2011
Eproxy5beta1
17.06.2011
IPv6DNS
13.06.2011
IPv6Mail
21.03.2011
Eserv428
22.10.2010
Eserv426
22.10.2010
SSL
22.04.2010
Eserv423
20.04.2010
Eserv4WhatsNew
19.04.2010
EservLDAP
19.04.2010
EservDHCP
19.04.2010
EservRubricator
08.04.2010
EservDNS
08.04.2010
NSСI
08.04.2010
WPAD
27.03.2010
Eserv422
27.03.2010
Eserv4Docs
26.03.2010
Eserv4FAQ
21.03.2010
EservIrc
05.03.2010
Eserv421
05.03.2010
HttpProxy
02.03.2010
EservVideo
02.12.2009
Eserv4Wiki
02.12.2009
Eserv4acWEB
02.12.2009
PopPull
22.11.2009
PigMailPigProxy2/WhatsNew
22.11.2009
PigMail/WhatsNew
23.09.2009
FossilEservHowTo
22.09.2009
SourceCodeManagement
22.09.2009
FossilScm
16.09.2009
SendEmail
08.09.2009
RoundCube
07.05.2009
GitScm
07.05.2009
GitEservHowTo
06.05.2009
SunBird

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) :
yahoo ydk


А так выглядит подпись в заголовке письма (первые три строки добавлены 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:
http://www.ietf.org/internet-drafts/draft-delany-domainkeys-base-00.txt
Письма подписываются 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 (наш http://www.eserv.ru/ru/ca/ или ваш собственный В действительности YDK удобнее чем X.509 тем, что DNS удобнее и общедоступнее, чем CA — получить доменный открытый ключ из DNS и проверить подпись на почтовом сервере проще, чем проверять X.509-подписи на почтовых клиентах. Но YDK требует изменений и на сервере и на клиенте, а X.509 уже работает...

В общем, я затрудняюсь в однозначной оценке 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/ http://antispam.yahoo.com/domainkeys — в FAQ ответы на некоторые из моих "риторических" вопросов. YDK позиционируется как дополнение к X.509.
AndreyCherezov /25.05.2004 23:16/ Первая версия YdkPlugin для Eserv/3
AndreyCherezov /26.05.2004 13:28/ Дискуссия о пользе/бесполезности YDK.
AndreyCherezov /26.05.2004 23:08/ Первым внешним адресатом среди YDK-подписанных писем, попавших на наш Eserv, оказался сам Mark Delany (разработчик спецификации YDK). Проверили с ним YDK в обе стороны. Работает! Так что рекомендую, проверено YDK-ключи для вашего домена на Eserv/acSMTP можно сделать прямо сейчас на нашем сервере: http://www.eserv.ru/ru/ca/ydk.php
AndreyCherezov /07.06.2004 09:20/ Еще один сервер, поддерживающий YDK: http://www.port25.com/corporate/corp_news_ydk.html
AndreyCherezov /27.09.2004 17:58/ http://domainkeys.sourceforge.net/ — на сайте поддержки реализации YDK опубликована лицензия использования YDK.
AndreyCherezov /09.07.2005 05:14/ 1 июня Yahoo и Cisco договорились об объединении спецификаций DK и IIM в одну общую DKIM. Возможность этого обсуждалась разработчиками почти год. IIM (Cisco’s Internet Identified Mail) почти не имеет технических преимуществ перед YDK и при этом сложнее в реализации. Скорее всего объединение имеет маркетинговые цели — "рекламный вяк" в противовес microsoft'овской возне с SenderID. Косвенно это подтверждается снятием с сайта Yahoo (задним числом) исходной новости о DKIM.

3 марта 2004
Yahoo предлагает использовать цифровые сертификаты для подтверждения домена отправителя в SMTP-сессиях. Сертификаты эти (открытые ключи) предполагается хранить в DNS заданного домена (также SenderPolicyFramework и MS CallerID предлагают использовать DNS для хранения списка авторизованных IP), а закрытый ключ добавлять в заголовок письма. Получатель может сопоставить ключи и удостоверится в происхождении письма. По-моему, в заголовок все-таки нужно вставлять не закрытый ключ, а цифровую подпись, сделанную закрытым ключем Но в исходном тексте было сказано именно о ключах ("a system sending an e-mail message would embed a secure, private key in a message header. The receiving system would check the Internet's domain Name System for the public key registered to the sending domain."). Очевидно имел место, как часто бывает, пересказ реальной технологиии мало понимающим суть вопроса менеджером.

Описание YDK было опубликовано в декабре на http://biz.yahoo.com/rc/031205/tech_yahoo_1.html, но сейчас недоступно. Спецификация вообще не была опубликована, Yahoo обещает сделать это в 2004 году и предоставить открытую реализацию.

http://www.eweek.com/article2/0,1759,1430976,00.asp
http://blog.lextext.com/blog/_archives/2003/12/9/8576.html#2521

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

См. также HashCash, SenderPolicyFramework, CallerID, AntiSpamNews.

2005
http://jeremy.kister.net/howto/dk.html
http://www.ietf.org/internet-drafts/draft-delany-domainkeys-base-02.txt
http://domainkeys.sourceforge.net/dist.html

Работает на Eserv/7.0.beta1/Linux/arm64 (Dec 25 2023)