LINUX.ORG.RU
ФорумTalks

[танцпол] Поясните про подписывание email при помощи DKIM

 


0

1

Преамбула - думаю, вы в курсе, что недавно взломали электронные ящики верхушки нашистов, из-за чего теперь время от времени лежат то жж, то рутрекер, а аиб лежат постоянно. Среди прочего, там были обнаружены волшебные финансовые отчёты, где поимённо перечислены журнашлюшки с прайсами.

Так вот, из этих писем часть проходит проверку по DKIM, часть - нет. И шлюшки поэтому пытаются съехать с темы и сказать «видите, это подделки. Значит всё - провокация. Значит, всё это - враньё.» Поэтому вопрос - поясните, пожалуйста, о чём вообще можно судить по DKIM и почему?

таки ящики на почтовом сервере или ящики в почтовой программе?

exception13 ★★★★★
()
Ответ на: комментарий от daris

Не за что, теперь про DKIM интересно было бы что-нибудь послушать, по википедии (ru, en) так и не понял, что означает непрохождение соответствующей проверки.

prischeyadro ★★★☆☆
() автор топика

Вроде основной аргумент по непрохождению dkim - письма с аттачами не проходят. Можно руками подправить, и будут проходить

Orlangoor ★★★★★
()

Если часть мессаг не проходит DKIM-валидацию, то возможно уже устарела подпись: ключ исходящего smtp-сервера был поменян.

shahid ★★★★★
()

Ооо, тоже после этой темы стал интересен DKIM. Немного погуглил, но так и не нашёл где объясняется как это работает «на пальцах». Буду благодарен за ссылку «DKIM для школьников».

AlexKiriukha ★★★★
()
Ответ на: комментарий от AlexKiriukha

очень обощенно:

У Пети есть свой почтовый сервер. Например postfix или exim. Очевидно, сервер работает по старому доброму протоколу SMTP, который почти ничего не гарантирует кроме доставки. А есть Вася. У него тоже есть почтовый сервер. И Вася хочет принимать почту с других серверов в интернете, в том числе принимать почту с петиного сервера. Но Вася не хочет принимать спам под видом писем от пети. И вот проблема: SMTP в поле FROM может иметь всё что угодно и нет гарантии, что письмо от @petya.com пришло с сервера Пети.

И тут как бы появляется асимметричная криптография. Петя генерит пару rsa-ключей. Один ключ (публичный) он зашивает в DNS по адресу ..._domainkey.petya.com, а второй ключ (секретный) скармливает smtp-серверу. После этого smtp-сервер Пети начинает добавлять в заголовок исходящих свою электронную подпись, которая сделана секретным ключом, и которую можно проверить с помощью публичного ключа. Электронная подпись - это функция от значений заголовков письма и тела сообщения. Т.е. строка символов и некоторые метаданные.

Когда Вася получает почту с @petya.com, то его smtp-сервер делает dig TXT _domainkey.petya.com и получает ключ пети. Далее, васин сервер проверяет ЭЦП письма с помощью полученного ключа и убеждается, что письмо пришло именно с сервера пети, а не с левого ботнета.

shahid ★★★★★
()

я так из контекста понимаю что DKIM - обычная технология электронной подписи.

то есть сервер имеет приватный ключ, которого никто не знает. и публичный ключи, который лежит где-то в доступном месте. сервер подписывает письмо своим приватным ключом (шифрует контент письма и прикрепляет к самому письму). при расшифровке с помощью открытого ключа сервера должно получаться точное оригинальное сообщение. Теоретически, за разумное (сравнимое с существованием вселенной время) невозможно подобрать такой (тем более осмысленный) контент чтобы при расшифровке ключом сервера получалось читаемое осмысленное сообщение со смыслом необходимым взломщику, т.е. способ надёжен если надёжно спрятан приватный ключ сервера. Теоретически - это всё.

на практике, когда почту всеблагого олексея взломали, я узнал что письма с аттачами зачастую могут не проходит валидацию. но наверное достаточно убрать аттач. и пару пробельных символов. (надо погуглить) и если письмо после этого пройдёт валидацию - то отвертеться нельзя.

так же если проходит валидацию письмо с цитатами из предыдущего письма, это будет подтвержением того что цитаты настоящие (т.е. автор их отправлял и отвечал именно на них).

