- •1. Основні характеристики grid-технологій 6
- •2. Методи безпеки в grid – технологіях 30
- •3. Інфраструктура захисту Grid (gsi) 33
- •3.2.2. Аутентифікація 52
- •3.2.3. Авторизація 53
- •4. Засоби безпеки grid - технологій 63
- •5. Перелік робіт по створенню комплексної системи захисту інформації в Українському Грід 75 вступ
- •Основні характеристики grid-технологій
- •1.1. Напрями розвитку технології Grid
- •1.2. Концепція побудови grid
- •1.3. Стандартизація Grid
- •Архітектура Grid
- •1.4.1. Базовий рівень
- •1.4.2. Рівень зв'язку
- •1.4.3. Ресурсний рівень
- •1.4.4. Колективний рівень
- •1.4.5. Прикладний рівень
- •1.4.6. Стандарти, що використовуються для побудови архітектури grid
- •1.4.6.1. Сервіс-орієнтована архітектура
- •1.4.6.2. Мова описів Web - сервісів
- •1.4.6.5. Протокол soap (Simple Object Access Protocol)
- •2. Методи безпеки в grid – технологіях
- •2.1. Основні положення
- •2.2. Вимоги безпеки
- •2.2.1. Множинні інфраструктури безпеки
- •3.1.1. Безпечна комунікація
- •3.1.1.1. Три ключові елементи безпечної комунікації
- •3.1.1.2. Конфіденційність
- •3.1.1.4. Аутентифікація
- •3.1.2. Авторизація
- •3.1.3. Авторизація порівняно з Аутентифікацією
- •3.1.4. Введення в криптографію
- •3.1.4.1. Алгоритми засновані на ключі
- •3.1.4.2. Симетричні і асиметричні алгоритми, засновані на ключі
- •3.1.4.3. Криптографія загального ключа
- •3.1.4.4. Безпечний діалог, з використанням криптографії загального ключа
- •3.1.4.5. Переваги і недоліки систем, заснованих на загальному ключі
- •3.1.5. Цифрові підписи: Цілісність в системах з відкритим ключем
- •3.1.6. Аутентифікація в системах із загальним ключем
- •3.1.7. Сертифікати і центри сертифікації (ca)
- •3.1.9. Формат сертифікату X.509
- •3.1.10. Видатні імена
- •3.1.11. Ієрархії ca
- •3.2. Введення в gsi
- •3.2.1. Захист транспортного рівня і рівня повідомлень
- •3.2.2. Аутентифікація
- •3.2.3. Авторизація
- •3.2.3.1. Авторизація серверної сторони
- •3.2.3.2. Авторизація клієнтської сторони
- •3.2.3.3. “Custom” авторизація
- •3.2.4. Делегація і єдиний вхід (проксі-сертифікати)
- •3.2.5.1. Рішення: проксі-сертифікати
- •3.2.5.2. Що досягає рішення: Делегація і єдиний вхід
- •3.2.5.3. Особливість
- •3.2.5.4. Створення проксі-сертифіката
- •3.2.5.5. Підтвердження проксі-сертифіката
- •3.2.5.6. Додатково про проксі-сертификати
- •3.2.5.7. Контейнер, служба, і захист ресурсу
- •4. Засоби безпеки grid - технологій
- •4.1. Сучасний стан програмного забезпечення інфраструктури grid
- •4.2. Програмне вирішення globus
- •4.3. Система Gridge
- •4.4. Програмне забезпечення lcg
- •Перелік робіт по створенню комплексної системи захисту інформації в Українському Грід
- •2. На стадії технічного проектування:
- •3. На стадії робочого проектування:
3.1.3. Авторизація порівняно з Аутентифікацією
Сплутати аутентифікацію і авторизацію дуже просто, не стільки, тому, що вони зв'язані (загалом, потрібно виконувати аутентифікацію користувача, щоб ухвалити авторизаційне рішення про цього користувача), а через те, що вони звучать однаково (auth...ation). Це частково погіршено фактом, що багато людей прагне скоротити обидва слова як “auth” (особливо в програмному коді). Хоч вони є відмінними поняттями їх досить часто зіставляють. І якщо є сумніви, важливо пам'ятати, що аутентифікація посилається на з'ясування достовірності чиєї-небудь особи (якщо вона дійсно та що потрібна) і що авторизація звертається до з'ясування того, хто авторизований виконувати певне завдання.
3.1.4. Введення в криптографію
Криптографія – “мистецтво запису в секретних символах”. Кодування – дія перекладу нормального повідомлення в повідомлення, записане з “секретними символами” (також відоме як кодоване повідомлення).
Розшифровка – дія перекладу повідомлення, записаного з “секретними символами” в читане повідомлення (розкодоване повідомлення). Криптографія, безумовно, одна з найголовніших областей в захисті даних комп'ютера, оскільки сучасні алгоритми кодування можуть гарантувати всі три елементи безпечного діалогу: конфіденційність, цілісність, і аутентифікацію.
3.1.4.1. Алгоритми засновані на ключі
Раніше був розглянутий досить простій алгоритм кодування, який тільки замінює кожну букву повідомлення на подальшу в алфавіті. Був запропонований алгоритм розшифровки, який замінював кожну букву в кодованому повідомленні на попередню букву в алфавіті. Ці види алгоритмів, засновані на заміщенні букв легко зламати. Тому найсучасніші алгоритми засновані на ключі.
Алгоритм заснований на ключі використовує ключ кодування, щоб кодувати повідомлення. Це означає, що кодоване повідомлення генерується, використовуючи не тільки повідомлення, але і, використовуючи “ключ” (Рис.№3)
Рисунок 3. Кодування засноване на ключі
Одержувач може потім використовувати ключ розшифровки, щоб розшифрувати повідомлення. Знову-таки, це означає, що алгоритм розшифровки залежить не тільки від кодованого повідомлення. Також буде потрібно “ключ” (Рис.№4)
Рисунок 4. Розшифровка заснована на ключі
Деякі алгоритми використовують один ключ для кодування і розшифровки, а інші різні. Про різні ключі буде розказано нижче.
Розглянемо простий приклад. Припустимо, алфавітно-цифрові символи не передаються, а передаються тільки числові символи (для простоти прикладу). Наприклад, відбувається передача наступного повідомлення:
1 2 3 4 5 6 5 4 3 2 1
Виберемо ключ, який використовуватиметься для кодування повідомлення. Імовірно ключ буде “4232”. Щоб кодувати повідомлення потрібно буде повторювати ключ, стільки скільки необхідно, для “покриття” цілого повідомлення:
1 2 3 4 5 6 5 4 3 2 1
4 2 3 2 4 2 3 2 4 2 3
Кодування повідомлення з додаванням обох номерів:
1 2 3 4 5 6 5 4 3 2 1
+ 4 2 3 2 4 2 3 2 4 2 3
-----------------------
5 4 6 6 9 8 8 6 7 4 4
Результуюче повідомлення (54669886744) – закодоване повідомлення. Повідомлення може бути розшифровано слідуючи зворотному процесу: повторюючи ключ, стільки раз скільки потрібно, щоб покрити повідомлення, а потім відняти кожен з символів ключа:
5 4 6 6 9 8 8 6 7 4 4
- 4 2 3 2 4 2 3 2 4 2 3
-----------------------
1 2 3 4 5 6 5 4 3 2 1
Повернемося до незакодованого повідомлення. Важливо звернути увагу, наскільки необхідно мати ключ розшифровки (в даному випадку, те ж що і ключ кодування), щоб мати можливість розшифрувати повідомлення. Це означає, що зловмисникові буде потрібно як повідомлення, так і ключ, щоб підслуховувати розмову.
Слід зазначити, що це дуже тривіальний приклад. Поточні алгоритми, засновані на ключі, набагато складніші (ключі набагато довші, і процес кодування не такий простий, як “додавання повідомлення і ключа”). Проте ці складні алгоритми засновані на тому ж основному принципі, показаному в нашому прикладі: ключ потрібний, щоб кодувати/розшифрувати повідомлення.
