Должен ли я разрешить двухсимвольный пароль?

Это может показаться легкомысленным вопросом, но его поймут те, кто занимается безопасностью. Должен ли я позволить пользователю вводить любое количество символов, если оно больше 0 символов. Моя логика такова:

  1. пароль все равно будет хеширован и солен, и
  2. для кого-то, кто делает радужный стол, веселее НЕ иметь никаких указаний по длине/других правил, но
  3. Меня беспокоят атаки методом грубой силы по словарю.

Я вроде на правильном пути с этим?

Поскольку я задаю вопрос о нижнем пределе, я мог бы также спросить о верхнем пределе? Опять же, он будет хэширован и солен, поэтому размер базы данных не является проблемой. Тогда единственная проблема, о которой я могу думать в этом случае, это буферы больше, чем что-либо еще, верно?

Обновление Для тех, кто опоздал с вопросом

Таким образом, общий консенсус, кажется, подтверждает то, что я изначально думал, что риск грубой силы увеличивается. Тем не менее, работа взломщика RT не сильно усложняется тем фактом, что они понятия не имеют о размере. На самом деле это может быть проще, поскольку они все равно начинают с более низких таблиц символов. Правильный? (Не говоря уже о нетехнических проблемах, которые теперь возникают при просмотре через чье-то плечо и т. Д., Которые не так важны для более длинного пароля.)

Итак, вывод таков: даже если вы хешируете/солиете пароль, короткие пароли все равно представляют риск

Однако для длинных паролей я не уверен, что у меня есть окончательный ответ? Должен ли я беспокоиться о переполнении буфера, в конце концов, это все еще обычное поле ввода.


person Chris    schedule 21.10.2009    source источник
comment
Если вы собираетесь установить максимальную длину, сообщите об этом пользователю и позаботьтесь об этом как можно скорее. Кроме того, максимальная длина должна быть достаточной, чтобы маловероятно, что она будет превышена, возможно, 30 символов.   -  person James Black    schedule 22.10.2009


Ответы (10)


Это оставит злоумышленнику всего 1296 вариантов, чтобы угадать пароль конкретного пользователя.

person Dasa    schedule 21.10.2009
comment
Не обязательно правда. Представьте, что стандартный пользовательский выбор ограничен стандартными клавишами, скажем: 52 для букв, 20 для цифр и смещенных символов и 22 для других стандартных символов, то есть пул, скажем, 94. Хотя это может дать пользователю (и разрешенным символам ) кредит, он создает колоссальные 8836 вариантов для 2 символов. (Впрочем, я согласен, что этот пул тривиально мал). - person ; 21.10.2009
comment
Но дросселирование тоже в действии, это все еще проблема? - person Chris; 21.10.2009
comment
Зависит от. Представьте себе сценарий, в котором одна попытка может быть сделана каждые 10 секунд, и злоумышленник запускает перебор двух персонажей (например, они провели исследование): 8836 вариантов могут быть взломаны не более чем за 88360 секунд (~ 1 день). Однако среднее значение будет вдвое меньше, и более разумный выбор генерации грубой силы на основе частот символов может еще больше уменьшить это значение. - person ; 21.10.2009
comment
(Конечно, это также предполагает, что у пользователя есть только двухсимвольный пароль; минимальное ограничение в 2 символа не совсем то же самое, что и верхнее ограничение в 2 символа :-) - person ; 21.10.2009

Нет. Это просто глупо.

Если ваши пароли правильно хешированы и просолены, радужные таблицы, кстати, не проблема.

person chaos    schedule 21.10.2009

Даже если он будет хеширован, пользователь вводит пароль, а 2 символа взломать тривиально.

Я думаю, что для верхнего уровня зачем иметь ограничение, но для нижнего уровня 6 символов кажутся разумными, хотя я бы предпочел, чтобы 7 было минимумом для безопасности.

person James Black    schedule 21.10.2009
comment
Даже если пользователи использовали специальные символы (чего они не делают), пароль из 7 символов — это всего лишь 46-битный пробел. Слишком маленький. - person erickson; 21.10.2009
comment
@erickson - Если люди чувствуют себя комфортно, если не хватает одного, то они должны иметь возможность выбирать, но для разумного нижнего предела я хотел бы видеть 7, но зачем иметь верхний предел. - person James Black; 21.10.2009
comment
Если люди чувствуют себя комфортно за рулем после того, как выпили шесть банок пива, следует ли им это разрешать? Административный пользователь, который чувствует себя комфортно, выбирая плохой пароль, может подвергать риску тысячи пользователей. - person erickson; 21.10.2009
comment
У вас должна быть безопасность для того, что вы защищаете. Итак, на веб-сайте, на котором есть какой-то пароль, но нет ничего слишком важного, я могу использовать более короткий пароль. Парольная фраза, которую я использую для цифровых подписей в электронных письмах, состояла примерно из 40 слов (намного больше 200 символов). Если администратор не понимает безопасности, он не должен выполнять эту работу. Что ты защищаешь? Это определит безопасность. - person James Black; 21.10.2009

Требования к безопасности должны быть созданы в отношении ценности того, что защищается, и ущерба (или ответственности, вызванной ущербом), который может возникнуть в случае его компрометации.

Иногда это предписано организацией, клиентом или протоколом, и обращение к таким источникам за рекомендациями может в конечном итоге избавить от хлопот и, в более безопасных случаях, может включать такие вещи, как использование брелоков RSA, карт безопасности или считывателей отпечатков пальцев.

Лично меня раздражает, когда сайт требует какой-то ужасно сложный пароль. Я думаю, что 6 символов, включая один символ/число, является справедливым требованием, скажем, для такого сайта, как stackoverflow. На мой банковский счет? Скажем так, пароль немного сложнее.

Но есть дополнительные фундаментальные проблемы безопасности:

  • Атаки грубой силы и словаря практически работают только в том случае, если тесты могут применяться [очень] быстро. Вот почему современные системы UNIX используют теневой файл паролей — он сводит к минимуму вероятность сбора паролей для атак методом грубой силы. Хотя «блокировки» могут раздражать, они также могут практически предотвратить простой подбор.
  • Социальная инженерия: «Могу ли я сыграть вашего персонажа?» Как зовут твою девушку? Вы записываете пароль или показываете его при вводе? (Кто-нибудь смотрит?) Используемый вами пароль является общим для разных сайтов/целей?
  • Обходят ли другие «функции» безопасность? Можно ли сбросить пароль или текущий пароль высылается по электронной почте? Какие ограничения есть на сброс?
  • Нарушена ли безопасность другими способами (HTTP или HTTPS, telnet или SSH, доступное хранилище [обычного текста] и т. д.).
  • И самая большая неприятность: стандартные контрольные вопросы. Google для "Электронная почта Сары Пэйлин взломана". Пожалуйста, пожалуйста, пожалуйста, не идите по этому пути без тщательного рассмотрения.
person Community    schedule 21.10.2009
comment
Больше семантики извлечено из учебного пособия ISC2. Сам по себе пароль небезопасен независимо от того, какое хэширование, соление или шифрование на уровне строки используется, потому что это единственный метод безопасности: то, что вы знаете. Безопасность — это уровни и запутывание. - person Keith Adler; 04.11.2009

Нет. В идеале пароли должны состоять из 8 символов, включая цифры и символы. 14 или более символов было бы еще лучше.

person Nathan Z    schedule 21.10.2009
comment
14 или больше? Я бы никогда не хотел войти в ваши приложения. - person JonH; 21.10.2009
comment
@JonH - это не минимум, а верхний предел, который был задан в вопросе. - person James Black; 21.10.2009
comment
Почему именно верхние пределы — это хорошо? У меня есть 22-символьный пароль, который я часто использую, и меня очень раздражает, когда мне приходится сокращать его для того или иного сайта. Это не так раздражает, как сайты, которые, по общему признанию, не позволяют использовать символы в пароле. - person olive; 21.10.2009

Ключ № 3: 2-3-символьные пароли слишком уязвимы для атак по словарю (слишком мало комбинаций и, таким образом, они могут включать в себя всю вселенную в комбинациях атак).

Верхний предел не имеет значения, но все, что превышает 20 символов, означает, что пользователь, скорее всего, будет копировать/вставлять большую часть текста, что является плохой практикой, которую не следует поощрять.

person DVK    schedule 21.10.2009
comment
Я не согласен. Я использовал гораздо более длинные пароли на сайтах, которые позволяют это делать, создавая парольные фразы (предложения), а не пароли. - person Espo; 21.10.2009
comment
Я сказал скорее всего, не всегда :) - вы являетесь исключением, но подавляющее большинство пользователей не сможет справиться с вводом пароля из 20 символов, даже если это парольная фраза. Дело не только в запоминании, но и в печатании. - person DVK; 21.10.2009
comment
С помощью слов в кости и других методов можно легко создавать безопасные запоминающиеся пароли длиной более 20 символов. - person erickson; 21.10.2009
comment
У меня пароль из 22 символов. Есть несколько повторяющихся символов. Я просто хотел бы сказать, что меня действительно раздражает, когда я не могу его использовать. Особенно на сайтах, где он просто молча ломает мою учетную запись пользователя. :[ - person olive; 21.10.2009
comment
@erickson - и сколько пользователей знают и используют такие методы по сравнению с хранением длинного пароля в текстовом файле и копированием / вставкой? Кроме того, как я уже сказал, проблема не столько в запоминании PW, сколько в его вводе. Черт возьми, я достаточно часто делаю опечатки в 9-символьных. - person DVK; 21.10.2009
comment
@DVK: Кто-то может возразить, что сверхдлинный пароль — это признак человека, заботящегося о безопасности. Действительно ли правильно предположить, что человек, выбравший очень длинный пароль, поместит его в текстовый файл? - person olive; 21.10.2009

Люди, создающие радужную таблицу, вероятно, начнут со всех паролей длиной в 1 символ, а затем очень быстро найдут короткие пароли.

Что касается максимальной длины, у вас ее не должно быть.

person Espo    schedule 21.10.2009

Это делает ваших пользователей очень восприимчивыми к тому, что незнакомцы оглядываются через их плечо, не так ли?

Тогда на самом деле не имеет значения, закрасите ли вы символы пароля в форме или нет — если кто-то увидит, что в его пароле всего два символа, ему будет легко пробовать комбинации, пока они не разберутся.

person PreciousBodilyFluids    schedule 21.10.2009

Проблема с двухбуквенными паролями связана с социальной инженерией. Кто-то может наблюдать, как пользователь набирает только две клавиши, и тогда становится реальной атака полным перебором (даже без написания программы).

Если вы можете исключить такой случай (потому что никто никогда не увидит, как кто-то набирает пароль), я бы сказал, что двухбуквенный пароль подходит даже в свете атак по словарю. Кто-то, кто проводит такую ​​атаку, все равно должен будет попробовать все реалистичные комбинации, и если вы не предотвратите использование обычных слов в качестве паролей, нет смысла запрещать двухбуквенные комбинации.

person Martin v. Löwis    schedule 21.10.2009
comment
Наблюдение за вводом пароля — это не социальная инженерия. Социальная инженерия выдает себя за заслуживающего доверия человека / авторитет, чтобы заставить пользователя добровольно предоставить свой пароль. - person ty812; 21.10.2009
comment
Итак, существует ли технический термин для поиска пароля посредством физического/личного взаимодействия? - person Martin v. Löwis; 21.10.2009
comment
Возможно, социальная инженерия — не совсем правильный термин, но, безусловно, правильный ответ. - person Chris; 21.10.2009
comment
Все комбинации букв длиной до четырех символов проверяются набором средств восстановления пароля: schneier.com/blog/archives/2007/01/choosing_secure.html Однако это не первые в списке, которые стоит попробовать. - person erickson; 22.10.2009

Позвольте пользователю выбрать любой пароль, который он хочет. Повысьте уровень надежности пароля, но не ограничивайте пароль. Это не ваш пароль, это их.

person I. J. Kennedy    schedule 06.11.2009