Рейтинг:1

Proof of possession of a x25519 private key

флаг mx

In this question one way is shown how to prove the possession of a private x25519 key. Would the following protocol also be suitable to prevent someone from using the client as a decryption Oracle?

  1. Server generates some 'nonce' and an ephemeral x25519 key pair. The sever sends the nonce and the public x25519 key to the client.
  2. The client derives with his private x25519 key and the public x25519 key of the server a shared key. The client signs the nonce with HMAC using the shared key. The client sends the signature to the server.
  3. The server derives the shared key and validates the HMAC signature.
флаг au
Что не так со старым добрым дискретно-логарифмическим доказательством с нулевым разглашением? Например. для закрытого ключа $x$ Prover публикует $Y=G^x$, затем выбирает целое число $x'$, вычисляет $T=G^{x'}$, затем вычисляет $c = hash(G, Y, T) $ и отправляет $c, -cx+x'$. Verifier восстанавливает $T$, выполняя $G^{-cx+x'}Y^c$ и проверяя, что $c = hash(G, Y, T)$.
knaccc avatar
флаг es
Вам уже нужно будет что-то сделать для предотвращения атак типа «человек посередине», которые будут включать сигнатуры для подтверждения подлинности сервера для клиента. Так почему бы просто не использовать тот же механизм для подтверждения личности клиента серверу?
флаг mx
@zugzwang Спасибо за вашу идею. Но я думаю, что проблема в том, что $-cx+x'$ не "зажат". Если, например, используется libsodium, вы не можете использовать стандартные функции
флаг au
Кстати, моя идея совсем не оригинальна. Это основное доказательство знаний zk (если вы хотите увидеть хорошие расширения, я рекомендую вам проверить статью Камениша-Штадлера 97). Этот аргумент применим к любой группе. В частности, к Curve25519. Ограничение — это всего лишь уловка реализации, позволяющая избежать маленькой подгруппы порядка 8. Так что, конечно, этот аргумент работает в кривой 25519. Его элегантность в том, что он зависит только от ECDLP, а не от алгоритмов подписи, таких как Ed25519.
флаг mx
@knaccc Хорошая идея. Спасибо.
флаг au
Недостатки идеи @knaccc заключаются в том, что (а) она зависит от экзистенциальной невозможности подделки схемы подписи, а не от владения секретным значением, как это было при запросе, и (б) такой протокол, вероятно, будет интерактивным ( если каким-то образом не будет применен трюк Fiat-Shamir, потенциально вводящий больше предположений о безопасности).

Ответить или комментировать

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