Научная статья на тему 'РАЗРАБОТКА МОБИЛЬНОГО ПРИЛОЖЕНИЯ ДЛЯ ХРАНЕНИЯ ДАННЫХ В ЗАШИФРОВАННОМ ВИДЕ'

РАЗРАБОТКА МОБИЛЬНОГО ПРИЛОЖЕНИЯ ДЛЯ ХРАНЕНИЯ ДАННЫХ В ЗАШИФРОВАННОМ ВИДЕ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
0
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
мобильное приложение / Андроид / безопасность данных / шифрование / криптография / хранение информации / защита конфиденциальности / mobile application / Android / data security / encryption / cryptography / information storage / privacy protection

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Дворяшин В. В.

В работе разработано мобильное приложение для операционной системы Android, предназначенное для безопасного хранения конфиденциальной информации в зашифрованном виде. Описаны основные этапы проектирования и реализации приложения, включая использование инструментов Android Studio, NDK и Firebase. Представлена архитектура приложения. Для обеспечения защиты информации применены криптографические алгоритмы AES и DES, а взаимодействие между нативным и Java-кодом реализовано с использованием JNI.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DEVELOPMENT OF A MOBILE APPLICATION FOR STORING ENCRYPTED DATA

The paper develops a mobile application for the Android operating system, designed for secure storage of confidential information in encrypted form. The main stages of designing and implementing the application are described, including the use of Android Studio, NDK and Firebase tools. The application architecture is presented. To ensure information security, AES and DES cryptographic algorithms are used, and the interaction between native and Java code is implemented using JNI.

Текст научной работы на тему «РАЗРАБОТКА МОБИЛЬНОГО ПРИЛОЖЕНИЯ ДЛЯ ХРАНЕНИЯ ДАННЫХ В ЗАШИФРОВАННОМ ВИДЕ»

УДК 004.056.5

Дворяшин В.В.

студент кафедры кибербезопасности информационных систем Воронежский государственный университет (г. Воронеж, Россия)

РАЗРАБОТКА МОБИЛЬНОГО ПРИЛОЖЕНИЯ ДЛЯ ХРАНЕНИЯ ДАННЫХ В ЗАШИФРОВАННОМ ВИДЕ

Аннотация: в работе разработано мобильное приложение для операционной системы Android, предназначенное для безопасного хранения конфиденциальной информации в зашифрованном виде. Описаны основные этапы проектирования и реализации приложения, включая использование инструментов Android Studio, NDK и Firebase. Представлена архитектура приложения. Для обеспечения защиты информации применены криптографические алгоритмы AES и DES, а взаимодействие между нативным и Java-кодом реализовано с использованием JNI.

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

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

Операционная система Android, благодаря своей открытой архитектуре и доступности исходного кода, предоставляет разработчикам простой и эффективный инструментарий для создания мобильных приложений. Это

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

Android является оптимальным решением для компаний, так как приложения разрабатываются на языке программирования Java с использованием обширного набора библиотек. Это позволяет привлекать к разработке специалистов по Java, которые широко представлены на рынке труда. Механизмы распространения приложений на платформе Android разнообразны: от официального магазина приложений (Google Play) до персональных каналов дистрибуции, что обеспечивает гибкость в выборе стратегии продвижения.

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

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

Структура приложения содержит следующий вид:

1. Экран авторизации/регистрации:

Вход по PIN-коду.

2. Главный экран:

Список зашифрованных документов,

Кнопки для добавления и удаления данных,

Кнопка профиля.

3. Экран добавления:

Поля для ввода текста, файлов или других типов данных,

Кнопка сохранения с шифрованием,

4. Настройки профиля:

Смена PIN-кода или пароля.

Разработанное приложение для операционной системы Android предназначено для безопасного хранения данных в зашифрованном виде с использованием современных технологий и инструментов, обеспечивающих высокую производительность и защиту информации. В качестве основной среды разработки выбрана Android Studio, предоставляющая полный набор инструментов для создания приложений на платформе Android. Для реализации нативных функций, таких как криптографические операции, был задействован NDK (Native Development Kit), позволяющий разрабатывать высокопроизводительный код на языках C/C++. Это особенно актуально для задач, требующих низкоуровневого управления памятью и оптимизации производительности, где стандартные средства Java могут быть ограничены.

