Правильная ссылка на эту страницу
http://az-design.ru/Support/SoftWare/Delphi/AZPassGen_20.shtml

AZPassGen 2.0 - Программа хранения паролей

Введение

       Каждому приходилось срочно придумывать пароль при регистрации на каком-нибудь форуме, социальной сети и прочих сайтах. Однажды выбранный хорошо запоминающийся пароль может не удовлетворять требованиям сайта, поэтому приходиться его как-то поправлять. А это верный путь забыть какой пароль в конкретном случае нужно использовать. Когда сайтов становиться много все пароли запоминаются в браузере, благо он предоставляет такую возможность. И злоумышленник получает прекрасную возможность получить все пароли сразу. Как генерировать разные пароли по разным правилам и запомнить какой из них к какому сайту относится с каким логином связан? Проблема из проблем для обычного человека.
       Как это происходит на практике? Вот пример из книги С.Мэдника "Защита ЭВМ" М.: МИР, 1982 год:"

"В одной современной клинике была установлена система ведения медицинских записей с помощью ЭВМ. В связи с тем, что система должна была обрабатывать и хранить очень важную и конфиденциальную информацию, разработчики создали сложную процедуру идентификации и подтверждения подлиности пользователей, основанную на применении хранящихся у пользователей паролей. Так как многие стандартные записи подготовливались специалистами, обслуживающими ЭВМ, то большинство врачей очень редко пользовались системой. При разработке системы предполагалось, что пользователи редко будут обращаться к ней. Система была спроектирована следующим образом: пользователю задавался вопрос, что он хочет получить, после чего он должен был совершить некоторые действия (шаги). К сожалению, пользователи часто забывали процедуру вхождения в систему, особенно часто они забывали выделенные им пароли. Поэтому врачи тратили много времени, пытаясь вспомнить процедуру и пароль или пытаясь найти кого-нибудь, кто бы смог помочь им. Эту проблему медицинский персонал решил следующим образом: к каждому терминалу был приклеплен листок с инструкцией, в которой описывалась процедура вхождения в систему и приводился полный список всех врачей с указанием присвоенных им паролей!"

       Вот для решения этих проблем и была создана эта программа.
       Требования к программе были простые:
       1) Программа должна быть компактна, работать без установки с флеш-карты или другого носителя.
       2) Программа не должна куда-либо писать, кроме своего файла паролей.
       3) Файл для хранения паролей должен читаться распространенными стандартными программами, в случае если программой по каким-либо причинам нельзя воспользоваться.
       4) Файл паролей должен содержать различную дополнительную информацию - URL, Логин и протокол изменения паролей.
       Защита паролей осуществляется физическим способом - флешка вставляется в компьютер только тогда, когда необходимо ввести пароль. В остальное время пароли на компьютере отсутствуют в каком-либо виде - флешка лежит в кармане владельца или сейфе, если он так хочет.
       Первый вариант использовал в качестве файла паролей простой INI-файл. Это было очень удобно. С программной точки зрения работать с INI-файлом очень удобно. Читать INI-файл можно в обычном notepad. НО! Оказалось, что при большом количестве паролей приходиться менять название группы, перетаскивать аккаунты из одной группы в другую и т.д. Что с INI-файлом сделать трудно или невозможно.
       Версия 2.0 в качестве файла паролей использует формат XML, который может быть открыть практически в любом современном Веб-браузере и также отредактирован в текстовом редакторе, который поддерживает Unicode. Многие функции для редактирования файла паролей были отклонены, так как они нарушали структуру файла XML. Читаемось файла XML текстовым редактором была поставлена на первое место.
       Итак! Программа состоит из трех файлов с одинаковым именем AZPassGen_20 и разными расширениями:
       .exe - исполняемый файл самой программы, которая производит манипуляции с файлом паролей.
       .xml - файл паролей в формате .xml. Если файл паролей отсутствует, то при запуске программы он будет создан автоматически с одной группой и одним аккаунтом.
       .chm - файл справки, которую Вы сейчас читаете.
       В версии 2.0 аккаунты можно объединять в группы и подгруппы, названия которых можно в любой момент менять. Можно менять расположение аккаунта в группе (подгруппе). Можно перетаскивать аккаунт между группами (подгруппами). И много других полезных вещей.
       Работа с программой начинается с "Дерева групп и аккаунтов", которое отображает все аккаунты ввиде древовидной структуры с группами и подгруппами.
       Для просмотра и работы с Аккаунтом нужно переключиться на вкладку "Редактирование (просмотр) Аккаунта". На этой вкладке можно генерировать пароли по различным правилам.

