Прежде всего позвольте мне сказать, что такие детали, как минимальная длина, чувствительность к регистру и требуемые специальные символы, должны зависеть от того, кто имеет доступ и какой пароль позволяет им делать это. Если это код для запуска ядерной ракеты, он должен быть более строгим, чем пароль для входа в вашу платную онлайн-версию Angry Birds.
Но у меня есть КОНКРЕТНАЯ говядина с чувствительностью к регистру.
Для начала, пользователи ненавидят это. Человеческий мозг думает "А = а". Конечно, мозги разработчиков обычно не типичны. ;-) Но разработчиков также беспокоит чувствительность к регистру.
Во-вторых, клавиша CapsLock слишком легко попасть по ошибке. Он находится между клавишами Tab и Shift, но ДОЛЖЕН быть над клавишей Esc. Его местонахождение было установлено давно во времена пишущих машинок, у которых не было альтернативного шрифта. В те дни было полезно иметь его там.
Все пароли имеют риск ... Вы сочетаете риск с простотой использования, и да, удобство использования имеет значение.
МОЙ АРГУМЕНТ:
Да, чувствительность к регистру более безопасна для данной длины пароля. Но если кто-то не заставляет меня поступить иначе, я выбираю более длинную минимальную длину пароля. Даже если предположить, что разрешены только буквы и цифры, каждый добавленный символ умножает количество возможных паролей на 36.
Кто-то, кто менее ленив, чем я с математикой, может сказать вам разницу в количестве комбинаций между, скажем, минимальным 8-символьным паролем с учетом регистра и 12-символьным паролем без учета регистра. Я думаю, что большинство пользователей предпочли бы последнее.
Кроме того, не все приложения предоставляют имена пользователей другим пользователям, поэтому хакеру может понадобиться найти два поля.
Я также предпочитаю разрешать пробелы в паролях, если большая часть пароля не является пробелами.
В проекте, который я сейчас разрабатываю, мой экран управления позволяет администратору изменять требования к паролям, которые применяются ко всем будущим паролям. Он также может заставить всех пользователей обновлять пароли (к новым требованиям) в любое время после следующего входа в систему. Я делаю это, потому что чувствую, что мои вещи не нуждаются в чувствительности к регистру, но администратор (который, вероятно, заплатил мне за программное обеспечение) может не согласиться, поэтому я позволю этому человеку решить.
PIN-код для моей банковской карты состоит из четырех цифр. Так как это только цифры, он не чувствителен к регистру. И, черт возьми, это мои ДЕНЬГИ! Если вы не учитываете ничего другого, это звучит довольно небезопасно, если бы не тот факт, что хакер должен украсть мою карту, чтобы получить мои деньги. (И сфотографироваться.)
Еще одна претензия: разработчики, которые заходят на StackOverflow и извергают жесткие правила, которые они где-то читали в статье. «Никогда ничего не кодируй жестко». (Как будто это возможно.) «Все запросы должны быть параметризованы» (не если пользователь не вносит свой вклад в запрос.) И т. Д.
Пожалуйста, извините напыщенную речь. ;-) Обещаю, я уважаю разногласия.