Какой заказ правильный? ECDSA работает до ECDH или после ECDH?

Меня смущает порядок выполнения ECDSA и ECDH, который запускается первым?

Поскольку ECDH не может избежать присоединения MITM, ECDSA используется для проверки сущности. Так ECDSA должен работать до ECDH?

Или это не имеет значения вообще?

1 ответ

Решение

Поскольку ECDH не может избежать атаки MITM

Во-первых, вот один из многих способов решения этой проблемы с использованием RSA вместо DSA (или ECDSA): клиент перед отправкой своего открытого ключа ECDH (или DH) по проводам может зашифровать этот открытый ECDH (или DH) ключ с открытым ключом RSA сервера. И таким образом, сервер является единственным узлом, который знает ключ ECDH клиента. Поэтому обе стороны защищены от человека в середине атаки. Конечно, использование RSA для шифрования другого ключа может потребовать OAEP.

Или это не имеет значения вообще?

В вашем случае, используя ECDSA вместо RSA, вы не сможете ничего зашифровать. Таким образом, вы должны иметь взаимную аутентификацию в протоколе, который вы разработаете: ваш сервер и ваш клиент должны были предварительно обменять свои открытые ключи ECDSA или иметь какую-то PKI с каким-то корневым сертификатом для аутентификации удаленного открытого ключа ECDSA. Наконец, клиент и сервер просто должны выполнить эти шаги в следующем порядке:

  • подписать свой открытый ключ ECDH своим закрытым ключом ECDSA,
  • отправить эту информацию другому хосту,
  • получить эту информацию от другого хоста,
  • проверить подпись,
  • если проверка не удалась, перестань говорить,
  • если подпись проверена правильно, выполните завершение алгоритма DH.
Другие вопросы по тегам