вроде как всё.

AndreyKl ★★★★★
()
Ответ на: комментарий от AndreyKl

BTW, а подтвердили ли при помощи DKIM подлинность хотя бы каких-то из писем, про которые Навальный сказал, что это фальшивка?

prischeyadro ★★★☆☆
() автор топика
Ответ на: комментарий от prischeyadro

на сколько я помню, да, письма с разговорами про деньги с представителями кремля проходили проверку. но ручаться не буду, давно было. я следил за темой, но потом бросил.

AndreyKl ★★★★★
()
Ответ на: комментарий от AndreyKl

сервер подписывает письмо своим приватным ключом (шифрует контент письма и прикрепляет к самому письму)

Контент или заголовки?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

согласно вики http://en.wikipedia.org/wiki/DomainKeys_Identified_Mail

A DKIM signature can cover other fields of a message's header, such as the From: and Subject: fields, and the message body (or its initial part).

То есть не факт. но вроде как валидация писем навального ломалась от перестановки символов. но зуб не дам, надо поднимать записи, а тот блог, который я читал по этому поводу, уже не существует. так что что запомнил, то и говорю. всё это нужно проверять, если относиться серьёзно.

AndreyKl ★★★★★
()
Ответ на: комментарий от AndreyKl

у меня настроен домен с dkim, MTA тоже. Проверил - не шифрует, хотя были сомнения из-за утверждений, что он что-то шифрует. Как я понимаю это просто валидация. Также изменял предыдущее сообщение (в истории переписки), валидация прошла.

uspen ★★★★★
()
Ответ на: комментарий от uspen

однако вики говорит что должно, и, насколько я помню, всё сходилось. но возможно что либо я что-то не так помню, либо возможно у тебя так настроен mta что он берёт только часть контента или не берёт контент совсем, а там на гугле (яхе или где там у него почта) ситуация была другая.

AndreyKl ★★★★★
()
Ответ на: комментарий от AndreyKl

http://www.dkim.org/specs/rfc5585.html#rfc.section.1

здесь хорошо написано. Должен много, может мы неправильно его готовим.

да глянул по exim4:

bodyhash_mismatch (when $dkim_verify_status=«fail»): The calculated body hash does not match the one specified in the signature header. This means that the message body was modified in transit.

но это изменения при транзите.

Про шифрование ничего не сказано. Может имеется ввиду под этим вычисление хэша, а не шифрование.

Вообще, первый раз прочитав про dkim, я понял что он хеширует при отправке и проверяет хеш при получении + проверка домена. вот и все.

uspen ★★★★★
()
Ответ на: комментарий от uspen

ну ты видимо не совсем представляешь технологию электронной подписи. но да, если говорить «простым» языком, то это больше всего похоже на хеш с виду. но это не хеш. это именно зашифрованное сообщение. и расшифровать его можно с помощью публичного ключа. и должно получиться оригинальное сообщение в итоге. это и есть проверка (сверка получившегося при расшифровке публичным ключом с оригинальным контеном в письме).

AndreyKl ★★★★★
()
Ответ на: комментарий от uspen

Да, по твоей ссылке на dkim.org действительно не видно слово шифрование. но там есть ясно сказано «digital signature». А технология цифровой подписи предполагает использование ассемитричного шифрования.

AndreyKl ★★★★★
()
Ответ на: комментарий от prischeyadro

Вопрос в том, что DKIM обычно использует короткие ключи.
Если не ошибаюсь 512 бит rsa, хотя возможно можно использовать более длинные.
Они служат для защиты от спама, но никак не для защиты от подделки.

Если ключ короткий (< 768 бит) и есть деньги, то его можно относительно легко крякнуть и наделать соответствующих подписей сколько душе угодно.
И ещё стоит заметить, что человек имеющий доступ к ящику может отправлять-получать сколько угодно писем, и человек который «не шарит» даже этого не заметит.
А навальный именно из тех кто не шарит.

