Рейтинг:3

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

флаг ar

Согласно с BIP340:

Однако основным недостатком этой оптимизации является простота поиска коллизий в короткой хеш-функции. Это усложняет реализацию безопасных протоколов подписи в сценариях, в которых группа не доверяющих друг другу подписывающих лиц работает вместе для создания единой совместной подписи (см. Приложения ниже). В этих сценариях, которые не охвачены моделью SUF-CMA из-за предположения о единственном добросовестном подписывающем лице, многообещающая стратегия атаки для злоумышленников, совместно подписывающих, состоит в том, чтобы найти коллизию в хеш-функции, чтобы получить действительную подпись на сообщение, которое честный поручитель не собирался подписывать.

В версии Schnorr, используемой BIP340, аргументы хеш-функции задаются следующим образом:

$e=\text{хэш}(R || P || m)$

Чтобы подписать непреднамеренное сообщение, злоумышленник должен найти коллизию между двумя разными сообщениями:

$e=\text{хэш}(R||P||m_0)=\text{хэш}(R||P||m_1)$

Но это подразумевает $m_0$ не совершается перед расчетом $R$. Кажется странным, что эта «атака» требует убедить честного подписавшего подписать конкретное сообщение. $m_0$ после они уже вычислили свои конкретные $R_H$ стоимость. Если $м$ были совершены до создания $R$ этот тип атаки все еще возможен?

Рейтинг:1
флаг in

Дело в том, что вы (и я) не прочитали документ должным образом;

В вашей цитируемой части они рассматривают атакующий вариант подписи Шнорра. Для упрощения я буду использовать более короткую запись как $Ч(м)$

Да, они считают столкновение за нападение. Если есть подпись $ знак (прв, Н (м)) $ а вы хотите подделать вам нужны прообразные атаки на хэш-функцию $Ч$ так что вы можете утверждать, что $м'$ это было предполагаемое сообщение.

В цитируемой части документа Bip340 дело обстоит именно так. Вы хотите, чтобы ваш со-подписант подписал сообщение, которое он обычно не хочет подписывать. Итак, вы нашли несколько пар столкновений $m_i \neq m'_i$ такой, что $H(m_i) = H(m'_i)$ с дополнительным имуществом; ваш поручитель подпишется за $m_i$ но не для $m'_i$ для которого второй в вашу пользу, но не их. У них не возникнет подозрений $m_i$ подписать, и они подпишут, и вы будете использовать $m'_i$ как подписанное сообщение, чтобы получить преимущество перед вашим со-подписантом.

позже писали как;

Поскольку мы хотели бы избежать хрупкости, связанной с короткими хэшами, $е$ вариант не дает существенных преимуществ. Мы выбираем $R$-опция, которая поддерживает пакетную проверку.

Если вы совершаете $м$ до подписи, то ни коллизия, ни прообразы работать не будут. Дай посмотреть;

  • $фиксация = H(m)$

  • рассчитать $R$

  • подготовить хэш для подписи

    $\text{хэш}(R || P || m)$

В этом случае злоумышленник должен атаковать $коммит$ чтобы найти еще одно второе сообщение $м'$ такой $Н(м) = Н(м')$, т. е. выполнить вторую атаку по прообразу, и это будет выполняться в течение $\text{хэш}(R || P || m) = \text{хэш}(R || P || m')$, тоже. Совсем не возможно.

kelalaka avatar
флаг in
@knaccc Слишком сложно найти эту работу. У меня нет информации о вероятности мультипрообразных атак для таких случаев. По крайней мере, это должно быть сложнее, чем 128-битный поиск.
knaccc avatar
флаг es
Я думаю, что причина, по которой этот вопрос вызвал столько путаницы, заключается в том, что они указывают на то, что проблема заключается в том, что пара подписей $(e, s)$ с короткими хэшами «усложняет реализацию безопасных протоколов подписи в сценариях, в которых группа взаимно не доверяющие подписавшиеся работают вместе, чтобы создать единую совместную подпись». Однако, поскольку они так и не объяснили, каким будет протокол подписи для варианта $(e, s)$, который они отвергли, нам нужно самим выяснить, каким должен быть этот протокол, чтобы увидеть, насколько он уязвим для дня рождения. столкновения.
kelalaka avatar
флаг in
@knaccc Я обнаружил, что некоторые из BIP написаны очень плохо, не близко к rfcs.
флаг ar
Я нашел это [сообщение в блоге] (https://medium.com/blockstream/insecure-shortcuts-in-musig-2ad0d38a97da) от исследователя Blockstream весьма полезным. Похоже, что могут быть ситуации, в которых $m$ используется совместно *после* обмена одноразовыми номерами. Например, одноразовые номера могут быть предварительно разделены в Lightning в качестве оптимизации для уменьшения количества раундов связи. Обратите внимание, однако, что в сообщении в блоге говорится, что эта оптимизация была небезопасной, и только одноразовые обязательства должны быть предварительно переданы, поэтому я не уверен, что отправка сообщений после одноразового номера когда-либо произойдет на практике.

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

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