Реферат: Обеспечение системы документооборота
При использовании матричной модели доступа условия доступа каждого субъекта s к каждому объекту o определяются содержимым элемента матрицы доступа или матрицы установления полномочий M. Каждый элемент Mij матрицы доступа M определяет права доступа i-го субъекта к j-му объекту (читать, писать, выполнять, нельзя использовать и т.п.). Пример матрицы доступа приведен на рисунке 2.3. Элементы в матрице доступа имеют следующие значения: r - чтение, w - запись, е - выполнение, 0 - нельзя использовать.
o1 |
o2 |
… |
on |
|
s1 |
r | w | w | |
s2 |
rw | rw | 0 | |
… | ||||
sn |
e | rwe | we |
Рисунок 2.3. Пример матрицы доступа.
Элементы матрицы доступа могут содержать указатели на специальные процедуры, которые должны выполняться при обращении субъекта к объекту. Решение о доступе в этом случае осуществляется на основании результатов выполнения процедур, например:
· решение о доступе в данный момент времени основывается на анализе предыдущих доступов к другим объектам;
· решение о доступе основывается на динамике состояния системы (права доступа субъекта зависят от текущих прав доступа других субъектов);
· решение о доступе основывается на значении определенных переменных, например, на значении таймера.
Необходимо отметить, что строка M[s,*] содержит список разрешенных операций субъекта s по отношению ко всем объектам (список возможностей), а столбец M[*,o] - определяет, какие субъекты имеют права доступа к объекту o и какие именно права доступа (список доступа).
Размерность матрицы доступа зависит от количества субъектов и объектов в системе и может быть достаточно большой. Для уменьшения размерности матрицы доступа могут применяться различные методы:
· установление групп субъектов, называемых кликами, каждая из которых представляет собой группу субъектов с одинаковыми правами;
· установление групп терминалов по классам полномочий (клики терминалов);
· группировка объектов по уровням категорий (например, по уровням секретности);
· хранение списка пар вида (o, f), где о - защищаемый объект, а f - разрешение на использование его субъектом.
Перечисленные методы и другие, им подобные, могут применяться как по отдельности, так и в совокупности.
В процессе функционирования системы множества субъектов и объектов могут динамически изменяться. Такие изменения могут происходить, например, в результате появления новых субъектов и объектов, уничтожения субъектов и объектов и изменения прав доступа субъектов к объектам. Соответственно, в процессе функционирования системы должна изменяться и матрица доступа. Динамика изменения множеств субъектов и объектов, а также матрицы доступа при выполнении некоторых операций представлена в таблице 2.2.
В таблице 2.2: S – множество субъектов; O – множество объектов, причем S принадлежит O; M[s,o] – матрица доступа. Элементами матрицы M являются права доступа g, принадлежащие G. Изменившиеся множества помечены штрихом.
Таким образом, при создании субъекта s' этот субъект вводится в состав элементов множеств S и О. В матрице доступа появляется новая строка, соответствующая новому субъекту: М'[s,о] = M[s,о]. M'[s',о] = 0; M'[s',s] = 0, так как субъект создан, но его права по отношению к существующим субъектам и объектам не определены. Матрицы доступа в той или иной степени используются во многих защищенных системах.
Таблица 2.2.
Исходное состояние | Операция | Результирующее состояние |
S, O, M s' O |
Создание субъекта s' |
S'= S
{s'}, O' = O {s'} |
S, O, M o' O |
Создание объекта o' |
S'=S, O' = O {o'} |
S, O, M s' S |
Уничтожение субъекта s' |
S'= S
{s'}, O'= O {s'} |
S, O, M o' O o' S |
Уничтожение объекта o' |
S' = S, O' = O {o'} |
S, O, M s S o O |
Введение права g в М[s,o] |
S'=S, O' = O |
S, O, M s S o O |
Удаление права g из М[s,o] |
S'=S, O' = O |
Расширением матричной модели доступа является многоуровневая модель доступа. Объекты в многоуровневой модели имеют различные уровни доступа (например, уровни секретности), а субъекты – степени допуска. Разрешение допуска субъекта к объекту является функцией от степени допуска конкретного субъекта и уровня допуска конкретного объекта. Многоуровневая модель доступа создана на основе теории алгебраических решеток. Данные могут передаваться между субъектами, если выполняются следующие правила (здесь буквами а, b и с обозначим идентификаторы субъектов, а буквами х, у и z, соответственно, их уровни доступа).
Данные могут передаваться субъектом самому себе:
x <= x (2.1. а)
Данные могут передаваться от субъекта а к субъекту с, если они могут передаваться от субъекта a к субъекту b и от субъекта bк субъекту с:
если x <= у и y <= z, то x <= z (2.1. б)
Если х <= у и у <= х, то x = y (2.1. с)
Отметим, что рассмотренные правила представляют, соответственно, свойства рефлективности, транзитивности и антисимметричности.
Примером использования многоуровневой модели доступа является система контроля доступа, принятая в военном ведомстве США (рисунок 2.4). Уровнями доступа выступают уровни секретности: НЕСЕКРЕТНО, КОНФИДЕНЦИАЛЬНО, СЕКРЕТНО, СОВЕРШЕННО СЕКРЕТНО. Внутри отдельных уровней секретности для выделения разделов данных, требующих специального разрешения на доступ к ним, определены категории: АТОМНЫЙ, НАТО и ДРУГИЕ. Для получения доступа к данным определенной категории субъект должен иметь не только доступ к данным соответствующего уровня (по секретности), но и разрешение на доступ по категории. Например, субъект, имеющий доступ к данным с уровнем СОВЕРШЕННО СЕКРЕТНО и категории НАТО, не может получить доступ к данным с категориями АТОМНЫЙ и ДРУГИЕ уровня СОВЕРШЕННО СЕКРЕТНО.
2.2. Обоснование проектных решений
2.2.1. Математическая модель мандатного управления доступом
Рассмотрим модель доступа используемую в данном ДП, схема которой приведена на рисунке 2.5. Она состоит из следующих элементов:
· множества субъектов S;
· множества объектов О;
· множества уровней защиты L;
· множества прав доступа G;
· списка текущего доступа b;
· списка запросов Z.
Каждому субъекту s S сопоставляются два уровня защиты: базовый Is(Si) L, задаваемый в начале работы и остающийся неизменным, и текущий It(Si) L, зависящий от уровней защиты тех объектов, к которым субъект Si имеет доступ в настоящий момент времени.
Множество объектов О наделяется структурой дерева таким образом, что каждому объекту Oj соответствует список объектов, непосредственно следующих за ним (объектов-сыновей) и, если Oj отличен от корня дерева, то существует единственный объект O(j),непосредственно предшествующий ему (отец объекта Oj). Каждому объекту Oj приписывается уровень защиты I(Oj) L.
Множество L, является конечным частично упорядоченным множеством, обладавшим свойством алгебраической решетки. Возможно представление каждого уровня защиты Lr L, в виде вектора из двух компонент: классификации и множества категорий. Будем говорить, что уровень защиты I1 больше уровня защиты I2, если классификация I1 больше или равна классификации I2, и множество категорий I1 содержит множество категорий I2 ( в формализованном виде: I1 I2).
Множество прав доступа G имеет вид:
G = {r, а, w, e}, (2.2)
где r – чтение объектом субъекта (получение субъектом данных, содержащихся в объекте ) ;
а – модификация данных объекта субъектом без их предварительного прочтения;
w – запись-модификация данных объекта после их предварительного прочтения субъектом;
е – исполнение субъектом объекта (действие, не связанное ни с чтением, ни с модификацией данных).
Расширения модели допускают использование права С-управления, при котором субъект Si может передать права доступа, которыми он владеет по отношению к объекту Oj, другому субъекту Sk.
При описании модели будем рассматривать следующую схему управления передачей прав доступа: передача прав доступа к объекту Oj субъектом Si субъекту Sk связана с наличием у субъекта Si права w к "отцу" объекта Oj. Матрица доступа M = ||Mij|| не содержит пустых столбцов. Однако, наличие элемента Mij 0 является необходимым, но недостаточным условием разрешения доступа. Список текущего доступа b содержит записи вида (Si, Oj, X), если субъекту Si разрешен доступ x G к объекту Oj и это разрешение к настоящему моменту времени не отменено. Разрешение доступа действительно до тех пор, пока субъект не обратился с запросом на отказ от доступа к монитору. Список запросов Z описывает возможности доступа субъекта к объекту, передачи прав доступа другим субъектам, создания или уничтожения объекта. В настоящей модели рассматриваются 11 следующих запросов:
1) запрос на чтение (r) объекта;
2) запрос на запись (w) в объект;
3) запрос на модификацию (a) объекта;
4) запрос на исполнение (е) объекта;
5) запрос на отказ от доступа;
6) запрос на передачу доступа к другому объекту ;
7) запрос на лишение права доступа другого субъекта;
8) запрос на создание объекта без сохранения согласованности;
9) запрос на создание объекта с сохранением согласованности;
10) запрос на уничтожение объекта;
11) запрос на изменение своего текущего уровня защиты.
Можно сформулировать два условия защиты для модели:
1) простое условие защиты;
2) * - условие.
Простое условие защиты предложено для исключения прямой утечки секретных данных и состоит в следующем. Если субъекту Sj запрещен доступ:
а) по чтению r объекта Oj, тогда Is(Si) I(Oj);
б) по записи w в объект Oj, тогда Is(Si) I(Oj).
Простое условие защиты накладывает ограничения на базовые уровни защищенных объектов.
*-условие защиты (*-свойство) предназначено для предотвращения косвенной утечки данных. Это условие накладывает ограничения на уровни защиты тех объектов, к которым субъект может иметь доступ одновременно. Если субъект S имеет доступ X1 к объекту O1 и доступ X2 к объекту O2, то, в зависимости от вида доступа, должны выполняться соотношения между уровнями защиты, приведенные в таблице 2.3.
Таблица 2.3
Доступ к О1 |
Доступ к О2 |
Соотношение |
Чтение - r | Дополнение - а |
I(S1) I(O2) |
Чтение - r | Запись - w |
I(S1) I(O2) |
Запись - w | Дополнение - а |
I(S1) I(O2) |
Запись - w | Запись - w |
I(S1) I(O2) |
Введение *-условия предназначено для предотвращения потока данных вида "чтение объекта для переписи данных в объект с меньшим либо несравнимым уровнем защиты" (напомним, что доступ w предполагает предварительное чтение).
Состояние системы считается безопасным, если соотношения между уровнями защиты объектов и субъектов удовлетворяют как простому условию защиты, так и *-условию.
Система защиты должна обеспечивать безопасность данных, если она не допускает перехода из безопасного состояния в состояние, не являвшееся безопасным.
Для обеспечения безопасности данных необходимо и достаточно, чтобы изменение состояний системы приводило только к безопасным состояниям, если исходное состояние было безопасным.
В рассматриваемой модели описываются правила разрешения каждого из 11 возможных запросов. Эти правила используют понятие текущего уровня защиты субъекта, которое определяется следующим образом.
Пусть Or, Ow, Oa – множества тех объектов, к которым субъект S имеет доступ r, w и а соответственно. Если Ow 0, то
It(s) = max I(Oj) = min I(Oj) (2.3)
(Oj Ow) (Oj Ow)
Если Ow = 0, то It(s) может иметь уровень защиты в пределах:
max I(Oj) It (s) min I(Oj) (2.4)
(Oj Or) (Oj Oa)
В случае, если нижняя граница в этом неравенстве берется по пустому множеству, она полагается равной
min I(Oj), (2.5 а)
(Oj Ow)
а верхняя – Ib(s) (2.5 б)
Рассмотрим правила выполнения каждого из 11 возможных запросов модели.
1. Запрос на чтение субъектом Si объекта Oj разрешается, если выполняется условие:
r Mij ^ Is(Si) I(Oj) ^ It(Si) I(Oj) (2.6 а)
При невыполнении условия (2.6 а) запрос отвергается.
2. Запрос на запись субъектом Si в объект Oj разрешается, если выполняется условие:
w Mij ^ Is(Si) I(Oj) ^ It(Si) I(Oj) (2.6 б)
При невыполнении условия (2.6 б) запрос отвергается.
3. Запрос на дополнение субъектом Si объекта Oj разрешается, если выполняется условие:
a Mij ^ It(Si) I(Oj) (2.6 в)
При невыполнении условия (2.6 в) запрос отвергается.
4. Запрос на исполнение субъектом Si объекта Oj разрешается, если e Mij, и отвергается - в противном случае.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13