Тогда для организации политика паролей является хорошей и плохой идеей. Любая система генерации паролей вызовет меньший набор, чем действительно случайно сгенерированный пароль. Чтобы помочь с такими вещами, как система историй XKCD, работают достаточно хорошо, поскольку они избегают личных вещей о пользователе, которые могут быть известны или обнаружены.
В качестве примера, предполагающего, что пользователи используют свое имя, с полевками, замененными числами (a = 1, b = 2 и т.д.), Будет генерироваться что-то, что выглядит случайным для обычного человека, но его легко сломать. Включение другого слова, например, названия должности, отдела или девичьей фамилии матери, добавит к абстракции, но у вас все еще есть кое-что, что должна подхватить недобросовестная атака. Все из-за того, что теперь вы увеличили время атаки по словарю от Собственных Существительных в (вестерн?) культура + собственные существительные с гласными.
ThomasSoftwareEngineer becomes Th4m1sS4ftw1r22g3n22r
Выглядит случайным, но не очень случайным для программ. Конечно, не тот, кто знает, что пользователь является инженером программного обеспечения по имени Томас.
Если вы добавите к вышеперечисленному коллекцию магазинов, которые люди могут объединить, некоторые запоминающиеся, но неясные вещи могут быть:- детские воспоминания - секретные разрушения - Немезида - первые автомобили - автомобильные номерные знаки - рассказы из понравившейся книги. Это может создать что-то немного длиннее и для паролей длиннее почти всегда лучше. У Томаса была Astra в качестве его первой машины, и он загнал ее в брод в реке.
ThomasAstrafordriver
Опять же, это только 4 словарных слова, но это начинает быть запоминающимся. Я мог бы увеличить энтропию, указав год, когда я получил машину или сломал ее.
ThomasAstra2005fordriver2006
Я мог бы повысить энтропию, выбрав какой-нибудь символ для использования в качестве пробела, _ и - хорошо известны, но они лучше, чем ничего, и можно выбрать все, что разрешено.
Thomas#Astra#2005#for#driver#2006
Теперь это запоминающе, имеет высокую энтропию и должно занять некоторое время, чтобы угадать. Как и со всеми хорошими паролями, мне понадобится некоторое время, чтобы научиться быстро его набирать, но если вы можете легко ввести пароль, он, вероятно, не очень хороший.
Теперь я бы не советовал вам использовать или вводить пароль, который вам действительно нужен, в любом браузере, так что вы можете использовать аналогичные, а не реальные, но ...
https://www.grc.com/haystack.htm На вышеуказанном веб-сайте было приятно увидеть размер области поиска пароля. Он не измеряет силу, но дает представление о том, что длина важна, как и использование заглавных букв, цифр и символов:
Password Search Space Size
ThomasSoftwareEngineer 5.76 x 10^37
Th4m1sS4ftw1r22g3n22r 4.44 x 10^37
ThomasAstrafordriver 2.13 x 10^34
ThomasAstra2005fordriver2006 1.56 x 10^50
Thomas#Astra#2005#for#driver#2006 1.86 x 10^65
Другие вещи, которые я слышал, рекомендовали, чтобы вы брали пароли пользователей и запускали их через локальный, безопасный, мощный сервер с инструментом взлома паролей, проводя атаки по словарю и методом подбора. Если вы можете взломать пароль через неделю, то может кто-то другой. При взломе у него истекает срок действия пароля и просят пользователя сделать новый, возможно, предоставив им хиты.
- отменить ответ на вопрос или «Насколько менее безопасный, чем действительно случайный» - я поместил это как комментарий, но он лучше подходит как дополнение к ответу. Продолжая из приведенных выше примеров:
Насколько надежно эти пароли из нескольких слов сравниваются с действительно случайными символьными паролями, зависит от того, как вы хотите обращаться со словарными словами. Если мы используем подсчеты энтропии, как описано здесь: [ http://blog.shay.co/password-entropy][1]
H = Llog2N, где L - длина пароля, а N - размер алфавита.
Мы можем делать вещи двумя способами. Если мы решили рассматривать каждое словарное слово как один символ в алфавите, то для ThomasSoftwareEngineer будет только L = 3, но что такое N? Ну, Google и OED говорят, что в английском языке есть около 200 000 слов, поэтому мы получаем: H = 3 * log [base2] * 200 000 = 52,83, что похоже на пароль из 9 буквенно-цифровых символов.
Затем, если вы разрешите замену некоторых гласных цифрами, вы увеличите размер алфавита примерно до 400 000, чтобы он стал H = 3 * log [base2] * 400 000 = 55,83. В комиксе XKCD вместо 4 используются 4 словарных слова. Энтропия 52,8 для 3 слов (без цифр): H = 4 * log [base2] * 200,000 = 70,44 70,4 примерно такая же энтропия, что и 12-значный буквенно-цифровой пароль (H = 12 * log [base2] * 62 = 71,45) Итак, вопрос в том, можете ли вы вспомнить 12 случайных чисел и букв, а также вспомнить 4 не связанных английских слова? Очевидно, что более длинный пароль (больше слов) всегда будет лучше, и вам следует избегать коротких слов (так как 4 * 3-буквенные слова - это всего 12 буквенных символов, что составляет энтропию 68,4).
Итак, вот энтропии, которые вы получаете для каждого типа пароля: Числовые пароли (N = 10) Энтропия (H) Длина (L) Размер алфавита (N) 9,965784285 3 10 13.28771238 4 10 16.60964047 5 10
Case Insensitive Alphabetic Passwords (N = 24)
13.7548875 3 24
18.33985 4 24
22.9248125 5 24
Case Sensitive Alphabetic Passwords (N = 52)
17.10131915 3 52
22.80175887 4 52
28.50219859 5 52
Case Sensitive Alpha-Numeric Passwords (N = 62)
17.86258893 3 62
23.81678524 4 62
29.77098155 5 62
Case Sensitive Alpha-Numeric Passwords with symbols on a QWERTY keyboard (N = 94)
19.66376656 3 94
26.21835541 4 94
32.77294426 5 94
Passwords formed using a random selection of 200,000 words from the English Language (N=200000)
52.82892142 3 200000
70.4385619 4 200000
88.04820237 5 200000
As above but assuming you know 20,000 words (N=20,000)
42.86313714 3 20000
57.15084952 4 20000
71.4385619 5 20000
Примечание: 20000 слов - это приблизительное число, которое знает английский образованный пользователь, так что, возможно, это лучший выбор в качестве предположения о том, что люди выберут. Тем не менее, это показывает, что 3 общих слова делают пароль лучше, чем полностью случайный пароль из 5 символов на QWERTY-клавиатуре.