Это не очень новые новости. Тем не менее, уверен, что далеко не все ещё знают.
Возможно многие уже слышали, что у современных видеокарт, выпускаемых в первую очередь для "3D" игр, очень большая вычислительная мощь. Так вот уже несколько лет как их стали применять для решения некоторых криптографических задач.
Практически это привело к тому, что 8-символьные пароли стали слишком коротки (при некоторых условиях) чтобы быть устойчивыми к криптоанализу.
Каковы же эти условия? Часто сохраняется или передаётся "дайджест" пароля полученный по алгоритму MD5. Ранее (лет примерно 5-10-20 назад) как бы считалось, что для случайного пароля из 8 символов дайджест является "невзлавымаемым". То есть, имея этот дайджест, подбирать пароль из которого этот дайджест получился экономически невыгодно. Понятно, что дайджест этот всегда пытались "не светить" почём зря из общих соображений, но тем не менее считалось, что если он попадёт врагу, то если пароль был "криптостойкий", то никакой пользы от дайджеста врагу не будет. В частности, алгоритмом MD5 пользуется протокол Виндовс NTLM для "сокрытия" пароля, когда нужно передать его по сети, которая потенциально может быть подслушиваемой.
Так вот, нынче, используя видеокарты, можно к дайджесту, полученному из ЛЮБОГО 8-символьного пароля, ГАРАНТИРОВАННО подобрать пароль за весьма разумное время. С использованием одной видеокарты получается около 3 недель. Задача подбора пароля прекрасно распараллеливается. Надо полагать, что, собрав компьютер с материнской платой с максимумом слотов под видеокарты и максимумом видеокарт, вполне реально ломать дайджесты 8-символьных паролей дня за три, используя один такой компьютер в тривиально оптимизированной под это конфигурации. Надо ещё отметить, что выше речь идёт о ГАРАНТИРОВАННОМ времени. А в среднем оно будет ещё в два раза меньше.
9-символьный неплохо увеличивает затраты времени на подбор, при условии, опять же, что пароль сгенерирован программно, а не выбран человеком, так как доказано, что люди выбирают пароли категорически неслучайно.
Теперь посмотрим с практической точки зрения. Пользователи со скрипом соглашаются на 8-символьные пароли. С 9-символьными скрипа будет больше. А 10-символьные с этой точки зрения представляются ненаучной фантастикой.
С точки зрения системных администраторов можно сказать следующее. NTLM надо сдавать у утиль и переходить на протокол Kerberos, в котором эквивалент паролей, передающихся по сети, живёт некоторое время, например 15 минут, поэтому "врагу" просто не будет хватать времени их взламывать (пара примечаний 1: а пользовательский пароль остаётся тем же самым, временным паролем обмениваются только сами компьютеры, полностью автоматически, просто дайджест пользовательского пароля так не "светится" по сети как в случае NTLM; 2: возможно в Kerberos ещё есть препятствия такой криптоатаке - глубоко в этот протокол я не смотрел). Паллиативом можно считать использование алгоритмов типа SHA1 вместо MD5 - такой дайджест несколько дольше считать, соответственно замедляется "подбор" пароля.
Хорошие новости. 1) MD5 дайджест ещё надо получить. В большинстве корпоративных сетей с Windows это задача тривиальна для начинающего хакера. А вот дайджест MD5 на ваш пароль в Yahoo, Google, Livejournal и т.п. ещё надо утащить. И эта задача, если фарт не улыбнётся, не для начинающих. Хотя случаи утечек дайджестов паролей из онлайновых сервисов случались не раз. И 2) (не то, чтобы очень утешительная, но всё же) в случае такой утечки первыми будут найдены "словарные" пароли типа abc123, SlipKnot и MySpace.
В общем, если вы паролем защищаете нечто имеющее ценность хотя бы в пару тысяч долларов, то делайте этот пароль хотя бы 9-символьным.
Некоторые детали на английском:
http://mytechencounters.wordpress.com/2011/04/03/gpu-password-cracking-crack-a-windows-password-using-a-graphic-card/