В рамках семейства политик ocap используются следующие понятия.
Ресурс (resource)
Ресурс – домен безопасности, внутренняя абстракция в рамках драйвера ресурсов. Ресурсом может быть, например, файл, порт или сущность. Драйвер ресурса определяет тип ресурса и то, как осуществляются операции с этим ресурсом.
Для системы безопасности и внешних сущностей ресурс воспринимается как единое целое.
Драйвер ресурсов (resource driver)
Драйвер ресурсов – сущность, которая управляет ресурсами и доступом к ним.
Например, файловая система является драйвером ресурсов, а сами файлы – ресурсами, к которым она может предоставлять доступ другим сущностям.
В семействе ocap драйвер является владельцем мандатных ссылок (capability owner) на эти ресурсы.
Клиент (client)
Клиент – приложение, использующее ресурсы. Клиент может получить доступ к ресурсу, только если является держателем мандатной ссылки на этот ресурс.
Право доступа (access right)
Право доступа – имя операции или набора операций, которые могут быть выполнены над ресурсом.
Мандатная ссылка (capability)
Мандатная ссылка – это особая форма ссылки, которая идентифицирует ресурс и определяет допустимые операции над ним.
Мандатная ссылка, как внутренний объект экземпляра семейства ocap, совмещает в себе:
Права доступа держателя хранятся внутри экземпляра семейства ocap.
Проверка прав доступа к ресурсу производится политиками безопасности check и checkR. Например, проверка может осуществляться непосредственно при обращении клиента к драйверу ресурса или инициироваться драйвером с помощью интерфейса безопасности (инструкция security).
Держатель мандатной ссылки (capability holder)
Держатель мандатной ссылки – сущность, которой выданы права доступа к ресурсу, соответствующему мандатной ссылке.
Из клиентской сущности недоступна информация о том, является ли SID ресурса мандатной ссылкой и какие права доступа на этот ресурс она имеет.
Драйвер ресурса становится держателем и владельцем мандатной ссылки при инициализации (политики init и initR). Остальные сущности становятся держателями мандатной ссылки в процессе передачи мандатной ссылки (политики transfer, transferR, derive и deriveR).
Сущность перестает быть держателем после того, как у нее отозвана мандатная ссылка (политика revoke).
Дерево отзыва мандатной ссылки (Capability Derivation Tree, CDT)
Дерево отзыва мандатной ссылки (далее также "CDT") – иерархическая структура держателей мандатной ссылки. В узлах дерева находятся держатели мандатной ссылки, а ветви соответствуют возможности отзыва мандатной ссылки у держателей мандатной ссылки. В корне дерева находится драйвер ресурсов – сущность, которая инициализировала мандатную ссылку.
Пример
Драйвер ресурсов Dave инициализировал мандатную ссылку на ресурс и передал ее сущности Bob (derive). В свою очередь, сущность Bob передала эту мандатную ссылку сущности Carol (transfer).
Тогда CDT будет выглядеть так:
Dave // driver
|
+--+--+
| |
Bob Carol
В начало