Джефф Этвуд (Jeff Atwood), основатель небезызвестного ресурса Stack Overflow, опубликовал на страницах своего блога развернутое послание, обращенное ко всем без исключения разработчикам. Свою тираду Этвуд озаглавил доходчиво и лаконично: «Правила составления паролей – это хе*ня».
Этвуд пишет, что у современных паролей насчитывается множество самых разных проблем, но главная из них – ужасные правила составления этих самых паролей. Чтобы не быть голословным, разработчик приводит несколько ярких примеров и даже дает ссылки на два Tumblr-блога (1 и 2), основная тема которых — странные требования к паролям.
If we don't solve the password problem for users in my lifetime I am gonna haunt you from beyond the grave as a ghost pic.twitter.com/Tf9EnwgoZv
— Jeff Atwood (@codinghorror) August 11, 2015
Этвуд объясняет, что зачастую требования к паролям переходят границы здравого смысла и попросту не позволяют использовать генератор действительно надежных и случайных паролей. Ведь согласно правилам, такой рендомный пароль может содержать недостаточно цифр. Или специальных символов. Или каких-то определенных букв. В итоге пользователь буквально вынужден вручную создавать более короткую и простую комбинацию, потому что автоматика не справляется. По мнению эксперта, подобные правила только вредят и ухудшают и без того неблагоприятную ситуацию. При этом Этвуд отмечает:
«В наши дни, учитывая мощности облачных вычислений и взлом парольных хешей с помощью GPU, иметь любой пароль длиной восемь символов или меньше – это практически то же самое, что не иметь пароля вообще».
Длине паролей эксперт вообще посвятил немалую часть текста, объясняя, что в наши дни пароли должны насчитывать не менее десяти символов в длину. Ведь даже если рассмотреть список из 25 самых плохих и используемых паролей, только пять из них длиннее десяти символов. При этом называть все длинные пароли надежными, разумеется, тоже ошибочно, потому как «passwordpassword» или «0123456789012345689» вряд ли можно вообще назвать паролями.
![](https://xakep.ru/wp-content/uploads/2017/03/117489/25pass.png)
Так Этвуд подводит читателей к основной мысли своей публикации: «Серьезно, ради всего святого, завязывайте с этой хе*ней и произвольными правилами составления паролей. Если не верите мне, почитайте официальные рекомендации NIST 2016 относительно паролей. Всё прямо там: “никаких правил составления паролей”. Впрочем, здесь я вижу одну ошибку, там стоило написать “никаких хе*овых правил составления паролей”».
Далее разработчик перечисляет методики усиления паролей, которые действительно работают и могут быть полезными. К примеру, он советует чаще использовать Unicode, так как это позволяет существенно удлинить и усложнить пароль. Также Этвуд призывает проверять энтропию паролей и в понятной форме доносить до пользователей, чем плох пароль «aaaaaaaaaa», несмотря на его длину. Кроме того, он рекомендует разработчикам чаще сверяться со словарем и базами утечек, попросту запрещая пользователям применять самые простые и распространенные пароли. Также следует запрещать и пароли, совпадающие с именем пользователя и его email-адресом (тот же принцип относится к URL, домену и названию приложения, для которых создается пароль). В качестве иллюстрации своих слов исследователь приводит простую и очень наглядную статистику:
- 1,6% пользователей имеют пароли из числа худших 10;
- 4,4% пользователей имеют пароли из числа худших 100;
- 9,7% пользователей имеют пароли из числа худших 500;
- 13,2% пользователей имеют пароли из числа худшей 1000;
- 30% пользователей имеют пароли из числа худших 10 000.