Смекни!
smekni.com

Обеспечение системы документооборота (стр. 11 из 20)

Таблица 2.2.

Исходное состояние Операция Результирующее состояние
S, O, Ms'  O Создание субъекта s' S'= S  {s'}, O' = O  {s'}
M'[s,o] = M[s,o], s  S, o  O
M'[s',o] = 0, o  O'
M'[s',s] = 0, s  S'
S, O, Mo'  O Создание объекта o' S'=S, O' = O  {o'}
M'[s,o] = M[s,o], s  S, o  O
M'[s,o'] = 0, s  S'
S, O, Ms'  S Уничтожение субъекта s' S'= S  {s'}, O'= O  {s'}
M'[s,o] = M[s,o], s  S', o  O'
S, O, Mo'  Oo'  S Уничтожение объекта o' S' = S, O' = O  {o'}
M'[s,o] = M[s,o], s  S', o  O'
S, O, Ms  So  O Введение права g в М[s,o] S'=S, O' = O
M'[s,o] = M[s,o]  {g}
M'[s',o'] = M[s',o'], если (s',o')  (s',o')
S, O, Ms  So  O Удаление права g из М[s,o] S'=S, O' = O
M'[s,o] = M[s,o]  {g}
M'[s',o'] = M[s',o'], если (s',o')  (s',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 разрешается, если выполняется условие: