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

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

  • автор:

Генератор паролей

Онлайн генератор паролейсоздание надежных паролей повышенной стойкости к системам автоматического взлома путем прямого перебора всех символов (bruteforce) или перебора по словарю.

Зачем нужны безопасные пароли?

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

Как взламывают пароли?

Для взлома используют специальные программы, которые подбирают пароль. Самым простым методом подбора является перебор всех символов.
Также используется метод подбора по словарю. (В рунете можно найти бесплатные словари русского языка на 100 с лишним тысяч русских слов.)

  • Очень часто в качестве пароля используют даты ( 100 ближайших лет * 365 дней —получаем 36500 возможных вариантов для подобного пароля). Они поддаются взлому за несколько секунд или минут.
  • Также распространено использовать секретное слово. Боюсь многих разочаровать, но секретное слово —обычное слово, которое можно найти в словаре русского (английского или другого) языка, подбирается так же быстро, как и дата. Дело в том, что в языке не так много слов. Лексикон современного человека составляет около 20 000 слов, программы перебора по словарю знают десятки тысяч слов. Такой пароль может быть угадан за несколько минут.
  • Чуть сложнее ситуация если вы используете слово не в начальной форме, изменяете падеж, число или род. Тогда количество вариантов увеличивается до 10 000 000. На подбор по словарю словоформ уйдет уже от нескольких часов до несколько дней.
  • Если использовать в качестве пароля номер сотового телефона, то вариантов будет не более 100 000 000. На взлом такого пароля может потребоваться несколько дней. Или несколько минут, если взять ваш телефон и переписать номера из записной книжки, ведь, наверняка, среди них есть и тот, что служит вам паролем.

Безопасный пароль

Безопасный пароль —пароль, который не поддается взлому методам перебора. Для этого пароль НЕ должен представлять собой слово, по сути это должна быть абракадабра (хорошо, если она содержит цифры, и уж совсем хорошо, если кроме цифр используются символы) и длина пароляне менее 8 символов, а лучше более 12 символов.

Создать пароль

По умолчанию, здесь создются пароли состоящие из 12 случайных символов.
На сегодня это достаточный минимум, чтобы обеспечить надежность пароля. В нашем случае для генерации используется 86 символов (со включением русских букв 152). Создается пароль длиной 12 символов. Такой пароль не может быть подобран по словарю, ну а на перебор всех вариантов придется проверить до (86 12 ) 100 000 000 000 000 000 000 000 сочетаний. Даже для современного суперкомпьютера на решение этой задачи потребуется несколько тысяч лет.

АНАЛИЗ МЕТОДОВ ГЕНЕРАЦИИ ОДНОРАЗОВЫХ ПАРОЛЕЙ И ВЫСОКАЯ СТЕПЕНЬ СЛУЧАЙНОСТИ ГЕНЕРИРУЕМЫХ ПАРОЛЕЙ Текст научной статьи по специальности «Компьютерные и информационные науки»

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Арзиева Жамила Тлеубаевна, Арзиев Али Тлеубаевич

Рассматриваются методы аутентификации . Генерация «чего-либо» (например, паролей) является значительной частью данного процесса. При проверке стойкости генерированных паролей к каким-либо атакам (например, атака с польным перебором) выполняется измерение энтропии пароля. Существующие методы генерации случайных чисел в широко распространенных языках программирования обеспечивают достаточными значениями для одноразовых паролей. Но при использовании данных генераторов требуется внутреннее обновление их на основе случайных значений.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Арзиева Жамила Тлеубаевна, Арзиев Али Тлеубаевич

Разработка генератора паролей с использованием GUI MATLAB
Метод аутентификации с использованием динамических ключей
Анализ свойств и характеристик паролей для аппаратного менеджера на основе микроконтроллера Arduino
Применение цифровых водяных знаков для разработки систем графического пароля
Анализ стойкости парольных фраз на основе информационной энтропии
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ANALYSIS OF METHODS FOR GENERATING ONE-TIME PASSWORDS AND A HIGH DEGREE OF RANDOMNESS OF GENERATED PASSWORDS

Authentication methods are considered. Generating “something” (e. g., passwords) is a significant part of this process. When checking the resistance of generated passwords to any attacks (for example, a brute-force attack), the entropy of the password is measured. Existing methods for generating random numbers in widely used programming languages provide sufficient values for one-time passwords. But when using these generators, they need to be internally updated based on random values.

