Какие аспекты нужно иметь в виду при исполнении фраз?

По данным XKCD: пароль силе, если пароль состоит из “четырех случайных общих слов”, оно будет безопасным и запоминающимся.

Я хочу сделать веб-приложения и пользователи создают свои пароли таким образом. Каждый пароль должен иметь не менее 16 символов и должно быть назначено наказание не менее 4 слов, чтобы сделать его более безопасным и запоминающимся. Но это сделает злоумышленник знал, что все пароли такие. Это плохая идея?

Какие есть лучшие способы, чтобы заставить пароли, которые являются более безопасными и запоминающимися одновременно?

Комментарии к вопросу (5)

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

Что еще более важно, если причина вы хотите сделать это, чтобы заставить пользователей использовать надежные пароли, затем создать 4 слова пароля. Вы можете создать такой пароль, имея словарь, затем выбирают случайное число между 1 и число слов в свой словарь и принимая это слово. Сделать это 4 раза и у вас есть пароль. Вы можете получить вдохновение здесь. Это важно, так как большинство пользователей не могут выбрать 4 случайных слова, но вместо 4 легко угадываемые слова. В таком случае это будет хуже, позволяя им выбрать любой пароль.

Комментарии (14)

Вы ссылаетесь на Kerckhoff'ы Принцип. При проектировании криптографических систем, мы предполагаем, что злоумышленник будет знать все о вашей системе, за исключением энтропии производных деталей (ключи/пароли/и т. д., Как правило) - это потому, что мы можем'т гарантировать, что они не'т знаю подробностей, но надо полагать, что они не'т знаю, что наши сгенерированные ключи. Любая схема генерации паролей следует так рассуждать - если схема пароль считается надежным, то вы можете полагать, что злоумышленник, зная, какой схеме вы're через это'т проблема.

Причина в том, что это'т проблема связана с тем, что пространства имен пароля. Если вы требуете, чтобы пользователь генерирует пароль на основе известного списка diceware, такие как список EFF, а ты требуешь, что это как минимум 4 слова, то мы можем вычислить сложность пространства имен.

Во-первых, мы'МР понять пространства имен из одного слова - в списке diceware эфф, вы выбросили пять шесть кубиков и выбрать результат, который приходит. Потому что есть пять позиций с шести вариантов, мы можем вычислить 6^5, что дает нам 7776 - это просто означает, что есть 7776 различных возможных слов для каждого места.

Теперь мы можем вычислить минимальную сложность имен четырех из этих слов. Это делается на основе числа возможных слов и возводить его в степень числа слов в пароле - 7776 ^ 4. Это дает нам 3656158440062976 (3.6 квадриллионов) возможны различные пароли из четырех эфф diceware слова.

Теперь, чтобы угадать, сколько это займет времени, мы должны сделать некоторые предположения -

  1. Вы используете хороший алгоритм хеширования - скрипт, файлом bcrypt, PBKDF2 С и т. д.

  2. Злоумышленник оборудования потребительского класса. - Мы'будете смотреть на некоторые ориентиры для выбора 8х 1080 тис, которые являются верхней части линии во время написания, но разве'т быть приняты как максимальный хэшрейт - АНБ и т. д., вероятно, имеет специальное оборудование, только для хэширования паролей как можно быстрее.

Мы можем видеть из этот тест, что в OpenCL, злоумышленник с 8-кратным 1080 Ti может атаковать хорошие алгоритмы по следующим ставкам:

  1. алгоритме Scrypt в размере ~ 6,4 млн хэшей в секунду.
  2. осуществляется в размере 184 тысяч хэшей в секунду.
  3. Стандарт PBKDF2-и SHA256 в размере 775 тысяч хэшей в секунду.
  4. В SHA1 (просто для сравнения, Дон'т использовать это для паролей) в размере 101 миллиард хэшей в секунду.

Так что для наших данных пространства имен 3.6 квадриллионов возможных паролей, мы можем вычислить следующие ожидаемые раз взломать - пожалуйста, имейте в виду, что в среднем, 50% пространства имен должны быть исчерпаны, не на 100%.

  1. scrpyt - 571274756.25984 секунд (~9 лет)
  2. осуществляется - 19870426304.690086956521739130435 секунд (~315 лет)
  3. Стандарт PBKDF2 - 4717623793.6296464516129032258065 секунд (~75 лет)
  4. SHA1 - по 36199.588515475009900990099009901 секунд (~.2 дн)

Итак, мы видим, что вы должны также реализовать хороший алгоритм хеширования.

Двух вещей не хватает от этого алгоритма - первых, мы не'т омит слова менее 4 символов. Список diceware эфф имеет много слов, которые 3 символов. Если увеличить минимальную длину слова, вы уменьшите пространство имен. Я думаю, что список эфф имеет около 500 слов, которые 3 символов, но, что'ы догадка. Так, пространство имен-это чуть менее сложной.

Во-вторых, мы лечили эти пароли случайным образом происходит. Потому что вместо этого вы хотели предложений, мы должны иметь в виду, что предложения не't случайный. Если вы хотите, чтобы предложения смысл, то есть удары можно выполнять против них - вы можете использовать Марковские цепи и другие забавы для формирования вероятных предложений, а не простой взломать пароль. У меня нет статистики о том, насколько легче это, чем взломать, поэтому я'м собираюсь идти вперед и сказать, что вы должны предположить, что это делает огромную разницу и гораздо слабее.

Комментарии (7)

Вы не повреждая безопасности паролей, сказав, что атакующий пароль не менее 16 символов длинной, состоящей из 4 или более слов. Это'ы так же, как сказать, что пароль должен быть не менее 10 символов, иметь хотя бы одну заглавную букву, одну цифру и один символ. Да?

С 4 словами, стоимость брутфорс-это больше, чем 10 случайных символов. Если вы попросите пользователя, чтобы использовать хотя бы одну заглавную букву, стоимость увеличивается еще больше.

По данным Оксфордского словаря, в английском есть чуть менее 175 тыс. слов. Есть 8.64 × 10<суп>20</суп> возможные комбинации. Используя все 95 символы на английской клавиатуре, у вас 5.98 × 10<суп>19</суп> возможные комбинации.

Комментарии (10)

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

Безопасности. 4-слова пароль будет более безопасным, чем в среднем по паролю, только если слова выбраны случайным образом из достаточно большого набора слов. По данным это статья I'вэ нашел энтропии пароля, используемого для рядового пользователя, как ожидается, составит около 21 бит (2<суп>21</SUP и ГТ; = 2.1 × 10<суп>6</суп>), которое подозрительно низкие. Если вы выберите 4 слова случайным образом из списка 1000 самых распространенных английских слов, вы бы 1000<суп>4</суп> = 10<суп>12 в</SUP-серфинг> возможности, поэтому пароль 1 миллион раз сложнее подобрать, чем средний пароль.

Поэтому, вообще говоря, ваша идея не плохая, как долго, как вы Дон'т позволить пользователям выбирать свои собственные слова, или они'll итоге выбирают пароли, как и"пройти пройти пройти пройти" или "1 2 3 4" и т. д. И конечно, все это говорю В общем, потому что есть такие случаи, когда ваш метод действительно уменьшает безопасность пароля. Например, ваш метод привел бы к снижению безопасности мой пароль, потому что я предпочитаю использовать длинные случайные пароли по умолчанию, так что если вы заставили меня использовать свой метод на приложения я бы с помощью паролей, которые менее безопасны, чем обычно. То же наверное справедливо и для сообщества, такие как этот, где, я надеюсь, средняя энтропия пароля гораздо больше, чем 21 бит и, вероятно, больше, чем ваш 4-слова-пароли.

Комментарии (0)

Вы можете'т заставить пользователей использовать пароли, которые являются безопасными и запоминающимися.

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

@Adonalsium'ы ответ охватывает компьютеру аспект хорошо. Используя diceware относительно хорошо для человека аспект не плохо для компьютера аспект, поэтому он'ы приемлемый способ для генерации паролей.

Но если вы хотите запоминаемость, вы не можете диктовать пользователям, как создавать пароли. Также нельзя требовать, чтобы они использовали пароли, которые вы создаете для них.

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

Вы должны оценить нижний порог энтропии пароля, и установить политику для приема только пароли с оценкой выше определенного минимума (возможно, в зависимости от желаемого минимальное время трещина). Единственный такой инструмент оценки, которые я знаю zxcvbn (который, к сожалению, не'т отказаться "и верно лошадь батарея скрепка и").

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

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

(Я'd также быть склонны быть пароль безопасности хаос обезьяны постоянно пытаются взломать ваши пароли, и заставить сбросить, когда это удастся. Но я'м не уверен, если это на самом деле преуспеть на слабые пароли чаще, чем незадачливый пароли.)

Комментарии (2)

Моя консультация Дон'т. Я даже не буду обсуждать, правильно ли будет применять пароль безопасность (у вас уже есть замечание о 32 случайных символов пароля, сгенерированные менеджером паролей), но больше влияет на глобальную безопасность.

Вы добавляете ограничения для конечных пользователей. Некоторые (необразованный) всегда используйте одинаковый пароль. Они вряд ли помнили его и не хотите отвлекаться на новый, так что они не будут использовать веб-приложения, если они могут. Другие скажут: это хорошая идея, но я не смогу вспомнить, что в течение длительного времени... давайте'ы записать его на этом листе! Те, которые используются, чтобы хороший менеджер паролей будет сказать - как глупо, что я не могу использовать мой генератор случайных чисел! и опять-таки избежите приложение, если они могут.

Единственный случай, где я могу принять Правила пароль для основной пароль в корпоративной среде. Сотрудники должны использовать его каждый день (каждый рабочий день...) и только один, как правило, нужны, ведь в один знак на решения, поэтому, помня это, не должно быть проблемой. Во всех остальных случаях использование, конечный пользователь, как предполагается, несет ответственность за его/ее собственных данных, и мое мнение, что все, что выше минимальной длины-это раздражает ограничения, и буду стараться не пользоваться этим сайтом.

Комментарии (0)

Я не'т думаю, что вы можете иметь полезные правоохранительных пароль этот. Сила метода diceware XKCD АКА зависит от слова фразы носят случайный характер. Четыре подобранных слов, в частности, четыре слова, которые делают предложение очень слабый пароль и нет никакого способа, чтобы проверить, являются ли слова они вводят случайные или выбрали.

Комментарии (0)

Дон't, но не дают пользователю, который пытается установить тщательно небезопасный пароль предупреждение и подтвердить, что они действительно хотят, чтобы установить его.

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

Кроме того, в некоторых организациях, умение использовать безопасную (по сложности), но общая (среди авторизованным команды) и/или predocumented (под замком) пароль желательно - пароль руководящие принципы, которые отвергают некоторые достаточно надежные пароли могут стать настоящим раздражение здесь. Сценарий использования: "Пожалуйста, установите сложный пароль эта команда используется для всех поставщиков типа XYZ, так что не будет проблемой в случае, если другой член этой команды должен срочно открыть его в ваше отсутствие и".

Комментарии (0)

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

Две вещи поп-мой разум (как связанных с увеличением пароль на "алфавит", у):

  1. непонятно в вашем посте ли или не допускается числовые и специальные символы. Предполагая, что это не так, что бы оставить вас с алфавитом всего из 32 различных символов. Я бы включил и активно мотивировать пользователей, чтобы использовать их.

  2. предполагая, что вы использовать только английские слова, злоумышленник имеет два прямой атаки. (А) перебрать каждого отдельного персонажа или (B) грубой силы каждого отдельного 4 слов на основе английского словаря. Учитывая, что большая часть мира'ы населения используют английский в качестве второго языка, мотивировать пользователей, чтобы смешать языки.

Комментарии (0)