Спасибо!
Сам алгоритм Диффи-Хелмана я знаю. Интересует как параметры в сертификат пихаются и нужен RFC, где это описано, какие праметры суютя в сертификат (сначала n и g в первом сертификате и потом вычисленный k во втором или все параметры разом, то есть по шагам алгоритма), в каком виде они туда клаюутся (просто как байт-строка и потом по длинне разделяются или же ввиде структуры).
> Без х.509 эта схема подвержена атаке mitm.
Это атака фальсификации данных, выдача злоумышленником своих ключей за ключи одного из участников?
Как должен осуществлятся обмен прараметрами Диффи-Хелмана для установки раздеоляемого пароля? Применяется ли для этих целей X.509? Или они так, по сети передаются, как блоки данных?
Если есть, кинте, плз, ссылку на RFC, где описывался бы сабж.
Обмен прараметрами Диффи-Хеллмана26.08.03 15:55 Автор: cybervlad <cybervlad> Статус: Elderman
> Как должен осуществлятся обмен прараметрами Диффи-Хелмана > для установки раздеоляемого пароля? Применяется ли для этих > целей X.509? Или они так, по сети передаются, как блоки > данных? Без х.509 эта схема подвержена атаке mitm.
> Если есть, кинте, плз, ссылку на RFC, где описывался бы > сабж. Сам метод? RFC2631 "Diffie-Hellman Key Agreement Method"
Если же на пальцах, то это примерно так:
секретный кобчи - x, открытые - y
y1=a^x1
y2=a^x2
(на самом деле, это все по модулю p, но для иллюстрации не так важно)
юзеры обмениваются открытыми ключами y1,y2. вычислить по ним секртеные (x) - проблематично.
потом первый считает:
k1=y2^x1=a^(x2x1)
второй:
k2=y1^x2=a^(x1x2)
легко видеть, что k1=k2
вот так общий секрет и получается ;)
но по уму надо меняться не просто открытыми ключами, а сертификатами, иначе злобный хакер может все испортить ;)
Обмен прараметрами Диффи-Хеллмана26.08.03 16:49 Автор: lunc <Alexander Krizhanovsky> Статус: Member
Спасибо!
Сам алгоритм Диффи-Хелмана я знаю. Интересует как параметры в сертификат пихаются и нужен RFC, где это описано, какие праметры суютя в сертификат (сначала n и g в первом сертификате и потом вычисленный k во втором или все параметры разом, то есть по шагам алгоритма), в каком виде они туда клаюутся (просто как байт-строка и потом по длинне разделяются или же ввиде структуры).
> Без х.509 эта схема подвержена атаке mitm.
Это атака фальсификации данных, выдача злоумышленником своих ключей за ключи одного из участников?
Обмен прараметрами Диффи-Хеллмана26.08.03 17:40 Автор: cybervlad <cybervlad> Статус: Elderman
> параметры разом, то есть по шагам алгоритма), в каком виде > они туда клаюутся (просто как байт-строка и потом по длинне > разделяются или же ввиде структуры). формат сертификатов - вообще отдельная песня ;)
во-первых, в общем случае он зависит от СКЗИ. особенно у России ;)
во-вторых, согласно x.509 в сертификате в key usage должен стоять флажок key agreement. а значения конкретных параметров - это уже уже в ASN-нотации надо ковыряться.
А что, есть желание изобретать велосипед? Может, проще взять OpenSSL и посмотреть, как оно уже сделано и понимается основными серверами/браузерами?
> > Без х.509 эта схема подвержена атаке mitm. > > Это атака фальсификации данных, выдача злоумышленником > своих ключей за ключи одного из участников? точнее, за обоих ;) mitm - man-in-the-middle
генерю две пары ключей, первому участнику шлю от имени второго, второму - от имени первого. трафик просматриваю, перешифровываю. при необходимости - изменяю.
Обмен прараметрами Диффи-Хеллмана26.08.03 18:25 Автор: lunc <Alexander Krizhanovsky> Статус: Member
> А что, есть желание изобретать велосипед? Может, проще > взять OpenSSL и посмотреть, как оно уже сделано и > понимается основными серверами/браузерами?
В OpenSSL есть функция X509_set_pubkey, которая пакует ключи в сертификат. Для DSA и RSA работает, а для Diffie-Hellman валится (возвращает код ошибки). Смотрел как это делается в /apps и /demos (каталоги в корне OpenSSL) и не нашел ответа. Встал вопрос, что это вообще суется в сертификат вместо ключа и как (больше из любопытства).
Впринципе ответ я нашел в RFC2459.
Спасибо
IKE10.09.03 20:33 Автор: lunc <Alexander Krizhanovsky> Статус: Member