Текст научной работы на тему «АНАЛИЗ МЕТОДОВ ГЕНЕРАЦИИ ОДНОРАЗОВЫХ ПАРОЛЕЙ И ВЫСОКАЯ СТЕПЕНЬ СЛУЧАЙНОСТИ ГЕНЕРИРУЕМЫХ ПАРОЛЕЙ»

Бюллетень науки и практики /Bulletin of Science and Practice Т. 8. №7. 2022

https ://www.bulletennauki.ru https://doi.org/10.33619/2414-2948/80

УДК 004.056.53 https://doi.org/10.33619/2414-2948/80/35

АНАЛИЗ МЕТОДОВ ГЕНЕРАЦИИ ОДНОРАЗОВЫХ ПАРОЛЕЙ И ВЫСОКАЯ СТЕПЕНЬ СЛУЧАЙНОСТИ ГЕНЕРИРУЕМЫХ ПАРОЛЕЙ

©Арзиева Ж. Т., Каракалпакский государственный университет им. Бердаха, г. Нукус, Узбекистан, ajamila@karsu.uz ©Арзиев А. Т., Ташкентский университет информационных технологий им. Мухаммада аль-Хоразмий, г. Нукус, Узбекистан

ANALYSIS OF METHODS FOR GENERATING ONE-TIME PASSWORDS AND A HIGH DEGREE OF RANDOMNESS OF GENERATED PASSWORDS

©Arzieva J., Karakalpak State University named after Berdakh, Nukus, Uzbekistan, ajamila@karsu.uz ©Arziev A., Tashkent University of Information Technologies named after Muhammad Al-Khwarizmi, Nukus, Uzbekistan

Аннотация. Рассматриваются методы аутентификации. Генерация «чего-либо» (например, паролей) является значительной частью данного процесса. При проверке стойкости генерированных паролей к каким-либо атакам (например, атака с польным перебором) выполняется измерение энтропии пароля. Существующие методы генерации случайных чисел в широко распространенных языках программирования обеспечивают достаточными значениями для одноразовых паролей. Но при использовании данных генераторов требуется внутреннее обновление их на основе случайных значений.

Abstract. Authentication methods are considered. Generating «something» (e. g., passwords) is a significant part of this process. When checking the resistance of generated passwords to any attacks (for example, a brute-force attack), the entropy of the password is measured. Existing methods for generating random numbers in widely used programming languages provide sufficient values for one-time passwords. But when using these generators, they need to be internally updated based on random values.

Ключевые слова: генерация, аутентификация, генерации пароля, генерации одноразовых паролей, генераторы псевдослучайных чисел.

Keywords: generation, authentication, password generation, one-time passwords generation, pseudo-random number generators.

Высокая степень случайности генерируемых паролей обеспечивает требуемую безопасность. При этом в общем случае генераторы паролей состоят из следующих составляющих [5]:

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

Функция генерации пароля. Данная функция генерирует пароль в соответствии ассоциирования входящих значений.

Бюллетень науки и практики /Bulletin of Science and Practice https ://www.bulletennauki.ru

Т. 8. №7. 2022 https://doi.org/10.33619/2414-2948/80

Метод распечатки паролей. Данная функция выполняет действия распечатки для пользователя или трансфера в сайт аутентификации генерированного пароля для введения в требуемом поле какой-либо системы.

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

1. Генераторы, основанные на псевдослучайных числах использующих в качестве параметра временную метку. В практике широко применяющиеся методы генерации одноразовых паролей (OTP — One-Time Password) основаны на синхронизации времени, и среди них особое значение имеет TOPT (Time-based One-Time Password Algorithm) алгоритм. В настоящее время широко применяющиеся приложения третьей стороны основаны на ТОРТ алгоритмов и в качестве примера можно привести Google Authenticator, Microsoft Authenticator и др. В частности, в сегодняшний день во многих системах (например, Gmail.com, facebook.com, GitHub, Twitter, Dropbox) Google Authenticator применяется для реализации аутентификации, основанную на двух факторах. Существование возможностей применения данных приложений в разных системах обосновывается использование временных меток в качестве распределенных параметров в системах ТОТР. В приложении Google Authenticator генерируется OTP, состоящий из 6 символов. С целью проверки степени случайности OTP генерированных при помощи данного приложения, оно соединено для систем Gmail, Facebook, Dropbox и Github (Рисунок 1 а). Здесь значения являются разными из-за предоставления различных ключей со стороны системы и из-за различности временных меток. Было собрана генерированных 1000 OTP для данных приложений. Каждый OTP имел цифру из шести значений, и его графический вид приведен на Рисунке 1 б [4].