Ещё одна интересная деталь: gmail дает возможность отправлять письма с другим почтовым ящиком (или даже сервером) в хедерах.
Поэтому схема такая:
1 - Регаем любой акк на гмыле
2 - Привязываем к нему алиасом navalny@gmail.com
3 - ОДИН РАЗ заходим на navalny@gmail.com и подтверждаем право юзать алиас.
4 - Имеем валидную DKIM на исходящее письма с этого адреса, в любое время, владелец ящика ничего не знает.
Ещё можно прописать редирект писем с нужного адреса в настройках, и хомяк-виндузятник типа навального никогда в жизни не заметит, что он там есть.

Т.е имея доступ к ящику и нуба юзера можно делать с его почтой, что угодно.
Поэтому DKIM вообще ничего не доказывает, совершенно.
Только вот нашисты уже кучу времени хотят убедить всех, что это не так.

Ну теперь пусть расхлебывают, даже если все письма фейк.

winddos ★★★
()
Ответ на: комментарий от AndreyKl

Вопрос исключительно в том, что нет смысла подделывать письма когда есть доступ к почтовому ящику.
С доступом можно отправить что угодно и кому угодно, экспортнуть и сразу удалить.
А если на компе жертвы иметь троянца, то она никогда в жизни этого не заметит.

Да даже если письма реальные и обо было это ничего не меняет.

И без почты все знали кто такие нашисты и команда пу, поэтому выкладывай гигабайты или нет, все равно никто не потеряет теплого места.
Воровская власть своих не сдает.

winddos ★★★
()
Ответ на: комментарий от winddos

Они служат для защиты от спама, но никак не для защиты от подделки.

Вот в чём я уверен абсолютно, так это в том, что если ключ того же гмейла можно было бы вскрыть, то первыми, кто это сделает, будут спамеры. И только во вторую очередь нашисты. Именно от спамеров требуется действительно мощная защита, и именно то, что борьба со спамерами является первоочередной задачей, служит гарантией, что всё, что можно сделать для обеспечения надёжной защиты, будет сделано.

prischeyadro ★★★☆☆
() автор топика
Ответ на: комментарий от prischeyadro

Тогда ключ сразу сменят, очевидно ведь.

Во вторых DKIM это всего лишь одна из степеней защиты, которая не гарантирует на 100% доставку письма.
Даже наоборот, если письмо будет отправлено НЕ с гмыла, то его все равно не пропустят, потому как в DKIM записи домена указан будет правильный мылсервер.

Ну а стоить процедура брутфорса rsa может дорого, но вот суперкомпьютеры в рашке все таки есть.
Т.е для государственных органов это будет вообще бесплатно.

winddos ★★★
()
Ответ на: комментарий от winddos

Короче, поясняю зачем вообще нужен DKIM.
1 - Уже SPF запись доказывает, что письма для домена domain.com могут отправляться ТОЛЬКО с сервера mx.domain.com.
Если письмо прийдет скажем с ololo.domain.com то его отсеят.
2 - Но представим, что у атакующего может быть доступ к серверу mx.domain.com.
Тогда он может без проблем рассылать спам который пройдет SPF валидацию.
3 - Вот тут вот в игру и вступает DKIM подпись.
Она гарантирует что данные письмо было отправлено ни левых человеком с доступом к почтовому серверу (или одному из 10 почтовых серверов), а именно реальным почтовым сервером.
Доступ к DKIM ключу есть только у сервера исходящей почты.

Вот и все.
Поэтому спамерам ломать DKIM сервера к которому у них нет доступа бессмысленно.

winddos ★★★
()
Ответ на: комментарий от winddos

Т.е DKIM нужна для того, чтобы vasya@company.com даже имея доступ к корпоративному серверу не мог отправить письмо от левого ящика: boss@company.com
Так как в отправленном письме не будет DKIM подписи, а значит оно отправлено не мыльным сервером а скриптом на перле/php.

winddos ★★★
()
Ответ на: комментарий от winddos

нет смысла подделывать письма когда есть доступ к почтовому ящику
можно отправить что угодно и кому угодно, экспортнуть и сразу удалить
Поэтому DKIM вообще ничего не доказывает, совершенно

Валидно мыслишь, боярин.

Вопрос в том, что DKIM обычно использует короткие ключи.
Если не ошибаюсь 512 бит rsa, хотя возможно можно использовать более длинные.

Текущее ограничение в 2048 бит диктуется совместимостью с DNS-серверами: не все серваки могут нормально сохранять и отдавать более длинные TXT-записи. + не нужны длинные ключи по вышеупомянутым причинам. Да и само подписывание жрет процессор сервера пропорционально длине ключа. В общем DKIM - это не очень нацпольно.

