Вопрос или проблема
Энтропия или случайность — это количественная мера силы безопасности для различных типов паролей, но в настоящее время с учетом цифровых технологий, утечек и инструментов для взлома похоже, что время существования также должно быть фактором при определении “сильности”. Например, пароль с низкой энтропией и коротким временем действия может быть таким же сильным, как пароль с высокой энтропией, который редко меняется.
Существует ли количественный подход к определению силы пароля с учетом как энтропии, так и времени?
Как уже отмечали другие в комментариях, нет общего ответа на этот вопрос. Слишком много других факторов необходимо учитывать при оценке времени действия пароля заданной силы.[^1]
Основные вещи, которые могут варьироваться и которые необходимо учитывать, включают
-
Детали функции производного ключа (или схемы хеширования), которая используется. В некоторых схемах можно сделать десятки миллионов попыток в секунду на обычных машинах. Другие схемы могут сокращаться до всего лишь нескольких тысяч попыток в секунду на том же оборудовании.
-
Какое оборудование злоумышленник готов использовать для решения задачи? Это высокопроизводительный игровой компьютер? Это установка, собранная с 4 GPU специально для целей взлома? Это один из $30,000 установок, которые можно приобрести у специализированных поставщиков? Это координированный комплекс таких машин?
-
Как изменятся цены и скорости в будущем
Я помог организовать (дорогостоящий) эксперимент, чтобы получить представление о стоимости взлома 42-битных паролей, хешированных с использованием 100,000 раундов PBKDF2-H256. Наша цель заключалась в том, чтобы понять, насколько дорого обходится взлом этих паролей, поэтому мы предложили значительные призы.
В любом случае, я все еще не сделал окончательный отчет о всем этом, но вы можете увидеть информацию в нашей (1Password) теме на форуме обсуждений. Фактические детали конкурса.
Деньги, а не время
Мы обнаружили, что на уровне этого конкурса стоило примерно 6 долларов США сделать 232 попытки для чего-то, хешированного таким образом в 2018 году. Любые попытки оценить будущее будут включать в себя оценку того, как быстро меняется стоимость соответствующих вычислений со временем.
Опять же, это упражнение только говорит нам о расходах на взлом PBKDF2-H256 100K раундов. Но я действительно верю, что пытаться перевести вещи в денежные термины вместо временных оценок более полезно. Мы сознательно делаем конкурс достаточно сложным, чтобы было хорошее сочетание компромиссов между фиксированными расходами и текущими расходами.
Так что, хотя я не думаю, что кто-то сможет дать вам ответ на ваш точный вопрос, так как это зависит от слишком многих других переменных, которые будут различаться в каждом случае, я действительно считаю, что полезно думать в терминах затрат вместо временных оценок. И с достаточными стимулами возможно получить приемлемые оценки этих затрат для определенных типов хеширования/механизмов KDF.
[^1]: Я буду неформально говорить о “энтропии (или силе) пароля”, но, конечно, сила пароля является функцией системы, с помощью которой он был сгенерирован.
Представьте, что у вас есть числовой пароль, например 699196738
, который может быть взломан за 1 год с 100% вероятностью успеха. Теперь предположим, что вы решили менять этот пароль каждые 6 месяцев. Что произойдет? За 1 год у вас теперь будет 50% вероятность угадать первый пароль и 50% вероятность угадать новый измененный пароль. Какова вероятность угадать хотя бы один из них за 1 год? Это 75% (это как вероятность получить хотя бы один орел, бросая две монеты, то есть вероятность не получить две решки, так что 1 - 0.5^2
). Теперь предположим, что вы решили менять свой пароль каждые 3 месяца, и у вас будет 25% вероятность угадать первый пароль, 25% угадать второй и так далее. Какова вероятность угадать хотя бы один из них теперь за 1 год? Это вероятность не провалиться все три раза, так что это должно быть 1 - 0.75^4
, что составляет примерно 68%.
Теперь представьте, что вместо того, чтобы тратить время на регулярную смену пароля, вы решили просто добавить одну цифру к вашему паролю. Тогда возможности для брутфорса увеличиваются в 10 раз, и вероятность угадать его за 1 год становится 10%.
Как вы видите, смена паролей не очень полезна против атак брутфорса, так что это не стоит делать с этой целью. Вместо этого добавление энтропии к паролю очень полезно, и для этого нужно всего лишь несколько цифр/символов/слов, чтобы получить гораздо более сильный пароль.
Истинная цель смены паролей совершенно другая — это предотвратить ущерб, вызванный возможными утечками или текущим несанкционированным доступом. Например, если кто-то украдет ваш пароль, подглядывая, чтобы получить доступ только для чтения к вашим данным, как только вы смените пароль, он будет заблокирован (до следующей попытки подглядывания или если они смогут установить заднюю дверь и т. д., но это уже другая история). Я не думаю, что возможно оценить, какую безопасность вы получаете от регулярной смены паролей или как часто их следует менять. На мой взгляд, это всего лишь один маленький аспект среди множества других факторов, которые следует учитывать, и я лично считаю, что его общее влияние на безопасность невелико по сравнению с другими мерами безопасности.
Ответ или решение
Оценка силы безопасности пароля с учетом энтропии и времени
Введение
Безопасность паролей — это важный аспект информационных технологий, требующий комплексного подхода к оценке его надежности. Хотя традиционно сила пароля измеряется через энтропию, в современном цифровом мире необходимо учитывать также срок действия пароля. Эта статья представит количественный подход к определению силы пароля, объединяя оба этих показателя.
Энтропия как мера безопасности
Энтропия представляет собой степень непредсказуемости пароля. Чем выше количество доступных комбинаций, тем сложнее угадать пароль. Она рассчитывается по формуле:
[ \text{Энтропия} (H) = \log_2(N^L) ]
где:
- (N) — количество возможных символов (например, 10 для цифр, 26 для строчных букв, 52 для заглавных и строчных, 95 для всех клавиш на клавиатуре),
- (L) — длина пароля.
Например, для пароля длиной 8 символов, использующего 26 строчных букв, энтропия составит:
[ H = \log_2(26^8) \approx 38.56 \text{ бит} ]
Срок действия пароля
Срок действия пароля также играет важную роль. Даже наиболее сложные пароли могут быть подвержены атакам, если они остаются неизменными в течение длительного времени. Исследования показывают, что регулярное изменение паролей может уменьшить вероятность их взлома, однако важно понимать, насколько это действительно эффективно.
Для количественной оценки влияния срока действия на безопасность можно использовать вероятность угадывания хотя бы одного из нескольких паролей, изменяемых в течение определенного периода. Например, если пароль можно угадать с вероятностью 50% в течение одного года, при его замене каждые 6 месяцев (то есть 2 раза в год), тогда вероятность угадать хотя бы один из них составит:
[ P = 1 – (0.5^2) = 0.75 \text{ или } 75\% ]
Количественный подход
С учетом энтропии и срока действия, можно представить следующий модельный подход для оценки силы пароля:
- Энтропия пароля: Определить энтропию с помощью вышеуказанной формулы.
- Оценка воздействия срока действия пароля: Разработать модель, которая учитывает, как часто паролем меняется, и оценивать вероятность взлома по формуле, подобной приведенной ранее.
- Комбинирование данных: Суммировать влияние энтропии и вероятности взлома, например, использовав коэффициент корреляции или формулу, которая сбалансирует оба значения.
Практические рекомендации
- Создание сложных паролей: Используйте длинные и разнообразные пароли с высокой энтропией.
- Регулярное изменение паролей: Меняйте пароли хотя бы раз в 6 месяцев, особенно в случае утечки информации.
- Оценка стоимости атак: Понимание того, сколько стоит атака на систему, может помочь в принятии решения о стратегии защиты. Например, оценить, сколько будет стоить атака, используя недавние исследования.
Заключение
Определение силы пароля с учетом как энтропии, так и срока действия представляет собой сложный, но важный процесс. В то время как высокая энтропия дает преимущество, регулярные изменения паролей могут значительно повысить уровень общей безопасности. Важно подходить к этому вопросу комплексно, разрабатывая гибкие и адаптивные стратегии управления паролями, соответствующие современным угрозам в сфере кибербезопасности.