Рейтинг:3

Насколько безопасно делиться «паролями» с помощью Shamir Secret Sharing, учитывая способ проверки правильности пароля?

флаг us

Допустим, у вас есть заказ $n$ конечное поле, которое вы используете для создания $к$ Shares для пароля с помощью Shamir Secret Sharing. Предположим, что злоумышленник получает $к-1$ акции.

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

Делает заказ $n$ конечного поля в такой грубой силовой атаке? Будет ли увеличиваться значение $n$ дать дополнительную безопасность в таком сценарии?

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

Пусть Секрет Шамира (SSS) строится из конечного поля $K = \mathbb F_{p^m}$, т.е. $К$ является расширением конечного поля с $п^м$ элементы, $порядок(К) = p^m$.

Когда злоумышленник получает доступ к $к-1$ принадлежащий $к$ акции SSS, остальные все ценности от $К$ имеют одинаковую вероятность быть кандидатом на последнюю акцию. Это связано со свойством SSS; у него идеальная схема обмена секретами (т.е. совершенная секретность ). Следовательно; злоумышленник ничего не узнает, если он не владеет всеми акциями.

Нападавший, удерживая $к-1$ акции, имеет $п^м$ равные возможные кандидаты на последнюю долю. Единственная возможность для них — пытаться всех их отличить от настоящего, не более того.

Ну, вместо того, чтобы платить (или воровать) за $к-1$ акции они могут просто попробовать все $п^м$ элементы поля. Так как;

  • У них нет преимущества в том, что $к-1$ акции или $1$ акции Они все одинаковые, у ССС идеальная секретность.

Теперь, поскольку пароль создается из общего секрета, существует ограничение на возможное количество паролей; $п^м$. Если предположить, что используется неверный метод хеширования пароля, например, чистый SHA-256, то размер поля должен быть больше, чем $2^{93}$ поскольку биткойн-майнеры могут достичь этого количества SHA-256D за год. Поэтому желательно иметь поле с порядком больше, чем $2^{128}$.

Нужен лучший алгоритм хеширования паролей, такой как Argon2id, чтобы ограничить возможности злоумышленника. Например, если вы используете PBKDF2 с количеством итераций, равным 1M (у Argon2 тоже есть итерации), то вы сокращаете поиск злоумышленника на $\приблизительно 2^{20}$. Если вы используете функции хеширования паролей, требующие жесткой памяти и подсчета потоков, такие как Argon2, вы уменьшаете возможности распараллеливания злоумышленника, особенно в случаях ASIC/GPU. Определите свои риски и цель безопасности, а затем настройте параметры хеш-функций паролей. И не забудьте добавить случайную соль в хеширование пароля.

Если доля также используется создать ключ шифрования, доля должна быть равна или больше размера ключа. Простая причина в том, что нельзя увеличить энтропию путем хеширования.

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

Ну, большинство хороших веб-сайтов/систем защищают от этих атак, ограничивая попытки ввода пароля или используя двухфакторную аутентификацию. Однако мы можем предположить, что злоумышленник получает доступ к БД, чтобы получить хэш паролей. Это обычная модель атаки в области защиты паролей. Итак, увеличьте порядок полей.

Делает заказ $n$ конечного поля в такой грубой силовой атаке? Будет ли увеличиваться значение $n$ дать дополнительную безопасность в таком сценарии?

Да и да, как указано выше.

Makky 56 avatar
флаг us
Спасибо, значит, чем больше размер конечного поля, тем лучше, верно? Однако я вижу множество реализаций SSS, использующих GF(2^32) или GF(2^64). Разве это не угроза безопасности? .. Но опять же, как часто злоумышленник получает акции k-1 :)
kelalaka avatar
флаг in
Это действительно зависит от ваших рисков безопасности. Какие реализации вы видите? Реальный продукт или демонстрация? Как я уже упоминал, злоумышленнику не нужны доли $k-1$, так как SSS обладает полной секретностью. Наличие $k-1$ или ни одного равно. Лучше было бы спросить об этих ссылках и о том, где они используются.
Рейтинг:2
флаг ar

При условии, что совместное использование секрета Шамира реализовано правильно, атакующий не получает преимущества от знания до $к-1$ акции, и размер поля не имеет значения.

Да, злоумышленник может провести атаку подбором методом грубой силы, чтобы (возможно, при наличии достаточного времени) найти пароль. Но они могут сделать это, даже если пароль не поделился, и зная до $к-1$ share не облегчает эту атаку.

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


Конечно, если пароль слишком длинный и не помещается в один конечный элемент поля, тогда его надо как-то разделить на части, и эти части делятся отдельно. Но это не влияет на основное свойство теоретико-информационной безопасности схемы Шамира, которое гласит, что знание менее $к$ share не дает никакой информации о секрете. Нетрудно видеть, что для секрета, состоящего из нескольких отдельных конечных элементов поля, каждый из которых разделяется независимо друг от друга с использованием схемы Шамира с порогом $к$, зная до $к-1$ акции для каждый секретный элемент не дает никакой информации о Любые их. (Также нетрудно показать, что это справедливо, даже если одни и те же публичные параметры, включая долю $х$ координаты, используются для совместного использования всех из них.)

Daniel avatar
флаг ru
Этот ответ должен получить больше внимания. Суть обмена секретами Шамира заключается в том, что даже если у вас много акций, пока у вас нет нужного количества, вы не узнаете *буквально ничего*, чего вы не знали до того, как стали владельцем акций.
kelalaka avatar
флаг in
@ Даниэль, на самом деле, я упомянул об этом, однако теперь я настроил его больше на глаза.
nick012000 avatar
флаг tr
«При условии, что совместное использование секрета Шамира реализовано правильно, злоумышленник не получит преимущества, зная до k-1 долей, и размер поля не имеет значения». Разве они не смогут провести атаку грубой силы с угадыванием и проверкой, чтобы узнать, какова окончательная доля?
флаг ar
@ nick012000: Да, но это не более эффективно, чем просто выполнить атаку методом угадывания и проверки методом грубой силы, чтобы узнать, в чем секрет, напрямую, без каких-либо общих ресурсов.

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

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