уже скачали 117 раз.

Дерево групп и аккаунтов

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


Рис.1 Дерево групп и аккаунтов

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


Рис.2 Меню действий с группой или аккаунтом

       Для дальнейшей информации смотрите следующие разделы:
       Добавить группу
       Добавить подгруппу
       Изменить название группы
       Редактирование (просмотр) аккаунта
       Добавить аккаунт
       Изменить название аккаунта
       Изменить имя пользователя (Login)
       Изменить URL
       Изменить комментарий

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

Добавить группу
       При выборе пункта меню "Добавить группу" в корень документа (дерева) добавляется группа с названием "Новая группа" содержащая один аккаунт с названием "Новый аккаунт".
       Название группы или аккаунта можно поменять в любой момент, для чего нужно в контекстном меню выбрать "Изменить название группы" или "Изменить название аккаунта"

Добавить подгруппу
       Для того, чтобы добавить подгруппу нужно на дереве выбрать (выделить) группу и нажать правую кнопку мыши для вызова контекстного меню. После выбора пункта меню "Добавить подгруппу" в выбранной группе будет автоматически создана новая подгруппа с названием "Новая подгруппа" и с одним аккаунтом с названием "Новый аккаунт", названия которых можно изменить в любое время выбрав из контекстного меню пункты "Изменить название группы" и "Изменить название аккаунта"

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


Рис.3 Изменение названия группу или подгруппы

       Измените название группы (подгруппы) в поле редактирования и нажмите кнопку с "галочкой" для сохранения изменений.
       Кнопка с "крестиком" отменяет сделанные изменения.

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

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


Рис.4 Изменение названия аккаунта

       Измените название аккаунта в поле редактирования и нажмите кнопку с "галочкой" для сохранения изменений.
       Кнопка с "крестиком" отменяет сделанные изменения.

Изменение Логина (пользователя)
       Для того, чтобы изменить Логин (имя пользователя) нужно на дереве выбрать (выделить) аккаунт и нажать правую кнопку мыши для вызова контекстного меню. После выбора пункта меню "Изменить Логин (пользователя)" внизу откроется поле редактирования с двумя кнопками и с именем пользователя (логина).


Рис.5 Изменение имени пользователя (логина)

       Измените имя пользователя (Логин) в поле редактирования и нажмите кнопку с "галочкой" для сохранения изменений.
       Кнопка с "крестиком" отменяет сделанные изменения.

Изменение URL
       Для того, чтобы изменить URL нужно на дереве выбрать (выделить) аккаунт и нажать правую кнопку мыши для вызова контекстного меню. После выбора пункта меню "Изменить URL" внизу откроется поле редактирования с двумя кнопками и с текстом URL.


Рис.6 Изменение URL

       Измените URL в поле редактирования и нажмите кнопку с "галочкой" для сохранения изменений. URL лучше вводить полностью, потому что при просмотре Аккаунта нажатием на URL можно вызвать браузер по умолчанию и сразу открыть указанную страницу.
       Кнопка с "крестиком" отменяет сделанные изменения.

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


Рис.7 Изменение текса комментария

       Измените текст комментария в поле редактирования и нажмите кнопку с "галочкой" для сохранения изменений.
       Кнопка с "крестиком" отменяет сделанные изменения.