Сборка нативного кода осуществляется с использованием системы CMake, интегрированной в проект через конфигурационный файл CMakeLists.txt. Взаимодействие между Java-кодом и нативными модулями реализовано посредством JNI (Java Native Interface), что позволяет вызывать функции, написанные на C/C++, из Java-кода. В частности, для выполнения операций шифрования и дешифрования данных был разработан нативный метод Crypt_AES, основанный на алгоритме AES (Advanced Encryption Standard). Данный метод интегрирован в Java-код через загрузку нативной библиотеки с использованием System.loadLibrary().

Для хранения зашифрованных паролей применяется облачная база данных Firebase Realtime Database, обеспечивающая надежное и безопасное хранение данных. Шифрование паролей выполняется с использованием алгоритма DES (Data Encryption Standard), реализованного в классе Crypt. Интерфейс для ввода пароля разработан с использованием библиотеки

PasscodeView, которая предоставляет удобный и безопасный механизм аутентификации пользователя.

Локальное хранение зашифрованных и расшифрованных файлов организовано в специализированных директориях encrypt и decrypt. Операции с файлами в этих директориях выполняются с использованием нативного кода, который осуществляет чтение данных, их шифрование или дешифрование с помощью методов Cipher и InvCipher, после чего сохраняет результат в соответствующую папку.

Для однократного получения данных из Firebase Realtime Database используется метод addListenerForSingleValueEvent, что минимизирует количество запросов к базе данных и повышает эффективность работы приложения. Данный подход особенно актуален, так как приложение ориентировано на одного пользователя, и постоянная синхронизация данных не требуется.

Сборка проекта осуществляется с помощью системы Gradle, которая компилирует нативный код в библиотеку и интегрирует её в APK-файл, обеспечивая корректную работу приложения на устройствах с ОС Android.

Дополнительно в приложении реализованы функции смены пароля и обновления интерфейса (Activity) для отображения изменений в директории encrypt, что повышает удобство и функциональность приложения для конечного пользователя.

Таким образом, приложение сочетает в себе современные технологии, такие как Android Studio, NDK, CMake, Firebase, AES, DES, и инструменты, включая JNI, PasscodeView и Gradle, что позволяет обеспечить высокий уровень безопасности, производительности и удобства использования.

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

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

2:55 | 0,0 КБ/ctS »

.■it ill ^ (Г© 90ч

Удалить

: ®

Dokl. bet. secure

Dok2.txt.secure

Dok3.txt. secure

Рисунок 1. Главный экран приложения.

СПИСОК ЛИТЕРАТУРЫ:

1. Как обеспечить безопасность данных в мобильных приложениях | Методы защиты данных от UserX // https://ru.userx.pro/blog/tpost/uk0948bve1-kak-obespechit-bezopasnost-dannih-v-mobi;

2. Мобильная разработка андроид приложений - чем выгодно создание приложений для Android? // https://7winds.mobi/chem-vygodna-razrabotka-prilozhenij -dlya-android;

3. Как работает аппаратное шифрование твердотельных накопителей? Сравнение программного и аппаратного шифрования // https://w.kingston.com/ru/blog/data-security/how-ssd-encryption-works;

4. Гид по безопасности мобильных приложений: от уязвимостей до решений // https://mobileup.ru/blog/bezopasnost-mobilnyh-prilozhenij

Dvoryashin V.V.

Voronezh State University (Voronezh, Russia)

DEVELOPMENT OF A MOBILE APPLICATION FOR STORING ENCRYPTED DATA

Abstract: the paper develops a mobile application for the Android operating system, designed for secure storage of confidential information in encrypted form. The main stages of designing and implementing the application are described, including the use of Android Studio, NDK and Firebase tools. The application architecture is presented. To ensure information security, AES and DES cryptographic algorithms are used, and the interaction between native and Java code is implemented using JNI.

Keywords: mobile application, Android, data security, encryption, cryptography, information storage, privacy protection.

i Надоели баннеры? Вы всегда можете отключить рекламу.