Генератор случайных паролей

Программа, которая генерирует пароль с помощью генератора случайных чисел
Генератор случайных паролей в Bitwarden , здесь можно настраивать определенные параметры от длины до сложности

Генератор случайных паролей — это программное обеспечение или аппаратное устройство, которое принимает входные данные от генератора случайных или псевдослучайных чисел и автоматически генерирует пароль . Случайные пароли могут быть сгенерированы вручную, с использованием простых источников случайности, таких как игральные кости или монеты , или они могут быть сгенерированы с помощью компьютера.

Хотя в Интернете есть много примеров программ-генераторов «случайных» паролей, генерация случайности может быть сложной, и многие программы не генерируют случайные символы таким образом, чтобы обеспечить надежную безопасность. Распространенной рекомендацией является использование инструментов безопасности с открытым исходным кодом , где это возможно, поскольку они позволяют проводить независимые проверки качества используемых методов. Простая генерация пароля случайным образом не гарантирует, что пароль является надежным, поскольку возможно, хотя и крайне маловероятно, сгенерировать легко угадываемый или взламываемый пароль. На самом деле, нет никакой необходимости в том, чтобы пароль был создан совершенно случайным процессом: его просто должно быть достаточно сложно угадать.

Генератор паролей может быть частью менеджера паролей . Когда политика паролей устанавливает сложные правила, может быть проще использовать генератор паролей на основе этого набора правил, чем вручную создавать пароли.

Длинные строки случайных символов трудно запомнить большинству людей. Мнемонические хэши, которые обратимо преобразуют случайные строки в более запоминающиеся пароли, могут существенно улучшить простоту запоминания. Поскольку хэш может быть обработан компьютером для восстановления исходной 60-битной строки, он имеет по крайней мере столько же информационного содержания, сколько и исходная строка. [1] Аналогичные методы используются в спорте на память .

Тип и надежность пароля

Генераторы случайных паролей обычно выводят строку символов указанной длины. Это могут быть отдельные символы из некоторого набора символов, слоги, предназначенные для формирования произносимых паролей, или слова из некоторого списка слов для формирования парольной фразы . Программу можно настроить так, чтобы гарантировать, что полученный пароль соответствует локальной политике паролей, например, всегда создавая смесь букв, цифр и специальных символов. Такие политики обычно немного снижают надежность ниже следующей формулы, поскольку символы больше не производятся независимо. [ необходима цитата ]

Надежность случайного пароля против конкретной атаки ( перебор методом полного перебора ) можно рассчитать, вычислив энтропию информации случайного процесса, который его произвел. Если каждый символ в пароле производится независимо и с одинаковой вероятностью, энтропия в битах определяется по формуле , где N — количество возможных символов, а L — количество символов в пароле. Функция log 2 это логарифм по основанию 2. H обычно измеряется в битах . [2] [3] H = L log 2 N {\textstyle H=L\,\log _{2}N}

Любой генератор паролей ограничен пространством состояний используемого генератора псевдослучайных чисел, если он основан на нем. Таким образом, пароль, сгенерированный с помощью 32-битного генератора, ограничен 32-битной энтропией, независимо от количества символов, содержащихся в пароле. [ необходима цитата ]

Веб-сайты

В Интернете доступно большое количество программ и веб-сайтов для генерации паролей. Их качество различается и его трудно оценить, если нет четкого описания источника случайности, который используется, и если не предоставлен исходный код, позволяющий проверять заявления. Кроме того, и, вероятно, самое главное, передача паролей-кандидатов через Интернет вызывает очевидные проблемы безопасности, особенно если соединение с программой сайта генерации паролей не защищено должным образом или если сайт каким-либо образом скомпрометирован. Без безопасного канала невозможно предотвратить подслушивание, особенно в публичных сетях, таких как Интернет . Возможным решением этой проблемы является генерация пароля с использованием клиентского языка программирования, такого как JavaScript. Преимущество этого подхода заключается в том, что сгенерированный пароль остается на клиентском компьютере и не передается на внешний сервер или с него. [ оригинальное исследование? ]

API веб-криптографии

Web Cryptography API — это рекомендация World Wide Web Consortium (W3C) для низкоуровневого интерфейса, который повысит безопасность веб-приложений , позволяя им выполнять криптографические функции без необходимости доступа к исходному ключевому материалу. Web Crypto API предоставляет надежный способ генерации паролей с использованием этого crypto.getRandomValues()метода. Вот простой код Javascript, который генерирует надежный пароль с использованием web crypto API. [4] [5]

