понеділок, 29 квітня 2013 р.

(не) Очевидное: Энтропия Пароля

Как определить, мы выбрали «сильный» (надежный) пароль или нет. Что есть критерием такой оценки? Любой Гуру Инфосека подскажет, что сильный пароль или нет, определяется исходя из его энтропии: чем больше энтропия, тем лучше.  
Энтропия… Впечатляет. Со школы помню: энтропия – мера хаоса. Круто…
Эмоции в сторону и давайте посмотрим, как данные советы реализовать на практике…

И так мы должны научиться определять, какой пароль лучше, а какой хуже, руководствуясь значением его энтропии. Следовательно, нам нужно научиться эту самую энтропию вычислять.

Для этого обратимся, например, к Википедии, там как раз есть статья «Сложность пароля» , где описан «наш случай».

Теперь давайте возьмем пароль: 1111111111 (должно быть «десять единиц») и посчитаем его энтропию.

И вот тут начинается самое интересное: большинство людей, с которыми я сталкивался, анализируют данный пароль таким образом, что его энтропия будет 33.2 бита. 

Другими словами, видя, что пароль состоит только из «единиц», срабатывает «предвзятость подтверждения» , когда мы начинаем искать или интерпретировать информацию таким образом, чтобы подтвердить имевшиеся у нас заранее концепции.  

В данном случае, большинство людей считает, что данный пароль получен из набора символов содержащем только десять цифр от 0 до 9. На самом-то деле, такой пароль, может быть сгенерирован и для других наборов символов, включая даже «Все печатные символы ASCII», что подымет энтропию до 65.7 бит.

Поэтому могут быть случае когда не возможно просто глядя на пароль сказать какой из них имеет большую или меньшую энтропию, например, энтропия пароля 111ААА111А может быть как 40.0 бит, так и 65.7 бита.

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

Для того, что бы оценить, на сколько силен наш пароль, лучше не энтропию его вычислять, а убедиться, что он физически содержит буквы большие и малый, и цифры, и специальные символы.  И он должен быть «длинным»!!! Энтропия такого пароля получится высокой автоматически. 
 «Видите ли, разумный взломщик не будет перебирать все возможные пароли по порядку. Он сначала испробует наиболее вероятные, а затем проверит остальные — в порядке убывания вероятности. Он проверит тривиальные пароли (типа "пароль" или "1234"), после этого — весь английский словарь, а затем различные заглавные буквы, цифры и т. п. Это называют словарной атакой.» Брюс Шнайер, Секреты и ложь. Безопасность данных в цифровом мире.
И напоследок... Американский Национальный Институт Стандартов и Технологий, в своем документе NIST SP 800-63, предлагает по-разному считать энтропию пароля для паролей, которые получены в результате использования признанных источников неопределенности, таких как, например, Генераторы Псевдослучайный Чисел, и  для паролей, которые «родились» в человеческом мозгу.
Для паролей придуманных человеком, при расчете энтропии, предписывается руководствоваться следующими правилами:

  • Энтропия первого символа равна 4 битам;
  • Энтропия следующих семи символов по 2 бита каждый;
  • От 9го до 20 символа 1.5 бита энтропии на символ;
  • От 21 и дальше каждый символ несет в себе 1 бит энтропии;
  • "Бонус" из шести битов добавляется, если используются буквы обоих регистров и не-алфавитные символы.
  • Также можно получить еще один «шести битный бонус» для паролей длиной от 1 до 19 символов, если будет установлено, что пароль не содержит слов, которых можно найти в словаре. 
Может кому-то действительно интересно рассчитывать энтропию своих паролей, но для большинства людей, мне кажется, не стоит тратить на это время. Более полезным и практичным будет использовать специальное программное обеспечение, которое позволит и сгенерировать «правильный» пароль и надежно его сохранить.

Не имеет значения, что будет выбрано, то ли аскетичный Password Safe, то ли более «продвинутый» KeePass, а кто-то решит воспользоваться коммерческим «менеджером паролей».

Главное, при использовании, упомянутого ПО делать две вещи:
- не использовать установки по умолчанию (не критично, но рекомендуемо, по крайней мере, их надо проверить) 
- периодически делать копию базы данных паролей и хранить ее в надежном месте (очень критично).

2 коментарі:

  1. Все абсолютно верно. Спасибо! Очень интересно!

    ВідповістиВидалити
    Відповіді
    1. Спасибо

      Отдельное спасибо за обнаруженные ошибки отражения блога в Microsoft Internet Explorer

      Видалити