В средние века пароль был простым словом, которое использовали, чтобы попасть в закрытую крепость, на тайное собрание или в любое иное место с ограниченным доступом. В наши дни пароль перестал быть просто словом, трансформировавшись в нечто вроде «hTfd4Xz».
Существуют применения, в которых пароль не обязан быть сложным, потому как пользователя заставляют ждать несколько секунд перед повторением попытки ввода (например, при подключении к какому-либо серверу), или потому что система заблокирует дальнейшие попытки после достижения определенного количества ввода неправильных паролей (например, в банкоматах). Это означает, что перебор всех возможных вариантов (атака «грубой силой») здесь не слишком эффективен.
Но для защищенных носителей информации ситуация иная: если они попадут в неправильные руки, то атакующий сможет подключить их к своему компьютеру и перепробовать все варианты паролей без каких-либо ограничений по частоте ввода новых вариантов.
Большинство шифрующих программ требуют от пользователя ввода не самого ключа шифрования, а пароля, который затем используется для генерации ключа. Как и любой другой, пароль, используемый в программе шифрации, должен быть сравнительно сложным. Сто лет назад сгодился бы пароль вроде «Король Ричард», но сегодня подобный пароль могут взломать за несколько секунд, воспользовавшись «словарной атакой».
Десять лет назад «достаточно защищенными» считались ключи и пароли длиной 40 бит. Сегодня для перебора всех возможных вариантов подобных паролей потребуется всего лишь несколько часов.
В наши дни минимально приемлемой длиной ключа стал ключ в 128 бит, и всё чаще встречаются ключи длиной 256 бит. Здесь и спряталась очередная проблема: если данные защищены ключом длиной в 256 бит, то и пароль должен иметь соответствующую длину, иначе подобная защита становится бессмысленной.
Давайте предположим, что в пароле можно использовать латинские строчные и прописные буквы и цифры — это дает нам 62 варианта на один символ. Для пароля длиной в 43 символа возможно 1,18e+77 вариантов, что близко к сложности 256-битного ключа (1,15e+77 вариантов). Но есть ли такие пользователи, которые смогут запомнить пароль из 43 букв, например, «jZ85xfbgGjf52d2sS8gd43ahfFR5rG3qZ4wF425FfVf»? И у кого есть время вводить столь длинные строки из бессмысленных букв и цифр? Кроме того, подобные пароли вряд ли будут часто менять, что, разумеется, необходимо делать из соображений безопасности.
Какие еще есть варианты? Трюки вроде использования первых букв заученного предложения (например, «My cat likes to bounce off my furniture» -> «Mcltbomf») подходят плохо: статистическая вероятность появления в подобных паролях определенных букв снижает их разнообразие и, соответственно, защиту от подбора. Подобные пароли помогают пользователям, но не повышают степень защищенности информации.
Остается признать, что мощность современных технологий взлома паролей превысила наши возможности по их запоминанию. До тех пор, пока не изобретут способов улучшения человеческой памяти, пароли придется хранить на USB-дисках или иных схожих устройствах — и смириться с риском того, что это устройство могут украсть вместе с зашифрованными данными.
Грустно, но это так: в области шифрации данных пароли отжили свой век.
Когда у вашего мозга заканчивается память