Пример Separate Storage

Пример Separate Storage демонстрирует использование паттерна Distrustful Decomposition для решения задачи раздельного хранения данных для доверенных и недоверенных приложений.

Архитектура примера

Пример Separate Storage содержит две пользовательские сущности: UserManager и CertificateManager.

Эти сущности работают с данными, которые размещаются в соответствующих файлах:

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

secure_logger_uml

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

Политика безопасности в примере Separate Storage имеет следующие особенности:

Сборка примера

Сборка примера осуществляется с помощью системы сборки CMake, входящей в состав KasperskyOS Community Edition.

Файлы, содержащие код примера и скрипты для сборки, находятся по следующему пути:

/opt/KasperskyOS-Community-Edition-<version>/examples/separate_storage

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

/opt/KasperskyOS-Community-Edition-<version>/examples/separate_storage/cross-build.sh

В этом разделе

Файлы описаний в примере Separate Storage

Реализация сущности CertificateManager в примере Separate Storage

Реализация сущности UserManager в примере Separate Storage

Реализация сущностей VfsCertificate и VfsUser в примере Separate Storage

Общие файлы в примере Separate Storage

В начало