Программное обеспечение для администрирования учетных данных пользователей

Объектно-ориентированный подход как ключевой аспект в реализации модульной архитектуры. Знакомство с основными особенностями разработки программного обеспечения для администрирования учетных данных. Сущность понятия "информационная безопасность".

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 14.02.2022
Размер файла 1,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Программное обеспечение для администрирования учетных данных пользователей

А.С. Самсонкин, Д.В. Такташкин, Е.А. Дзюба 1 2' 3 Пензенский государственный университет, Пенза, Россия

Аннотация

Рассматривается разработка программного обеспечения для администрирования учетных данных. Учетные данные являются очень важной информацией. Утечка может привести к серьезным последствиям. Чтобы обезопасить свои интернет-ресурсы, необходимо использовать разные пароли. Для помощи в решении этой задачи и нужно подобное программное обеспечение (ПО).

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

Чтобы пользоваться интернет-ресурсами, обычно необходимо ввести пару логин-пароль. Обычно в разных приложениях используется одна и та же пара. В таком случае, если на одном ресурсе произойдет утечка, то под угрозой будут и все остальные. Пострадавший пользователь, скорее всего, об этом не узнает, а, если узнает, ему предстоит изменить пароли на всех сайтах и во всех приложениях. Именно поэтому важно использовать разные пароли. Правда, в таком случае их количество может доходить до нескольких сотен. Запоминать такое наизусть практически невозможно, на листочке писать неудобно. Хранение паролей в текстовом файле очень не безопасно.

Поэтому необходимо специализированное ПО. Бесплатные аналоги довольно сложно найти, и они уступают платным конкурентам [1].

Рассмотрим популярные решения. Они разделяются на премиум, бесплатные и открытые.

Из премиум-программ рассмотрим Dashlane и LastPass. Dashlane является платным решением [2]. LastPass за оплату предлагает ряд дополнительных функций [3]. Их преимущество состоит в том, что они работают на всех основных платформах, присутствует синхронизация между устройствами и другие возможности, которые доступны при платной подписке [2, 3]. Не каждый пользователь в состоянии оплачивать подписку ежемесячно.

Google Password Manager и Apple Keychain являются бесплатными закрытыми решениями с отличным качеством. Они, как и премиум-аналоги, имеют синхронизацию. Их главным недостатком является то, что они работают исключительно в рамках своей экосистемы (Google только в Android и Chrome, Apple Keychain только в macOS и iOS) [4].

Keychain является открытым аналогом. Он работает на всех основных платформах, полностью бесплатный, не привязан к экосистеме, а также имеет открытый исходный © Самсонкин А. С., Такташкин Д. В., Дзюба Е. А., 2021 код. Принципиальный отказ от синхронизации, с одной стороны, повышает безопасность, с другой - крайне неудобен для рядового пользователя (особенно на устройствах Apple) [5].

Любой менеджер паролей должен сохранять, обновлять и удалять учетные данные, а также шифровать хранилище с использованием мастер-пароля [6].

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

Рис. 1. Диаграмма вариантов использования

Для разработки приложения были использованы следующие технологии:

- объектно-ориентированный подход;

- object-relational mapping (ORM);

- кроссплатформенная разработка.

Объектно-ориентированный подход является ключевым аспектом в реализации модульной архитектуры, ORM необходим для простого и безопасного доступа к базе данных [7]. Кроссплатформенная разработка хорошо решает задачу удешевления и ускорения процесса разработки [8].

Исходя из этого, был использован следующий стек технологий:

- Kotlin MPP;

- Flutter;

- SQLite;

- SQLDelight;

- Git.

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

Так как Kotlin MPP не поддерживает создание кроссплатформенных интерфейсов, то для их разработки был использован Flutter.

В качестве локальной системы управления базой данных (СУБД) использовался SQLite. В качестве ORM выбран фреймворк, специально разработанный для SQLite и Kotlin - SQLDelight.

Таким образом программа реализована на языках Kotlin и Dart. Макеты интерфейса проектировались с помощью Figma. В качестве системы контроля версий был использован Git.

На рис. 2 представлена диаграмма классов [9]. Все классы сгруппированы по модулям. Для разных платформ могут создаваться и использоваться разные модули. Также можно использовать другие реализации модулей, например, вместо AES другой алгоритм шифрования.

Для ПО были разработаны четыре окна интерфейса:

1) окно входа;

2) список учетных данных;

3) окно настройки учетной записи;

4) окно настройки приложения.

На рис. 3 показаны модули, из которых состоит ядро разработанной программы [9]. Для разных платформ могут использоваться разные модули, например, для мобильных платформ и для браузера используются разные реализации хранилищ (з1:ога§е.тоЫ1е и з1:ога§е.Ьго'№8ег соответственно). Остальные модули являются кроссплатформенными.

Рис. 3. Диаграмма компонентов

программный обеспечение информационный безопасность

Благодаря выбору такой архитектуры и стека технологий описываемая программа имеет следующие качества:

- кроссплатформенность по умолчанию;

- компактность и простоту кодовой базы;

- гибкость внесения изменений;

- простой и надежный способ обращения к базам данных.

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

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

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

ORM облегчает работу с СУБД и предоставляет безопасное по типам обращение [7].

Так как ядро рассматриваемой программы является библиотекой и не имеет пользовательского интерфейса, единственным вариантом тестирования такого решения остаются Unit-тесты [10]. Они проводились на всех модулях и целевых платформах. Разработанные тесты были пройдены успешно.

Подавляющее большинство программного обеспечения для администрирования учетных записей предоставляет возможность синхронизации. На данный момент в текущей реализации разработанной программы данной функции нет, но она предусматривается [6].

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

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

Список литературы

1. Как создать надежный пароль и защитить аккаунт. URL: https://support.google.com (дата обращения: 20.04.2021).

2. How it works - Dashlane. URL: https://www.dashlane.com (дата обращения: 20.04.2021).

3. How it works - LastPass. URL: https://www.lastpass.com (дата обращения: 20.04.2021).

4. Mac OS X Security. URL: https://web.archive.org (дата обращения: 20.04.2021).

5. KeePass features. URL: https://keepass.info (дата обращения: 20.04.2021).

6. Как выбрать менеджер паролей? URL: https://blog.avast.com (дата обращения: 20.04.2021).

7. Введение в ORM. URL: http://internetka.in.ua (дата обращения: 20.04.2021).

8. Самсонкин А. С., Такташкин Д. В. Обзор и сравнительный анализ кроссплатформенных средств разработки // Информационные технологии в науке и образовании. Проблемы и перспек¬тивы : сб. тр. VIII Ежегодной Всерос. межвуз. науч.-практ. конф. Пенза : Изд-во ПГУ, 2021. URL: elibrary.ru

9. UML Web Site. URL: https://www.uml.org (дата обращения: 20.04.2021).

10. Unit test - definition. URL: https://www.artofunittesting.com (дата обращения: 20.04.2021).

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.