Парольная фраза — это последовательность слов или другого текста, используемая для управления доступом к компьютерной системе, программе или данным . По использованию он похож на пароль , но для дополнительной безопасности парольная фраза обычно длиннее. Парольные фразы часто используются для контроля доступа и работы криптографических программ и систем, особенно тех, которые извлекают ключ шифрования из парольной фразы. Происхождение термина по аналогии с паролем . Считается, что современная концепция парольных фраз была изобретена Зигмундом Н. Портером в 1982 году. [1]
Учитывая, что энтропия письменного английского языка составляет менее 1,1 бита на символ, [3] парольные фразы могут быть относительно слабыми. По оценкам NIST , 23-символьная парольная фраза «IamtheCapitanofthePina4» содержит 45 бит. Используемое здесь уравнение: [4]
(В этом расчете не учтено, что это известная цитата из оперетты HMS Pinafore . MD5-хеш этой кодовой фразы можно взломать за 4 секунды с помощью трещины.net, что указывает на то, что фраза найдена в базах данных по взлому паролей. )
Используя это руководство, для достижения 80-битной надежности, рекомендованной NIST для обеспечения высокого уровня безопасности (невоенного характера), длина парольной фразы должна составлять 58 символов, при условии, что она включает в себя прописные и буквенно-цифровые символы.
Есть место для дискуссий относительно применимости этого уравнения в зависимости от количества назначенных бит энтропии. Например, каждый символ пятибуквенного слова содержит 2,3 бита энтропии, а это означает, что для достижения 80-битной надежности необходима только 35-символьная фраза-пароль. [5]
Если слова или компоненты фразы-пароля можно найти в языковом словаре, особенно в том, который доступен в виде электронного ввода в программу, фраза-пароль становится более уязвимой для атаки по словарю . Особый вопрос, если всю фразу можно найти в цитатнике или сборнике фраз. Однако требуемые усилия (по времени и затратам) могут оказаться неоправданно высокими, если в кодовой фразе достаточно слов и если они выбраны и упорядочены в парольной фразе случайным образом . Количество комбинаций, которые необходимо проверить при достаточных условиях, делает атаку по словарю настолько сложной, что она становится неосуществимой. Это трудные условия, и выбор хотя бы одного слова, которого нельзя найти ни в одном словаре, значительно увеличивает надежность парольной фразы.
Если парольные фразы выбираются людьми, они обычно зависят от частоты употребления определенных слов на естественном языке. В случае фраз из четырех слов фактическая энтропия редко превышает 30 бит. С другой стороны, пароли, выбираемые пользователем, как правило, намного слабее, и поощрение пользователей использовать даже парольные фразы из двух слов может повысить энтропию с менее 10 бит до более 20 бит. [6]
Например, широко используемый стандарт криптографии OpenPGP требует, чтобы пользователь придумал парольную фразу, которую необходимо вводить при расшифровке или подписании сообщений. Интернет-сервисы, такие как Hushmail, предоставляют бесплатную зашифрованную электронную почту или услуги обмена файлами, но безопасность почти полностью зависит от качества выбранной парольной фразы.
Парольные фразы отличаются от паролей. Пароль обычно короткий — от шести до десяти символов . Такие пароли могут подходить для различных приложений, если они часто изменяются, выбираются с использованием соответствующей политики, не встречаются в словарях, достаточно случайны и/или если система предотвращает онлайн-угадывание и т. д. [ нужна ссылка ] , например:
Но пароли, как правило, небезопасно использовать в качестве ключей для автономных систем безопасности, таких как системы шифрования, которые предоставляют данные, позволяющие злоумышленнику подобрать пароль в автономном режиме. [7] Парольные фразы теоретически более надежны, поэтому в таких случаях их следует использовать лучше. Во-первых, они обычно и всегда должны быть намного длиннее — обычно от 20 до 30 символов и более, — что делает некоторые виды атак методом грубой силы совершенно непрактичными. Во-вторых, если они выбраны правильно, их нельзя будет найти ни в одном словаре фраз или цитат, поэтому такие словарные атаки будут практически невозможны. В-третьих, их можно структурировать так, чтобы их было легче запомнить, чем пароли, без необходимости их записи, что снижает риск кражи печатных копий. Однако, если парольная фраза не защищена должным образом аутентификатором и раскрывается парольная фраза в виде открытого текста, ее использование не лучше, чем другие пароли. По этой причине не рекомендуется повторно использовать парольные фразы на разных или уникальных сайтах и службах.
В 2012 году два исследователя из Кембриджского университета проанализировали фразы-пароли из системы Amazon PayPhrase и обнаружили, что значительный их процент легко угадать из-за общих культурных отсылок, таких как названия фильмов и спортивных команд, в результате чего теряется большая часть потенциала использования длинных паролей. [8]
При использовании в криптографии парольная фраза обычно защищает длинный ключ, сгенерированный машиной , а ключ защищает данные. Ключ настолько длинный, что грубая атака непосредственно на данные невозможна. Используется функция получения ключа, включающая многие тысячи итераций ( соленых и хешированных ), чтобы замедлить атаки взлома паролей .
Типичный совет по выбору парольной фразы включает в себя предложения о том, что она должна быть: [9]
Одним из способов создания надежной парольной фразы является использование игральной кости для случайного выбора слов из длинного списка. Этот метод часто называют игральным программным обеспечением . Хотя может показаться, что такой набор слов нарушает правило «не из какого-либо словаря», безопасность полностью основана на большом количестве возможных способов выбора из списка слов, а не на какой-либо секретности самих слов. Например, если в списке 7776 слов и шесть слов выбраны случайным образом, то комбинаций будет 7 776 6 = 221 073 919 720 733 357 899 776, что обеспечивает около 78 бит энтропии . (Число 7776 было выбрано для того, чтобы можно было выбирать слова, бросая пять игральных костей. 7776 = 6 5 ). Затем случайные последовательности слов можно запомнить с помощью таких методов, как дворец памяти .
Другой вариант — выбрать две фразы, превратить одну в аббревиатуру и включить ее во вторую, создав окончательную парольную фразу. Например, используя два упражнения по набору текста на английском языке, мы имеем следующее. Быстрая бурая лиса перепрыгивает через ленивую собаку и становится tqbfjotld . Включение его в фразу « Сейчас настало время всем добрым людям прийти на помощь своей стране » может привести к созданию кодовой фразы « Сейчас настало время всем добрым людям прийти на помощь своей стране» .
Здесь следует отметить несколько моментов, все из которых связаны с тем, почему этот пример парольной фразы не является хорошим.
Часто задаваемые вопросы по парольной фразе PGP [10] предлагают процедуру, которая пытается найти лучший баланс между теоретической безопасностью и практичностью, чем этот пример. Все процедуры выбора парольной фразы подразумевают компромисс между безопасностью и простотой использования; безопасность должна быть как минимум «адекватной», но при этом не «слишком серьезно» раздражать пользователей. Оба критерия должны оцениваться с учетом конкретных ситуаций.
Другой дополнительный подход к предотвращению атак методом перебора — получение ключа из парольной фразы с использованием намеренно медленной хеш-функции , такой как PBKDF2 , как описано в RFC 2898.
Если обратная совместимость с Microsoft LAN Manager не требуется, в версиях Windows NT (включая Windows 2000 , Windows XP и более поздние версии) парольную фразу можно использовать вместо пароля Windows. Если парольная фраза длиннее 14 символов, это также позволит избежать генерации очень слабого LM-хеша .
В последних версиях Unix-подобных операционных систем, таких как Linux , OpenBSD , NetBSD , Solaris и FreeBSD , можно использовать парольные фразы длиной до 255 символов. [ нужна цитата ]