Это политика паролей, которую я только что получил от UPS (только для проверки статуса пакета):
Ваш пароль должен быть длиной от 8 до 26 символов. Он должен содержать как минимум три следующих типа символов: строчные буквы, заглавные буквы, цифры, специальные символы или пробелы. Пароль не может содержать ваш идентификатор пользователя, ваше имя или адрес электронной почты. (SSO_1007)
На самом деле мне нужно немного напрячь свой мозг, чтобы сгенерировать этот пароль, но не только, что, самое главное, я уверен, что через 3 дня я забуду, что это за пароль. Пользователи не будут такими счастливыми. Сброс пароля может быть частым. Я думаю, что пользователи будут стараться избегать использования сайта без необходимости.
Что такое разумная и безопасная политика паролей при настройке сайта? Я думаю, что некоторые компании могут бояться, что некоторые хакеры пробуют пароли миллион или более раз, поэтому они добавляют все эти требования для «специальных символов, строчных и прописных букв», но не будет ли разумно отключить учетную запись или просто отключить пароль и требуется сброс пароля, если пользователь пытался 30 раз или 100 раз? Или добавить 5-секундную задержку каждый раз после того, как пользователь попробовал 30 раз? Если так, то эти специальные символы не будут столь необходимы.
Ответы:
Честно говоря, я считаю, что наличие строгих требований к паролям раздражает, а не приносит пользу. Я бы сказал, что, как правило, наиболее разумным является указание длины, возможно, специальных символов + буквенно-цифровых символов. Все, что больше, просит людей записать свой пароль, что лишает смысла иметь надежные пароли. Я также ненавижу менять свой пароль каждые x дней с обычным нелепым набором правил (например, нельзя повторно использовать последние 25 паролей) - опять же, все, что нужно, это заставлять людей записывать вещи, чтобы они не забыли, в в этот момент вы могли бы вообще не спрашивать пароль.
источник
Мое мнение таково, что пароли должны иметь только требование длины. Вы не хотите, чтобы кто-то вводил «а» в качестве пароля. И, как показывает ответ xkcd, чрезвычайно сложный для запоминания пароль не всегда безопасен. Всегда позволяйте людям менять свой пароль. И забудьте о дерьме «Вы не можете использовать символы из предыдущего пароля».
Создание непристойной политики паролей принесет больше вреда, чем пользы. В колледже я пошел, чтобы политика паролей была похожа на политику UPS, и вам приходилось менять ее каждые 2 недели, и вы не могли использовать предыдущие 50 паролей, которые вы использовали. Поэтому мои учителя рекомендовали при настройке учетных записей использовать наш обычный пароль, соответствующий правилам, добавить в конец счетчик и добавить в подсказку к паролю номер счетчика.
Кроме того, строгая политика паролей ничего не изменит, если ваша база данных с открытым текстом взломана ошибкой SQL-инъекции ... или вы отправите пароли своим пользователям по электронной почте, и они будут перехвачены.
По сути, не делайте вашу систему паролей хлопотом для ваших пользователей, иначе это заставит их делать небезопасные вещи, чтобы они могли обойти это. Например, моя компания, получая выделенный сервер из центра обработки данных, установила нам пароли длиной 20 символов. Они были слишком безопасны, чтобы послать их нам по электронной почте, и их нужно было отправить по факсу. Мы не могли изменить пароли, только запрос на создание нового 20-символьного пароля. И так было для каждого пользователя ... так что в итоге мы просто сделали текстовый документ на наших рабочих столах с паролем. Кроме того, мы их больше не используем, потому что при всей их «безопасности» они были совершенно небезопасны.
источник
Не забудьте разрешить пробелы. Все, кого я знаю, могут набирать короткие фразы быстрее, чем они могут вводить первую букву каждого слова в фразе. Например, попробуйте набрать,
Bird in a Tree
а затемBiaT
. Преимущество этого заключается в том, что если вы напишите смутно подходящую фразу, напримерpick Up milk
илиMeetings all day
на заметке, это, очевидно, не пароль.Я не большой поклонник правил «у вас должны быть цифры и символы», но если вы применяете их последовательно (например, я всегда 1, а всегда @), то вы все равно можете написать английскую фразу на липкой, применить известные только для вас правила и введите
B1rd in @ tree
пароль. С точки зрения безопасности цифры и символы мало что добавляют, но они не должны сводить вас с ума как пользователя.Сайты с максимальной длиной пароля раздражают, если моя милая фраза считается «слишком длинной». 26 кажется разумным. Я понимаю, что кто-то должен проектировать ширину столбца, но 12 просто тупо мало.
источник
Безопасный и удобный
Политика безопасности пароля должна соответствовать стоимости компрометации. Если ваш веб-сайт выходит на мою финансовую учетную запись, я хотел бы обеспечить надежную защиту паролем. Если это нишевый фанатский сайт об автоботов, вам не нужно много защиты.
Правила UPS являются разумными, за исключением:
Я не видел сброса после X попыток в указанных правилах, я думаю, что в большинстве случаев это глупо. Я думаю, вам лучше заблокировать кого-то на какое-то время, чем принудительно выполнять сброс. Это подразумевает определенный уровень безопасности. Если в этом нет необходимости, то это не так, и блокировка / сброс - это спорный вопрос.
Существует много правил политики паролей, которые в лучшем случае имеют минимальные преимущества для безопасности. Тем не менее, существуют также правила, которые имеют реальные, ощутимые преимущества для безопасности вашего пароля.
Правила (и причины):
Предотвращает комбинаторную пробную и ошибочную атаку, которая быстро сломает очень короткий пароль.
Это предотвращает атаки по словарю.
Это увеличивает среднее пространство атаки.
Все эти причины могут быть связаны с минимизацией предвзятости пользователя при выборе паролей. Большинство пользователей склонны создавать более короткие и легко запоминающиеся пароли. К сожалению, это обычно облегчает атаку пароля. Большинству пользователей нужны инструкции по созданию безопасных запоминающихся паролей или более длинная фраза-пароль.
Безопасные памятные пароли
Когда мне нужно создать пароль с ограничением длины, я всегда начинаю с фразы, поэтому у меня есть встроенная мнемоника. Я беру фразу и получаю одинаковый позиционный символ от каждого слова. Теперь у меня есть последовательность только символов. Затем я выбираю заглавные буквы, некоторые на основе собственных имен в фразе или по шаблону (первая и последняя, каждая другая буква и т. Д.). Затем я добавляю знаки препинания и цифры, основанные на каком-то произвольном правиле или шаблоне. (т. е. все «j - это 7, используя« & », где есть« и »во фразе и т. д.).
Фраза предоставлена Queen
После того, как я наберу это несколько раз, думая над фразой, у меня никогда не будет проблем с запоминанием.
источник
real
безопасность (они увеличивают только восприятие безопасности) и могут фактически нанести вред безопасности.Mama, just killed a man.
Минимальный пароль длиной 8 символов является наследием Lan Manager. Lan Manager хэшировал пароли, разбивая их на 2 строки по 7 символов, а затем хэшировал. Требуя минимум 8 символов, они гарантировали, что второе слово не будет таким же, как для пустого пароля (соли не было, поэтому каждый экземпляр из 7 пробелов хэшируется с одинаковым результатом).
Я сдался, правила настолько глупы и смешны, что я записываю их сейчас. Все, кроме немногих, которые я использую для веб-сайтов. Мой нынешний работодатель также отслеживает последние 24 использованных пароля, чтобы они не могли быть переработаны, и при этом пароль не может содержать английское слово длиной более 3 символов (вперед или назад). Это также гарантирует, что вы не используете предыдущее слово и увеличиваете некоторое число как часть его (поэтому, если бы вы
P4ssw0rd1
были использованы, вы не могли бы использоватьP4ssw0rd2
, ниP4ssw0rd0
).Я усвоил урок в офисе, когда мне пришлось сменить пароль, потребовалось 45 минут, чтобы система смогла принять замену, затем быстро забыл, что я придумала, пришлось сбросить его и потерять еще 45 минут, пытаясь найти что-то, что я мог вспомнить, что было достаточно сложным, чтобы соответствовать требованиям (некоторые из них перечислены выше, некоторые нет, а некоторые я не знаю). Не очень весело пытаться придумать что-то, что соответствует правилам, которые вам запрещено знать. По крайней мере, в таких играх, как Mastermind, вам дают подсказки о том, как близко вы подходите. В офисе некоторые люди используют смарт-карты , я не один из них.
источник
Использование bcrypt при хранении пароля является хорошим первым началом, просто потому, что делает попытки взлома методом "грубой силы" невозможными.
источник
Разумный и безопасный являются взаимоисключающими. Это два конца стержня. Подвести баланс в середине будет лучше всего. Чтобы обеспечить безопасность, и люди записывают пароли или используют полностью незащищенную функцию разблокировки паролей.
Приведенный выше пример, похоже, больше склоняется к безопасности, чем к разумным. Я видел хуже.
Я предпочитаю склоняться к разумному. Ключ должен наклониться к безопасному в вашем бэк-энде. Храните как можно меньше, используйте соли и т. Д. Все последние рекомендованные методы для кодирования паролей в вашей базе данных и их кодирования также одним способом. Тогда сохраняйте свою базу данных и свой код в безопасности. Также обучите всех, кто имеет права администратора вашей системы, использовать уникальный безопасный пароль. Недавно было показано, что объединение нескольких словарных слов безопаснее, чем перетаскивание в специальные символы и регистр. Это требовало составных словарных совпадений, которые действительно увеличивали время для хакеров, однако они оставались запоминающимися для пользователей.
источник
Не словарное слово или его тривиальное изменение. Вот и все. Связка из двух словарных слов практически не ломается. Однобуквенная замена для символа, который также не является очевидной заменой (0-O, 1-I, 5-S).
Кроме того, если вы ограничиваете время ответа - пароль принимается / отклоняется через 1 с, и не допускаются две параллельные попытки для одного и того же входа в систему - одна должна завершиться (ОК или ошибка), прежде чем вы попробуете другой, любой не-словарь 6-буквенный все строчные буквы нет Взлом пароля для специальных символов займет 9 лет.
источник
Сложность требования к паролю должна быть сбалансирована с содержанием ваших сайтов. Банк должен требовать очень сложный пароль (прописные, строчные, цифры и специальные символы). Однако, если содержимое тривиально, например, сохраненные поиски и номера отслеживания, требование к паролю следует ослабить. Минимальная длина 6 символов должна быть достаточной. В противном случае это будет просто раздражать вашу аудиторию и удерживать ее от создания логина.
источник