Программное обеспечение для администрирования учетных данных пользователей
Объектно-ориентированный подход как ключевой аспект в реализации модульной архитектуры. Знакомство с основными особенностями разработки программного обеспечения для администрирования учетных данных. Сущность понятия "информационная безопасность".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 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
...Подобные документы
Обоснование необходимости систем управления базами данных на предприятиях. Особенности разработки программного обеспечения по управлению базой данных, обеспечивающего просмотр, редактирование, вставку записей базы данных, формирование запросов и отчетов.
курсовая работа [1,5 M], добавлен 23.01.2010Техническое задание для разработки программного обеспечения "Больница". Обоснования для проведения разработки. Цель, назначение подсистемы. Требования ко всем видам обеспечения программы. Общесистемное программное обеспечение. Применение языка Delphi 6.0.
курсовая работа [832,9 K], добавлен 18.01.2010Предварительная настройка и организация учетной записи пользователя. Правила для отображаемых имен. Политики паролей и учетных записей. Принудительные ограничения входа пользователей. Настройка политик блокировки учетных записей и ее пороговое значение.
реферат [147,3 K], добавлен 06.04.2010Сетевая система контроля знаний студентов на основе объектно-ориентированного подхода. Выбор программно-технических средств для реализации проекта. Алгоритмическое и программное обеспечение, интерфейс пользователя. Разработка элементов базы данных.
дипломная работа [1,3 M], добавлен 04.02.2013Информационная безопасность для системы "Составление расписания". Обеспечения защиты данных в системе, разрабатываемой для учебной части и методы практической реализации обеспечения безопасности этих данных. Обеспечение защиты от потери информации.
курсовая работа [203,3 K], добавлен 30.11.2008Задачи администрирования автоматизированных систем. Характеристика автоматизированной системы "Следственный комитет". Проблемы администрирования подсистемы Public Relation. Варианты зеркалирования данных. Обеспечение защиты сервера и журнал регистрации.
курсовая работа [2,3 M], добавлен 27.10.2012Проектирование схемы реляционной базы данных торговой компании. Создание диаграмм последовательности (Sequence Diagram) и кооперативных диаграмм (Collaboration diagram). Автоматическая генерация кода нескольких компонентов средствами Rational Rose.
курсовая работа [2,0 M], добавлен 26.06.2015Особенности создания учетных записей на файловом сервере. Разработка функциональной модели базы данных. Отчет по дугам модели. Сущность, атрибуты и связи информационной модели. Разработка базы данных в системе управления базами данных MS Access.
контрольная работа [2,3 M], добавлен 23.01.2014Понятие администрирования баз данных, функции и роли администраторов. Управление целостностью данных в системах управления базами данных, буферизация, транзакция, журнализация. Управление безопасностью в системах, источники нарушения целостности данных.
курсовая работа [164,7 K], добавлен 15.07.2012Порядок разработки автоматизированной системы обработки данных, состоящей из базы данных, программного приложения, разработанного для нее в СУБД Access и связанного с САПР AutoCAD. Получение и просмотр отчетов и графических материалов по программе.
курсовая работа [1,9 M], добавлен 03.07.2012Оптимизация запросов. Технические аспекты администрирования базы данных. Нераспределенные мультибазовые СУБД. Фрагментация и репликация, шифрование баз данных. Управление каталогом. Распределенная обработка запросов. Разновидность систем клиент-сервер.
курсовая работа [55,9 K], добавлен 21.06.2016Сущность и значение средств управления базами данных предприятия. Методика разработки базы данных и прикладного программного обеспечения автобусного парка, позволяющее структурировать информацию об автобусных маршрутах, остановках и автобусах парка.
курсовая работа [163,4 K], добавлен 20.01.2010Сущность понятия "программное обеспечение". Типы прикладных программ. Современные системы программирования для персональных компьютеров. Уровни программного обеспечения: базовый, системный, служебный. Классификация служебных программных средств.
реферат [20,2 K], добавлен 01.04.2010Основные этапы разработки программного обеспечения (пакета программ), анализ требований к системе. Метод пошаговой детализации. Языки программирования низкого уровня и высокого уровня (императивные, объектно-ориентированные, функциональные, логические).
презентация [41,4 K], добавлен 13.10.2013Аннуитетная схема погашения кредита. Клиент-серверные сообщения, их обработка. Хранение данных, структура базы. Алгоритм формирования цен и курса валют. Визуализация данных на стороне клиента. Результат обработки стратегии. Система администрирования.
дипломная работа [745,8 K], добавлен 08.12.2013Порядок автоматизации расчетов себестоимости и длительности программного обеспечения производственного предприятия. Выбор языка программирования и системы управления базами данных. Разработка алгоритмов расчета себестоимости программного обеспечения.
дипломная работа [1,7 M], добавлен 13.06.2017Сущность понятия "тип данных". Объектно-ориентированный стиль программирования. Простые типы данных в языке Паскаль: порядковые, вещественные, дата-время. Булевский (логический) тип. Синтаксис определения ограниченного типа. Регулярные типы (массивы).
реферат [24,1 K], добавлен 01.12.2009Разработка прикладного программного обеспечения деятельности отдела кадров университета в среде Microsoft Access 2003. Характеристика этапов проектирования базы данных. Построение семантической модели. Нормализация данных, понятие нормальной формы.
курсовая работа [4,4 M], добавлен 14.11.2012Выбор средств разработки. Написание сценариев PHP. Разработка базы данных MySQL. Описания организации иерархической многопользовательской модульной структуры сайта с возможностью управления содержанием. Создание средств для удаленного администрирования.
практическая работа [4,8 M], добавлен 12.06.2013Изучение существующих методов и программного обеспечения для извлечения числовых данных из графической информации. Программное обеспечение "graphtrace", его структура и методы обработки данных. Использование этой системы для данных различного типа.
дипломная работа [3,9 M], добавлен 06.03.2013