a) OTP генерированные в приложении b) Графическое изображение OTP

Рисунок 1. OTP и его графическое изображение

Для отображения графического вида на основе OTP, каждый пароль разделяется на две части. Например, если OTP равна к OTP =458234, то первая часть OTP будет равна к Х=458, а вторая часть OTP будет равна к Y=234. На основе двух чисел точка P(X, Y) отображается в двумерной системе (999, 999) координат. Как и отображена в графике возможные варианты паролей генерированных с помощью Google Authenticator будет равна к 106. В приложении

Бюллетень науки и практики /Bulletin of Science and Practice Т. 8. №7. 2022

https ://www.bulletennauki.ru https://doi.org/10.33619/2414-2948/80

Google Authenticator для генерации OTP применяется временная метка и с целью устранения определенных отклонений, OTP за каждые 30 сек. или 60 сек. поменяется.

OTP, которые состоят только из цифр являются легко вводимыми в систему, но при этом они не считаются обладателями высокой степени стойкости. Поэтому, обычно при генерации OTP (если они состоят только из цифр) уделяется внимание на длину паролей. Например, в социальной сети Facebook заранее генерированные OTP (TAN), которые передаются пользователям, состоят из 8 цифр (Рисунок 2).

2. Генераторы псевдослучайных чисел, основанные на использовании счетчиков в качестве параметра. Одним из примеров, который относиться к данным методам генерации OTP является алгоритм HOTP. Функционирование данного алгоритма идентично со схемой, приведенной на Рисунке 1. Отличие — использование вместо метки времени счетчика [4]. На Рисунке 3 приведены результаты, полученные от отображения в графическом виде начальных 1000 OTP генерированных на основе HOTP из единого ключа.

Кроме этого, алгоритмы генерации OTP входящие в данную группу широко применяются в протоколах аутентификации типа «вопрос-ответ» (Challenge-Response), основанные на одноразовые пароли. При этом вместо счетчика вводится значения «вопроса» и выполняется процесс аутентификации через сопоставление его ответа.

Use Itiew codes for Vitien you don’t Kr.- your phone with you, lot example »ter you’re traveling

10 OF 1t> REMAINING

СООЕИ1 0959 0667 ©

COOEWÍ 1910 2714 0

СООЕЛ 2265 4796 0

CCDE¿4 2625 5108 0

Рисунок 2. Список TAN в системе Рисунок 3. Графический вид результата

Facebook. алгоритма HOTP

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

Кроме этого, в системах требующих высокую безопасность применяются OTP, которые состоят из маленьких латинских букв (26), больших латинских букв (26) и цифр (10) [3]. В данном случае если длина пароля равна к 6, тогда вариация возможных паролей будет равна к 626 « 5.68 X 1010 « 235 7 и значение рассматривается как стойкий пароль. ОТР такого вида в многих системах используются для формирования TAN списка, в частности Gmail, Dropbox. Также OTP таких видов можно использовать в качестве статических паролей.

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

Бюллетень науки и практики / Bulletin of Science and Practice Т. 8. №7. 2022

https ://www.bulletennauki.ru https://doi.org/10.33619/2414-2948/80

случайности. В качестве примера можно привести генератор PRONOUNCE3, разработанный со стороны Лионарда и других [5]. В данном генераторе можно генерировать OTP, которая равно к 30.8 бит энтропии, используя гласных (a, e, i, o, u) и негласных (b, c, ch, d, f, g, h, j, k, l, m, n, p, ph, r, s, st, v, w, x, y, z) букв.

A Not secure | www.passwordmeter.com

The Password Meter

Test Your Password Minimum Requirements

Password: 1 ■ • Minimum 8 characters in length

• Contains 3/4 of the following items: — Uppercase Letters

Score: — Lowercase Letters — Numbers

Complexity: Very Weak — Symbols

Рисунок 4. Оценка OTP в системе http://www.passwordmeter.com/

В области генерации паролей также уделяется высокое внимание разработке генераторов паролей, которые используют набор определенных символов, легко в произношении и сохранении в памяти, но при этом имеющийся высокий степень случайности. В качестве примера можно привести генератор PRONOUNCE3, разработанный со стороны Лионарда и других [5]. В данном генераторе можно генерировать OTP, которая равно к 30,8 бит энтропии, используя гласных (a, e, i, o, u) и негласных (b, c, ch, d, f, g, h, j, k, l, m, n, p, ph, r, s, st, v, w, x, y, z) букв.

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

3. /* Длина пароля */

4. unsigned short int length = 8;

6. /* т^()обновить внутреннее состояние функции */

7. srand((unsigned int) time(0));

9. /* символы ASCII от 33 до 126 */

11. putchar(rand() % 94 + 33);

14. return EXIT_SUCCESS;

b^HIH Tun лицензии СС: Attribution 4.0 International (СС BY 4.0)

Бюллетень науки и практики /Bulletin of Science and Practice Т. 8. №7. 2022

https ://www.bulletennauki.ru https://doi.org/10.33619/2414-2948/80

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

Также во многих операционных системах существуют стойкие генераторы случайных чисел (например, для семейства Unix /dev/random и /dev/urandom или для Windows CryptGenRandom) и с помощью их можно генерировать паролей с высокой степенью случайности.

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

При проверке генерированных паролей широко применяется тестирование по свойствам таких как, состав, длина и не существование в списке широко распространенных паролей [3]. Пароли, отвечающие к этим требованиям, считаются стойкими к атакам «Грубая сила» и атака на основе словаря.

Кроме того, при проверке стойкости генерированных паролей к каким-либо атакам (например, атака с польным перебором) выполняется измерение энтропии пароля. Если символы пароля не основаны каким-либо законам и являются независимыми, то энтропия пароля определяется следующим уравнением:

Н = Llog2N = L-OOgJ

Здесь N — количества возможных символов, L — определяет количества символов в пароле. Н измеряется в битах. В Таблице 1 приведены значения энтропии на каждые символы для набора различных номеров символов.

ЭНТРОПИЯ СООТВЕТСТВУЮЩАЯ НА КАЖДЫЙ СИМВОЛ ДЛЯ НАБОРА РАЗЛИЧНЫ1Х СИМВОЛОВ [5]

Набор символов Количества символов в наборе, N Энтропия соответствующая к одному символу, Н (бит)

a-zили A-Z 26 4,70

a-z или A-Z, 0-9 36 5,17

a-z, A-Z, 0-9 62 5,95

Все прописные символы ASCII 94 6,55

В Таблице 2 приведены затраченные время для определения с помощью польного перебора OTP, которые имеют различные высокие сложности с использованием вышеприведенных наборов символ. Для получения результатов использована онлайн система проверки паролей http://password-checker.online-domain-tools.com/

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

ь^НЗН Тип лицензии СС: Attribution 4.0 International (СС BY 4.0)

Бюллетень науки и практики / Bulletin of Science and Practice Т. 8. №7. 2022

i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

https ://www.bulletennauki.ru https://doi.org/10.33619/2414-2948/80

ВРЕМЯ, ЗАТРАЧЕННОЕ ДЛЯ ОПРЕДЕЛЕНИЯ РАЗЛИЧНЫХ ПАРОЛЕЙ МЕТОДОМ ПОЛЬНОГО ПЕРЕБОРА

Состоящий из Состоящий из (0. 9, Состоящий из (0. 9, а

(0. 9) с длиной 10 аА. .2) с длиной А. 2, ?,/,~. (,),\ ■■■) с

символов 10 символов длиной 10 символов

(5689743664) (j63olf9Avu) (c?Kxar/XM7)

Стандарт ПК 2 мин 3 000 год 208 000 год

Быстрый ПК 25 сек 67 год 52 000 год

GPU 10 сек 27 год 21 000 год

Быстрый GPU 5 сек 13 год 10 000 год

Параллельный GPU 1 сек 1 год 87 год

Боты среднего числа < 1 сек 2 час 6 день

Стойкость (от 100) 26% 55% 62%

Существующие методы генерации случайных чисел в широко распространенных языках программирования обеспечивают достаточными значениями для OTP. Но при использовании данных генераторов требуется внутреннее обновление их на основе случайных значений (например, показатели миллисекунды текущей времени).

1. Shimizu A., Horioka T., Inagaki H. A password authentication method for contents communications on the Internet // IEICE transactions on communications. 1998. V. 81. №8. P. 1666-1673.

