Менеджер паролей: настольное приложение на Python и Tkinter с симметричным шифрованием
Аннотация
В работе рассматривается разработка настольного офлайн-менеджера паролей, реализованного на языке Python с использованием библиотеки Tkinter. Приложение предназначено для локального хранения учётных данных (сайт, логин, пароль, заметка) с использованием симметричного шифрования Fernet. Ключ шифрования не хранится на диске и каждый раз выводится из мастер-пароля пользователя с помощью функции PBKDF2HMAC, после чего существует только в оперативной памяти в течение сеанса. Хранение данных организовано на основе встроенной СУБД SQLite с поддержкой выбора файла хранилища, применения дополнительного фактора в виде PIN-кода, блокировки при множественных неудачных попытках входа и автоматической блокировки по таймауту бездействия. Для каждой записи используется отдельная соль, что позволяет реализовать пер-записное ключевание и усложняет анализ содержимого при компрометации части данных. Интерфейс включает экран выбора и создания хранилища, форму аутентификации по мастер-паролю, основное окно с формой редактирования записи, таблицей записей на базе ttk.Treeview, панелью поиска и фильтрации, а также модуль генерации паролей с оценкой их стойкости. Реализованы история паролей по каждой записи, журнал действий, а также импорт и экспорт данных в формате CSV. Показано, что связка Python + Tkinter + SQLite в сочетании с библиотекой cryptography позволяет создать удобное настольное приложение для безопасного локального управления учётными данными.
Полный текст:
PDFСсылки
- На текущий момент ссылки отсутствуют.
ISSN 2414-4487