Почему веб-приложения настаивают на определении строгих правил паролей? - PullRequest
1 голос
/ 09 января 2009

Вы все сталкивались с различными веб-сайтами, которые вынуждают вас иметь пароль длиной 6 символов, должен иметь 1 номер и рифмовать с «раздражающим».

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

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

Мой актуальный вопрос: каковы альтернативы этим сложным правилам паролей, чтобы уменьшить риск радужных таблиц или переборщиков хеш-силы, не полагаясь на то, что пользователь будет нести вес запоминания чего-то сложного? 1009 * Некоторые идеи: соление, ...

Ответы [ 6 ]

8 голосов
/ 09 января 2009

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

Вот ссылка. http://www.codinghorror.com/blog/archives/001206.html

5 голосов
/ 09 января 2009

Причина применения правил для паролей состоит в том, чтобы попытаться обеспечить «более надежный» пароль, что означает, что в действительности требуется больше попыток в среднем, чтобы найти пароль с помощью атаки методом перебора. Большинство людей, даже после множества примеров, таких как недавний беспорядок в Твиттере , будут использовать пароль Джо или словарное слово, которое уязвимо для возможной атаки методом перебора.

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

1 голос
/ 10 января 2009

Хорошо, вот и вся история.

Прежде всего, давайте определим меру «совершенства» схемы. С паролями и т. П. Мера - это среднее число попыток, которым требуется грубая атака для получения доступа.

Предположим, что ваши пароли взяты из алфавита S с n символов, а длина пароля составляет k . Тогда общее количество возможных паролей будет n k .

В среднем, атака грубой силы найдет успешный пароль примерно за n k / 2 или n k-1 испытания.

Для удобства, и из-за некоторых теоретико-информационных соображений, которые я не собираюсь вдаваться, мы обычно выражаем это как число битов , что составляет lg n k где lg обозначает основание логарифма 2. Поскольку мы привыкли думать о битах как о дискретных вещах, мы обычно принимаем потолок этого числа, то есть наименьшее целое число больше, чем lg n k , но на самом деле дробное значение совершенно законно.

Для печатных символов, 8-символьных паролей и других правил этот номер находится в окрестности 100 8 или около 10 16 ; это около 53 бит. Единственное, что такие случайные пароли практически невозможно запомнить; они, как правило, попадают на желтые стикеры и становятся уязвимыми для такого рода атак. Тем не менее, это ограничивающий случай. Требуется около 100 триллионов попыток угадать это грубой силой. Если каждая попытка стоит копейки, то теоретически ваши данные могут стоить целых 1 триллион долларов, прежде чем они будут стоить времени вора.

С другой стороны, существует всего около 50 000 часто используемых словарных слов. Это около 16 бит, или это займет около 25 000 попыток грубой силой. На каждую попытку стоит копейка: тогда ваши данные не должны стоить больше 250 долларов.

Оба из них являются приложениями правила

R = P & times; H

, где R - риск, P - вероятность возникновения плохого мышления, а H ( опасность ) - стоимость происходящего.

Теперь, попытка копейки слишком высока, но теперь у вас есть необходимые инструменты. Выясните, сколько стоят данные, и вы можете использовать этот метод, чтобы решить, насколько обширный набор правил вам необходим. (Но будьте осторожны, так как если вы сделаете правила слишком строгими, энтропия набора допустимых паролей будет небольшой, пока вы не приступите к старой шутке, которая после долгих раздумий Security определила лучший пароль все это '* 8h% Jd!', поэтому все пользователи теперь начнут использовать этот пароль.)

1 голос
/ 09 января 2009

Использовать KeePass

http://keepass.info/

Это, конечно, минимизирует хлопоты.

0 голосов
/ 23 января 2009

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

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

Что может сделать веб-сайт, так это разрешить все виды надежных паролей. Я ненавижу сайты, где я хочу использовать надежные пароли (как правило, финансовые или медицинские), у которых есть правила типа «без специальных символов». (Конечно, мне не нравится многократное использование надежных паролей; я не хочу, чтобы кто-нибудь, кто взломал мою защиту HMO, мог свободно делать заказы с моей учетной записи Barnes & Noble.)

Вероятно, это не тот ответ, который вы хотели, но у плохих парней есть возможности, которые превзойдут тот тип повседневной безопасности, с которой комфортно большинству людей.

0 голосов
/ 09 января 2009

Keepass также имеет то преимущество, что он будет работать напрямую (например, даже не нужно его устанавливать) с USB-накопителя в большинстве случаев в Windows. Поместите оба ключа keepass и файл вашей базы данных на USB-ключ, и вы получите быструю и простую переносимую базу данных с ссылками на пароли. Удостоверьтесь, что вы надежно храните пароль с помощью надежного надежного пароля, хотя, как если бы вы потеряли USB-накопитель, вам не нужно, чтобы все и вся попадало в вашу базу паролей.

...