shahid ★★★★★
()
Ответ на: комментарий от shahid

Собственно нужно просто точную информацию о том, какие именно ключи использовались у гугла и mail.ru

Я просто помню что у facebook был ключ 512 бит, и из за этого я и прочел про DKIM в первый раз.
Хомячки выли что подделать подпись можно.

winddos ★★★
()
Ответ на: комментарий от winddos

Текущие ключи:

$ host -t txt gamma._domainkey.gmail.com
gamma._domainkey.gmail.com descriptive text "k=rsa\; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIhyR3oItOy22ZOaBrIVe9m/iME3RqOJeasANSpg2YTHTYV+Xtp4xwf5gTjCmHQEMOs0qYu0FYiNQPQogJ2t0Mfx9zNu06rfRBDjiIU9tpx2T+NGlWZ8qhbiLo5By8apJavLyqTLavyPSrvsx0B3YzC63T4Age2CDqZYA+OwSMWQIDAQAB"

$ host -t txt mail._domainkey.mail.ru.
mail._domainkey.mail.ru descriptive text "v=DKIM1\; k=rsa\; p=MHwwDQYJKoZIhvcNAQEBBQADawAwaAJhAODC5C9WNSkAFqb27aDBBJOahA+cmnlrh7fbLfaQ22QJLAvLhhKOzYtol/2sGVQCpYv4jkf1maaQtwFqJ91jFiPYdjGvOb4e6LEnJYZ1tZt04Rf6eRSJ9vNcHrWAVDvKTwIDAQAB"

Оба ключа это 1024 bit RSA.

winddos ★★★
()
Ответ на: комментарий от winddos

Хотя насчет mail.ru не могу быть так уверен.
Возможно, короче чуть.

winddos ★★★
()
Ответ на: комментарий от winddos

С доступом можно отправить что угодно и кому угодно, экспортнуть и сразу удалить.

это аргумент. но цепочки писем за много месяцев/лет это скорее аргумент за то что цепочки верные.

AndreyKl ★★★★★
()
Ответ на: комментарий от AndreyKl

Я никого не выгораживаю, мне будет все равно если Навального финансирует госдеп США и M6, правда.

Но факт в том, что 100% достоверность такой почты проверить нельзя, а клевету там ведут не из за всей переписки а из за пары писем и одного случая.
Мне лень читать переписку целиком, как и нашистскую (где без неё все явно).
Насколько я понял там ровно один случай на эти 50к$.

winddos ★★★
()
Ответ на: комментарий от winddos

я согласен с мыслью что 100% гарантии нет. но совокупность фактов нам таки может дать представление. ну а выводы каждый делает сам, конечно.

AndreyKl ★★★★★
()
Ответ на: комментарий от winddos

Но факт в том, что 100% достоверность такой почты проверить нельзя, а клевету там ведут не из за всей переписки а из за пары писем и одного случая.

Если я правильно понял, как работает эта DKIM, то он просто доказывает, что письмо от «таинственного незнакомца» было отправлено именно «таинственным незнакомцем». То, что «таинственный незнакомец» — это господин X — не доказывает? То, что ящик вообще не был зарегистрирован специально для подставы — не доказывает? То, что некто Н вёл реальную переписку с «таинственным незнакомцем», а не только получал от него входящие — не доказывает? Оно хотя бы доказывает, что эти письма были отправлены адресату Н именно до взлома ящика? Там есть только входящие письма от «таинственного незнакомца» или исходящие письма от некто Н этому господину тоже есть? Исходящие от некто Н подписаны этой подписью? Если да, то с какого перепугу они подписаны, ведь это якобы копии писем из ящика некто Н, а подписанные копии должен был получать «таинственный незнакомец»? Ну, в общем, я хочу moar подробностей.

name_no ★★
()
Ответ на: комментарий от name_no

что письмо от «таинственного незнакомца» было отправлено именно «таинственным незнакомцем».

Нет не доказывает на 100% потому что:
1 - Если ключ сломан (что в теории реально, но не на практике) то подписать можно что угодно.
2 - У gmail есть функции «отправки с другого адреса».
Вполне возможно что достаточно только один раз зайти на чужой ящик чтобы невозбранно посылать с него письма с валидный DKIM.
Эту теорию следует проверить, но мне лень.