2. Tsuji T., Kamioka T., Shimizu A. Simple and secure password authentication protocol, ver. 2 (SAS-2) // ITE Technical Report 26.61. The Institute of Image Information and Television Engineers, 2002. P. 7-11. https://doi.org/10.11485/itetr.26.61.0_7

3. Dorrendorf L., Gutterman Z., Pinkas B. Cryptanalysis of the random number generator of the windows operating system // ACM Transactions on Information and System Security (TISSEC). 2009. V. 13. №1. P. 1-32. https://doi.org/10.1145/1609956.1609966

4. Karimov M. M., Khudoykulov Z. T., Arzieva Ja. T. A Method of Efficient OTP Generation Using Pseudorandom Number Generators // 2019 International Conference on Information Science and Communications Technologies (ICISCT). IEEE, 2019. P. 1-4. https://doi.org/10.1109/ICISCT47635.2019.9011825

5. Арзиева Ж. Использование одноразовых паролей для одного сеанса аутентификации // Zamonaviy innovatsion tadqiqotlarning dolzarb muammolari va rivojlanish tendensiyalari: yechimlar va istiqbollar. 2022. V. 1. №1. P. 149-150.

6. Akhmatovich T. K., Turakulovich K. Z., Tileubayevna A. J. Improvement of a security enhanced one-time mutual authentication and key agreement scheme // International Journal of Innovative Technology and Exploring Engineering. 2019. V. 8. №12. P. 5031-5036.

7. Арзиева Ж., Нукусбаев Н. Ж. Проблемы сетевой безопасности и эффективная защита от сетевых атак // Бюллетень науки и практики. 2021. Т. 7. №9. С. 479-485. https://doi.org/10.33619/2414-2948/70/45

Бюллетень науки и практики / Bulletin of Science and Practice Т. 8. №7. 2022

https ://www.bulletennauki.ru https://doi.org/10.33619/2414-2948/80

1. Shimizu, A., Horioka, T., & Inagaki, H. (1998). A password authentication method for contents communications on the Internet. IEICE transactions on communications, 81(8), 16661673.

2. Tsuji, T., Kamioka, T., & Shimizu, A. (2002, September). Simple and secure password authentication protocol, ver. 2 (SAS-2). In ITE Technical Report 26.61 (pp. 7-11). The Institute of Image Information and Television Engineers. https://doi.org/10.11485/itetr.26.61.0_7

3. Dorrendorf, L., Gutterman, Z., & Pinkas, B. (2009). Cryptanalysis of the random number generator of the windows operating system. ACM Transactions on Information and System Security (TISSEC), 13(1), 1-32. https://doi.org/10.1145/1609956.1609966

4. Karimov, M. M., Khudoykulov, Z. T., & Arzieva, J. T. (2019). A Method of Efficient OTP Generation Using Pseudorandom Number Generators. In 2019 International Conference on Information Science and Communications Technologies (ICISCT) (pp. 1-4). IEEE. https://doi.org/10.1109/ICISCT47635.2019.9011825

5. Arzieva, Zh. (2022). Ispol’zovanie odnorazovykh parolei dlya odnogo seansa autentifikatsii. Zamonaviy innovatsion tadqiqotlarning dolzarb muammolari va rivojlanish tendensiyalari: yechimlar va istiqbollar, 1(1), 149-150.

6. Akhmatovich, T. K., Turakulovich, K. Z., & Tileubayevna, A. J. (2019). Improvement of a security enhanced one-time mutual authentication and key agreement scheme. International Journal of Innovative Technology and Exploring Engineering, 8(12), 5031-5036.

7. Arzieva, J., & Nukusbaev, N. (2021). Network Security Issues and Effective Protection Against Network Attacks. Bulletin of Science and Practice, 7(9), 479-485. (in Russian). https://doi.org/10.33619/2414-2948/70/45

Работа поступила Принята к публикации

в редакцию 25.05.2022 г. 30.05.2022 г.

Ссылка для цитирования:

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

Поиск по сайту доступен на каждой странице в навигационной панели — в самом верху.

Для большего удобства, можно использовать голосовой ввод (значок микорофона), если он поддерживается вашим браузером.

Если значок микрофона отсутствует, значит ваш браузер не поддерживает голосовой ввод.

Если значок микрофона есть, но выдаются разного рода ошибки (даже если вы разрешили использовать микрофон), то вероятнее всего это проблема браузера.

Что из перечисленного содержит Руководство по применению единой навигационной системы ОАО «РЖД»?Перечень обязательной информации, предоставляемой на вокзалеЕдиные принципы построения навигационных указателейПравила применения текстовой и графической информацииОсновные инструменты планирования и проектирования навигационной системыРекомендации по технологиям изготовления и производства навигационных указателейУсловия предоставления информации на вокзале в зависимости от его классаНайти другие ответы на вопросы

Связанные темы

Темы, в которых встречается данный вопрос:

Ввод номера пути может осуществляться как на стоянкахВвод поездных характеристик, выбор режима движенияКЛУБ-УП — система обеспечения безопасности, унифицированнаяПриступать к работам вблизи устройств контактной сетиРаботникам запрещается переходить или перебегать железнодорожныеВзрыв петарды требует: Немедленной остановки поездаЗвуковые сигналы выражаются числом и сочетанием звуковОбо всех обнаруженных неисправностях КЛУБ-УП машинистПоездной режим движения «П, Т» используется для передвиженияДля ввода координаты и характера ее изменения машинист

В последнее время это стало проблемой. Люди спрашивают Google по-всякому: «самый сложный пароль в мире», «помогите придумать пароль», «лучший генератор паролей», «криптостойкий пароль».

Никто не любит, когда пароль подбирают или крадут. Никто не хочет отдавать секреты плохим парням. Легкие пароли подбирают и взламывают ваши учетные записи. Сложные пароли невозможно запомнить и приходится их записывать — где их опять же могут украсть. И даже если вас еще нет в базе сервиса Have I Been Pwned, это не повод расслабляться.

Читайте также: Когда проводится первичный инструктаж на рабочем месте ответы сдо ржд

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

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

Теперь у меня есть довольно простая система генерации и запоминания паролей: легкая, неприступная и уникальная. Можно ее назвать красивым выражением «генератор мнемонических паролей». Она делится на три части: случайный ключ, контекст и формулу.

Система «ключ + контекст + формула»

Пристально рассмотрим каждую часть, затем я приведу несколько примеров.

Начните со случайного ключа. Это может быть что угодно. Вы можете воспользоваться подходом XKCD и выбрать строку из нескольких слов — афоризм или панграмму:

  • Каждый охотник желает знать, где сидит фазан
  • Съешь-ка ещё этих мягких французских булочек да выпей чаю
  • Глаза — часть мозга, вынесенная на периферию

Не беспокойтесь слишком много о том, как бы не забыть этот ключ. Вы будете использовать его повсюду, и мышечная память начнет действовать в ближайшее время.

Наконец, формула. Главный секрет — создать формулу, основанную на комбинации случайного ключа и первичного имени в контексте. Вы можете начать с первых трех букв имени, затем — подчеркивание, а затем — случайный ключ. Возможно, вы захотите пойти немного дальше и взять две первые и две последние буквы имени и ввести их в обратном порядке со случайным ключом и тремя восклицательными знаками. Или можете взять первые три символа имени и увеличить их значения на единицу, так что ‘yah’ станет ‘zbi’, а ‘gma’ — ‘hnb’. Главное — удобное для вас сочетание ключа и формулы. Это может сначала показаться сложным, но как только вы запомните этот случайный ключ, и формула станет второй натурой, вы станете машиной-генератором крутых паролей.

Читайте также: Признаки фишингового письма сдо ржд

Красота этой системы заключается в том, что если кто-то взломает одну из ваших учетных записей и получит ваш пароль, у них будет только один уникальный пароль, который не нужен больше нигде. И если вам нужно поменять пароли (а это вы должны делать время от времени), вы можете изменить либо формулу, либо ключ. Это означает, что для восстановления старых забытых паролей нужна только формула или ключ.

Примеры легкой генерации сложных паролей

Давайте рассмотрим несколько примеров, чтобы вы могли лучше представить себе, о чем я говорю.

Пример 1: простая формула

Представим, что ваш случайный ключ — Lineage2cleric. Ваша формула состоит в том, чтобы взять последние 4 символа имени и разбить их по обе стороны от вашего ключа восклицательными знаками.

  • Создаем пароль для вашей почты Yahoo (mail.yahoo.com). Итак, ваш пароль: ah!Lineage2cleric!oo
  • Создаем пароль для учетной записи Adobe Creative Cloud — например, Behance (adobe.com). Ваш пароль: do!Lineage2cleric!be

Пример 2. сложная формула

Две заметки и важное предупреждение

