Безпека грід-систем

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

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

Терміни[ред. | ред. код]

Віртуальні організації(ВО) — це динамічний набір користувачів, організацій, ресурсів[1].

Області довіри (trusted domains) — це набір користувачів і ресурсів, керованих єдиною політикою безпеки[1].

Облікові дані (credentials) — це інформація, використовувана для доказу особистості суб'єкта (користувача, ресурсу або процесів, пов'язаних з ними)Enabling Scala[1].

Визначення грід-системи[ред. | ред. код]

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

Грід-обчислення - це скоординований розподіл ресурсів і рішення задач в динамічно мінливих різноманітних віртуальних просторах.

— I. Foster, C. Kesselmann, S. Tuecke, "The Anatomy of the Grid", (2000)

  • «… поділ ресурсів …» — ресурси, що знаходяться в грід, що належать організаціям і підпорядковуються їх правилами. І одночасно ресурси, можуть належати кільком VO.
  • «… зкоодинування …» — ресурси, які належать VO повинні управлятися VO для спільної ефективної роботи. Всі VO повинні підкорятися прозорій політиці взаємодій. Політика поширюється від VO до ресурсів.
  • «… динамічно мінливих …» — користувачі і ресурси можуть змінювати свої властивості, можуть бути додані або видалені.
  • «… різноманітних …» — кожен ресурс і користувач має власні політики й технології, які не можуть бути змінені засобами VO. Маються на увазі різні trusted domains.

Приклад використання грід-систем[ред. | ред. код]

Приклад грід-системи. Користувач намагається отримати доступ до інформації на віддалених ресурсах в інфраструктурі

Нехай є вчений, якого попросили перевірити чиюсь нові отримані дані. Він починає необхідні обчислення на віддаленому сервері С. Будучи запущеним, процес на сервері розуміє, що йому необхідна симуляція. Для цього він звертається до посередника (на сервері D). Той ініціює обчислення на серверах E і G, які для отримання необхідних параметрів звертаються до сервера F.

Даний приклад ілюструє наступні важливі характеристики грід-систем.

Безліч користувачів, як і набір ресурсів, може бути великим і динамічно змінюватися. Учасники наукового співтовариства можуть бути представниками різних організацій і мінятися досить часто, ресурси можуть змінювати свої властивості. Обчислення можуть охоплювати різну кількість ресурсів протягом свого виконання. Процеси виконання можуть спілкуватися один з одним, використовуючи безліч різних механізмів. Ресурси можуть вимагати різні механізми аутентифікаціїавторизації і різних політик. Так у прикладі показано наступні політики контролю доступу: Kerberos(сервер), SSLсервер D), звичайні паролі. Також один і той же користувач може бути представлений на різних серверах різними іменами, правами і обліковими даними[2].

Вимоги до безпеки грід[ред. | ред. код]

Таким чином можна виставити наступні вимоги до системи безпеки в грід-системах:

  • Аутентифікація — надання інтерфейсів для вставки різних механізмів аутентифікації і можливості виявлення механізму аутентифікації.
  • Авторизація — надання можливості контролювати доступ, ґрунтуючись на правилах авторизації.
  • Делегування — надання можливості передачі прав від користувача сервісу
  • Приватність — надання і користувачеві, і володарю сервісу можливості контролювати правила використання ресурсів.
  • Цілісність даних — гарантія того, що неавторизовані зміни даних будуть виявлені на стороні сервісу.
  • Керованість — надання зручного інструменту управління політиками на різних ресурсах, дозволу конфліктів.
  • Вбудовування в існуючі системи й технології — додавання інфраструктурного взаємодії в існуючі різнопланові технологіїIan[2].

Правила взаємодії компонент грід-системи з точки зору безпеки[ред. | ред. код]

  1. Грід-система складається з «областей довіри». Цим стверджується, що система безпеки не вимагає встановлення політики всередині області, а контролює взаємодію між областями й проектує цю взаємодія на внутрішню політику.
  2. Операції всередині однієї «області довіри» підкоряються тільки внутрішній політиці безпеки. Ніяких додаткових операцій від системи безпеки не потрібно. Внутрішня політика може бути реалізована безліччю методів, таких як firewalls, Kerberos, SSH.
  3. Існують і глобальні, і локальні суб'єкти (користувачі та ресурси). Для кожної «області довіри» відповідність глобальних суб'єктів на її локальні. Кожен користувач має два імені: глобальне і можливо локальне. Існування глобальних суб'єктів дозволяє локальній політиці реалізовувати одноразову аутентифікацію користувачів.
  4. Операції між суб'єктами, розташованими в різних «областях довіри» повинні вимагати взаємну аутентифікацію.
  5. Всі рішення щодо надання доступу, виконуються локально на основі локального суб'єкта. Всі рішення по контролю доступу, приймаються політикою, затвердженої місцевими системними адміністраторами.
  6. Програма або процес, що виконуються від імені користувача, можуть отримати підмножини прав користувача. Це необхідно для підтримки тривалих програм, які працюють без взаємодії з користувачем.
  7. Процеси, що виконуються від імені одного суб'єкта межах однієї «області довіри», можуть мати один набір «облікових даних»[2].

