Основные понятия

В рамках семейства политик 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

В начало