22.3. Портативное хранилище
375
чения (если система не допускает проведения атак, в основе которых лежит
парадокс задачи о днях рождения), но зачем экономить на таких мелочах?
В наше время биты очень дешевы, и использование 256-битового значения
соли удовлетворит любые потребности.
Кстати, будьте очень внимательны, используя соль и растягивание. Од-
нажды нам попалась система, в которой были замечательно реализованы
оба этих приема. Затем, однако, какому-то программисту пришло в голову
улучшить пользовательский интерфейс, предоставляя более быстрый ответ
относительно того, правилен ли введенный пользователем пароль. Для это-
го программист сохранял контрольную сумму каждого пароля, что свело на
нет всю процедуру применения соли и растягивания. Если время отклика си-
стемы оказывается недопустимо медленным, вы можете немного уменьшить
значение
r
, но убедитесь, что злоумышленник сможет проверить правиль-
ность пароля, только выполнив по меньшей мере
r
операций хэширования.
22.3
Портативное хранилище
Очередная идея — хранить ключи где-нибудь за пределами компьютера.
Самая простая форма внешнего хранилища — это клочок бумаги, на кото-
ром записаны пароли. Многие заводят хранилища подобного рода даже для
абсолютно не криптографических систем наподобие Web-узлов. Очень часто
нам (в том числе и авторам этой книги) приходится помнить по меньшей
мере полдюжины паролей, а это не очень-то легко, особенно если речь идет
о системах, в которых пароль используется крайне редко. Чтобы запомнить
пароли, пользователи просто их записывают. Ограничение этого решения со-
стоит в том, что пароль все еще должен обрабатываться глазами, мозгом
и пальцами пользователей при каждом его применении. Чтобы раздражение
пользователя и совершаемые им при вводе ошибки не превышали разумных
пределов, данный прием может применяться только к паролям и идентифи-
кационным фразам с относительно низкой степенью энтропии.
Как разработчику, вам не придется предпринимать каких-либо действий
для реализации данного
метода хранения. Пользователи всегда будут запи-
сывать пароли на клочках бумаги, какие бы правила вы ни установили и как
бы ни настроили систему паролей.
Более совершенная форма хранилища представляет собой некоторую раз-
новидность переносимой памяти. Это может быть карта флэш-памяти, диске-
та, пластиковая карта с магнитной полосой или любой другой вид цифрового
хранилища. Системы цифрового хранения всегда обладают достаточной ем-
костью для хранения, как минимум, 256-битового секретного ключа, поэтому
можно забыть об использовании паролей с низкой степенью энтропии. По су-