Горизонтальные информационные потоки

Предположим теперь, что объекты в системе невозможно распределить по уровням значимости. Это бывает довольно часто, если значимость данных определяется не самой системой, а конкретным человеком, который с ними работает. Тогда для одного субъекта системы некоторый объект будет значим, а для другого - нет. Более того, иногда единственным поводом открыть или запретить кому-то доступ к объекту становится мнение некоторого субъекта системы.

Операции чтения и записи определяются в этом случае по отношению к каждому отдельному объекту (классу объектов). Чтение - это копирование данных из объекта в некоторое личное информационное пространство субъекта (пользователь запоминает содержимое файла). Запись - это копирование данных из личного информационного пространства субъекта в объект (пользователь изменяет содержимое файла). Если множество объектов, которые субъекту разрешено читать, не совпадают с множеством объектов, доступных ему для записи, а некоторые из записываемых объектов разрешено читать другому субъекту, возникает очевидный горизонтальный информационный поток. Точнее было бы назвать его безуровневым, однако слово "горизонтальный" здесь подчеркивает равную с точки зрения системы значимость и объектов, и субъектов.

Для выявления всех возможных информационных потоков в системе составляется диаграмма достижимости. Диаграмма достижимости состоит из вершин двух видов: субъектов и объектов, соединенных стрелками: от объекта к субъекту - возможные операции чтения, от субъекта к объекту - записи. Достижимость (возможность пройти по диаграмме, следуя стрелкам) одной вершины-субъекта с другой вершины-субъекта означает потенциальную возможность передачи данных от одного к другому, хотя бы и не напрямую. Достижимость вершины-объекта с другой вершины-объекта как раз и отражает информационный поток от одного объекта (класса объектов) к другому (см. рис. 9.3).


Рис. 9.3. Горизонтальные информационные потоки: диаграмма достижимости

На приведенном примере прямая передача информации из объекта "о1" в объект "о3" невозможна, однако существует информационный поток "о1--с1--о2--с3--о3", организуемый субъектами "с1" и "с3". Невозможна и прямая передача данных от субъекта "с3" субъекту "с1", однако через "третьи руки" это можно сделать: "с3--о3--с2--о1--с1". Алгоритмы выявления достижимости достаточно просты, однако они не дают рекомендации по тому, как изменить существующую модель, чтобы избежать нежелательных информационных потоков.

Механизм предоставления доступа может быть статическим, при котором решение о предоставлении доступа система принимает заранее, на основании свойств субъекта и объекта, или динамическим, когда на результат влияет текущее состояние субъекта, объекта, а также состояние всей системы. В частности, могут использоваться данные подсистемы учета ресурсов или состояния некоторых иных объектов и субъектов системы. Полная диаграмма достижимости при динамическом доступе может показывать ложные информационные потоки, опирающиеся на невозможные переходы в состояниях системы, но может и выявлять скрытые каналы переброски данных. Таким скрытым каналом может быть, например, отсроченная передача данных, когда один субъект записывает информацию, а другой, при определенном стечении обстоятельств, впоследствии получает доступ к ней.

Динамическим можно назвать правило отказывать в доступе, если в системе активен некоторый привилегированный субъект, или механизм "жетонов" для одноразового доступа к объекту. Когда используется статический механизм, говорят о правах доступа, когда динамический или смешанный - о сеансах доступа. Правила организации сеансов доступа могут быть весьма запутанными, потому что решение, которое примет система, зависит от состояния любой ее части. Такие правила привязаны к внутреннему устройству системы и реализации ее объектов. Пример динамических механизмов предоставления доступа см. в [20] и [12].

Организация прав доступа может быть целиком отдана на откуп самой системе, точнее, доверенному субъекту, на действия которого распространяются не все правила, определяющие доступ к объектам. В этом случае доверенный субъект (как правило, администратор системы) составляет некий свод правил, с которыми система и будет сообразовываться в дальнейшем. Назовем это централизованной ответственностью за потоки информации.

Другая возможность - так называемая доменная ответственность. Вводится понятие хозяина объекта. Хозяин объекта - это субъект, определяющий права доступа других субъектов к данному объекту. Таким образом, любой объект системы попадает в зону ответственности (домен) некоторого субъекта. Другой субъект, имеющий право читать данные из этого объекта, возможно, поместит их в другой объект, уже в своем домене. Тогда к этим данным, возможно, получит доступ третий субъект; так информация перетекает из домена в домен, направляемая хозяевами объектов.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: