Генератор случайных паролей
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Генератор случайных паролей — это программа или аппаратное устройство, которое принимает входные данные от генератора случайных или псевдослучайных чисел и автоматически генерирует пароль . Случайные пароли можно генерировать вручную, используя простые источники случайности, такие как игральные кости или монеты , или их можно генерировать с помощью компьютера.
Хотя в Интернете доступно множество примеров программ-генераторов «случайных» паролей, генерация случайных паролей может быть сложной задачей, и многие программы не генерируют случайные символы таким образом, чтобы обеспечить надежную безопасность. Распространенной рекомендацией является использование инструментов безопасности с открытым исходным кодом, где это возможно, поскольку они позволяют независимые проверки качества используемых методов. Простое случайное создание пароля не гарантирует, что пароль будет надежным, поскольку возможно, хотя и крайне маловероятно, создать пароль, который легко угадать или взломать. На самом деле нет никакой необходимости в том, чтобы пароль был создан совершенно случайным процессом: его просто должно быть достаточно сложно угадать.
Генератор паролей может быть частью менеджера паролей . Когда политика паролей применяет сложные правила, может быть проще использовать генератор паролей на основе этого набора правил, чем создавать пароли вручную.
Длинные строки случайных символов большинству людей трудно запомнить. Мнемонические хэши, которые обратимо преобразуют случайные строки в более запоминающиеся пароли, могут существенно облегчить запоминание. Поскольку хэш может быть обработан компьютером для восстановления исходной 60-битной строки, он содержит по крайней мере столько же информации, сколько и исходная строка. [ 1 ] Подобные методы используются в спорте на память .
Тип и надежность пароля
[ редактировать ]![]() |
Генераторы случайных паролей обычно выводят строку символов указанной длины. Это могут быть отдельные символы из некоторого набора символов, слоги, предназначенные для формирования произносимых паролей, или слова из некоторого списка слов для формирования парольной фразы . Программу можно настроить так, чтобы полученный пароль соответствовал локальной политике паролей, например, всегда создавая сочетание букв, цифр и специальных символов. Такая политика обычно снижает силу немного ниже следующей формулы, поскольку символы больше не производятся независимо. [ нужна ссылка ]
Надежность случайного пароля против конкретной атаки ( поиск методом перебора ) можно рассчитать путем вычисления информационной энтропии случайного процесса, который его создал. Если каждый символ в пароле создается независимо и с одинаковой вероятностью, энтропия в битах определяется формулой , где N — количество возможных символов, а L — количество символов в пароле. Функция log 2 представляет собой логарифм по основанию 2 . H обычно измеряется в битах . [ 2 ] [ 3 ]
Любой генератор паролей ограничен пространством состояний используемого генератора псевдослучайных чисел, если он основан на нем. Таким образом, энтропия пароля, сгенерированного с помощью 32-битного генератора, ограничена 32 битами, независимо от количества символов, содержащихся в пароле. [ нужна ссылка ]
Веб-сайты
[ редактировать ]В Интернете доступно большое количество программ и веб-сайтов-генераторов паролей. Их качество варьируется, и его может быть трудно оценить, если нет четкого описания используемого источника случайности и если не предоставлен исходный код, позволяющий проверить утверждения. Кроме того, и это, вероятно, самое главное, передача паролей-кандидатов через Интернет вызывает очевидные проблемы с безопасностью, особенно если соединение с программой сайта генерации паролей не защищено должным образом или если сайт каким-либо образом скомпрометирован. Без защищенного канала невозможно предотвратить подслушивание, особенно в общедоступных сетях, таких как Интернет . Возможное решение этой проблемы — сгенерировать пароль с помощью языка программирования на стороне клиента, такого как JavaScript. Преимущество этого подхода заключается в том, что сгенерированный пароль остается на клиентском компьютере и не передается на внешний сервер или с него. [ оригинальное исследование? ]
API веб-криптографии
[ редактировать ]API веб-криптографии — это рекомендация Консорциума Всемирной паутины (W3C) в отношении низкоуровневого интерфейса, который повысит безопасность веб-приложений , позволяя им выполнять криптографические функции без необходимости доступа к необработанному ключевому материалу. Web Crypto API обеспечивает надежный способ генерации паролей с помощью crypto.getRandomValues()
метод. Вот простой код Javascript, который генерирует надежный пароль с использованием API веб-криптографии. [ 4 ] [ 5 ]
Стандарт ФИПС 181
[ редактировать ]Во многих компьютерных системах уже есть приложение (обычно называемое «apg») для реализации стандарта генератора паролей FIPS 181. [ 6 ] FIPS 181 — Автоматический генератор паролей — описывает стандартный процесс преобразования случайных битов (из аппаратного генератора случайных чисел) в несколько произносимые «слова», подходящие для парольной фразы. [ 7 ] Однако в 1994 году была обнаружена атака на алгоритм FIPS 181, при которой злоумышленник может рассчитывать в среднем на взлом 1% учетных записей, имеющих пароли на основе этого алгоритма, после поиска всего 1,6 миллиона паролей. Это связано с неравномерностью распределения генерируемых паролей, которую можно устранить путем использования более длинных паролей или изменения алгоритма. [ 8 ] [ 9 ]
Механические методы
[ редактировать ]Еще один метод — использовать физические устройства, такие как игральные кости, для генерации случайности. Один простой способ сделать это — использовать таблицу символов 6 на 6. Первый бросок кубика выбирает строку в таблице, второй — столбец. Так, например, если выпадет 2, а затем выпадет 4, будет выбрана буква «j» из приведенной ниже таблицы фракционирования . [ 10 ] Для генерации символов верхнего/строчного регистра или некоторых символов можно использовать подбрасывание монеты: орёл заглавный, решка строчная. Если при бросках кубиков была выбрана цифра, при подбрасывании монеты орлом может быть выбран символ над ней на стандартной клавиатуре, например, «$» над «4» вместо «4».
1 2 3 4 5 6 1 а б с д и ж 2 г час я дж к л 3 м н тот п д р 4 с т в v В х 5 и С 0 1 2 3 6 4 5 6 7 8 9
См. также
[ редактировать ]- Криптографически безопасный генератор псевдослучайных чисел
- кубики
- Аппаратный генератор случайных чисел
- Размер ключа
- Мастер-пароль (алгоритм)
- Параметр длины пароля
- Менеджер паролей
Ссылки
[ редактировать ]- ^ Газвининежад, Марджан; Найт, Кевин (май – июнь 2015 г.). «Как запомнить случайную 60-битную строку» (PDF) . Материалы конференции Североамериканского отделения Ассоциации компьютерной лингвистики 2015 года: технологии человеческого языка . Том. Материалы конференции Североамериканского отделения Ассоциации компьютерной лингвистики 2015 года: технологии человеческого языка. Денвер, Колорадо: Ассоциация компьютерной лингвистики. стр. 1569–1575. дои : 10.3115/v1/N15-1180 . S2CID 8028691 .
- ^ Шнайер, Б: Прикладная криптография , второе издание, стр. 233 и далее. Джон Уайли и сыновья.
- ^ Берр, МЫ; Додсон, Д.Ф.; Полк, WT (2006). «Руководство по электронной аутентификации» (PDF) . НИСТ. дои : 10.6028/NIST.SP.800-63v1.0.2 .
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ «Сгенерируйте безопасный случайный пароль с помощью API Web Crypto и Javascript» . github.com . Проверено 6 января 2024 г.
- ^ «Пошаговый процесс создания надежного пароля с помощью Web Crypto API» . парольlab.io . Проверено 6 января 2024 г.
- ^ «StrongPasswords – Вики-справка сообщества» . help.ubuntu.com . Проверено 25 марта 2016 г.
- ^ НИСТ. Автоматический генератор паролей стандарта FIPS 181
- ^ Шей, Ричард; Келли, Патрик Гейдж; Командури, Саранга; Мазурек, Мишель Л.; Ур, Блейз; Видас, Тимоти; Бауэр, Лухо; Кристин, Николас; Крейнор, Лорри Фейт (2012). Правильный основной элемент лошадиной батареи: изучение возможности использования кодовых фраз, назначаемых системой (PDF) . SOUPS '12 Материалы восьмого симпозиума по полезной конфиденциальности и безопасности. дои : 10.1145/2335356.2335366 .
- ^ Ганесан, Рави; Дэвис, Крис (1994). «Новая атака на генераторы случайных произносимых паролей» (PDF) . Материалы 17-й конференции по национальной компьютерной безопасности {NIST}-{NCSC} . НИСТ: 184–197 . Проверено 17 декабря 2014 г.
- ^ Левин, Джон Р., Ред.: Секреты Интернета , второе издание, стр. 831 и далее. Джон Уайли и сыновья.
Внешние ссылки
[ редактировать ]- Криптографически безопасное случайное число в Windows без использования CryptoAPI из MSDN
- RFC 4086 о рекомендациях по случайности для безопасности (заменяет более ранний RFC 1750).