Стандарт FIPS 181

Во многих компьютерных системах уже есть приложение (обычно называемое «apg») для реализации стандарта генератора паролей FIPS 181. [6] FIPS 181 — Автоматизированный генератор паролей — описывает стандартный процесс преобразования случайных битов (из аппаратного генератора случайных чисел) в несколько произносимые «слова», подходящие для парольной фразы. [7] Однако в 1994 году была обнаружена атака на алгоритм FIPS 181, так что злоумышленник может ожидать, что в среднем взломает 1% учетных записей, пароли которых основаны на алгоритме, после перебора всего 1,6 миллиона паролей. Это связано с неравномерностью распределения сгенерированных паролей, которую можно устранить, используя более длинные пароли или модифицируя алгоритм. [8] [9]

Механические методы

Еще один метод заключается в использовании физических устройств, таких как игральные кости, для генерации случайности. Один простой способ сделать это использует таблицу символов 6 на 6. Первый бросок кубика выбирает строку в таблице, а второй — столбец. Так, например, бросок 2, за которым следует бросок 4, выберет букву «j» из таблицы дробления ниже. [10] Для генерации символов верхнего/нижнего регистра или некоторых символов можно использовать подбрасывание монеты, орел — заглавная буква, решка — строчная. Если при броске кубика была выбрана цифра, подбрасывание орла может выбрать символ над ней на стандартной клавиатуре, например, «$» над «4» вместо «4».

123456
1абсгеф
2гчасяджкл
3мнопдг
4сттывжх
5уз0123
6456789

Смотрите также

Ссылки

  1. ^ Газвининеджад, Марджан; Найт, Кевин (май–июнь 2015 г.). «Как запомнить случайную 60-битную строку» (PDF) . Труды конференции 2015 г. Североамериканского отделения Ассоциации компьютерной лингвистики: Технологии человеческого языка . Том. Труды конференции 2015 г. Североамериканского отделения Ассоциации компьютерной лингвистики: Технологии человеческого языка. Денвер, Колорадо: Ассоциация компьютерной лингвистики. стр.  1569– 1575. doi :10.3115/v1/N15-1180. S2CID  8028691.
  2. ^ Шнайер, Б.: Прикладная криптография , второе издание, стр. 233 и далее. John Wiley and Sons.
  3. ^ Берр, У. Э.; Додсон, Д. Ф.; Полк, У. Т. (2006). «Руководство по электронной аутентификации» (PDF) . NIST. doi :10.6028/NIST.SP.800-63v1.0.2. {{cite journal}}: Цитировать журнал требует |journal=( помощь )
  4. ^ «Создание безопасного случайного пароля с использованием Web Crypto API и Javascript». github.com . Получено 2024-01-06 .
  5. ^ "Пошаговый процесс создания надежного пароля с использованием Web Crypto API". passwordlab.io . Получено 2024-01-06 .
  6. ^ "StrongPasswords – Community Help Wiki". help.ubuntu.com . Получено 2016-03-25 .
  7. ^ NIST. Стандарт автоматического генератора паролей FIPS 181
  8. ^ Шей, Ричард; Келли, Патрик Гейдж; Командури, Саранга; Мазурек, Мишель Л.; Ур, Блейз; Видас, Тимоти; Бауэр, Луджо; Кристин, Николас; Крейнор, Лорри Фейт (2012). Правильный конский аккумулятор: исследование удобства использования системных парольных фраз (PDF) . Труды Восьмого симпозиума SOUPS '12 по вопросам конфиденциальности и безопасности. doi :10.1145/2335356.2335366.
  9. ^ Ганесан, Рави; Дэвис, Крис (1994). «Новая атака на генераторы случайных произносимых паролей» (PDF) . Труды 17-й Национальной конференции по компьютерной безопасности {NIST}-{NCSC} . NIST: 184– 197 . Получено 17 декабря 2014 г. .
  10. Левин, Джон Р., Ред.: Internet Secrets , Второе издание, стр. 831 и далее. John Wiley and Sons.
  • Криптографически безопасное случайное число в Windows без использования CryptoAPI из MSDN
  • RFC 4086 по рекомендациям по случайности для безопасности (заменяет более ранний RFC 1750.)
Retrieved from "https://en.wikipedia.org/w/index.php?title=Random_password_generator&oldid=1264709121"