PKCS # 5 Соляная конфиденциальность? - PullRequest
0 голосов
/ 30 мая 2011

В официальной документации стандарта PKCS5 V2.0 мы можем прочитать: «Соль может рассматриваться как указатель на большой набор ключей, полученных из пароля, и их не нужно хранить в секрете».

Интересная часть "не нужно держать в секрете".

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

Я понимаю, что, как правило, злоумышленник не имеет доступа к соли, поэтому это усложнит его работу по поиску правильного пароля.Но если злоумышленник знает соль, где же «магия»?Знать соль - это все равно, что выполнять традиционную атаку по словарю (если исключить счетчик итераций)!

Есть что-то, чего я не понимаю?Я знаю, что знание о соли не нарушает безопасность, но высказывание о том, что ее «не нужно хранить в секрете» звучит для меня странно.

1 Ответ

0 голосов
/ 30 мая 2011

Остальная часть абзаца (в стандарте), кажется, объясняет это:

... Хотя для противника может быть возможным составить таблицу возможных паролей (так называемый«Атака по словарю»), составление таблицы возможных ключей будет затруднено, поскольку для каждого пароля будет много возможных ключей.Таким образом, противник будет ограничен поиском паролей отдельно для каждой соли.

Дело в том, что вы не можете просто взять список паролей (скажем, 77 миллионов паролей) и запустить их черезте же таблицы.Вам нужно будет создать отдельную таблицу для каждого пароля + соль.

...