Зачем ограничивать длину пароля?
Я только что зарегистрировался на сайте для покупки некоторых товаров, и когда я попытался ввести свой (достаточно безопасный) пароль, мне сообщили, что он слишком длинный, и что я должен ввести пароль длиной от 5 до 10 символов! Какой смысл в этом? Кто принимает такие решения? Конечно, идеальный пароль будет действительно длинным и сложным? Почему люди настаивают на попытках ограничить, какие типы паролей вы можете использовать?
Приходилось ли вам вводить логин на сайт? Был логин в безопасных целях (например, покупка товаров). Какие (если есть) ограничения вы наложили на пароль пользователя? Каковы были ваши причины для решения?
9 ответов
Ограничение размера пароля - это попытка сэкономить место на диске. Это в значительной степени указывает на то, что ваш пароль хранится прямо в их базе данных, поэтому они хотят ограничить его размер. В противном случае это просто ограничение, потому что разработчики не знают ничего лучше. В любом случае это плохой знак.
Возможно, вы захотите связаться с администраторами сайта и спросить их об этом. Они должны хранить хеши, а не пароли, которые всегда имеют одинаковый размер, независимо от того, насколько велик пароль. На самом деле не должно быть никаких ограничений ни по вводимому вами паролю, ни по домену символов, которые вам разрешено вводить.
Наиболее распространенная причина этого заключается в том, что интерфейс интегрируется с какой-то старой унаследованной системой, которая обрабатывает не более определенного количества символов.
Ограничение длины, вероятно, связано с проблемой места на диске, но это может быть очень плохой мерой против написания сценариев. Я был бы намного увереннее, если бы мой банк сказал мне, что мой пароль был слишком коротким, а не слишком длинным. Всякий раз, когда мне говорят, что мой пароль слишком короткий или "специальные" символы не разрешены, я думаю: "О, они не должны были найти мой пароль в своем словаре... лицевая сторона".
Любые символы должны быть разрешены. Парольные фразы следует поощрять, а не препятствовать. Их гораздо легче запомнить, чем загадочные пароли, и их гораздо сложнее взломать, поскольку их не будет в таблице поиска.
Кажется особенно глупым, учитывая, что любой полуприличный веб-сайт не хранит пароли в виде открытого текста в своей базе данных, он хранит односторонний хэш этого пароля (который всегда будет установленной длины в зависимости от используемого алгоритма, например, sha1 представляет собой 160-битный дайджест), а затем повторно введите этот пароль при входе в систему, чтобы убедиться, что новый хешированный пароль соответствует сохраненному.
Кроме как для дизайна внешнего интерфейса - я согласен, не имеет смысла устанавливать максимальную длину пароля. Минимальная длина совершенно другая, хотя по очевидным причинам.
Некоторые (плохо спроектированные) веб-сайты имеют максимальную длину пароля по простой причине: это все пространство, которое они имеют в своей базе данных для хранения вашего пароля. Есть большая вероятность, что они не хэшируют или не обрабатывают его вообще, то есть он хранится в виде обычного текста. На таких сайтах я использую одноразовые одноразовые пароли каждый раз. Это плохой дизайн, и к сожалению, люди все еще используют его.
10-символьный буквенно-цифровой пароль без учета регистра содержит 839 299 365 868 340 224 возможных перестановок. Для грубой силы потребуется несколько ледниковых периодов, если предположить, что он может проверять 1 миллион в секунду. Это достаточно безопасно для меня.
"Лучшая" причина, вероятно, чтобы вы могли запомнить пароль.
Может случиться так, что алгоритм, который они используют для шифрования, плохо работает с большими паролями или у них ограниченное хранилище для его хранения. Я знаю, что это очень плохие причины, но это возможно.
Если бы я должен был создать правила для паролей, это было бы только для защиты пользователей, например, принуждение их использовать хотя бы один специальный символ и число или смешивание строчных и прописных букв.
Это может быть потому, что они хранят ваш пароль в виде обычного текста и пытаются сэкономить место, но это также может быть попытка остановить людей, которые действительно долго делают свои пароли, а затем забывают их, что означает, что компания должна отправить электронное письмо с Ваш пароль, который немного хлопотно.
Единственной возможной причиной ограничения пароля таким способом является упрощение таблицы базы данных, и это плохая причина. Длинные, сложные пароли должны быть разрешены!
Кроме того, сайт не должен хранить пароль вообще, а должен хранить криптографический хеш. Поскольку хэш имеет фиксированный размер, это делает базу данных очень простой и требует небольшого объема хранения.