Можливий підхід до управління доступом в розподіленому об'єктному середовищі

Представляється, що в даний час проблема управління доступом існує в трьох майже не пов'язаних між собою проявах:

· традиційні моделі (дискреційна і мандатна);

· модель "пісочниця" (запропонована для Java-середовища і близькою їй системи Safe-Tcl);

· модель фільтрації (використовувана в міжмережевих екранах).

На наш погляд, необхідно об'єднати існуючі підходи на основі їх розвитку та узагальнення.

Формальна постановка задачі розмежування доступу може виглядати наступним чином.

Розглядається безліч об'єктів (в сенсі об'єктно-орієнтованого програмування). Частина об'єктів може бути контейнерами, групує об'єкти-компоненти, які задають для них загальний контекст, що виконують загальні функції і реалізують перебір компонентів. Контейнери або вкладені одна в одну, або не мають спільних компонентів.

З кожним об'єктом асоційований набір інтерфейсів, забезпечених дескрипторами (ДІ). До об'єкту можна звернутися тільки за допомогою ДІ. Різні інтерфейси можуть надавати різні методи і бути доступними для різних об'єктів.

Кожен контейнер дозволяє опитати набір ДІ об'єктів-компонентів, що задовольняють деякому умові. Повертається результат у загальному випадку залежить від зухвалої об'єкта.

Об'єкти ізольовані один від одного. Єдиним видом міжоб'єктової взаємодії є виклик методу.

Передбачається, що використовуються надійні засоби аутентифікації та захисту комунікацій. У плані розмежування доступу локальні і видалені виклики не розрізняються.

Передбачається також, що дозвіл або заборону на доступ не залежать від можливого паралельного виконання методів (синхронізація представляє окрему проблему, яка тут не розглядається).

Розмежовується доступ до інтерфейсів об'єктів, а також до методів об'єктів (з урахуванням значень фактичних параметрів виклику). Правила розмежування доступу (ПРД) задаються у вигляді предикатів над об'єктами.

Розглядається задача розмежування доступу для виділеного контейнера CC, компонентами якого повинні бути викликає і / або викликається об'єкти. ДІ цього контейнера покладається загальновідомим. Вважається також, що між зовнішніми по відношенню до виділеного контейнера об'єктами можливі будь-які виклики.

 Виконання ПРД контролюється монітором звернень.

При виклику методу ми будемо розділяти дії, вироблені викликає об'єктом (ініціація дзвінка) та викликуваним методом (прийом і завершення виклику).

При ініціації виклику може проводитися перетворення ДІ фактичних параметрів до виду, доступному викликається методом (" трансляція інтерфейсу").Трансляція може мати місце, якщо викликається об'єкт не входить у той же контейнер, що і викликає.

Параметри методів можуть бути вхідними і/або вихідними. При прийомі виклику виникає інформаційний потік із вхідних параметрів на і об'єкт. У момент завершення виклику виникає інформаційний потік з викликається об'єкта у вихідні параметри. Ці потоки можуть фігурувати в правилах розмежування доступу.

Структуруємо безліч всіх ПРД, виділивши чотири групи правил:

· політика безпеки контейнера;

· обмеження на викликається метод;

· обмеження на викликає метод;

· добровільно накладаються обмеження.

Правила, загальні для всіх об'єктів, що входять в контейнер C, назвемо політикою безпеки даного контейнера.

Нехай метод M1 об'єкта O1 в точці P1 свого виконання повинен викликати метод M об'єкта O. Правила, яким повинен задовольняти M, можна розділити на чотири наступні підгрупи:

· правила, що описують вимоги до формальним параметрам виклику;

· правила, що описують вимоги до семантикою M;

· реалізаційні правила, що накладають обмеження на можливі реалізації M;

· правила, що накладають обмеження на викликається об'єкт O.

Метод M об'єкта O, потенційно доступний для виклику, може пред'являти до викликає об'єкту наступні групи вимог:

· правила, що описують вимоги до фактичних параметрами виклику;

· правила, що накладають обмеження на зухвалий об'єкт.

Можна виділити три різновиди предикатів, відповідних семантиці і / або особливостей реалізації методів:

· твердження про фактичні параметри виклику методу M в точці P1;

· предикат, що описує семантику методу M;

· предикат, що описує особливості реалізації методу M.

Перераховані обмеження можна назвати добровільними, оскільки вони відповідають реальному поведінці об'єктів і не пов'язані з будь-якими зовнішніми вимогами.

Запропонована постановка задачі розмежування доступу відповідає сучасному етапу розвитку програмування, вона дозволяє висловити як завгодно складну політику безпеки, знайти баланс між багатством виразних можливостей та ефективністю роботи монітора звернень.


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



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