Редактирование (просмотр) Аккаунта

       Редактирование и просмотр аккаунта представляет информацию об аккаунте в более удобном виде:

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

       Кликнув на это меню, попадаете на страницу с деревом аккаунтов и пункт "Изменение URL"
       Сложность пароля определяется набором символов, которые используются в пароле. Разные сайты по разному определяют допустимые символы.
       цифры - [0123456789] - это самый слабый набор символов, но некоторые сайты, например, telebank.ru (банк ВТБ-24) использует его для доступа к счету. В таких случаях нужно существенно увеличивать длину пароля.
       лат.символ - [abcdefghijkmnopqrstuvwxyz] - строчные латинские символы наиболее распространенный набор символов.
       ЛАТ.СИМВОЛЫ - [ABCDEFGHJKLMNPQRSTUVWXYZ] - Прописные латинские символы, также наиболее распространенный набор сиволов.
       Служебные - [!#$%&()*+=[\]^{}~?] - Служебные символы увеличивают общий набор символов и, кроме того, усложняют пароль создавая несуществующие и нечитаемые слова
       Если сайт позволяет, то лучше выбирать все наборы символов, что позволяет уменьшить размер пароля.
       Для изменения размера пароля, достаточно перетащить движок на нужную отметку.
       Поля "Последняя дата изменений" и "Последний пароль" - не редактируемые. Они показывают последний установленный для этого аккаунта пароль и дату, когда он был установлен.
       Новый пароль можно вписать в поле "Новый пароль" вручную, в том виде каком "бог на душу положит". Либо можно нажать на кнопку "Генерация нового пароля" и сгенерировать новый пароль по заданным правилам.

       Алгоритм генерации пароля гарантирует, что если длина пароля больше 4 символов, то в пароль попадут как минимум по одному символу из каждого указанного набора символов. Для длинных паролей (больше 8 символов) символы из выбранных наборов будут распределены равномерно, но места символов из разных наборов будут случайными.
       При любых внесенных изменениях либо самого пароля, либо правил его генерации появляется кнопка "Сохранить изменения", которая записывает внесенные изменения в файл паролей.
       Кнопка "Выход" возвращает управление на "Дерево групп и аккаунтов"

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

Последний пароль
       Последний использованный пароль. Поле не редактируемое.
       После того как будет установлен новый пароль (путем ввода или генерации) и сохранен нажатием кнопки "Сохранить изменения" он будет записан в файл паролей. При нажатии кнопки "Выход" файл паролей будет прочитан снова и новый пароль попадет в поле "Последний пароль".

Новый пароль
       Новый пароль может быть введен в это поле вручную или с использованием кнопки "Генерация пароля". При нажатии на эту кнопку генерируется пароль в соответствии с указанными правилами и записывается в поле "Новый пароль".
       Пароль сохраняется только при нажатии кнопки "Сохранить изменения"

Login (имя пользователя)
       Имя пользователя (логин) устанавливается при создании аккаунта в дереве аккаунтов. Но его можно изменить и в этом поле. При нажатии на кнопку "Сохранить изменения" оно будет сохранено.

Лицензия для использования программы

Copyright (c) 2011 Архангельский А.Г. (AZ Design Corp.)

       Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми “Программное Обеспечение”), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, публикацию, распространение, также как и лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий:
       Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения.
       Кроме содержимого в этом уведомлении, имя(имена) о вышеуказанных авторских держателях не должно быть использовано в рекламе или иным способом, чтобы увеличивать продажу, использование или другие работы в этом Программном обеспечении без предшествующего письменного разрешения.
       При размещении данного Программного обеспечения на Web-сайтах вместе с ним должна быть размещена прямая, открытая хорошо видимая гиперссылка на страницу http://www.azdesign.ru/Support/SoftWare/Delphi/AZPassGen_20.shtml


       ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ “КАК ЕСТЬ”, БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ ПРАВ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ИСКАМ О ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ ИЛИ ДРУГИХ ТРЕБОВАНИЙ ПО ДЕЙСТВУЮЩИМ КОНТРАКТАМ, ДЕЛИКТАМ ИЛИ ИНОМУ, ВОЗНИКШИМ ИЗ, ИМЕЮЩИМ ПРИЧИНОЙ ИЛИ СВЯЗАННЫМ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.

Замечания и предложения

       Если у вас есть какие-либо замечания и предложения по программе, то их можно прислать по адресу: aga@az-design.ru - Архангельскому Андрею Германовичу.
       Новости (новые версии) будут выкладываться на странице http://www.azdesign.ru/Support/SoftWare/Delphi/AZPassGen_20.shtml

уже скачали 117 раз.





Дата последнего изменения:
Thursday, 21-Aug-2014 09:11:43 MSK


Постоянный адрес статьи:
http://az-design.ru/Support/SoftWare/Delphi/AZPassGen_20.shtml