Иногда после осуществления процедуры установления подлинности могут быть проверены полномочия запросов, вводимых данным пользователем, терминалом или другим ресурсом.
Если дается разрешение на выполнение затребованного действия, то говорят, что объект, осуществляющий запрос, имеет полномочия по отношению к данному элементу данных. Элементом данных может быть файл, запись, поле, отношение или некоторая другая структура. Будет ли дано разрешение на доступ, зависит от нескольких факторов: прав пользователя на доступ, прав терминала на доступ, требуемого действия, самого элемента данных, значения элемента данных и ряда других.
Система обеспечения безопасности компьютерной системы поддерживает профили полномочий каждого пользователя, терминала, процедуры или другого ресурса, который осуществляет доступ к элементам данных. Эти профили устанавливаются в системе с помощью специальной привилегированной программы и их можно представить в виде матрицы установления полномочий.
Матрица установления полномочий
Матрица установления полномочий представляет собой двумерную таблицу, каждый элемент Aij определяет права i-го рексурса по отношению к j-му ресурсу. Пример матрицы установления полномочий приведен в следующей таблице.
Таблица 4.1
Пример матрицы установления полномочий
Элемент данных
Терминал
ФИО
Адрес
Рег. номер
Квалификация
Оклад
Личное транспортное средство
Отдел кадров
Касса
Отдел снабжения
Исследовательский отдел
Стоянка автомобилей
Здесь “01” означает право читать элемент данных; “10” – записывать; “11” – читать и записывать; “00” – доступ запрещен.
Элементы матрицы установления полномочий обычно содержат биты, соответствующие действиям, которые могут быть выполнены с терминала при обращении к элементу данных. Однако, если это требуется, элементы матрицы могут содержать указатели на процедуры. Эти процедуры исполняются при каждой попытке доступа с данного терминала к заданному элементу данных и могут принимать те решения о доступе, которые зависят от информации, представленной не столь очевидно, как в простой матице доступа, приведенной выше. Приведем следующие примеры.
1. Разрешение о доступе основывается на истории доступов других ресурсов. Пользователь А может записывать данные в файл F только в том случае, если он не читал файл G.
2. Решение о доступе основывается на динамическом состоянии системы. Пользователь В может открыть файл H только в то время, когда база данных, в которой размещен файл, открыта.
3. Решение о доступе принимается на основе предписанного использования ресурса.
4. Решение о доступе основывается на текущем значении ресурса.
5. Решение о доступе основывается на значении определенных системных переменных (например, времени дня или даты).
Матрица установления полномочий является в действительности “сердцем” системы обеспечения безопасности. За счет включения большего или меньшего количества информации в матрицу можно варьировать сложность контрольных проверок.
Обычно матрица установления полномочий хранится как отдельный зашифрованный файл и его строки помещаются в оперативную память только в случае необходимости. В качестве строк матрицы установления полномочий могут фигурировать пользователи или группы пользователей, а также программы или подсистемы. Колонками могут быть типы запросов.
Уровни полномочий
То, что было описано выше, представляет собой процедуру установления полномочий, основанную на категориях ресурсов: пользователей, терминалов, операций и элементов данных. Но установление полномочий может также основываться на уровнях полномочий, связанных с этими ресурсами. Запросы на доступ отвергаются во всех случаях, когда уровень полномочий терминала или пользователя, запрашивающего разрешение на доступ, ниже уровня полномочий операции и/или запрашиваемых данных.
Можно комбинировать подходы по уровню полномочий и по категориям. Например, пусть существуют три уровня с последовательно возрастающими полномочиями: “конфиденциально”, “секретно” и “совершенно секретно”. Допустим также, что существуют 16 различных по категориям групп данных: С1, С2, …С16. Если правом пользователя является полномочие “совершенно секретно” и разрешен доступ к группам ресурсов С1, С3, С4, С7, С13, С14, а права используемого терминала является полномочие “секретно” и группы С11, С14, то пользователю с данного терминала будет разрешен доступ только к данным с грифом “конфиденциально” и “секретно” в группе С14. Если правом терминала является “секретно” м разрешен доступ к группам С11 и С15, а пользователь имеет описанные выше полномочия, то пользователь с этого терминала не будет иметь доступа ни к какой из 16 групп, так как пересечение прав пользователя и терминала является пустым.
Аналогично могут быть скомбинированы права прикладной программы и пользователя.
При необходимости управление доступом может быть осуществлено вне уровня файлов, т.е. на уровне каталогов. С помощью каталогов могут быть установлены иерархии последовательно более ограниченных доступов.