Пароль , иногда называемый кодом доступа , представляет собой секретные данные, как правило, строку символов, обычно используемую для подтверждения личности пользователя. Традиционно пароли должны были запоминаться , [ 1 ] но большое количество защищенных паролем сервисов, к которым обычно обращается обычный человек, может сделать запоминание уникальных паролей для каждого сервиса непрактичным. [2] Используя терминологию Руководства по цифровой идентификации NIST, [3] секрет хранится стороной, называемой заявителем , в то время как сторона, проверяющая личность заявителя, называется верификатором . Когда заявитель успешно демонстрирует верификатору знание пароля через установленный протокол аутентификации , [4] верификатор может вывести личность заявителя.
В общем случае пароль представляет собой произвольную строку символов , включающую буквы, цифры или другие символы. Если допустимые символы ограничены числами, соответствующий секрет иногда называют персональным идентификационным номером (ПИН-кодом).
Несмотря на свое название, пароль не обязательно должен быть реальным словом; на самом деле, не-слово (в словарном смысле) может быть сложнее угадать, что является желательным свойством паролей. Запомненный секрет, состоящий из последовательности слов или другого текста, разделенного пробелами, иногда называется парольной фразой . Парольная фраза похожа на пароль в использовании, но первый обычно длиннее для дополнительной безопасности. [5]
Пароли использовались с древних времен. Часовые бросали вызов тем, кто хотел войти в зону, чтобы предоставить пароль или пароль , и позволяли пройти только человеку или группе, которые знали пароль. Полибий описывает систему распределения паролей в римской армии следующим образом:
Способ, которым они обеспечивают передачу пароля на ночь, заключается в следующем: из десятого манипулы каждого класса пехоты и кавалерии, манипулы, которая стоит лагерем в нижнем конце улицы, выбирается человек, который освобождается от караульной службы, и он приходит каждый день на закате солнца в палатку трибуна и , получив от него пароль — то есть деревянную дощечку с написанным на ней словом — прощается и, вернувшись в свои покои, передает пароль и дощечку перед свидетелями командиру следующего манипулы, который, в свою очередь, передает его следующему за ним. Все делают то же самое, пока он не достигнет первых манипул, тех, что стоят лагерем около палаток трибунов. Последние обязаны доставить табличку трибунам до наступления темноты. Так что если все выданные будут возвращены, трибун будет знать, что пароль был передан всем манипулам и прошел через все на своем пути к нему. Если кто-либо из них отсутствует, он немедленно производит расследование, так как по отметкам он знает, с какой стороны не вернулась табличка, и тот, кто ответственен за остановку, получает заслуженное наказание. [6]
Пароли в военном использовании эволюционировали, чтобы включать не только пароль, но и пароль и контрпароль; например, в первые дни битвы за Нормандию десантники 101-й воздушно-десантной дивизии США использовали пароль — flash — который был представлен как вызов, и ответили правильным ответом — thunder . Вызов и ответ менялись каждые три дня. Американские десантники также, как известно, использовали устройство, известное как «сверчок», в День Д вместо системы паролей в качестве временного уникального метода идентификации; один металлический щелчок, издаваемый устройством вместо пароля, должен был быть встречен двумя щелчками в ответ. [7]
Пароли использовались в компьютерах с самых первых дней вычислений. Compatible Time-Sharing System (CTSS), операционная система, представленная в Массачусетском технологическом институте в 1961 году, была первой компьютерной системой, реализовавшей вход с паролем. [8] [9] CTSS имела команду LOGIN, которая запрашивала пароль пользователя. «После ввода PASSWORD система отключает механизм печати, если это возможно, чтобы пользователь мог ввести свой пароль с сохранением конфиденциальности». [10] В начале 1970-х годов Роберт Моррис разработал систему хранения паролей входа в хешированном виде как часть операционной системы Unix . Система была основана на имитированной роторной криптомашине Хагелина и впервые появилась в 6-м издании Unix в 1974 году. Более поздняя версия его алгоритма, известная как crypt(3) , использовала 12-битную соль и вызывала модифицированную форму алгоритма DES 25 раз, чтобы снизить риск предварительно вычисленных атак по словарю . [11]
В наше время имена пользователей и пароли обычно используются людьми во время процесса входа в систему , который контролирует доступ к защищенным компьютерным операционным системам , мобильным телефонам , декодерам кабельного телевидения , банкоматам (АТМ) и т. д. У типичного пользователя компьютера есть пароли для многих целей: входа в учетные записи, получения электронной почты , доступа к приложениям, базам данных, сетям, веб-сайтам и даже чтения утренней газеты в Интернете.
Чем проще пароль для запоминания владельцем, тем проще его будет угадать злоумышленнику . [12] Однако пароли, которые трудно запомнить, также могут снизить безопасность системы, поскольку (a) пользователям может потребоваться записать или сохранить пароль в электронном виде, (b) пользователям потребуется частая смена пароля и (c) пользователи с большей вероятностью будут повторно использовать один и тот же пароль в разных учетных записях. Аналогично, чем строже требования к паролю, такие как «сочетание заглавных и строчных букв и цифр» или «менять его ежемесячно», тем выше вероятность, что пользователи будут подрывать систему. [13] Другие утверждают, что более длинные пароли обеспечивают большую безопасность (например, энтропию ), чем более короткие пароли с большим количеством символов. [14]
В своей книге «Запоминаемость и безопасность паролей » [15] Джефф Ян и др. изучают влияние советов, данных пользователям о хорошем выборе пароля. Они обнаружили, что пароли, основанные на размышлении о фразе и взятии первой буквы каждого слова, так же запоминаемы, как и наивно выбранные пароли, и так же сложны для взлома, как и случайно сгенерированные пароли.
Объединение двух или более несвязанных слов и изменение некоторых букв на специальные символы или цифры — еще один хороший метод, [16] но одно словарное слово — нет. Наличие лично разработанного алгоритма для генерации непонятных паролей — еще один хороший метод. [17]
Однако, просьба к пользователям запомнить пароль, состоящий из «смесь заглавных и строчных букв», похожа на просьбу к пользователям запомнить последовательность битов: трудно запомнить, и лишь немного сложнее взломать (например, всего в 128 раз сложнее взломать 7-буквенные пароли, и еще меньше, если пользователь просто использует заглавную букву). Просьба к пользователям использовать «и буквы, и цифры» часто приводит к легко угадываемым заменам, таким как «E» → «3» и «I» → «1», заменам, которые хорошо известны злоумышленникам. Аналогично, ввод пароля на один ряд клавиатуры выше является распространенным трюком, известным злоумышленникам. [18]
В 2013 году Google опубликовал список наиболее распространенных типов паролей, все из которых считаются небезопасными, поскольку их слишком легко угадать (особенно после поиска информации о человеке в социальных сетях), в который вошли: [19]
Традиционный совет запоминать пароли и никогда не записывать их стал проблемой из-за огромного количества паролей, которые пользователи компьютеров и Интернета, как ожидается, будут хранить. В одном исследовании сделан вывод, что у среднестатистического пользователя около 100 паролей. [2] Чтобы управлять распространением паролей, некоторые пользователи используют один и тот же пароль для нескольких учетных записей, что является опасной практикой, поскольку утечка данных в одной учетной записи может поставить под угрозу остальные. Менее рискованные альтернативы включают использование менеджеров паролей , систем единого входа и простое ведение бумажных списков менее важных паролей. [20] Такая практика может сократить количество паролей, которые необходимо запомнить, например, главный пароль менеджера паролей, до более управляемого числа.
Безопасность системы, защищенной паролем, зависит от нескольких факторов. Вся система должна быть разработана для надежной безопасности, с защитой от компьютерных вирусов , атак типа «человек посередине» и т. п. Физические проблемы безопасности также вызывают беспокойство, от сдерживания серфинга через плечо до более сложных физических угроз, таких как видеокамеры и снифферы клавиатуры. Пароли следует выбирать так, чтобы злоумышленнику было трудно их угадать и чтобы злоумышленнику было трудно их обнаружить с помощью любой из доступных автоматических схем атаки. [21]
В настоящее время компьютерные системы часто скрывают пароли по мере их ввода. Цель этой меры — не допустить, чтобы посторонние могли прочитать пароль; однако некоторые утверждают, что эта практика может привести к ошибкам и стрессу, побуждая пользователей выбирать слабые пароли. В качестве альтернативы пользователи должны иметь возможность показывать или скрывать пароли по мере их ввода. [21]
Эффективные положения о контроле доступа могут вынудить преступников, пытающихся получить пароль или биометрический токен, принять крайние меры. [22] Менее крайние меры включают вымогательство , криптоанализ с использованием резинового шланга и атаку по сторонним каналам .
Ниже приведены некоторые конкретные вопросы управления паролями, которые необходимо учитывать при выборе и использовании пароля.
Скорость, с которой злоумышленник может отправлять угаданным паролям в систему, является ключевым фактором в определении безопасности системы. Некоторые системы устанавливают тайм-аут в несколько секунд после небольшого количества (например, трех) неудачных попыток ввода пароля, также известный как регулирование. [3] : 63B Sec 5.2.2 При отсутствии других уязвимостей такие системы могут быть эффективно защищены относительно простыми паролями, если они были хорошо выбраны и их нелегко угадать. [23]
Многие системы хранят криптографический хэш пароля. Если злоумышленник получает доступ к файлу хэшированных паролей, угадывание может быть выполнено в автономном режиме, быстро проверяя пароли-кандидаты на соответствие хэш-значению истинного пароля. В примере с веб-сервером злоумышленник в сети может угадывать только со скоростью, с которой сервер будет отвечать, в то время как злоумышленник в автономном режиме (получивший доступ к файлу) может угадывать со скоростью, ограниченной только оборудованием, на котором выполняется атака, и силой алгоритма, используемого для создания хэша.
Пароли, которые используются для генерации криптографических ключей (например, для шифрования диска или безопасности Wi-Fi ), также могут подвергаться быстрому угадыванию, известному как взлом паролей . Списки распространенных паролей широко доступны и могут сделать атаки на пароли очень эффективными. Безопасность в таких ситуациях зависит от использования паролей или парольных фраз адекватной сложности, что делает такую атаку вычислительно неосуществимой для злоумышленника. Некоторые системы, такие как PGP и Wi-Fi WPA , применяют к паролю хэш с интенсивными вычислениями, чтобы замедлить такие атаки, в технике, известной как растяжение ключа .
Альтернативой ограничению скорости, с которой злоумышленник может угадывать пароль, является ограничение общего числа возможных попыток. Пароль может быть отключен, требуя сброса после небольшого количества последовательных неудачных попыток (скажем, 5); и пользователю может потребоваться сменить пароль после большего совокупного количества неудачных попыток (скажем, 30), чтобы не допустить, чтобы злоумышленник сделал произвольно большое количество неудачных попыток, перемежая их между удачными попытками законного владельца пароля. [24] Злоумышленники могут, наоборот, использовать знание этого смягчения для реализации атаки типа «отказ в обслуживании» против пользователя, намеренно заблокировав его доступ к собственному устройству; этот отказ в обслуживании может открыть злоумышленнику другие возможности манипулировать ситуацией в своих интересах с помощью социальной инженерии .
Некоторые компьютерные системы хранят пароли пользователей в виде открытого текста , с которым можно сравнивать попытки входа пользователей. Если злоумышленник получит доступ к такому внутреннему хранилищу паролей, все пароли, а значит, и все учетные записи пользователей, будут скомпрометированы. Если некоторые пользователи используют один и тот же пароль для учетных записей в разных системах, они также будут скомпрометированы.
Более безопасные системы хранят каждый пароль в криптографически защищенной форме, поэтому доступ к фактическому паролю все еще будет затруднен для шпиона, который получает внутренний доступ к системе, в то время как проверка попыток доступа пользователя остается возможной. Самые безопасные вообще не хранят пароли, а хранят односторонний вывод, такой как полином , модуль или расширенная хэш-функция . [14] Роджер Нидхэм изобрел ныне распространенный подход хранения только «хэшированной» формы открытого текстового пароля. [25] [26] Когда пользователь вводит пароль в такой системе, программное обеспечение для обработки паролей проходит через криптографический хэш-алгоритм, и если хэш-значение, сгенерированное из ввода пользователя, совпадает с хешем, сохраненным в базе данных паролей, пользователю разрешается доступ. Хэш-значение создается путем применения криптографической хэш-функции к строке, состоящей из отправленного пароля и, во многих реализациях, другого значения, известного как соль . Соль не позволяет злоумышленникам легко составить список хэш-значений для распространенных паролей и предотвращает масштабирование попыток взлома паролей среди всех пользователей. [27] MD5 и SHA1 — часто используемые криптографические хэш-функции, но они не рекомендуются для хэширования паролей, если только они не используются как часть более крупной конструкции, например, в PBKDF2 . [28]
Сохраненные данные, иногда называемые «верификатором пароля» или «хэшем пароля», часто хранятся в формате Modular Crypt Format или формате хэша RFC 2307, иногда в файле /etc/passwd или файле /etc/shadow . [29]
Основными методами хранения паролей являются простой текст, хешированный, хешированный и соленый, а также обратимо зашифрованный. [30] Если злоумышленник получает доступ к файлу паролей, то, если он хранится как простой текст, взлом не требуется. Если он хеширован, но не соленый, то он уязвим для атак с помощью радужных таблиц (которые более эффективны, чем взлом). Если он обратимо зашифрован, то, если злоумышленник получает ключ дешифрования вместе с файлом, взлом не требуется, в то время как если ему не удается получить ключ, взлом невозможен. Таким образом, из распространенных форматов хранения паролей взлом необходим и возможен только тогда, когда пароли соленые и хешированные. [30]
Если криптографическая хэш-функция хорошо спроектирована, то вычислительно невозможно обратить функцию, чтобы восстановить открытый текстовый пароль. Однако злоумышленник может использовать широко доступные инструменты, чтобы попытаться угадать пароли. Эти инструменты работают, хэшируя возможные пароли и сравнивая результат каждой догадки с фактическими хэшами паролей. Если злоумышленник находит совпадение, он знает, что его догадка является фактическим паролем для соответствующего пользователя. Инструменты взлома паролей могут работать методом грубой силы (т. е. пробуя все возможные комбинации символов) или хэшируя каждое слово из списка; большие списки возможных паролей на многих языках широко доступны в Интернете. [14] Существование инструментов взлома паролей позволяет злоумышленникам легко восстанавливать плохо выбранные пароли. В частности, злоумышленники могут быстро восстанавливать пароли, которые являются короткими, словесными словами, простыми вариациями словарных слов или которые используют легко угадываемые шаблоны. [31] Модифицированная версия алгоритма DES использовалась в качестве основы для алгоритма хэширования паролей в ранних системах Unix . [32] Алгоритм шифрования использовал 12-битное значение соли, чтобы хэш каждого пользователя был уникальным, и итерировал алгоритм DES 25 раз, чтобы замедлить хэш-функцию, обе меры были направлены на то, чтобы помешать автоматизированным атакам угадывания. [32] Пароль пользователя использовался в качестве ключа для шифрования фиксированного значения. Более поздние системы Unix или Unix-подобные системы (например, Linux или различные системы BSD ) используют более безопасные алгоритмы хэширования паролей, такие как PBKDF2 , bcrypt и scrypt , которые имеют большие соли и регулируемую стоимость или количество итераций. [33] Плохо спроектированная хэш-функция может сделать атаки осуществимыми, даже если выбран надежный пароль. Хэш LM является широко распространенным и небезопасным примером. [34]
Пароли уязвимы для перехвата (т. е. «шпионажа») при передаче на аутентифицирующую машину или человека. Если пароль передается в виде электрических сигналов по незащищенной физической проводке между точкой доступа пользователя и центральной системой, управляющей базой данных паролей, он может быть перехвачен с помощью методов прослушивания . Если он передается в виде пакетных данных через Интернет, любой, кто может просматривать пакеты, содержащие информацию о входе в систему, может шпионить с очень низкой вероятностью обнаружения.
Электронная почта иногда используется для распространения паролей, но это, как правило, небезопасный метод. Поскольку большинство электронных писем отправляется в виде открытого текста , сообщение, содержащее пароль, может быть прочитано без усилий во время передачи любым перехватчиком. Кроме того, сообщение будет храниться в виде открытого текста по крайней мере на двух компьютерах: отправителя и получателя. Если оно проходит через промежуточные системы во время своего путешествия, оно, вероятно, будет храниться там также, по крайней мере, в течение некоторого времени, и может быть скопировано в файлы резервных копий , кэша или истории на любой из этих систем.
Использование шифрования на стороне клиента защитит только передачу от сервера системы обработки почты к клиентской машине. Предыдущие или последующие ретрансляции электронной почты не будут защищены, и электронная почта, вероятно, будет храниться на нескольких компьютерах, определенно на исходном и принимающем компьютерах, чаще всего в виде открытого текста.
Риск перехвата паролей, отправляемых через Интернет, можно снизить, среди прочего, с помощью криптографической защиты. Наиболее широко используемой является функция Transport Layer Security (TLS, ранее называвшаяся SSL ), встроенная в большинство современных интернет -браузеров . Большинство браузеров предупреждают пользователя об обмене данными с сервером, защищенном TLS/SSL, отображая значок закрытого замка или какой-либо другой знак, когда используется TLS. Существует несколько других используемых методов.
Существует конфликт между хранимыми хэшированными паролями и аутентификацией вызов-ответ на основе хеша ; последний требует, чтобы клиент доказал серверу, что он знает, что такое общий секрет (т. е. пароль), и для этого сервер должен иметь возможность получить общий секрет из его сохраненной формы. Во многих системах (включая системы типа Unix ), выполняющих удаленную аутентификацию, общий секрет обычно становится хэшированной формой и имеет серьезное ограничение, подвергая пароли атакам офлайн-угадывания. Кроме того, когда хэш используется в качестве общего секрета, злоумышленнику не нужен исходный пароль для удаленной аутентификации; ему нужен только хэш.
Вместо передачи пароля или передачи хэша пароля системы согласования ключей с аутентификацией по паролю могут выполнять проверку пароля с нулевым разглашением , которая подтверждает знание пароля без его раскрытия.
Двигаясь на шаг дальше, дополненные системы для соглашения о ключах с аутентификацией паролем (например, AMP, B-SPEKE , PAK-Z, SRP-6 ) избегают как конфликта, так и ограничения методов на основе хэша. Дополненная система позволяет клиенту доказать знание пароля серверу, где сервер знает только (не точно) хэшированный пароль, и где для получения доступа требуется нехэшированный пароль.
Обычно система должна предоставлять возможность изменить пароль, либо потому, что пользователь считает, что текущий пароль был (или мог быть) скомпрометирован, либо в качестве меры предосторожности. Если новый пароль передается в систему в незашифрованном виде, безопасность может быть потеряна (например, путем прослушивания телефонных разговоров ) еще до того, как новый пароль будет установлен в базе данных паролей , а если новый пароль передается скомпрометированному сотруднику, то это мало что дает. Некоторые веб-сайты включают выбранный пользователем пароль в незашифрованное сообщение электронной почты с подтверждением, что, очевидно, повышает уязвимость.
Системы управления идентификацией все чаще используются для автоматизации выдачи замен утерянных паролей, эта функция называется самостоятельным сбросом пароля . Личность пользователя проверяется путем задания вопросов и сравнения ответов с ранее сохраненными (т. е. при открытии учетной записи).
Некоторые вопросы по сбросу пароля запрашивают личную информацию, которую можно найти в социальных сетях, например, девичью фамилию матери. В результате некоторые эксперты по безопасности рекомендуют либо придумывать собственные вопросы, либо давать ложные ответы. [35]
«Старение пароля» — это функция некоторых операционных систем, которая заставляет пользователей часто менять пароли (например, ежеквартально, ежемесячно или даже чаще). Такая политика обычно вызывает протест пользователей и промедление в лучшем случае и враждебность в худшем. Часто увеличивается число людей, которые записывают пароль и оставляют его там, где его можно легко найти, а также звонков в службу поддержки, чтобы сбросить забытый пароль. Пользователи могут использовать более простые пароли или разрабатывать шаблоны вариаций на одну и ту же тему, чтобы сохранить свои пароли в памяти. [36] Из-за этих проблем ведутся споры о том, эффективно ли устаревание пароля. [37] Изменение пароля не предотвратит злоупотребление в большинстве случаев, поскольку злоупотребление часто будет сразу заметно. Однако, если кто-то мог получить доступ к паролю каким-либо образом, например, используя общий компьютер или взломав другой сайт, изменение пароля ограничивает окно для злоупотребления. [38]
Назначение отдельных паролей каждому пользователю системы предпочтительнее, чем наличие одного пароля, общего для законных пользователей системы, конечно, с точки зрения безопасности. Это отчасти объясняется тем, что пользователи более охотно сообщают другому человеку (который может быть не авторизован) общий пароль, чем тот, который предназначен исключительно для их использования. Единые пароли также гораздо менее удобны для изменения, поскольку их нужно сообщать многим людям одновременно, и они затрудняют удаление доступа конкретного пользователя, например, при выпуске или увольнении. Отдельные логины также часто используются для подотчетности, например, чтобы знать, кто изменил часть данных.
К распространенным методам повышения безопасности компьютерных систем, защищенных паролем, относятся:
Некоторые из наиболее строгих мер по обеспечению соблюдения политики могут создать риск отчуждения пользователей, что может привести к снижению безопасности.
Среди пользователей компьютеров распространена практика повторного использования одного и того же пароля на нескольких сайтах. Это представляет существенный риск безопасности, поскольку злоумышленнику достаточно скомпрометировать только один сайт, чтобы получить доступ к другим сайтам, которые использует жертва. Эта проблема усугубляется также повторным использованием имен пользователей и веб-сайтами, требующими входа по электронной почте, поскольку это облегчает злоумышленнику отслеживание одного пользователя на нескольких сайтах. Повторное использование паролей можно избежать или свести к минимуму, используя мнемонические методы , записывая пароли на бумаге или используя менеджер паролей . [43]
Исследователи из Редмонда Динеи Флоренсио и Кормак Херли, а также Пол С. ван Ооршот из Карлтонского университета в Канаде утверждают , что повторное использование паролей неизбежно, и что пользователи должны повторно использовать пароли для веб-сайтов с низким уровнем безопасности (например, содержащих мало персональных данных и никакой финансовой информации) и вместо этого сосредоточить свои усилия на запоминании длинных сложных паролей для нескольких важных учетных записей, таких как банковские счета. [44] Аналогичные аргументы были высказаны Forbes в отношении того, чтобы не менять пароли так часто, как советуют многие «эксперты», из-за тех же ограничений человеческой памяти. [36]
Исторически многие эксперты по безопасности просили людей запоминать свои пароли: «Никогда не записывайте пароли». Совсем недавно многие эксперты по безопасности, такие как Брюс Шнайер, рекомендовали людям использовать слишком сложные для запоминания пароли, записывать их на бумаге и хранить в кошельке. [45] [46] [47] [48] [49] [50] [51]
Программное обеспечение для управления паролями также может относительно безопасно хранить пароли в зашифрованном файле, защищенном одним главным паролем.
Для облегчения управления имуществом людям полезно предоставить механизм для передачи своих паролей лицам, которые будут управлять их делами в случае их смерти. Если будет подготовлена запись счетов и паролей, необходимо позаботиться о том, чтобы записи были защищены, чтобы предотвратить кражу или мошенничество. [52]
Многофакторные схемы аутентификации объединяют пароли (как «факторы знания») с одним или несколькими другими средствами аутентификации, чтобы сделать аутентификацию более безопасной и менее уязвимой для взломанных паролей. Например, простой двухфакторный вход может отправлять текстовое сообщение, электронное письмо, автоматический телефонный звонок или подобное оповещение всякий раз, когда предпринимается попытка входа, возможно, предоставляя код, который необходимо ввести в дополнение к паролю. [53] Более сложные факторы включают такие вещи, как аппаратные токены и биометрическая безопасность.
Ротация паролей — это политика, которая обычно применяется с целью повышения безопасности компьютера . В 2019 году Microsoft заявила, что эта практика «старая и устаревшая». [54] [55]
Большинство организаций определяют политику паролей , которая устанавливает требования к составу и использованию паролей, как правило, диктуя минимальную длину, требуемые категории (например, верхний и нижний регистр, цифры и специальные символы), запрещенные элементы (например, использование собственного имени, даты рождения, адреса, номера телефона). Некоторые правительства имеют национальные структуры аутентификации [56] , которые определяют требования к аутентификации пользователей для государственных служб, включая требования к паролям.
Многие веб-сайты применяют стандартные правила, такие как минимальная и максимальная длина, но также часто включают правила композиции, такие как наличие по крайней мере одной заглавной буквы и по крайней мере одной цифры/символа. Эти последние, более конкретные правила были в значительной степени основаны на отчете Национального института стандартов и технологий (NIST) 2003 года, автором которого является Билл Берр. [57] Первоначально он предлагал практику использования цифр, неясных символов и заглавных букв и регулярного обновления. В статье 2017 года в The Wall Street Journal Берр сообщил, что он сожалеет об этих предложениях и совершил ошибку, когда рекомендовал их. [58]
Согласно переписанному в 2017 году отчету NIST, на многих веб-сайтах есть правила, которые на самом деле оказывают противоположное влияние на безопасность их пользователей. Это включает в себя сложные правила композиции, а также принудительную смену паролей через определенные периоды времени. Хотя эти правила давно уже широко распространены, они также долгое время считались раздражающими и неэффективными как пользователями, так и экспертами по кибербезопасности. [59] NIST рекомендует людям использовать более длинные фразы в качестве паролей (и советует веб-сайтам увеличить максимальную длину пароля) вместо труднозапоминающихся паролей с «иллюзорной сложностью», таких как «pA55w+rd». [60] Пользователь, которому запрещено использовать пароль «password», может просто выбрать «Password1», если требуется включить цифру и заглавную букву. В сочетании с принудительной периодической сменой паролей это может привести к паролям, которые трудно запомнить, но легко взломать. [57]
Пол Грасси, один из авторов отчета NIST за 2017 год, пояснил: «Все знают, что восклицательный знак — это 1, или I, или последний символ пароля. $ — это S или 5. Если мы используем эти известные трюки, мы не обманываем ни одного злоумышленника. Мы просто обманываем базу данных, в которой хранятся пароли, заставляя ее думать, что пользователь сделал что-то хорошее». [59]
Pieris Tsokkis и Eliana Stavrou смогли определить некоторые плохие стратегии создания паролей с помощью своих исследований и разработки инструмента-генератора паролей. Они выделили восемь категорий стратегий создания паролей на основе открытых списков паролей, инструментов взлома паролей и онлайн-отчетов, ссылающихся на наиболее используемые пароли. Эти категории включают информацию, связанную с пользователем, комбинации и шаблоны клавиатуры, стратегию размещения, обработку текста, замену, использование заглавных букв, добавление дат и комбинацию предыдущих категорий [61]
Попытка взломать пароли, перебирая столько возможностей, сколько позволяют время и деньги, — это атака методом грубой силы . Схожий метод, в большинстве случаев более эффективный, — это атака по словарю . При атаке по словарю проверяются все слова в одном или нескольких словарях. Списки распространенных паролей также обычно проверяются.
Надежность пароля — это вероятность того, что пароль не может быть угадан или обнаружен, и она зависит от используемого алгоритма атаки. Криптологи и специалисты по информатике часто ссылаются на надежность или «жесткость» в терминах энтропии . [14]
Пароли, которые легко обнаружить, называются слабыми или уязвимыми ; пароли, которые очень трудно или невозможно обнаружить, считаются сильными . Существует несколько программ, доступных для атаки на пароль (или даже для аудита и восстановления персоналом системы), таких как L0phtCrack , John the Ripper и Cain ; некоторые из них используют уязвимости конструкции пароля (как в системе Microsoft LANManager) для повышения эффективности. Эти программы иногда используются системными администраторами для обнаружения слабых паролей, предлагаемых пользователями.
Исследования производственных компьютерных систем последовательно показывают, что большая часть всех паролей, выбранных пользователями, легко угадывается автоматически. Например, Колумбийский университет обнаружил, что 22% паролей пользователей можно восстановить без особых усилий. [62] По словам Брюса Шнайера , изучавшего данные фишинговой атаки 2006 года, 55% паролей MySpace можно было бы взломать за 8 часов с помощью коммерчески доступного набора инструментов для восстановления паролей, способного тестировать 200 000 паролей в секунду в 2006 году. [63] Он также сообщил, что единственным наиболее распространенным паролем был password1 , что еще раз подтверждает общее отсутствие осознанной осторожности при выборе паролей среди пользователей. (Тем не менее, он утверждал, основываясь на этих данных, что общее качество паролей улучшилось за эти годы — например, средняя длина составляла до восьми символов по сравнению с семью в предыдущих исследованиях, и менее 4% были словарными словами. [64] )
Многочисленные способы, которыми постоянные или полупостоянные пароли могут быть скомпрометированы, побудили к разработке других методов. Некоторые из них неадекватны на практике, и в любом случае немногие стали общедоступными для пользователей, ищущих более безопасную альтернативу. [72] В статье 2012 года [73] рассматривается, почему пароли оказалось так трудно вытеснить (несмотря на многочисленные предсказания, что они скоро уйдут в прошлое [74] ); при рассмотрении тридцати репрезентативных предлагаемых замен с точки зрения безопасности, удобства использования и развертывания они приходят к выводу, что «ни одна из них даже не сохраняет полный набор преимуществ, которые уже предоставляют устаревшие пароли».
«Пароль мертв» — повторяющаяся идея в компьютерной безопасности . Приводимые причины часто включают ссылку на удобство использования , а также проблемы безопасности паролей. Она часто сопровождается аргументами о том, что замена паролей более безопасными средствами аутентификации необходима и неизбежна. Это утверждение было сделано многими людьми, по крайней мере, с 2004 года. [74] [86] [87 ] [88] [89] [90] [91] [92]
Альтернативы паролям включают биометрию , двухфакторную аутентификацию или единый вход , Microsoft Cardspace , проект Higgins , Liberty Alliance , NSTIC , FIDO Alliance и различные предложения Identity 2.0. [93] [ 94]
Однако, несмотря на эти прогнозы и попытки заменить их, пароли по-прежнему остаются доминирующей формой аутентификации в Интернете. В «Постоянстве паролей» Кормак Херли и Пол ван Ооршот предлагают приложить все усилия, чтобы положить конец «совершенно неверному предположению», что пароли мертвы. [95] Они утверждают, что «никакая другая технология не сравнится с их сочетанием стоимости, оперативности и удобства» и что «пароли сами по себе являются наилучшим вариантом для многих сценариев, в которых они в настоящее время используются».
После этого Бонно и др. систематически сравнивали веб-пароли с 35 конкурирующими схемами аутентификации с точки зрения их удобства использования, развертывания и безопасности. [96] [97] Их анализ показывает, что большинство схем лучше паролей в плане безопасности, некоторые схемы лучше, а некоторые хуже в плане удобства использования, в то время как каждая схема хуже паролей в плане развертывания. Авторы делают вывод следующим наблюдением: «Предельные выгоды часто недостаточны для достижения энергии активации, необходимой для преодоления значительных затрат на переход, что может дать лучшее объяснение того, почему мы, вероятно, проживем значительно дольше, прежде чем увидим, как похоронная процессия паролей прибудет на кладбище».
{{cite journal}}
: Цитировать журнал требует |journal=
( помощь ){{cite web}}
: CS1 maint: бот: исходный статус URL неизвестен ( ссылка ). Fred Cohen and Associates. All.net. Получено 20 мая 2012 г.{{cite web}}
: CS1 maint: бот: исходный статус URL неизвестен ( ссылка ). cs.columbia.edu