Действительно ли принуждение сложных паролей “Более важно”, чем соление?

Ответ на это зависит от того, как Вы намереваетесь прочитать и записать тот файл конфигурации.

, Например, платформа Spring дает Вам способность к конфигурационные XML-файлы использования (или файлы свойств Java); они могут быть сохранены в Вашем пути к классу (например, в каталоге WEB-INF), где-либо еще в файловой системе, или даже в памяти. Если необходимо было использовать, Кидаются за этим, то самое легкое место для хранения файла конфигурации находится в каталоге WEB-INF, и затем используйте Spring класс ClassPathXmlApplicationContext для доступа к конфигурационному файлу.

, Но снова, все это зависит от того, как Вы планируете получить доступ к тому файлу.

11
задан Galen 18 February 2012 в 19:05
поделиться

7 ответов

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

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

14
ответ дан 3 December 2019 в 02:11
поделиться

Неужели поддержание надлежащего водного баланса важнее дыхания?

6
ответ дан 3 December 2019 в 02:11
поделиться

Я предпочитаю подход, который использует соль для каждого пользователя, глобальную соль (соль для алгоритма) и скромные правила сложности пароля (8+ символов с некоторой комбинацией минимум 2 заглавных букв на цифру). / знаки препинания) для большинства веб-сайтов. Использование солей требует создания радужной таблицы для каждой учетной записи, которую вы хотите разбить, - при условии уникальных солей для каждого пользователя. Использование глобальной соли требует, чтобы вы взяли под угрозу БД и сервер приложений. В моем случае это всегда две отдельные системы. Использование правил сложности паролей помогает защитить от использования простых, легко угадываемых паролей.

Для учетных записей с большим количеством привилегий вы можете захотеть усилить пароль большей сложности. Например, администраторы в нашем лесу AD должны иметь пароли не менее 15 символов. Это'

5
ответ дан 3 December 2019 в 02:11
поделиться

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

Но не мешайте вашим пользователям. Предлагайте предложения, но не мешайте им.

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

1
ответ дан 3 December 2019 в 02:11
поделиться

Хорошо, давайте посмотрим на реальные цифры:

Одна видеокарта Nvidia 9800GTX может вычислять 350 миллионов хэшей MD5 в секунду. При такой скорости все пространство клавиш, состоящее из строчных и прописных буквенно-цифровых символов, будет выполнено за 7 дней. 7 символов, два часа. Применение засолки может удвоить или утроить это время в зависимости от вашего алгоритма.

Дешевые современные графические процессоры легко могут похвастаться миллиардом хэшей MD5 в секунду. Решительные люди обычно связывают около 6 из них и получают 6 миллиардов в секунду, что делает 9-символьное пространство ключей устаревшим за 26 дней.

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

Теперь, если вы хотите защитить себя от профессиональных злоумышленников, нет причин, по которым они не могут получить 1 триллион хэшей в секунду, они ' d просто использовать специализированное оборудование или ферму из нескольких дешевых машин с графическим процессором, в зависимости от того, что дешевле.

И бум, ваше 10-символьное пространство ключей выполняется за 9,7 дней, но тогда 11-символьные пароли занимают 602 дня. Обратите внимание, что на данном этапе добавление 10 или 20 специальных символов в список разрешенных символов приведет только к увеличению времени взлома 10-символьного ключевого пространства до 43 или 159 дней соответственно.

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

Тогда есть еще одна проблема: будет ли пользователь использовать этот «надежный» пароль, который вы ему навязали использовать на всех других его сайтах? Если он не сохранит их в файле мастер-паролей, то наверняка сохранит. И эти другие сайты не будут использовать те же сильные алгоритмы хеширования, которые вы используете, что противоречит цели вашей системы. Я действительно не могу понять , почему вы хотите, чтобы ваши хэши были суперсильными, если это не мешает пользователям использовать один и тот же пароль на нескольких сайтах; если злоумышленник имеет доступ к вашим хэшам, вы, скорее всего, уже проиграли.

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

Наивно ответить на ваш вопрос :

4
ответ дан 3 December 2019 в 02:11
поделиться

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

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

В первые дни шифрования с двойным простым числом процессоры шифрования были настолько медленными, что люди, как правило, использовали арифметику int32 для повышения скорости. Это позволило мне предположить, что простые числа были от 0 до четырех миллиардов. Люди всегда выбирали большие простые числа, потому что расхожее мнение гласило, что чем больше, тем лучше. Поэтому я использовал предварительно вычисленный словарь простых чисел и работал с известным потолком, зная, что люди обычно выбирают ключи, близкие к этому потолку. Обычно это позволяло мне взломать их ключ примерно за 30 секунд.

Настаивайте на длинных фразах и используйте соление без каких-либо других ограничений.

Когда люди говорят «сложные» техники, они часто имеют в виду сложные. Преобразование может быть очень сложным и, тем не менее, коммутативным, и, к сожалению, если вы не знаете, что это значит, вы не в состоянии оценить достоинства этого метода. Сложность алгоритма обеспечивает только безопасность посредством неизвестности, что немного похоже на то, как вытащить дом за город и не запереть двери.

зная, что люди обычно выбирают ключи близко к этому потолку. Обычно это позволяло мне взломать их ключ примерно за 30 секунд.

Настаивайте на длинных фразах и используйте соление без каких-либо других ограничений.

Когда люди говорят «сложные» техники, они часто имеют в виду сложные. Преобразование может быть очень сложным и, тем не менее, коммутативным, и, к сожалению, если вы не знаете, что это значит, вы не в состоянии оценить достоинства этого метода. Сложность алгоритма обеспечивает только безопасность посредством неизвестности, что немного похоже на то, как вытащить дом за город и не запереть двери.

зная, что люди обычно выбирают ключи близко к этому потолку. Обычно это позволяло мне взломать их ключ примерно за 30 секунд.

Настаивайте на длинных фразах и используйте соление без каких-либо других ограничений.

Когда люди говорят «сложные» техники, они часто имеют в виду сложные. Преобразование может быть очень сложным и, тем не менее, коммутативным, и, к сожалению, если вы не знаете, что это значит, вы не в состоянии оценить достоинства этого метода. Сложность алгоритма обеспечивает только безопасность посредством неизвестности, что немного похоже на то, как вытащить дом за город и не запереть двери.

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

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

3
ответ дан 3 December 2019 в 02:11
поделиться

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

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

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

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

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

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

1
ответ дан 3 December 2019 в 02:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: