Рейтинг:1

Может ли слепая схема «полу-HMAC», использующая хэш слепой подписи, избежать проблем (доказуемо небезопасных) слепых схем HMAC?

флаг us

Невозможность защищенной схемы "слепого HMAC" - аналога слепых подписей на основе HMAC - известна (я так понимаю, в основном из-за того, что пользователь не может проверить полученную подпись по открытому ключу для подписавшего, и, следовательно, невозможность убедиться, что подписывающая сторона не использует много ключей подписи, а затем «раскрыть» их, определив, какой из их ключей действителен для данной подписи).

Однако, с точки зрения производительности и размера подписи/MAC, HMAC часто предпочтительнее подписей, где приемлем верификатор, владеющий симметричным ключом подписывающей стороны.Например, подписи BLS (слепые или нет) в режиме минимального размера подписи с кривой BLS12-381. потреблять 384 бита с целью безопасности 128 бит - это, казалось бы, совсем коротко по сигнатурным меркам. В сравнении кажется, что, например, 128-битный хеш может обеспечить 128-битную защиту при использовании HMAC.

Будет ли в такой ситуации работать схема слепой аутентификации «полу-HMAC»? Что-то вроде:

  • Пользователь генерирует и слепит сообщение с обычной схемой слепой подписи, отправляет подписывающему
  • Подписывающая подписывает слепое сообщение и отправляет обратно пользователю
  • Пользователь разблокирует ее и сверяет с открытым ключом подписавшего, как и с обычной слепой подписью — «слепой HMAC», как предложено и доказано небезопасно, на это не способен, но здесь это можно сделать, поскольку слепая подпись выполняется с помощью обычной асимметричной схемы слепой подписи, а аутентификация на основе хэша используется позже.
  • Пользователь генерирует хэш сообщения и подписи (а не сообщения и ключа, как в HMAC) и прикрепляет его к сообщению.
  • Пользователь отправляет сообщение и хэш верификатору
  • Верификатор получает сообщение и независимо подписывает его закрытым ключом подписывающей стороны (совместно с верификатором, поскольку симметричные ключи используются в схемах HMAC).
  • Верификатор сравнивает хэш, предоставленный пользователем, с тем, который он сгенерировал.
  • Если хэши совпадают, пользователь подтверждает, что подписывающая сторона подписала сообщение, и на самом деле нет необходимости включать подпись длиннее, чем его хэш.

Похоже, что такая схема может уменьшить накладные расходы на хранение и передачу сравнительно длинных подписей верификатору.Кроме того, кажется, что требования к хэш-функции могут быть необычно малы — например, атака прообразом хэш-функции не представляет угрозы, поскольку обе стороны уже знают сообщение, использованное для ее создания, и атака, с помощью которой любая из сторон может сгенерировать коллизию хэшей (хэши используются только для доказательства того, что пользователь имеет действительную подпись для сообщения - пользователю необходимо знать хэш своего сообщения и действительную подпись для него, чтобы даже искать коллизию хэшей, приводящую к тому же хэшу, чтобы он соответствовал хешу, сгенерированному верификатором). На самом деле, хеш должен быть защищен только от того, что пользователь сможет успешно угадать хэш своего сообщения и действительную подпись без получения этой подписи, т. е. должно быть достаточно сложно взломать действительный хеш для сообщения «онлайн». , общение с верификатором. Перебор хэша в автономном режиме не кажется практичным, так как пользователь не может проверить предположение по хешу в своем сообщении в автономном режиме без также возможность преобразовать хэш в (гораздо более длинную, случайно действительную) подпись и проверить подпись по открытому ключу - им, вероятно, лучше попытаться подобрать действительную подпись или ключ подписи для базовой слепой подписи. схема, а затем сгенерируйте хэш этого.

Мне не удалось найти ссылки на какую-либо схему слепой аутентификации, которая работает подобным образом. Возможна ли такая схема? Есть ли в нем явные недостатки, безопасность или что-то еще?

TL; DR можно ли избежать известных недостатков безопасности слепой схемы HMAC без некоторых последствий размера подписи схемы слепой подписи, используя схему слепой подписи при подписании, но заставляя пользователя хэшировать подпись и повторно генерировать эту подпись и хэш на стороне верификатора с использованием закрытого ключа подписавшего, а затем сравнение хэшей?

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

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