Что понимается под приемом генерации пароля формула комбинация методов

Применение комбинаторных методов в генерации паролей для веб-сайта

Автор работы награжден дипломом победителя I степени
Комбинаторика – раздел математики, изучающий дискретные объекты, множества и отношения на них. Рассматриваемые объекты, как правило, являются определёнными комбинациями других объектов (чисел, букв). Важную область составляет теория перечислений, в основе которой лежат «правило суммы» и «правило произведения». Впервые, с комбинаторными задачами люди столкнулись в глубокой древности, но наукой комбинаторика становится лишь в XVII в. — в период, возникновения теории вероятностей. Чтобы решать комбинаторные задачи, нужно уметь подсчитывать число различных комбинаций, подчиненных каким-либо условиям.
В настоящее время, комбинаторика – своего рода основа основ: красивая теория с массой нетривиальных задач и подходов, прекрасная база для приложений в computer science, в анализе сложных сетей, в теории кодирования и криптографии.
В своей работе, я познакомилась с историей возникновения и развития комбинаторики, изучила методы решения задач о перечислении, подсчёте количества различных конфигураций, образуемых элементами конечных множеств, на которые могут накладываться определённые ограничения, а также рассмотрела практическое применение комбинаторных методов в генерации пароля для веб-сайта.
Актуальность исследования выбранной темы заключается в необходимости решения комбинаторных задач, поскольку комбинаторика, с одной стороны, богата красивыми постановками задач, доступными школьнику, с другой стороны, является очень глубокой современной областью знаний, без овладения инструментами которой невозможно серьезное понимание, как большинства других фундаментальных дисциплин, так и многих прикладных проблем.
Цель исследования: разработать рекомендацию по созданию надежного пароля на основе комбинаторных методов.
Задачи исследования:
Познакомиться с историей возникновения и развития комбинаторики.
Изучить основные методы решения комбинаторных задач.
Рассмотреть практическое применение комбинаторных методов в создании пароля для веб-сайта.
Объект: комбинаторика
Предмет: прикладные разделы математики.
Методы исследования: анализ, синтез, индукция.
История возникновения и развития комбинаторики
Исследования, посвященные различным вариантам выборки заданного числа элементов из некоторого конечного множества, занимали величайшие, математические умы человечества довольно давно.
Комбинаторные мотивы можно обнаружить в символике китайской «Книги Перемен» (V век до н. э.). Классическая задача комбинаторики: «сколько имеется способов извлечь m элементов из N возможных» упоминается, начиная примерно с IV столетия до н.э., в сутрах древней Индии.
В Средние века комбинаторика продолжала развиваться, в большинстве случаев, за пределами европейской цивилизации. В XII столетии индийский математик Бхаскара в своём главном труде «Лилавати» исследовал задачи, связанные с перестановками и сочетаниями, включая перестановки с повторениями.
Однако, как самостоятельная научная дисциплина комбинаторика стала выделяться из математики только в XVII-ом веке:
В 1654 году Блез Паскаль открыл несложный метод вычисления биномиальных коэффициентов: «треугольник Паскаля».Известно, что этот способ был уже известен на Востоке, но Паскаль, в отличие от предшественников, строго изложил и доказал свойства этого треугольника. Наряду с Лейбницем, он считается основоположником современной комбинаторики.
Сам термин «комбинаторика» придумал Г. Лейбниц, который в 1666 году опубликовал книгу «Рассуждения о комбинаторном искусстве».
Ученик Лейбница – Якоб Бернулли, один из основателей теории вероятностей, изложил в своей книге «Искусство предположений» (1713) множество сведений по комбинаторике.
Окончательно комбинаторика, как самостоятельный раздел математики, оформилась в трудах Эйлера . При решении комбинаторных задач он глубоко изучил свойства сочетаний, размещений и перестановок.
Комбинаторика: основные правила и формулы
Правило сложения: если элемент A можно выбрать n способами, а элемент B можно выбрать m способами, то выбрать A или B можно n + m способами. Чтобы использовать правило сложения необходимо:
определить количество элементов в каждой группе;
убедиться, что в различных группах, из которых выбирают элемент, нет одинаковых элементов.
При использовании правила сложения необходимо обратить внимание на то, чтобы ни один из способов выбора элемента А не совпадал с каким-либо способом выбора элемента В. Если элемент А можно получить n способами, элемент B получить m способами, то выбрать А или В можно получить m + n — k способами, где k — это количество повторяющихся способов.
Правило произведения: если элемент A можно выбрать n способами, а элемент B можно выбрать m способами, то пару элементов А и B можно выбрать n × m способами.
Факториалом числа называется произведение n последовательных натуральных чисел, начиная с единицы.
Принято, что 0! = 1.
Множеством называется совокупность каких-либо объектов, которые называются элементами этого множества и обладают общим для всех их свойством.
Выборками называются подмножества какого-либо множества.
Упорядоченными выборками называются выборки, в которых важен порядок элементов. Если в выборке поменяют местами два элемента, и получится другая выборка, то данная выборка является упорядоченной.
Неупорядоченными выборками называются выборки, в которых не важен порядок элементов.
Перестановкой множества из n элементов называется любой упорядоченный набор всех элементов этого множества.
Обозначение: P n , где n — количество элементов множества.
Теорема: число перестановок без повторений из n элементов равно n!
В некоторых задачах присутствуют случаи, когда переставляемые предметы одинаковы. Тогда получается меньше перестановок, ведь некоторые из них совпадают друг с другом.
Размещением без повторений называется упорядоченная выборка элементов k из данного множества элементов n.
Размещением с повторениями называется упорядоченная выборка k элементов с повторениями, которая составлена из основного множества n элементов.
Сочетанием без повторений называется неупорядоченная выборка без повторений.
С очетанием с повторениями называется неупорядоченная выборка с повторениями.
При решении задач, в которых нужно определить число комбинаций, необходимо обратить внимание на важность порядка элементов.
В данном разделе были рассмотрены основные правила и формулы комбинаторики для последующего использования в решении задач на создание пароля для веб-сайта, а также для дальнейшей реализации программы генерации пароля на языке python .
Комбинаторные расчеты надежности пароля
Каждый пользователь компьютера или мобильных устройств сталкивался с необходимостью создания пароля для защиты своих учетных данных. Надежный пароль — важнейший компонент современной интернет-безопасности. Однако немногие относятся к созданию паролей с должной ответственностью.
Многие пользователи используют короткие пароли, которые часто состоят только из цифр или букв алфавита, что значительно сокращает количество возможных комбинаций.
Технологии для вскрытия паролей на месте не стоят. Сейчас опытному злоумышленнику на вскрытие восьмизначного пароля необходимо совсем немного времени. Чаще всего взлом осуществляется способом подбора пароля перебором. Алгоритм очень прост и ограничивается попыткой пробовать как можно больше комбинаций символов. Помимо этого, есть математический раздел – криптография, в котором изучаются способы шифрования и дешифрования информации. Для дешифрования пароля с помощью криптографии, необходимо определить количество возможных паролей, посредством комбинаторных методов.
Для создания пароля разрешается применять следующие символы:
Заглавные буквы латинского алфавита: от A до Z (26 символов)
Строчные буквы латинского алфавита: от a до z (26 символов)
Цифры: от 0 до 9 (10 символов)
Специальные символы: " # $ % & ' ( ) <> [ , — . / : ; < = > … (33 символа)
Веб-сайт просит пользователя создать восьмизначный пароль, содержащий только цифры, где каждая цифра используется только один раз. Определите: сколько существует различных возможных паролей?
Для создания такого пароля разрешается применять только цифры – 10 символов. Каждая цифра должна использоваться только один раз.
Значит, для определения количества паролей необходимо использовать формулу размещения без повторений:
Тогда, количество размещений из 8 цифр, выбранных из 10, составляет:
Ответ: 1814400 паролей , содержащих только цифры, где каждая цифра используется только один раз.
Веб-сайт просит пользователя создать восьмизначный пароль, содержащий только строчные буквы латинского алфавита, где каждая буква используется только один раз. Определите: сколько существует различных возможных паролей?
Для создания такого пароля разрешается применять только строчные буквы латинского алфавита – 26 символов. Каждая буква должна использоваться только один раз.
Значит, для определения количества паролей необходимо использовать формулу размещения без повторений:
Тогда, количество размещений из 8 строчных букв латинского алфавита, выбранных из 26, составляет:
Ответ: 62990928000 паролей , содержащих только строчные буквы латинского алфавита, где каждая буква используется только один раз.
Веб-сайт просит пользователя создать пароль, содержащий только цифры и строчные буквы латинского алфавита.
а) Сколько существует таких паролей длины 8?
б) Сколько существует таких паролей длины 8, если в каждом из них обязательно присутствует одна цифра?
в) Сколько существует таких паролей, длины 8, если в каждом из них обязательно присутствуют совпадающие символы?
а) Для создания такого пароля разрешается применять: строчные буквы латинского алфавита — 26 символов, а также цифры — 10 символов.
Итого, 26 + 10 = 36 символов.
На первую позицию пароля можно поставить любой из 36 символов. Учитывая, что для создания такого пароля нет никаких ограничений, значит на вторую и последующие позиции можно поставить также любой из 36 символов.
Используя правило произведения, получим:
36 × 36 × 36 × 36 × 36 × 36 × 36 × 36 = 36 8 = 2821109907456 – количество паролей длины восемь.
б) Для создания такого пароля необходимо использовать как минимум одну цифру. Сначала, я рассмотрела количество паролей без цифр, то есть число паролей с использованием только строчных букв:
Используя правило произведения, получим:
26 × 26 × 26 × 26 × 26 × 26 × 26 × 26 = 26 8 = 208827064576 – количествопаролей без цифр.
Из пункта а) известно, число паролей длины восемь: 36 8 = 2821109907456
Значит, 2821109907456 – 208827064576 = 2612282842880 – количество паролей с использованием минимум одной цифры.
в) Для создания такого пароля необходимо использовать совпадающие символы. Рассмотрим количество паролей без совпадающих символов, то есть число паролей, в которых все символы различны.
Тогда, на первую позицию пароля без совпадающих символов можно поставить любой из 36 символов. Но на вторую позицию можно поставить любой из 35 символов, так как один из символов уже выбран в первую позицию и так до последней позиции пароля.
Используя правило произведения, получим:
36 × 35 × 34 × 33 × 32 × 31 × 30 × 29 = 1220096908800 – количество паролей без совпадающих символов.
Из пункта а) известно, число паролей длины восемь: 36 8 = 2821109907456
Значит, 2821109907456 – 1220096908800 = 1601012998656 – количество паролей с совпадающими символами.
Ответ: а) 2821109907456 паролей длины восемь.
б) 2612282842880 паролей с использованием одной цифры.
в) 1601012998656 паролей с совпадающими символами.
Веб-сайт просит пользователя создать пароль, содержащий только цифры, строчные и заглавные буквы латинского алфавита.
а) Сколько существует таких паролей длины 8?
б) Сколько существует таких паролей длины 8, если в каждом из них обязательно присутствует одна цифра?
в) Сколько существует таких паролей, длины 8, если в каждом из них обязательно присутствуют совпадающие символы?
а) Для создания такого пароля разрешается применять: строчные буквы латинского алфавита — 26 символов, заглавные буквы латинского алфавита — 26 символов, а также цифры — 10 символов.
Итого, 26 + 26 + 10 = 62 символа.
На первую позицию пароля можно поставить любой из 62 символов. Учитывая, что для создания такого пароля нет никаких ограничений, значит на вторую и последующие позиции можно поставить также любой из 62 символов.
Используя правило произведения, получим:
62 × 62 × 62 × 62 × 62 × 62 × 62 × 62 = 62 8 = 218340105584896 – количество паролей длины восемь.
б) Для создания такого пароля необходимо использовать как минимум одну цифру. Рассмотрим количество паролей без цифр, то есть число паролей с использованием только строчных и заглавных букв:
Используя правило произведения, получим:
52 × 52 × 52 × 52 × 52 × 52 × 52 × 52 = 52 8 = 53459728531456 – количество паролей без цифр.
Из пункта а) известно, число паролей длины восемь:
62 8 = 218340105584896
Значит, 218340105584896 – 53459728531456 = 164880377053440 – количество паролей с использованием минимум одной цифры.
в) Для создания такого пароля необходимо использовать совпадающие символы. Рассмотрим количество паролей без совпадающих символов, то есть число паролей, в которых все символы различны.
Тогда, на первую позицию пароля без совпадающих символов можно поставить любой из 62 символов. Но на вторую позицию можно поставить любой из 61 символов, так как один из символов уже выбран в первую позицию и так до последней позиции пароля.
Используя правило произведения, получим:
62 × 61 × 60 × 59 × 58 × 57 × 56 × 55 = 136325893334400 – количество паролей без совпадающих символов.
Из пункта а) известно, число паролей длины восемь:
62 8 = 218340105584896
Значит, 218340105584896 – 136325893334400 = 82014212250496 – количество паролей с совпадающими символами.
Ответ: а) 218340105584896 паролей длины восемь.
б) 164880377053440 паролей с использованием одной цифры.
в) 82014212250496 паролей с совпадающими символами.
Веб-сайт просит пользователя создать пароль, содержащий буквенно-цифровые символы, включая строчные и прописные буквы, а также цифры, без использования специальных символов. Пароль должен состоять как минимум из 8, но не более чем из 12 символов и должен содержать как минимум одну заглавную букву и как минимум одну цифру. Допускается повторение цифр и букв. Сколько разных паролей можно создать, удовлетворяющих этим критериям?
1) Для создания такого пароля разрешается применять: строчные буквы латинского алфавита — 26 символов, заглавные буквы латинского алфавита — 26 символов, а также цифры — 10 символов.
Итого, 26 + 26 + 10 = 62 символа.
Для того, чтобы определить общее число паролей длины 8, я использовала правило произведения:
62 × 62 × 62 × 62 × 62 × 62 × 62 × 62 = 62 8 – количество паролей длины восемь.
2) Рассмотрим количество паролей без заглавных букв, то есть число паролей с использованием только строчных букв и цифр:
36 × 36 × 36 × 36 × 36 × 36 × 36 × 36 = 36 8 – количество паролей без заглавных букв.
3) Определим количество паролей без цифр, то есть число паролей с использованием только строчных и заглавных букв:
52 × 52 × 52 × 52 × 52 × 52 × 52 × 52 = 52 8 – количество паролей без цифр.
4) Для того, чтобы найти количество паролей, которые содержат только строчные буквы, необходимо также использовать правило произведения:
26 × 26 × 26 × 26 × 26 × 26 × 26 × 26 = 26 8 – количество паролей, которые содержат только строчные буквы.
5) Используя полученные данные, можно определить количество разрешенных паролей:
62 8 – 36 8 – 52 8 + 26 8 – количество разрешенных паролей из 8 символов.
62 9 – 36 9 – 52 9 + 26 9 – количество разрешенных паролей из 9 символов.
62 10 – 36 10 – 52 10 + 26 10 – количество разрешенных паролей из 10 символов.
62 11 – 36 11 – 52 11 + 26 11 – количество разрешенных паролей из 11 символов.
62 12 – 36 12 – 52 12 + 26 12 – количество разрешенных паролей из 12 символов.
Ответ: 62 8 – 36 8 – 52 8 + 26 8 – количество паролей из 8 символов.
62 9 – 36 9 – 52 9 + 26 9 – количество паролей из 9 символов.
62 10 – 36 10 – 52 10 + 26 10 – количество паролей из 10 символов.
62 11 – 36 11 – 52 11 + 26 11 – количество паролей из 11 символов.
62 12 – 36 12 – 52 12 + 26 12 – количество паролей из 12 символов.
При решении данных задач было замечено, что чем больше различных символов используется при составлении пароля, тем больше комбинаций в результате получается. Следовательно, можно значительно повысить безопасность паролей, увеличив время, необходимое для перебора всех возможных вариантов паролей.
Рекомендации для создания надежного пароля на основе комбинаторных методов:
Длина пароля должна быть не менее 8 символов;
Пароль должен содержать заглавные и строчные буквы, цифры и специальные символы;
Пароль не должен содержать очевидные и простые слова, фразы и наборы символов, которые можно легко подобрать.
Практическое применение комбинаторных методов в создании паролей
Комбинаторика – это настоящий клад для разработчиков программного обеспечения, поскольку она помогает анализировать различные алгоритмы, выбирать оптимальную стратегию перебора. Следует отметить, что комбинаторные формулы необходимы для вычисления вероятностей, а те, в свою очередь служат основой для машинного обучения – одного из мощнейших трендов в ПО 21-го века!
Использование комбинаторики в программировании я изучила с помощью Python 3 — это высокоуровневый язык программирования, мощный инструмент для создания программ самого разнообразного назначения.
Во встроенном в Python модуле itertools существует ряд функций, позволяющих комбинировать различные значения. Чтобы воспользоваться возможностями данного модуля, необходимо импортировать библиотеку, предварительно указав метод, к которому будет происходить обращение в программе.
К числу комбинаторных функций относятся:
Функция itertools.permutations используется для нахождения перестановок. Первый элемент – будет исходным множеством. Второй элемент – результат перестановки какой-то пары элементов и так до момента, пока не будут перебраны все уникальные комбинации.
Функция itertools.combinations выбирает все сочетания из последовательности. Пусть в ней имеется n различных объектов. Необходимо выбрать из них k объектов всевозможными способами (то есть меняется состав выбранных объектов, причем порядок не важен). Получившиеся комбинации являются сочетаниями из n объектов по k.
Функция itertools.combinations_with_replacement описывает, сколькими способами можно составить комбинацию из n элементов по k элементов. Важно помнить, что в сочетаниях без повторений элементы не повторяются внутри одной выборки.
В «Google Chrome» инструмент создания безопасных паролей присутствует по умолчанию и готов к использованию сразу после установки веб-браузера. Надежные пароли создаются автоматически одним нажатием кнопки благодаря встроенному генератору паролей, который основывается на методах комбинаторики.
Для того, чтобы сгенерировать пароль необходимо:
Открыть Chrome на компьютере.
Убедится, что вы вошли в аккаунт в браузере Chrome.
Открыть сайт и начать создавать аккаунт.
Нажать на поле для ввода пароля «Сгенерировать надежный пароль».
Создайте программу для генерации восьмизначного пароля, содержащего только цифры и строчные буквы латинского алфавита, где каждая цифра и буква используется только один раз.
Программа для генерации восьмизначного пароля :
Небольшая часть результата программы для генерации восьмизначного пароля, содержащего цифры и строчные буквы латинского алфавита, где каждая цифра и буква используется только один раз:
В данном разделе была реализована программа генерации пароля на языке Python 3, посредством правил и формул комбинаторики.
Комбинаторика, как раздел математики, с одной стороны, богата исключительно красивыми постановками задач, доступными школьнику, а с другой стороны, является глубокой современной областью знаний, без овладения инструментами которой невозможно серьезное понимание, как большинства других фундаментальных дисциплин, так и многих прикладных проблем.
В ходе выполнения данной работы была достигнута цель — разработать рекомендацию по созданию надежного пароля на основе комбинаторных методов, выполнены все поставленные задачи.
Я познакомилась с историей возникновения и развития комбинаторики, изучила методы решения задач о перечислении, подсчёте количества различных конфигураций, образуемых элементами конечных множеств, на которые могут накладываться определённые ограничения.
Рассмотрев применение комбинаторных методов в генерации пароля для веб-сайта, я показала практическую значимость комбинаторики как области математики.
Список источников и литературы:
Виленкин Н.Я., Комбинаторика. — М.: Просвещение, 2006
Комбинаторика, URL : https://ru.wikipedia.org/wiki/Комбинаторика
Комбинаторика, URL : https :// fmclass . ru / math . php ? id =4986 cacac 0 f 94
Комбинаторика для начинающих, URL : https :// ru . coursera . org / learn / kombinatorika — dlya — nachinayushchikh
Как создать надежный пароль и защитить аккаунт, URL: https://support.google.com/accounts/answer/32040?hl=ru
Начальные сведения комбинаторики, URL: https://www.yaklass.ru/p/algebra/11-klass/nachalnye-svedeniia-kombinatoriki-9340
Python itertools — описание модуля и функций, URL : https :// all — python . ru / osnovy / itertools . html
ЛАБОРАТОРНАЯ РАБОТА №2 «ПОДСИСТЕМЫ ПАРОЛЬНОЙ АУТЕНТИФИКАЦИИ ПОЛЬЗОВАТЕЛЕЙ. ГЕНЕРАТОРЫ ПАРОЛЕЙ. ОЦЕНКА СТЕПЕНИ СТОЙКОСТИ ПАРОЛЬНОЙ ЗАЩИТЫ»
Под идентификацией пользователя понимают присвоение ему некоторого несекретного идентификатора, который он должен предъявить СЗИ при осуществлении доступа к объекту. В качестве идентификатора может быть использован, например, login, физическое устройство и т.д.
Под аутентификацией понимают подтверждение пользователем своего идентификатора, проверка его подлинности. Данный этап необходим для устранения фальсификации идентификатора, предотвращения несанкционированного доступа в случае утери пользователем идентификатора.
Подсистемы идентификации и аутентификации пользователя играют очень важную роль для систем защиты информации.
Стойкость подсистемы идентификации и аутентификации пользователя в системе защиты информации (СЗИ) во многом определяет устойчивость к взлому самой СЗИ. Данная стойкость определяется гарантией того, что злоумышленник не сможет пройти аутентификацию, присвоив чужой идентификатор или украв его.
Парольные системы идентификации/аутентификации является одними из основных и наиболее распространенных в СЗИ методов пользовательской аутентификации в силу их простоты и прозрачности. В данном случае информацией, аутентифицируюЛабораторная работа №3 «Методы криптографической защиты. » щей пользователя, является некоторый секретный пароль, известный только легальному пользователю.
Парольная аутентификация пользователя является, как правило, передним краем обороны СЗИ. В связи с этим модуль аутентификации по паролю наиболее часто подвергается атакам со стороны злоумышленника. Цель злоумышленника в данном случае — подобрать аутентифицирующую информацию (пароль) легального пользователя.
Методы парольной аутентификации пользователя являются наиболее простыми методами аутентификации и при несоблюдении определенных требований к выбору пароля являются достаточно уязвимыми.
Основными минимальными требованиями к выбору пароля и к подсистеме парольной аутентификации пользователя являются следующие.
К паролю:
- 1. Минимальная длина пароля должна быть не менее 6 символов.
- 2. Пароль должен состоять из различных групп символов (малые и большие латинские буквы, цифры, специальные символы ‘(’, ‘)’> и Т -Д-)-
- 3. В качестве пароля не должны использоваться реальные слова, имена, фамилии и т.д.
К подсистеме парольной аутентификации ‘.
- 1. Администратор СЗИ должен устанавливать максимальный срок действия пароля, после чего он должен быть сменен.
- 2. В подсистеме парольной аутентификации должно быть установлено ограничение числа попыток ввода пароля (как правило, не более 3).
- 3. В подсистеме парольной аутентификации должна быть установлена временная задержка при вводе неправильного пароля.
Как правило, для помощи администратору безопасности в формировании паролей подчиненных ему пользователей, удовлетворяющих перечисленным требованиям к паролям, используются особые программы — автоматические генераторы паролей пользователей.
При выполнении перечисленных требований к паролям и к подсистеме парольной аутентификации единственно возможным методом взлома данной подсистемы злоумышленником является прямой перебор паролей (brute forcing). В данном случае количественная оценка стойкости парольной защиты осуществляется следующим образом.
Количественная оценка стойкости парольной защиты
Пусть А — мощность алфавита паролей (количество символов, которые могут быть использованы при составлении пароля. Например, если пароль состоит только из малых английских букв, то А=26).
L — длина пароля.
S = A L — число всевозможных паролей длины L, которые можно составить из символов алфавита А.
V — скорость перебора паролей злоумышленником.
Т — максимальный срок действия пароля.
Тогда вероятность Р подбора пароля злоумышленником в течение срока его действия V определяется по следующей формуле:
Эту формулу можно использовать в обратную сторону для решения следующей задачи.
Задача. Определить минимальные мощность алфавита паролей А и длину паролей L, обеспечивающих вероятность подбора пароля злоумышленником не более заданной Р, при скорости подбора паролей V, максимальном сроке действия пароля Т.
Данная задача имеет неоднозначное решение. При исходных данных V, Т, Р однозначно можно определить лишь нижнюю границу 5* числа всевозможных паролей. Целочисленное значение нижней границы вычисляется по следующей формуле:
где [ J — целая часть числа, взятая с округлением вверх.
После нахождения нижней границы 5* необходимо выбрать такие А и L для формирования S=A L , чтобы выполнялось неравенство (2).
При выборе 5, удовлетворяющего неравенству (2), вероятность подбора пароля злоумышленника (при заданных V и Т) будет меньше, чем заданная Р.
Необходимо отметить, что при осуществлении вычислений по формулам (1) и (2) величины должны быть приведены к одним размерностям.
Исходные данные — Р=10′ 6 , Т=7 дней = 1 неделя, У=10 па
ролей / минуту = 10*60*24*7=100800 паролей в неделю.
Задание на лабораторную работу
- 1. В таблице 1 найти для вашего варианта значения характеристик Р, V, Т, а также группы символов, используемых при формировании пароля.
- 2. Вычислить мощность алфавита паролей А, соответствующую Вашему варианту.
- 3. Вычислить по формуле (1) нижнюю границу 5* для заданных Р, V, Т.
- 4. Зная мощность алфавита паролей А, вычислить минимальную длину пароля L, при котором выполняется условие (2).
- 5. Используя программу Simple Passwords задать исходные и вычисленные характеристики парольного генератора, соответствующие Вашему варианту. Построенный генератор будет обладать стойкостью ко взлому не менее заданной Р.
- 6. Сформировать в парольном генераторе Simple Passwords 20 паролей, которые внести в отчет (пример оформления отчета приведен в конце лабораторной работы).
- 7. Реализовать на языке программирования программу, реализующую генератор паролей с характеристиками, соответствующими Вашему варианту. Программа, аналогично Simple Passwords, должна формировать случайную последовательность символов длины L, должны использоваться символы из тех групп, которые выданы Вашему варианту.
- 8. Оформить в тетради отчет по лабораторной работе согласно примеру, приведенному на последней странице.
Замечания. При реализации программы могут быть полезны следующие функции:
Как использовать генератор случайных паролей

Необходимо защищать ваши учётные записи на сайтах и в приложениях. Вам вряд ли понравится, что кто-то отправляет сообщения от вашего имени или тратит ваши деньги на покупки. Сейчас учётные записи защищаются при помощи паролей, хотя это далеко не лучший вариант.
Если вы используете очень простые пароли или используете один и тот же пароль везде, вас могут взломать. Но если вы сделаете пароль слишком сложным, то можете забыть его и не войти в свой аккаунт. Единственный способ использовать надёжный уникальный пароль для каждого сайта – это установить менеджер паролей. Тогда вы сможете на каждом сайте применять случайным образом выбранные уникальные сложные пароли.
- Генераторы паролей – случайные или нет?
- Менеджеры паролей уменьшают случайность
- Создание длинных паролей
- Делайте осознанный выбор менеджера паролей
Почти каждый менеджер паролей включает в себя генератор паролей, поэтому не придётся придумывать случайные пароли самостоятельно. Впрочем, при желании можно создать собственный генератор случайных паролей. Не все генераторы паролей одинаковы. Зная принципы их работы, можно выбрать наиболее подходящий и эффективно использовать его.
Генераторы паролей – случайные или нет?
Когда вы бросаете пару кубиков, вы получаете случайный результат. Никто не может предсказать, какое число у нас выпадет. Но в компьютерной сфере физические объекты, такие как игральные кости, отсутствуют. Существует несколько источников случайных чисел, основанных на радиоактивном распаде, но вы не найдёте их в среднестатистическом менеджере паролей.
Менеджеры паролей и другие компьютерные программы используют так называемый псевдослучайный алгоритм. Этот алгоритм начинается с числа, называемого начальным числом. Алгоритм обрабатывает начальное число и получает новое число без прослеживаемой связи со старым, и новое число становится следующим начальным числом. Исходное число никогда не появится снова, пока не появятся все остальные числа.
Если начальное число было 32-битным целым числом, это означает, что алгоритм будет обрабатывать 4 294 967 295 других чисел перед повторением.
Это нормально для повседневного использования и подходит для большинства генерирующих пароли людей. Однако теоретически опытный хакер может определить используемый псевдослучайный алгоритм. Зная его и начальное значение, хакер мог бы воспроизвести последовательность случайных чисел (хотя это сложно).
Такой вид направленного взлома чрезвычайно маловероятен, за исключением целенаправленной атаки со стороны государства или корпоративного шпионажа. Если вы подвергаетесь такой атаке, ваш антивирус вряд ли сможет вас защитить. К счастью, вы наверняка не станьте мишенью такого рода кибершпионажа.

Тем не менее, некоторые менеджеры паролей активно работают над устранением даже отдаленной возможности такой целенаправленной атаки. Включая ваши собственные движения мыши или случайные символы в случайный алгоритм, они получают действительно случайный результат. Среди тех, кто предлагает такую рандомизацию в реальном мире, – AceBIT Password Depot, KeePass и Steganos Password Manager.
На скриншоте выше показан рандомизатор в виде матрицы Password Depot; да, символы падают, когда вы двигаете мышью.
Менеджеры паролей уменьшают случайность
Конечно, генераторы паролей не возвращают буквально случайные числа. Вместо этого они возвращают строку символов, используя случайные числа для выбора из доступных наборов символов. Вы всегда должны разрешать использование всех доступных наборов символов, если только вы не создаёте пароль для сайта, который не допускает использование специальных символов.
Набор доступных латинских символов включает в себя 26 заглавных букв, 26 строчных букв и 10 цифр. Он также включает в себя набор специальных символов, который у разных генераторов может быть разным. Предположим, что доступно 18 специальных символов. В итоге получается выбор из 80 символов. В полностью случайном пароле есть 80 вариантов для каждого символа. Если вы выберете восьмизначный пароль, количество возможных вариантов составит 80 в 8 степени, или 1 677 721 600 000 000 – больше квадриллиона. Это сложная задача для взлома методом перебора, а угадывание методом перебора – единственный способ взломать действительно случайный пароль.
Полностью случайный генератор иногда может выдавать пароль вроде «аааааааа», «Covfefe!» и «12345678», поскольку они так же вероятны, как и любая другая последовательность из восьми символов. Некоторые генераторы паролей фильтруют вывод, чтобы избежать таких паролей. Это нормально, но если хакер знает об этих фильтрах, это уменьшает количество возможностей и упрощает взлом методом перебора.
Рассмотрим пример. Существует 40 960 000 возможных четырёхсимвольных паролей, взятых из набора из 80 символов. Но некоторые генераторы паролей принудительно выбирают хотя бы по одному символу каждого типа, и это резко снижает количество вариантов. Есть 80 вариантов для первого символа. Предположим, это заглавная буква; набор для второго символа – 54 (80 минус 26 заглавных букв). Далее предположим, что второй символ – это строчная буква. Для третьего символа остаются только цифры и специальные символы из 28 вариантов. И если третий символ знак препинания, последний должен быть цифрой, то есть 10 вариантов. 40 млн возможностей сокращаются до 1 209 600.
Использование всех наборов символов не является необходимостью на многих сайтах. Чтобы это требование не привело к сокращению вариантов паролей, установите большую длину пароля. Когда пароль достаточно длинный, эффект навязывания разных типов символов становится незначительным.

Другие ограничения в менеджерах паролей тоже сокращают набор возможных паролей. Например, RememBear Premium указывает точное количество символов каждого из четырёх наборов символов, что резко сокращает пул. По умолчанию для этого требуются две заглавные буквы, две цифры, 14 строчных букв и никаких символов, всего 18 символов. Это приводит к тому, что пул паролей в сотни миллионов раз меньше, чем если бы он просто требовал одного или нескольких символов каждого типа. Проблема снова решается созданием более длинного пароля.
Мнемонические формулы для запоминания паролей
МФП эффективно помогают избегать многих небезопасных ситуаций, связанных с выбором сложных паролей и их использованием.
Сегодня в сфере информационных технологий существует огромное количество информационных систем, у каждой из которых есть своя собственная схема авторизации. Даже если применяется метод однократного предъявления пароля и мультисистемная авторизация, системы, относящиеся к отдельным доменам управления, скорее всего, будут использоваться пользователями с разными уровнями доступа в рамках единого пространства. Из-за возникающих при этом сложностей, а также из-за многочисленных требований, предъявляемых к процессу авторизации, часто пользователям приходится иметь дело с множеством учетных данных, необходимых для доступа к различным системам. Это ведет к возникновению небезопасных ситуаций, связанных с выбором паролей и управлением ими. В данной статье подробно рассматривается ряд трудностей, с которыми сталкиваются пользователи и администраторы систем авторизации, в которых применяются пароли. Автор также анализирует современные подходы, направленные на облегчение подобных трудностей, и, в конечном счете, представляет новый метод управления паролями, обращаясь к мнемоническим формулам для запоминания паролей.
1) Суть проблемы
1.1) Большое количество систем авторизации
Сегодня в среде информационных систем существует огромное количество самостоятельных систем авторизации. Даже если во многих системах, относящихся к отдельным доменам управления, используются методы однократного предъявления пароля и мультисистемная авторизация, пользователи, скорее всего, будут пользоваться большим количеством систем с отдельными доменами управления регулярно. Даже самые обычные пользователи, которые работают со средним количеством информационных систем, могут взаимодействовать с более чем шестью отдельными системами авторизации в день. Банковские онлайн-системы, внутрикорпоративные веб-ресурсы и системы баз данных, системы электронной почты и сайты социальных сетей – это лишь малая часть из множества систем, для каждой из которых может использоваться собственный метод авторизации пользователя.
В связи с огромным количеством систем авторизации, многие конечные пользователи вынуждены иметь дело со множеством паролей, необходимых для авторизации в этих различных системах. Это ведет к возникновению большого количества небезопасных ситуаций, связанных с выбором и управлением паролями.
Вдобавок к распространению небезопасных ситуаций, связанных с выбором и управлением паролями, успешные попытки в комбинировании авторизации и криптографии вызвали резкий рост числа атак, направленных против систем авторизации. В то время как недавний прорыв в области увеличения вычислительной мощности привел к тому, что короткие — шесть символов или меньше — пароли (независимо от сложности их содержания) стали уязвимыми к взлому методом прямого подбора, в обычных же методах атак, направленных на программы для хранения паролей или системы авторизации, криптоанализ и прямой подбор используется все меньше, уступая место в буквальном смысле интеллектуальному угадыванию паролей. При таком угадывании могут использоваться атаки на основе оптимизированного словаря, предположения, построенные на информационном окружении пользователя, атаки, направленные на дополнительные учетные данные, которые запрашивает система авторизации, такие как смарт-карты и устройства-токены[s1] , а также атаки, направленные на взаимодействие между самими пользователями и системами.
Вследствие рассмотренных факторов, пользовательские пароли являются самым слабым звеном в любой системе авторизации.
1.2) Управление большим количеством паролей
Две наиболее серьезные проблемы авторизации посредством пароля напрямую связаны с пользователем и с тем, как он хранит свои пароли. Во-первых, если пользователям нельзя записывать пароли, то они в большинстве случаев выбирают легкие пароли, которые, как правило, намного легче взломать, чем сложные. Помимо использования ненадежных паролей, пользователи склонны неоднократно использовать одни и те же пароли в разных системах авторизации.
Пользователям невероятно трудно запоминать заранее заданные случайные пароли и пароли более высокого уровня сложности, выбранные ими по предписанию. Если им позволить, пользователи могут записать пароль в небезопасном месте, например, могут наклеить его на монитор или записать в блокнот, лежащий на рабочем столе. С другой стороны, они могут сохранить пароль в надежном месте, например, в зашифрованном файле на своем КПК. Однако с такой же легкостью пользователь может потерять доступ к сохраненному паролю: он может забыть пароль к зашифрованному файлу, или же КПК может быть потерян или украден. В этом случае пользователю придется обращаться к администратору, чтобы тот инициировал сброс старого пароля.
1.3) Плохой выбор пароля
Когда дело касается собственных устройств, пользователи обычно не выбирают сложные пароли, а используют слова, которые легко подобрать по словарю — делают они это потому, что такие пароли проще запомнить. Иногда пользователь может сделать попытку усложнить пароль, совместив два слова вместе или добавив цифру. Во многих случаях выбранное слово или слова будут относиться к пользователю или находится в информационном окружении самого пользователя. Это окружение может включать, например, имя домашнего животного, телефонный номер или дату рождения.
Для взлома паролей такого типа требуется гораздо меньше усилий, чем при использовании перебора всех возможных вариантов паролей. При использовании метода атаки на основе оптимизированного словаря, наиболее распространенные слова и фразы подставляются в первую очередь, что обычно быстро приводит к успешному завершению атаки. Из-за высокой успешности этого метода, большинство современных атак на системы авторизации нацелены в первую очередь на угадывание пароля перед использованием прямого подбора или запуском атаки на основе углубленного анализа самой системы авторизации.
1.4) «Дурацкая» забывчивость
Когда пользователь не может запомнить свой пароль (обычно это происходит из-за того, что у него слишком много паролей, которые нужно помнить, или из-за того, что требования системы к уровню сложности пароля были слишком жесткими, чтобы пароль оставался легким для запоминания), многие системы авторизации предоставляют механизм, который автор назвал «дурацкая забывчивость».
Когда пользователь проявляет «дурацкую забывчивость», ему задается вопрос-напоминание, на который обычно ему не составляет труда ответить. Если ответ на вопрос был дан правильно, то пользователю обычно предоставляется выбор: ввести новый пароль, получить старый пароль по электронной почте или использовать какой-либо другой способ восстановления пароля. Когда используется такой тип восстановления, он существенно уменьшает безопасность системы авторизации, поскольку надежность пароля значительно превышает надежность простого вопроса. Ведь ответ на этот вопрос можно получить даже из публичных источников.
1.4.1) Анализ конкретной ситуации: Собака Пэрис Хилтон подвела хозяйку
Недавно была осуществлена широко обсуждаемая в прессе атака на основе информационного окружения пользователя, жертвой которой стала голливудская знаменитость Пэрис Хилтон, у которой взломали телефон. Вопрос на сайте ее сотового оператора, на который надо было ответить, чтобы получить пароль к учетной записи, был таким: «Назовите имя вашего любимого домашнего животного». Вероятно, очень многие поклонники знаменитости без труда вспомнят ответ на этот вопрос, не говоря уже о том, что веб–сайты фанатов звезды, интернет-форумы и таблоиды, в которых, скорее всего, есть эта информация, доступны любому, кто хочет ее получить. Так что злоумышленники попросту проявили «дурацкую забывчивость» и сбросили пароль к учетной записи Хилтон на сайте оператора, что позволило получить доступ к ее мобильному устройству и находящейся на нем информации.
2) Существующие подходы
2.1) Запись паролей
На конференции по информационной безопасности AusCERT 2005, Джеспер Йохансон, старший специалист по вопросам стратегии в области безопасности корпорации Microsoft, предложил отменить существующую уже десятки лет практику по обеспечению защиты информации, запрещающую записывать пароли. Он заявил, что метод обеспечения безопасности паролей, при котором пользователям запрещается записывать пароли, является абсолютно неправильным. Вместо этого он высказался в поддержку того, чтобы разрешать пользователям записывать пароли. Основанием для этого заявления послужила попытка решить одну из рассмотренных выше проблем: когда пользователям не разрешают записывать пароли, они выбирают те пароли, которые легко запомнить (а значит, и легко взломать). Йохансон считает, что если пользователям разрешат записывать пароли, это даст им возможность использовать пароли более высокого уровня сложности.
Г-н Йохансон верно подмечает некоторые проблемы обеспечения безопасности паролей, однако, его подход к решению этого непростого вопроса не только недальновидный, но и ограниченный. Его решение предполагает, что пользователям больше не нужно будет запоминать большое количество сложных паролей, но также подразумевает, что при этом будут возникать небезопасные ситуации, связанные с записанными паролями, которые чисто физически менее защищены, и имеют тенденцию теряться, из-за чего возникает необходимость вмешательства администратора для сброса пароля.
2.2) Мнемонические пароли
Мнемонический пароль – это пароль, который легко вспомнить, используя мнемонический прием – скажем, создание пароля с использованием первых букв высказывания, которое легко запомнить, стихотворения или текста песни. Примером могут служить первые буквы каждого слова во фразе, такой как: «Наша Таня горько плачет, уронила в речку мячик», что в виде пароля будет выглядеть как «НТгпуврм». Чтобы мнемонические пароли можно было использовать, необходимо, чтобы пользователь мог легко вспомнить фразу.
Проведенные ранее исследования показали, что пароли, составленные из фраз, как в рассмотренном выше примере, по своей сложности схожи с паролями, составленными из случайных символов. Мнемонические пароли имеют тот же недостаток, что и обычные пароли, а именно, что пользователи могут повторно использовать один и тот же пароль в разных системах авторизации. Кроме того, такие пароли часто создаются с использованием хорошо известных отрывков текста из знаменитых литературных произведений или текстов песен. Были разработаны специальные словари для подбора паролей, содержащие большое количество таких мнемонических вариантов.
2.3) Мнемонические пароли повышенного уровня безопасности
Мнемонические пароли повышенного уровня безопасности (МППУБ) – это пароли, образованные от простых слов, которые пользователь сможет легко запомнить, однако в этих паролях используются мнемонические замены, чтобы в итоге пароль получился более сложным. Замена латинских букв на похожие цифры и символы (язык Leet) является простым примером этого метода. Например, преобразование паролей «beerbash» и «catwoman» по такой схеме приведет к созданию таких паролей, как «b33rb4sh» и «c@w0m4n» соответственно.
Проблема, характерная исключительно для МППБ, состоит в том, что не все пароли могут быть преобразованы с помощью этого метода, что ограничивает либо выбор доступных слов, либо качество сложности пароля. Кроме того, МППБ основаны на преобразованиях легко запоминающихся слов или групп слов, содержащихся в словарях. Злоумышленниками были разработаны различные словари для подбора паролей, основанные на преобразованиях, например, на рассмотренной выше замене латинских букв похожими цифрами и символами (язык Leet). Как и в случае с мнемоническими паролями, пароли с повышенным уровнем безопасности могут неоднократно использоваться во многих системах авторизации.
2.4) Фразовые пароли
Именно фразовые пароли являются наиболее приемлемым вариантом мнемонических паролей. По сравнению с обычными паролями, фразовые пароли легче запомнить, и они гораздо длиннее, что значительно повышает устойчивость пароля к атакам прямого подбора. Фразовые пароли более сложны потому, что в них используется верхний и нижний регистры, пробелы и специальные символы, например, знаки пунктуации и цифры.
Тем не менее, с фразовыми паролями тоже могут возникнуть проблемы. Многие системы авторизации не поддерживают длинных паролей, следовательно, фразовые пароли не обладают универсальной применимостью. Как и в случае с рассмотренными выше методами, один и тот же фразовый пароль может быть неоднократно использован во многих системах авторизации.
3) Мнемонические формулы для запоминания паролей
Мнемоническая формула для запоминания паролей, или МФП, — это мнемоническая техника, подразумевающая использование заранее заданной, легко вызываемой в памяти формулы для оперативного создания паролей, основанных на знании различной контекстной информации, доступной пользователю.
При использовании хорошо продуманной МФП, получившийся пароль должен иметь следующие характеристики:
— Кажущаяся случайной последовательность символов.
— Сложность и длина пароля, достаточные для обеспечения устойчивости к взлому.
— Легкость восстановления в памяти пользователем, который знает формулу и целевую систему авторизации.
— Уникальность для каждого пользователя, класса доступа и системы авторизации.
3.3) Разработка формулы
Для целей данной работы будет использоваться следующий синтаксис формул:
— <X>: Элемент, который полностью заменяется каким-либо известным объектом, обозначенным X.
-| : При применении в элементе, заключенном в угловые скобки, обозначает выбор значения по схеме ИЛИ.
— Все другие символы являются константными.
3.3.2) Простая МФП
Для понимания принципа МФП, рассмотрим простую формулу. При наличии информации об авторизуемом пользователе и системе авторизации, можно использовать формулу, подобную приведенной ниже. Формула содержит два элемента: пользователя и целевую систему, которая идентифицируется либо именем хоста, либо наиболее значимым октетом IP-адреса.
С помощью вышеприведенной МФП можно получить такие пароли, как:
С помощью этой простой МФП-схемы получается достаточно длинный и легко запоминающийся пароль, содержащий специальный символ. Однако по этой схеме нельзя создавать действительно сложные пароли. Целеустремленный злоумышленник может использовать имя пользователя и имя хоста в числе первых комбинаций словаря при взломе пароля прямым подбором. По причине того, что только имя хоста или последний октет IP адреса используется в качестве компонента схемы, может возникнуть ситуация, при которой принцип уникальности пароля для каждой системы будет нарушен. Если один и тот же пользователь будет иметь учетную запись на двух серверах, имена которых начинаются с «www», или на двух серверах с одинаковым значением последнего октета внутри двух разных подсетей, то пароли окажутся идентичными. И, наконец, пароли, созданные с помощью вышеприведенной формулы, варьируются в длине, и поэтому могут не подойти той или иной системы авторизации, в которой реализована политика ограничения количества символов в пароле.
3.3.3) Усложненные МФП
Внеся некоторые изменения в рассмотренную выше простую МФП, можно значительно повысить сложность пароля. При наличии информации об авторизуемом пользователе и системе авторизации, можно использовать следующую МФП:
МФП содержит три элемента: <u> представляет первую букву имени пользователя, <h|n> представляет первую букву имени хоста или первую цифру первого октета адреса и <d,d. |n,n. > представляет первые буквы остальных компонентов имени домена или первые номера остальных октетов адреса, соединенные вместе. Эта МФП также содержит еще один специальный символ помимо восклицательного знака – точка между вторым и третьим элементами.
Используя рассмотренную выше МФП, можно получить такие пароли, как:
Измененная МФП содержит два специальных символа, благодаря чему ее можно отнести к паролям повышенной сложности, однако пароли все еще могу получиться разной длины, и могут не подойти той или иной системы авторизации, в которой реализована политика ограничения количества символов в пароле. Кроме того, рассмотренная МФП имеет повышенный уровень сложности, из-за чего она может представлять сложности для запоминания.
3.3.4) Необходимые условия
Идеальная МФП должна удовлетворять как можно большему количеству следующих условий:
— Формула должна содержать достаточное количество элементов и буквенных констант, чтобы ее всегда можно было использовать для создания пароля с минимальной длиной.
— Формула должна содержать достаточное количество сложных элементов и буквенных констант, таких как заглавные буквы и специальные символы, для создания сложного пароля.
— Элементы формулы должны быть в достаточной мере уникальными, чтобы для каждой системы авторизации можно было создать уникальный пароль.
— Формула должна легко запоминаться пользователем.
3.3.5) Многоуровневая мнемоника
По причине того, что сложность МФП значительно возрастает при попытках построения формул, соответствующих первым трем условиям, рассмотренным выше, к МФП можно применить второй уровень мнемонических свойств. МФП по определению является мнемонической техникой, поскольку она обладает свойством, позволяющим пользователю восстанавливать в памяти пароль для каждой отдельной системы, если он помнит только МФП и обладает знанием информационного контекста в отношении себя и системы. Для запоминания самой МФП могут быть применены дополнительные мнемотехники. Этот дополнительный мнемонический уровень может применяться пользователем помимо собственно МФП.
Например, при наличии информации об авторизуемом пользователе и системе авторизации можно использовать адекватно сложную, длинную и легкую для запоминания МФП следующего вида:
Данная МФП содержит три элемента: <u> представляет первую букву имени пользователя, <h|n> представляет первую букву имени хоста или первую цифру первого октета адреса, и <d|n> представляет последнюю букву суффикса имени домена или последнюю цифру последнего октета адреса. Эта видоизмененная МФП также содержит третий специальный символ в добавление к восклицательному знаку и точке: точку с запятой после последнего элемента.
С помощью приведенной выше МФП можно получить следующие пароли:
В отличие от рассмотренных ранее МФП, в вышеприведенной формуле использована вторичная мнемотехника, которая легче запоминается пользователем, поскольку формула читается естественным образом. Эту МФП можно запомнить как «пользователь–собачка–хост–точка-домен», что напоминает структурный формат адреса электронной почты.
Кроме того, была применена вторичная мнемотехника, предназначенная для конкретного пользователя, которая заключалась в использовании точки с запятой. Эта МФП была составлена программистом на C, который, естественно, с легкостью запомнил, что пароли надо заканчивать точкой с запятой.
3.3.6) Элементы повышенной сложности
Можно составить МФП более высокого уровня, используя усложненные элементы, которые повторяются, изменяются, чередуются или увеличиваются на заданное значение, в отличие от простых элементов, заменяемых некими статическими значениями (например, именем пользователя или частью имени хоста). Однако стоит отметить, что чрезмерное использование элементов этого типа может привести к тому, что МФП не будет соответствовать условию номер четыре (п. 3.3.4), поскольку она станет слишком сложной для запоминания.
С помощью МФП можно создавать более длинные пароли, повторяя простые элементы. Например, такой элемент, как первая буква имени хоста, может быть использован дважды:
Совсем необязательно, чтобы такие повторяющиеся элементы шли один за другим, т.е. они могут быть использованы в любой части МФП.
С помощью МФП можно создавать пароли повышенной сложности, если включить в нее переменные элементы. Например, создатель МФП может поставить "p:" или "b:" перед началом какого-либо элемента, чтобы указать, что система является персональной (personal) или бизнес-системой (business).
Чтобы лучше проиллюстрировать данный пример, рассмотрим ситуацию, когда пользователь занимается системным администрированием большого количества объектов. В этом случае переменный элемент может обозначать администрируемый объект:
<x> может быть заменено на «p» в случае с персональной системой, «E» в случае, если система находится в домене управления Exxon-Mobil или «A», если система управляется ассоциацией Austin Hackers Association. Большинство применявшихся до сих пор элементов — достаточно простые переменные, значение которых зависит от информационного контекста, например, от имени пользователя или системы. Отличие в том, что обычные элементы изменяются только тогда, когда МФП применяется к другой системе, а переменные элементы изменяют свое значение в зависимости от информационного контекста класса доступа или от набора других факторов вне обычного информационного контекста «пользователь/система».
Проиллюстрируем этот принцип: использование одной и той же МФП для учетной записи администратора и учетной записи пользователя без привилегий приведет к тому, что пароли будут незначительно отличаться. Использование переменного элемента помогает предотвратить сходство паролей. Можно использовать подстановку символов «0:» или «1:» вначале формулы, чтобы разделять доступ администратора от доступа пользователя без привилегий.
Таким образом, включение дополнительного переменного элемента в МФП приведет к тому, что пароль станет более сложным и будет отражать класс доступа:
Переменные элементы не обязательно должны стоять в начале формулы, как в приведенных выше примерах, их можно поместить в любую часть МФП.
— Чередующиеся и увеличивающиеся на заданное значение элементы
Чередующиеся и увеличивающиеся на заданное значение элементы могут использоваться для изменения паролей, чтобы они соответствовали политике, связанной с невозможностью повторного использования паролей. Чередующийся элемент – это такой элемент, который чередует значения в заданных пределах, например «apple» (яблоко), «orange» (апельсин), «banana» (банан) и т.д. Увеличивающийся на заданное значение элемент (пример представлен ниже) использует расширяемую линейную последовательность увеличивающихся значений, например: «1», «2», «3» или «один», «два», «три». Когда дальнейшее использование пароля невозможно, и его требуется обновить, можно чередовать или увеличивать соответствующие элементы:
С помощью приведенной выше МФП можно получить такие пароли, как "d@c.g:1", "d@c.g:2", "d@c.g:3" и так далее. Чтобы лучше понять этот принцип, рассмотрим следующую МФП:
С помощью приведенной выше МФП, при использовании определенного списка значений фруктов, описанного выше, можно получить такие пароли, как "d@c.g:apple", "d@c.g:orange", "d@c.g:banana" и так далее.
Единственной дополнительной информацией, которую пользователю необходимо будет запомнить помимо самой МФП, будет заранее заданный список изменяющихся элементов и текущее значение чередующегося или возрастающего элемента.
В случае с чередующимися элементами, список значений может быть потенциально записан, чтобы к нему можно было при необходимости обратиться, при этом сами пароли не будут скомпрометированы. Используя специальные значения, можно замаскировать списки таким образом, чтобы они выглядели как, например, списки продуктов, списки сотрудников компании или списки добавочных номеров, т.е. списки такого типа, которые можно без подозрений вывесить в окружении пользователя. В случае с возрастающими элементами, знание текущего значения является единственным необходимым условием для определения следующего значения.
3.4) Применение в масштабах организации
В крупных организациях применение МФП может быть предписано определенным пользователям, чтобы обеспечить параллельный доступ к их учетным записям. Если отдел информационной безопасности назначит уникальные МФП пользователям, то сотрудники этого отдела смогут легко получить доступ к учетным записям этих пользователей. Этот тип управления может использоваться для доступа к учетным записям в тех случаях, когда пользователь отсутствует, когда учетная запись совместно используется многими сотрудниками или членами оперативной группы, или даже в случае наблюдения за пользователем, действия которого вызывают подозрения у службы безопасности.
Наиболее серьезным недостатком паролей, созданных с помощью МФП, является то, что если формула будет раскрыта, все пароли к системам, при создании которых пользователь применял схему МФП, будут потенциально скомпрометированы. Эта ситуация ничем не хуже той, когда пользователь использует один и тот же пароль для разных систем. В сущности, такая ситуация даже лучше, поскольку созданные пароли уникальны. При использовании пароля, созданного с помощью МФП, должен выполняться принцип уникальности для каждой отдельной системы, и, в идеале, пароль должен казаться беспорядочным набором символов. Весьма вероятно, что для того, чтобы разгадать формулу, злоумышленнику придется взломать значительное количество паролей, созданных с применением формулы, прежде чем он сможет уловить взаимосвязь между ними.
3.5.2) Сложность, обусловленная политикой безопасности паролей
Вторым недостатком паролей, созданных с применением МФП, является то, что без применения чередующихся или увеличивающихся на заданное значение элементов такие пароли не слишком удачно сочетаются с политикой безопасности, которая подразумевает замену паролей по истечении срока их действия или невозможность повторного использования паролей. Речь идет о неком компромиссе между обеспечением безопасности паролей с использованием ограничений срока их действия с одной стороны, и сложностью МФП с другой. Однако компромисс заключается в том, что нам предстоит либо принять оба условия, либо ни одного. Наиболее безопасный вариант – принять оба, однако в результате применения такого метода увеличивается сложность МФП, что потенциально ведет к несоответствию формул условию номер четыре (п. 3.3.4).
МФП эффективно помогают избегать многих небезопасных ситуаций, связанных с выбором сложных паролей и их использованием. Однако стоит очень тщательно подходить к выбору степени сложности формул и их мнемонических характеристик, чтобы в итоге МФП получались достаточно защищенными, одновременно сохраняя легкость при воспроизведении в памяти. Если формулы становятся слишком сложными для запоминания, то проблемы, от которых мы пытались избавить пользователей с помощью МФП, могут возникнуть вновь.
[1] Bugaj, Stephan Vladimir. More Secure Mnemonic-Passwords: User-Friendly
Passwords for Real Humans”
[2] Kotadia, Munir. Microsoft Security Guru: Jot Down Your Passwords
[3] McWilliams, Brian. How Paris Got Hacked?
[4] Williams, Randall T. The Passphrase FAQ
[5] Jeff Jianxin Yan and Alan F. Blackwell and Ross J. Anderson and Alasdair