Свободный генератор парольных фраз из четырех связанных между собой слов на русском языке. Парольную фразу запоминать значительно проще, нежели сложный набор символов, но при этом она может быть значительно надежнее ко взлому. Полностью на русском языке.
Идея программы заключается в том, что окрашенную смыслом фразу из четырех слов запомнить значительно проще, нежели случайный набор символов, но при этом, если грамотно использовать эту парольную фразу, она может гарантировать более мощную криптостойкость пароля. Если брать с каждого слова первые три буквы и вводить на английском языке, тогда уже получается не имеющий смысла набор символов, который можно без особого труда запомнить. Однако, его легко улучшить, например, достаточно добавить между словами плюс или минус и каждую первую букву слова писать заглавной. При таком подходе получается отличный по криптостойкости к атаке перебором пароль.
В программе имеется четыре списка слов:
- прилагательные;
- существительные;
- переходные глаголы;
- существительные в родительном падеже.
Из каждого списка случайным образом выбирается слово и добавляется в переменную, чтобы в дальнейшем составить фразу из четырех слов.
Для начала работы достаточно нажать кнопку "Сгенерировать", и парольная фраза будет отображена в соответствующем поле. При повторном нажатии будет сгенерирована другая парольная фраза. Нажимать кнопку "Сгенерировать" можно бесконечное количество раз и каждый раз получать абсолютно разные фразы.
Программа умеет перемешивать слова случайным образом, для этого достаточно установить галочку в пункт "Перемешивать порядок слов" и нажать кнопку "Сгенерировать".
Генератор парольных фраз написан на высокоуровневом языке программирования Python 3.8 с использованием библиотеки PyQt5 для создания интерфейса программы.
mrkaban
31 октября 2020 г. 16:40
1. Стоит подумать. Не сложно, вопрос только в эстетике. 2. Уверяю, она есть, просто в некоторых, видимо, я написал е вместо ё.
humanoid
31 октября 2020 г. 16:35
Супер :) Вот что ещё прилетело в голову: 1. Добавить кнопочку изменения порядка уже сгененированных слов. Т.е. понравились слова и хочется их попереставлять местами в текущем окне. 2. Буквы ё не хватает в словах :-)
mrkaban
31 октября 2020 г. 16:20
Обновил программу до версии 1.1: *упаковал всё в один исполняемый файл; *добавил возможность перемешивания слов; *обновил базу слов.
mrkaban
31 октября 2020 г. 15:28
Это вопрос интересный и спорный))) в любом случае, у нас менее прогрессивные в этом вопросе сотрудники фсб, нежели в Америке, вспоминая великое множество скандалов, включая CISCO. Поэтому, вполне возможно, что безопасного оборудования не существует :D
humanoid
31 октября 2020 г. 15:07
Мне всегда казалось, что если имеется сертификат ФСТЭК/ФСБ, то значит есть отдельный "вход" для VIP персон ;-)
mrkaban
31 октября 2020 г. 15:07
Об этом стоит подумать, но это нужно сделать так, чтобы фразу можно было запомнить. Вся сложность в том, что есть бегунок надежности, чем сложнее пароль, тем больше криптостойкость. Однако, это всё разбивается и падает об то, что если они будут слишком сложные, тогда пользователи будут просто записывать пароли на бумажный носитель. Это разумно в качестве дополнительной опции! Сделать чекбокс, если нажат, менять порядок.
humanoid
31 октября 2020 г. 15:03
В проге постоянная схема предложения: определение, подлежащее, сказуемое, дополнение. Можно изменить порядок слов в предложении и для смены смысла. Пример: Грозный Мафиози Ломает Компьютер Ломает Мафиози Компьютер Грозный Компьютер Ломает Мафиози Грозный Мафиози Ломает Грозный Компьютер Компьютер Грозный Ломает Мафиози Ломает Грозный Мафиози Компьютер Мафиози Грозный Ломает Компьютер Грозный Компьютер Ломает Мафиози
mrkaban
31 октября 2020 г. 14:51
К слову, аналогичный подход к созданию паролей для расшифровки ключей доступа к сети используется в программном-аппаратном комплексе ViPNet. А это решение имеет сертификат ФСТЭК и ФСБ. Сертификат соответствия ФСБ России № СФ/124-3430 ПК ViPNet Client 4 Учетный номер: СФ/124-3430 ""Настоящий сертификат удостоверяет, что изделие «Программный комплекс «ViPNet Client 4» (исполнения 1, 2, 3) в комплектации согласно формуляру ФРКЕ-00116-03 30 01 ФО соответствует требованиям ГОСТ 28147-89, ГОСТ Р 34.11-94, ГОСТ Р 34.10-2001, ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012, требованиям ФСБ России к шифровальным (криптографическим) средствам классов КС1, КС2, КСЗ."" Сертификат соответствия ФСБ России № СФ/124-3787 на ПК ViPNet Client 4 Учетный номер: СФ/124-3787 ""Сертификат соответствия ФСБ России № СФ/124-3787 от 17.12.2019 на соответствие изделия «Программный комплекс ViPNet Client 4» требованиям к средствам криптографической защиты информации, предназначенным для защиты информации, не содержащей сведений, составляющих государственную тайну классов КС1, КС2, КС3 для исполнений 1, 2, 3 соответственно."" Сертификат соответствия ФСТЭК России № 3692 на программно-аппаратный комплекс ViPNet Coordinator HW 4 ""Настоящий сертификат удостоверяет, что программно-аппаратный комплекс защиты информации «ViPNet Coordinator HW 4», разработанный ОАО «ИнфоТеКС» и производимый ОАО «ИнфоТеКС» и ООО «Линза» в соответствии с техническими условиями ФРКЕ.001З0-0З 97 01 ТУ, функционирующий на аппаратных платформах, указанных в формуляре ФРКЕ.001З0-0З 30 01 ФО, является межсетевым экраном, соответствует требованиям по безопасности информации, установленным в документах «Требования по безопасности информации, устанавливающие уровни доверия к средствам технической защиты информации и средствам обеспечения безопасности информационных технологий» (ФСТЭК России, 2018) по 4 уровню доверия, «Требования к межсетевым экранам» (ФСТЭК России, 2016), «Профиль защиты межсетевых экранов типа А четвертого класса защиты. ИТ.МЭ.А4.ПЗ» (ФСТЭК России, 2016)."" К слову, DST файлы для HW 1000 и для клиента зашифрованы при помощи пароля, который основан на таком же способе генерации парольных фраз. И если они получили все указанные сертификаты, значит этот подходит не является уязвимым, а судя по соответствию классов защиты, даже наоборот, надежен.
mrkaban
31 октября 2020 г. 14:20
Вот когда только начинал изучать Python, оставил в закладки статью про преобразования ui файла в код, тогда она показалась интересной, сейчас спустя долгое время понял, что человек явно не проверял код. class Window(QtWidgets.QMainWindow, design.Ui_MainWindow): у него сначала всё наследуется из QtWidgets.QMainWindow и если что-то не будет найдено там, оно будет взято из Ui_MainWindow, в общем, ничего не будет взято из файла нашего дизайна.
humanoid
31 октября 2020 г. 14:04
Так не горит. Как созреете, так будет версия 2.0 :-)
mrkaban
31 октября 2020 г. 14:01
Да, она без иконки совсем =((( не красиво ведь =))) и там Python 2, я хотел программу переписать, но оказывается с PyQt4 на PyQt5 переписать это процесс трудоемкий, а делать интерфейс с нуля желания не было. Тем более, программа рабочая. Единственное, нет русского языка.
humanoid
31 октября 2020 г. 13:57
На этом сайте подобная (могу ошибаться) прога pwnCheck, упакова в exe-шник.
mrkaban
31 октября 2020 г. 13:51
Прошу прощения, согласен, так будет удобнее. Так и хотел сделать изначально, но решил, что вся сфера создания псевдослучайных паролей через программы на компьютере не интересна пользователям. Я сегодня постараюсь решить вопрос и пополнить базу. Там четыре списка по ~200-250 слов.
humanoid
31 октября 2020 г. 13:46
Иначе не написал бы вообще... Для "обычных" пользователей дружелюбнее не список непонятных файлов, где хз какой ещё запускать.
mrkaban
31 октября 2020 г. 13:39
Что по поводу картинки, коль так, подберите пароль к моему юзеру, это всё пустые слова . Берём теорию вероятности (число размещений), тут 4 фразы, но мы возьмем 2 фразы: ""Пусть имеется n различных объектов. Будем выбирать из них k объектов и переставлять всеми возможными способами между собой (то есть меняется и состав выбранных объектов, и их порядок). Получившиеся комбинации называются размещениями из n объектов по k, а их число равно: https://континентсвободы.рф/link/6243/"" Пусть будет, что база для первого слова состоит из 100 элементов, и база для второго тоже. Получается приблизительно "93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000" вариантов. Посчитайте сами. До конца жизни перебирать будете?
mrkaban
31 октября 2020 г. 13:28
Если Вам действительно интересна программа, я подумаю об этом в следующей версии. Если это Вы так, критики ради, есть ли смысл? Нет. В один файл не стал упаковывать из-за внешних ресурсов - main.ui и иконки. Если все Qtшные классы труда не составит прописать в самом py файле, то с упаковкой иконки проблемы. PyInstaller её криво упаковывает и как результат, программа всё равно её ищет в папке с собой. Думаю это всё решаемо, вопрос лишь в том, интересна ли Вам программа? Если да, тогда я займусь вопросом.
humanoid
31 октября 2020 г. 13:21
Упаковать всё в 1 исполняемый файлик возможно? Сделать возможность переключать структуру предложения, как в примере: https://континентсвободы.рф/link/6242/
mrkaban
29 октября 2020 г. 22:43
Если будет достаточный интерес к программе, тогда буду активно её улучшать!