Принцип работы генератора случайных паролей.

Автор: Картушев Н.А., Морозова А.А.

Журнал: Теория и практика современной науки @modern-j

Рубрика: Основной раздел

Статья в выпуске: 9 (27), 2017 года.

Бесплатный доступ

В статье описывается принцип работы генераторов случайных паролей, природа случайных данных, различия между генераторами случайных чисел.

Пароль, генераторы псевдослучайных чисел, генератор паролей, криптография

Короткий адрес: https://sciup.org/140272174

IDR: 140272174

Текст научной статьи Принцип работы генератора случайных паролей.

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

При создании случайного пароля используются следующие генераторы случайных чисел:

  • 1.    генератор псевдослучайных чисел (ГПСЧ);

  • 2.    генератор случайных чисел (ГСЧ);

  • 3.    криптографически стойкий генератор псевдослучайных чисел (КСГПСЧ).

Природа случайных данных.

Если использовать генератор случайных паролей 5, 10, 100 или 1000 раз с одинаковыми параметрами, то существует небольшой шанс повторения результата. Профессор Оксфордского Университета Маркус Дю Сотой сказал [1], что «случайность» не является детерминированной, то есть невозможно будет сказать, что произойдет, основываясь на предыдущей информации.

Сотой использует пример с игральными костями и утверждает, что, если обладать достаточными сведениями о броске (размер и масса костей, силу, приложенную к ним, и т.д.), тогда можно предсказать куда они приземлятся. «Но дело в том, что мы не обладаем точными данными о броске, потому что они недетерминированные», – говорит профессор. То же самое можно сказать о замешивании колоды карт, лотерее, игре в рулетку и других азартных играх.

Детерминированность паролей, сгенерированных машиной.

Не все генераторы паролей создают по-настоящему случайный результат. Если использовать универсальный генератор паролей для создания 10,000 новых паролей, то результатом будет псевдослучайный набор, то есть он будет казаться случайным, но таковым не являться.

Стив Уорд, профессор компьютерных наук MIT, говорит [2], что традиционные компьютеры не сильны в генерации случайных результатов. «Они детерминированы.» - говорит он, - «Это значит, что на один и тот же вопрос вы будете получать один и тот же ответ. На самом деле, машины специально запрограммированы на устранение случайности в результатах. Они следуют правилам и полагаются на алгоритмы в вычислениях.»

По словам Уорда, полностью детерминированная машина не может создать действительно случайные числовые последовательности, потому что они следуют алгоритмам для достижения результата. «Как правило, алгоритм использует своего рода «семя» (начальное значение) – число для создания серии случайных чисел», – говорит он. Таким образом, сгенерированный случайным образом пароль не является случайным, потому что следует определенному алгоритму.

Компьютер не может сгенерировать полностью случайный результат, скажем, зависящий от броска игральной кости, потому что получить данные от реального броска невероятно сложно. Для машины гораздо проще получить случайный результат от непредсказуемых действий, например, физических процессов: движения компьютерной мыши, внешних шумов или снимков лава-лампы.

Безопасность генерируемых паролей.

В своем исследовании [3] Андреа Рок отмечает, что многие ГСЧ «используют криптографические примитивы: хэш-функции (SHA-1, MD5) или блочные шифры (DES, Triple-DES, AES)», чтобы предотвратить криптоаналитические атаки, атаки, основанные на вводе данных, и атаки, основанные на вскрытии внутреннего состояния.

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

По словам консультантов Paragon Initiative Enterprises, причина, по которой некоторые ГПСЧ страдают от «слабой» безопасности, заключается в том, что начальное значение для их алгоритмов составляет 32-разрядное целое число, то есть генератор может дать только до 4 миллиардов возможных результатов.

Конечно, 4 миллиарда результатов, кажется довольно большим количеством, но как показывают консультанты Paragon, эти результаты могут быть легко записаны на обычный USB-накопитель и «ресурсоемкая атака займет несколько минут на подбор необходимого пароля». Консультанты также отмечают, что в слабых ГПСЧ хакеры часто могут восстановить “семя” из нескольких полученных результатов и затем предсказать большинство его результатов.

Криптографически стойкие ГПСЧ имеют высокую степень энтропии. Энтропия в них выше, чем в обычных ГПСЧ, потому что ее источниками являются непредсказуемые явлениями или физическая активность, например, сетевая активность, активность жесткого диска, клавиатуры, движение мыши и т. д. Эти данные затем используются для создания начального значения, которое помогает создать новый случайный пароль. В сумме, чем выше энтропия, тем труднее спрогнозировать случайное число или пароль.

Использование генератора случайных чисел при создании пароля.

В использовании генератора случайных чисел нет необходимости в использовании для создания пароля по ряду причин:

  • 1.    ГСЧ необъективны, так как на выходе они могут выдать больше единиц, чем нулей, что не соответствует равномерному распределению случайной величины. Это вызвано особенностями физических процессов, используемых аппаратными ГСЧ.

  • 2.    Высокая цена и необходимость в дополнительном оборудовании.

  • 3.    Медленная работа по сравнению с ГПСЧ.

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

Список литературы Принцип работы генератора случайных паролей.

  • Random and Pseudorandom URL: http://www.bbc.co.uk/programmes/b00x9xjb
  • "Can a computer generate a truly random number?" URL: http://engineering.mit.edu/engage/ask-an-engineer/can-a-computer-generate-a-truly-random-number
  • Pseudorandom Number Generators for Cryptographic Applications. URL: https://www.rocq.inria.fr/secret/Andrea.Roeck/pdfs/dipl.pdf
Статья научная