Безопасное использование парольной защиты

Автор: Николай Голуб

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

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

Что такое стойкий пароль?
Под силой пароля подразумевается сложность пароля при грубом переборе всех возможных комбинаций.
Что определяет сложность пароля?
Сложность определяет алфавит пароля и его длина, к примеру, пароль длиной 7 символов, состоящий только из цифр, является очень слабым, т.к. для полного перебора всех возможных комбинаций необходимо попробовать всего лишь 10^7 паролей. Учитывая быстродействие современных компьютеров, этот процесс не займет много времени. Количество возможных комбинаций определяется длиной алфавита в степени длины пароля, следовательно если в пароль такой же длины добавить хотя бы символы нижнего и верхнего регистра латинского алфавита, сложность его перебора сильно возрастет: (26 + 26 + 10)^7. Поэтому одной из самых главных рекомендаций является использование как можно большего набора символов. Как правило, во многих информационных системах это является не рекомендацией, а требованием, например, политика паролей в домене Windows требует, чтобы пароль содержал буквы обоих регистров, цифры и спецсимволы и его длина была не меньше 10 символов, поэтому пользователь не имеет возможности придумать себе слабый пароль.

    Так же следует упомянуть несколько факторов, делающих пароль слабым:
  • использование простой замены букв: p@ssw0rd, g0ldf1sh;
  • повторение слов: stopstop, passpass и т.д. В данном случае повышение длины пароля не вызывает повышения его сложности;
  • использование личных данных пользователя(номер телефона,номер ИНН, адрес и другие): ipetrov_1979.
  • использование русских слов в латинской раскладке и наоборот: gfhjkm
Идеальным паролем, с точки зрения сложности его перебора, является пароль максимальной длины, случайно сгенерированный, содержащий в себе максимальное количество наборов символов (см. информационная энтропия).

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

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

Правильная генерация паролей, их использование и регулярная смена позволяет избежать многих проблем информационной безопасности.