Стандартизация алгоритма надежности пароля - PullRequest
4 голосов
/ 21 сентября 2010

Последние пару месяцев меня интересовали все эти измерители надежности пароля на сайтах.Если вы используете один и тот же пароль в каждой из этих регистрационных форм, результат на счетчике иногда отличается.Один говорит «Сильный», другой - «Нормальный», и, возможно, есть такие, кто даже скажет «Слабый».

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

И если вы скажете, да и нет, пожалуйста, приведите один или два аргумента.

Спасибо!

PSНе уверен, что это обсуждалось ранее, пожалуйста, будьте спокойны, если это «повтор».

Редактировать

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

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

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

Затем метод победы (за который проголосовали программисты) будет выбран в качестве «стандартного» метода и популяризирован для использования в формах.

Видите ли вы какое-либо использование в таком методе, и если вы это сделаете, вы бы его использовали?

Ответы [ 3 ]

6 голосов
/ 21 сентября 2010

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

Алгоритм Фредли даст вам число.Это число можно сравнить с любым другим, и так же, как любое измерение, вы можете определить относительную силу или слабость.Что касается определения стандартов, таких как «X слабый», «Y нормальный», я не думаю, что вы заставите все заинтересованные стороны согласиться, потому что абсолютная сила ключа всегда должна приниматься со ссылкой на значениересурс он защищает.Вы (или ваша дочь) не положили бы ее дневник в сейф в банке за дверью хранилища;игрушечный замок на 80 центов обеспечил бы "сильную" защиту против тех, кого она не хотела читать (сопливого маленького или старшего брата, гостей с ночевкой и т. д.).Однако этот 80-центовый игрушечный замок не будет длиться две секунды у двери вашего сейфа, где документ о вашем доме, право собственности на ваш автомобиль и одноразовое бриллиантовое колье вашей прабабушки в 25 каратсохранено.

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

Таким образом, «MittensABC» будет приемлемым паролем для большинства форумов, поскольку он длиннее 8 символов (26 ^ 8 = примерно 208 миллиардов комбинаций случайных букв) и содержит прописные и строчные буквы (пробное пространство, необходимое для"brute-force" этот пароль будет 52 ^ 10 = 144 квадриллиона возможных комбинаций 10-символьных строк с учетом регистра).Тем не менее, это было бы совершенно неадекватно для банка: оно состоит в основном из словарного слова и отличается только тем, что вы добавили легко угадываемую комбинацию букв, поэтому «умный» взломанный алгоритм может уменьшить начальное пространство выборки.к 100k или около того словам в современном использовании, и добавьте основные буквенные и числовые строки, чтобы придумать, возможно, пару миллионов возможностей (детская игра для компьютера, чтобы пробить).Точно так же многие сайты, предоставляющие доступ к конфиденциальной информации, не допускают использования дней рождения, SSN и т. Д. В паролях, поскольку, если эта информация была украдена, ее можно было бы использовать в качестве подсказок для алгоритма взлома, что еще больше сокращает первоначальныйвероятный пробел.

Таким образом, то, что делает «хороший» пароль, зависит от того, насколько вероятно, что хакер / взломщик будет настойчив при попытке взломать этот пароль.Существуют и другие полезные инструменты, такие как 10-секундное время восстановления между попытками входа в систему или определенное количество попыток в течение 15-минутного периода, которые делают практически невозможным использование скорости компьютера, но интеллектуальный алгоритм, уязвимость веб-сайта,или тупой пользователь может увеличить шансы на успешный взлом.

2 голосов
/ 21 сентября 2010

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

Если это последнее, есть несколько хороших ссылок на этот старый вопрос

и некоторые плагины jQuery, которые, вероятно, являются стандартами де-факто, например

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

1 голос
/ 21 сентября 2010

Из Википедия :

Надежность случайного пароля может быть рассчитана путем вычисления информационной энтропии. Если каждый символ в пароле создается независимо, информационная энтропия пароля определяется по формуле:

alt text

где N - количество возможных символов, а L - количество символов в пароле. Функция log2 является логарифмом по основанию-2. H измеряется в битах.

Расчет подробно описан на странице Википедии.

...