Т.е DKIM доказывает что письмо прошло через сервер gmail.

То, что «таинственный незнакомец» — это господин X — не доказывает?

Нет, не доказывает, и даже не знаю что может это доказать.
Только если бы Навальный юзал PGP физический донгл и подписывал эти письма.

То, что ящик вообще не был зарегистрирован специально для подставы — не доказывает?

Ящик настоящий, его по настоящему сломали. А вот как письма шли оттуда и кто их отправлял - вопрос.

То, что некто Н вёл реальную переписку с «таинственным незнакомцем», а не только получал от него входящие — не доказывает?

Там DKIM есть на исходящих письмах, см. ответ выше.
Есть ли DKIM на входящих я не знаю, посмотри если интересно.
Но он должен быть не от гмыла а от того другого почтовика.

Оно хотя бы доказывает, что эти письма были отправлены адресату Н именно до взлома ящика?

Ящик мог быть взломан когда угодно.
Если у жертвы сидит троянец, то можно сидеть в его ящике, даже если у него там двойная авторизация (с смс).
Любой троянец умеет socks5 прокси, т.е ты просто будешь сидеть с ip жертвы и с его куками, gmail не может это отдетектить.

Ни один виндовый хомяк активности троянца не заметит, т.к сидит на 20 мегабитном канале.
Судя по тому что навальный таки не совсем ламер (и его ломали и раньше), то пароль у него украли именно так, а не брутом.

Там есть только входящие письма от «таинственного незнакомца» или исходящие письма от некто Н этому господину тоже есть?

Есть, но есть там DKIM или нет проверяй сам.

Если да, то с какого перепугу они подписаны, ведь это якобы копии писем из ящика некто Н, а подписанные копии должен был получать «таинственный незнакомец»?

gmail хранит всю почту: исходящую, входящую и даже спам.

Ну, в общем, я хочу moar подробностей.

Кури блоги, у меня нет совершенно никакого интереса к самим перепискам.
Просто печально смотреть когда на техническом форум люди не понимают таких банальных вещей.

winddos ★★★
()
Ответ на: комментарий от winddos

То, что ящик вообще не был зарегистрирован специально для подставы — не доказывает?

Ящик настоящий, его по настоящему сломали.

Ящик «таинственного незнакомца», я имел в виду.

Оно хотя бы доказывает, что эти письма были отправлены адресату Н именно до взлома ящика?

Ящик мог быть взломан когда угодно.

Кулхацкер «Hell» сказал, что взломал почту некоего Н в ночь с первого на второе августа.

gmail хранит всю почту: исходящую, входящую и даже спам.

Да, но в какой момент подписываются исходящие письма? У отправителя сохраняются уже подписанные или сохраняются до подписи?

Кури блоги, у меня нет совершенно никакого интереса к самим перепискам.

Ты будто не знаешь, какой там хлам пишут. Верить нельзя пуще телевизора, вызвать автора на честный ответ и задать ему хотя бы те вопросы, на которые ты мне ответил — как правило нереально.

name_no ★★
()
Ответ на: комментарий от name_no

Ящик «таинственного незнакомца», я имел в виду.

Не слышал такого.
Есть там подписи или нет тоже не знаю.

Кулхацкер «Hell» сказал, что взломал почту некоего Н в ночь с первого на второе августа.

А у меня на винте лежат исходники Windows 8.

Да, но в какой момент подписываются исходящие письма?

В момент прохождения релея gamma.gmail.com.
Т.е они подписываются когда они отправлены адресату.

У отправителя сохраняются уже подписанные или сохраняются до подписи?

В «Отправленные» гмыла по идее должна сохраняться версия с DKIM.

Ну а если он использует почтовый клиент, то там сохранится версия без DKIM.
Т.е сливали именно gmail аккуант.

Ты будто не знаешь, какой там хлам пишут.

Ну можно качнуть переписку и посмотреть где подписи есть :)

winddos ★★★
()
14 октября 2012 г.

Разбор полётов есть в окрестности этого коммента, но вот этот коммент говорит, что, возможно, не всё так просто. До победного конца так никто не проверил(?).

cryptos
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.