1) вы столкнетесь с некоторыми старыми сайтами, которые время от времени ограничивают символы или длину вашего пароля. Например, вы можете использовать ! в вашей формуле, но ваш онлайн-банк или устаревший почтовый сервис не допускает этот символ в паролях. Я рекомендую придумать систематический способ обхода глупых правил с этими сайтами (например, всегда менять ! на 1 или вообще удалить их).

по мотивам статьи Jesse Gardner ‘A Better System for Passwords’

Эту страницу находят по запросам:

  • генератор мнемонических паролей
  • самый сложный пароль в мире
  • помогите придумать пароль
  • лучший генератор паролей
  • криптостойкий пароль
  • пароль от 6 до 20 символов
  • длинные пароли

Переписываем генератор паролей

Password Policy

У меня сложилось ощущение, что я уже раз пять писал функцию для генерации паролей. И каждый раз делал это по-разному. А причина тому — различные требования к паролю для разных проектов и инструментов. Здесь не будет сложного кода, просто краткое изложение простого нового решения, которое пришло ко мне вчера.

Начнем с простых требований к паролю:

  • должен быть произвольной длины
  • должен состоять из любых печатных символов
import string import random from typing import List def generate_password(length: int) -> str: """ Generate a password of a given `length`. """ result: List[str] = [] choices = string.printable # заглавые и строчные буквы, цифры и знаки препинания while len(result) < length: symbol = random.choice(string.printable) result.append(symbol) return "".join(result)
>>> generate_password(8) . "1>> generate_password(13) . "9ar|&:a+U]Il$"

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

Внезапная политика

Но тут нам говорят, что все не так просто, и пароль для нашей базы данных MyDB должен отвечать некоторым требованиям безопасности. А именно, пароль:

  • должен быть не меньше 8 символов
  • должен содержать как минимум одну заглавную букву
  • должен содержать как минимум одну строчную букву
  • должен содержать как минимум одну цифру
  • должен содержать как минимум один спец-символ ( !&? и прочие)
  • а еще он не должен содержать некоторые символы, чтобы не поломать bash-скрипты

Наш код выше для этого не годится, так что придется дорабатывать. И для решения этого я видел целый ворох разных подходов:

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

Новый подход

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

import string import random from typing import List def generate_random_string(length: int, *choices: str) -> str: """ Generate a string of a given `length`. The result has at least one symbol from each of `choices` if `length` allows. Arguments: length -- Result string length. choices -- Strings with available symbols. """ if not choices: # будем использовать только буквы если нам все равно, из каких символов пароль choices = (string.ascii_letters, ) # создадим строку со всеми доступными символами all_choices = "".join(choices) result: List[str] = [] choice_index = 0 while len(result) < length: # получим по символу из каждого списка, чтобы # каждый список был использован хотя бы один раз if choice_index < len(choices): symbol = random.choice(choices[choice_index]) result.append(symbol) choice_index += 1 continue # а после этого добавляем символы из любого списка symbol = random.choice(all_choices) result.append(symbol) # перемешаем наш результат чтобы распределить начальные символы random.shuffle(result) return "".join(result)
>>> # генерируем строку из цифр >>> generate_random_string(8, string.digits) . "59197550" >>> # а тут обязательно должен быть восклицательный знак >>> generate_random_string(8, string.ascii_letters, "!") . "vIOWXN!o"

Отлично, пришло время собственно сгенерировать пароль, отвечающий всем нашим требованиям.

def generate_mydb_password(length: int) -> str: """ Generate a random password for MyDB of a given `length`. The result has at least: - one uppercase letter - one lowercase letter - one digit - one special character Raises: ValueError -- If `length` is lesser than 8. """ if length < 8: raise ValueError("Password length should be at least 8") return generate_random_string( length, string.ascii_uppercase, # в пароле должны быть заглавные буквы string.ascii_lowercase, # и строчные string.digits, # и цифры "!&?", # и спец-символы, добавьте нужных по вкусу )

Осталось только проверить:

>>> generate_mydb_password(8) . "P?P1&7zL" >>> generate_mydb_password(13) . "tR!QslK!Sl7EO" >>> generate_mydb_password(2) . ValueError: Password length should be at least 8

Итого

Мы написали простой в понимании и при этом достаточно случайный генератор паролей, а до конца рабочего дня еще куча времени. Если нет доверия библиотеке random , то можете ее заменить на ту, которая нравится.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *