Неконтролируемое распределение открытых ключей
Слабое место: такое публичное объявление может написать
кто угодно.
оригинальную метку даты/времени, чтобы отправитель А мог удостовериться, что это сообщение не является одним из старых сообщений от авторитетного источника, содержащим ключ, отличный от текущего открытого ключа адресата В.
Обмен сертификатами открытых ключей
Простое использование шифрования с открытым ключом при выборе сеансового ключа
Для этого предполагается следующая процедура:
Сторона А генерирует пару открытый/личный ключи {KUa, KRa} и передает сообщение стороне В, содержащее KUa и идентификатор IDA отправителя А.
Получатель В генерирует секретный ключ Ks и передает этот ключ инициатору сообщения А зашифрованным с помощью открытого ключа KUa инициатора А.
Пользователь А вычисляет DKRa[EKUa[Ks]], чтобы восстановить секретный ключ. Поскольку только пользователь А может дешифровать это сообщение, только участники обмена данными А и В будут знать значение Ks.
Участник А выбрасывает ключ KRa , а участник В – выбрасывает ключ KUa.
Распределение секретных ключей с помощью шифрования с открытым ключом.
Далее выполняются следующие действия.
Сторона А использует открытый ключ стороны В, чтобы переслать стороне В шифрованное сообщение, содержащее идентификатор участника А (IDA) и оказию (N1), используемую для идентификации данной конкретной транзакции.
Пользователь В посылает сообщение пользователю А, зашифрованное с помощью KUa и содержащее полученную от него оказию (N1) и новую оказию (N2), сгенерированную пользователем В. Ввиду того, что только участник В мог дешифровать сообщение (1), присутствие N1 в сообщении (2) убеждает участника А в том, что респондентом является сторона В.
Сторона А возвращает N2 , шифруя сообщение открытым ключом стороны В, чтобы гарантировать то, что его респондентом является сторона А.
Участник А выбирает секретный ключ Ks и посылает участнику В сообщение M = EKUb[EKRa [Ks]]. Шифрование этого сообщения открытым ключом стороны В гарантирует, что только участник В сможет прочитать его, а шифрование личным ключом участника А – что только участник А мог послать его.
Сторона В вычисляет DKUa[EKRb [M]] , чтобы восстановить секретный ключ.
Эта схема гарантирует как конфиденциальность, так и аутентификацию.
5. Пользователь А вычисляет ключ по формуле
K = (YB
XA) mod q,
6. А пользователь В – по формуле
K = (YA
XB) mod q.
Эти две формулы вычисления дают одинаковые результаты, как показано ниже.
K = (YB XA) mod q =
= (((αXB) mod q) XA) mod q =
= ((αXB) XA) mod q =
= ((αXB XA) mod q =
= ((αXA) XB) mod q =
= (((αXA) mod q) XB) mod q =
= (YA XB) mod q.
Итак, обе стороны обменялись секретным ключом.
Противнику придется работать только с q, α, YA и YB и вычислять дискретный логарифм, чтобы определить ключ.
Например, чтобы определить ключ пользователя В, противнику нужно вычислить
XB = inda,q (YB).
После этого он сможет вычислить ключ К точно так же, как это делает пользователь В.
K = (YB
XA) mod 97 = 44
36 = 75 mod 97,
K = (YA
XB) mod 97 = 50
58 = 75 mod 97.
Имея {50, 44}, противнику не удастся с легкостью вычислить 75.
Глобальные открытые элементы
q - простое число
α - первообразный корень q, α < q
Вычисление ключа пользователем А
Выбор секретного XA XA < q
Вычисление YA YA = (αXA) mod q
Вычисление ключа пользователем В
Выбор секретного XB XB < q
Вычисление YB YB = (αXB) mod q
Вычисление секретного ключа пользователем А
K = (YBXA) mod q
Вычисление секретного ключа пользователем B
K = (YAXB) mod q
Алгоритм обмена ключами по схеме Диффи-Хеллмана
Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть