Пример Device Access

21 мая 2024

ID device_access_example

Пример Device Access демонстрирует использование паттерна Privilege Separation.

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

Пример содержит три программы: Device, LoginManager и Storage.

В этом примере программа Device обращается к программе Storage для получения информации и к программе LoginManager для авторизации.

Программа Device получает доступ к программе Storage только после успешной авторизации.

secure_logger_uml

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

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

  • Программа Device имеет возможность обращаться к программе LoginManager для авторизации.
  • Вызовами метода GetInfo() программы Storage управляют методы модели безопасности Flow:
    • Конечный автомат, описанный в конфигурации объекта session, имеет два состояния: unauthenticated и authenticated.
    • Исходное состояние – unauthenticated.
    • Разрешены переходы из unauthenticated в authenticated и обратно.
    • Объект session создается при запуске программы Device.
    • При успешном вызове программой Device метода Login() программы LoginManager состояние объекта session изменяется на authenticated.
    • При успешном вызове программой Device метода Logout() программы LoginManager состояние объекта session изменяется на unauthenticated.
    • При вызове программой Device метода GetInfo() программы Storage проверяется текущее состояние объекта session. Вызов разрешается, только если текущее состояние объекта – authenticated.

Файлы примера

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

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

Сборка и запуск примера

См. "Сборка и запуск примеров".

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!