Проверка надежности пароля, учитывающая закон Мура?
Я собирался делать ежегодную смену пароля в своих учетных записях и пробовал разные сайты (Microsoft, LastPass и т. Д.), Чтобы опробовать гипотетические пароли. Некоторые сайты кажутся немного более тщательными, чем другие, в своей оценке надежности пароля, но это заставило меня задуматься, учитывает ли какой-либо из них закон Мура. То есть можно услышать о том, как "взломать пароль Х понадобится 130000 лет", но учитывает ли это, что компьютеры удваиваются по скорости примерно каждые два года?
Мне было бы очень любопытно посмотреть, принимают ли эти сайты это во внимание, или есть какие-нибудь сайты, которые кто-то может посоветовать сделать?
1 ответ
Ни один из этих расчетов на самом деле не учитывает закон нравов. Но давайте посмотрим, сможем ли мы показать, почему нам не нужно:
Закон Мура гласит, что вычислительная мощность будет удваиваться каждые 18 месяцев (не совсем, но достаточно для наших целей).
Это означает, что сегодня 130 тысяч лет, через 18 месяцев будет 65 тысяч лет. И 32,5к за 36 месяцев и тд и тп.
Мы можем придумать уравнение для этого!
cost-at-time = cost-today * 0.5 ^ (months / 18)
Итак, включив стоимость сегодня, мы можем увидеть этот красивый симпатичный график (х - годы):
y = 130000 * .5 ^ (x / 1.5)
Итак, давайте посмотрим, сколько будет стоить наш пароль на 130 тысяч лет через 50 лет:
y = 130000 * .5 ^ (50 / 1.5)
y = 130000 * .5 ^ 33.3333
y = 0.000012 years (~6.3 minutes)
Это довольно быстро!
Как насчет 10 лет?
y = 130000 * .5 ^ (10 / 1.5)
y = 130000 * .5 ^ 15
y = 1279 years
Это все еще довольно сильно...
Тем не мение. Он также упускает из виду настраиваемые алгоритмы, такие как bcrypt и scrypt, которые предназначены для того, чтобы победить закон Мура.
Поэтому, если вы используете bcrypt, scrypt или PBKDF2 и продолжаете настраивать стоимость так, чтобы она работала в постоянном времени, ваш пароль, для взлома которого (по оценкам) сегодня требуется 130 тысяч лет, все равно будет взломан через 130 лет через 50 лет.
Конечно, это не решает проблему, когда злоумышленник крадет хэш пароля сегодня и тратит на его защиту следующие 50 лет... Но я должен спросить, какой ваш пароль защищает то, что крипто-ботаник потратит следующие 50 лет пытаться атаковать его?