Існуючі рішення[ред. | ред. код]

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

Ці продукти: Globus, Legion, CRISIS для WebOS.

Globus Toolkit[ред. | ред. код]

Його рішення передбачає, що грід-система величезна і динамічна, включає в себе безліч змінних у часі «областей довіри». Рішення динамічного виставлення областей довіри й динамічного створення сутностей заснована на ідеї видачі сертифікатів.

Тобто, безпека в Globus Toolkit включає в себе криптосистему на відкритих ключах. Видача прав пов'язана з перевіркою сертифікатів. І для того, щоб довіряти пред'явнику сертифікат, потрібно довіряти лише центру видачі сертифікатів (certificate authority, CA). Але для динамічного створення сутностей вводяться сертифікати особливого типу — proxy сертифікати, по суті розширення звичайних сертифікатів, що надає делегувати частину своїх прав іншому суб'єкту. А для виставлення найпростіших областей довіри використовується принцип — дві сутності довіряють одна одній, якщо мають однакові сертифікати. При виставленні складних областей довіри, де можуть бути присутніми вимоги декількох політик, система віддає право на дозвіл конфліктів об'єкту (тобто ресурсу)[3].

Legion[ред. | ред. код]

Legion — це розподілена обчислювальна платформа для комбінування безлічі незалежних машин в одну систему. Всі ресурси, включаючи обчислювальні потужності, бази даних, Legion об'єднує, використовуючи один об'єктно-орієнтований мета-комп'ютер. Модулі забезпечення безпеки у даній платформі входять в Legion Runtime Library (бібліотека часу виконання), яка визначає необхідні базові об'єкти, такі як об'єкти ядер, хостів і сховищ. Хост об'єкт — це, по суті, менеджер суб'єктів. Наприклад, хост контролює вихід користувача з певної зони. Об'єкт сховища контролює доступність даних, використовуючи, наприклад, ACL файлових систем. А ці два типи об'єктів знаходяться під управлінням загального менеджера об'єктів, який управляє розміщенням, активацією і деактивацією цих об'єктів. Ці об'єкти необхідно налаштовувати адміністратору. За умовчанням Legion включає в себе лише кілька системних класів. Перший — це Legion Object Identifier(LOID), який може визначити, довести справжність об'єкта всередині Legion середовища. За умовчанням використовується асиметричний алгоритм RSA і X. 509 сертифікати. Будь-який суб'єкт чи об'єкт мають включати в себе LOID для підтримки спілкування між собою. Другий клас — це ACL клас, що реалізує розподілений алгоритм, що дозволяє досягти певного рівня ізоляції відразу для декількох об'єктів[4].

CRISIS[ред. | ред. код]

CRISIS -  це один із компонентів  WebOS. WebOS — це програма, основною метою якої є підтримка мережевих додатків на різних операційних системах. І CRISIS доводиться вирішувати питання безпеки, такі як Аутентифікація, Авторизація. CRISIS  - це event-based система, що включає два основних компоненти для авторизації і аутентифікації. Перший — це менеджер процесів, який приймає запити (логін або доступ до ресурсу) і security менеджер, який зберігає особисті дані суб'єктів та приймає рішення за запитами[4].

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. а б в Ian Foster, Carl Kesselman, Steven Tuecke The Anatomy of the Grid: Enabling Scalable Virtual Organizations // International Journal of High Performance Computing Applications. — 2001. — Август
  2. а б в Foster, Carl Kesselman, Gene Tsudik, Steven Tuecke A Security Architecture for Computational Grids // Fifth ACM Conference on Computers and Communications Security. — 1998. — Ноябрь
  3. Ferrari, F. Knabe, M. Humphrey, S. Chapin, and A. Grimshaw A flexible security system for metacomputing environments // Proc. High Performance Computing and Networking. — Europe, Amsterdam, The Netherlands, 1999. — Апрель
  4. а б E. Belani, A.Vahdat, T. Anderson, and M. Dahlin CRISIS: Awide area security architecture // Seventh USENIX Security Symposium. — 1998.. — Январь


Посилання[ред. | ред. код]