
- •Тема 7. Методи і засоби захисту від віддалених атак через мережу Internet.
- •Основні компоненти міжмережевих екранів.
- •Настроювання правил виглядає як заповнення такої таблиці:
- •Міжмережевий екран - фільтруючий маршрутизатор.
- •2. Основні схеми мережного захисту на базі міжмережевих екранів.
- •Міжмережевий екран на основі двопортового шлюзу.
- •Міжмережевий екран на основі екранованого шлюзу.
- •Міжмережевий екран - екранована підмережа.
- •Розподіл ключів
- •Розподіл ключів за участю центра розподілу ключів
- •Висновки:
Розподіл ключів за участю центра розподілу ключів
При розподілі ключів між учасниками майбутнього інформаційного обміну повинна бути гарантована дійсність сеансу зв'язку. Для взаємної перевірки дійсності партнерів прийнятна модель рукостискання: У цьому випадку жоден з учасників не буде одержувати ніякої секретної інформації під час процедури встановлення дійсності.
Взаємне встановлення дійсності гарантує виклик потрібного суб'єкта з високим ступенем упевненості, що зв'язок установлений з необхідним адресатом і ніякими спробами підміни не було.
Реальна процедура організації з'єднання між учасниками інформаційного обміну включає як етап розподілу, так і етап підтвердження дійсності партнерів.
При включенні в процес розподілу ключів центра розподілу ключів (ЦРК) здійснюється його взаємодія з одним або обома учасниками сеансу з метою розподілу секретних або відкритих ключів, призначених для використання в наступних сеансах зв'язку.
Наступний етап-підтвердження дійсності учасників містить обмін повідомленнями підтвердження, щоб мати можливість виявити будь-яку підміну або повтор одного з попередніх викликів.
Розглянемо протоколи для симетричних криптосистем із секретними ключами та для асиметричних криптосистем з відкритими ключами. Об’єкт, що викликається (вихідний об'єкт) позначається через А, а об’єкт який викликають (об'єкт призначення) - через В. Учасники сеансу А и В мають унікальні ідентифікатори IdА та IdB соответственно.
Протокол аутентификации та розподілу ключів для симетричних криптосистем. Розглянемо як приклад протокол аутентификации та розподілу ключів Kerberos (українською - Цербер). Спочатку протокол Kerberos був розроблений у Массачусетском технологічному інституті (США) для проекту Athena. Протокол Kerberos спроектований для роботи в мережах TCP/IP і припускає участь в аутентификации та розподілі ключів третьої довіреної сторони. Kerberos забезпечує надійну аутентификацию в мережі, дозволяючи законному користувачеві доступ до різних машин у мережі. Протокол Kerberos ґрунтується на симетричній криптографії (реалізований алгоритм DES, хоча можливо застосування та інших симетричних криптоалгоритмів). Kerberos розділяє окремий секретний ключ із кожним суб'єктом мережі. Знання такого секретного ключа рівносильно доказу дійсності суб'єкта мережі.
Основний протокол Kerberos є варіантом протоколу аутентифікації та розподілу ключів Нідхема - Шредера. В основному протоколі Kerberos беруть участь дві взаємодіючі сторони А і В та довірений сервер KS (Kerberos Server). Сторони А і В, кожна окремо, розділяють свій секретний ключ із сервером KS. Довірений сервер KS виконує роль центра розподілу ключів ЦРК.
Нехай сторона А хоче одержати сеансовий ключ для інформаційного обміну зі стороною В.
(Слайд 15) Сторона А ініціює фазу розподілу ключів, посилаючи по мережі серверу KS ідентифікатори IdА та IdВ:
(1) A
KS:
IdА,
IdВ.
Сервер KS генерує повідомлення з тимчасовою оцінкою Т, терміном дії L, випадковим сеансовим ключем К и ідентифікатором IdА. Він шифрує це повідомлення секретним ключем, що поділяє зі стороною В.
Потім сервер KS бере тимчасову позначку Т, термін дії L, сеансовый ключ К, ідентифікатор IdВ сторони В и шифрує все це секретним ключем, що поділяє зі стороною А. Обоє ці зашифровані повідомлення він відправляє стороні А:
(2) KS A: EA(T, L, K, IdВ), EB (t, L, K, IdА).
Сторона А розшифровує перше повідомлення своїм секретним ключем, перевіряє позначку часу Т, щоб переконатися, що це повідомлення не є повторенням попередньої процедури розподілу ключів.
Потім сторона А генерує повідомлення зі своїм ідентифікатором IdА та позначку часу Т, шифрує його сеансовым ключем К і відправляє стороні В. Крім того, А відправляє для В повідомлення від KS, зашифроване ключем сторони В:
(3) A B:EK(IdА,T), ЕВ(Т, L, K, IdА).
Тільки сторона В може розшифрувати повідомлення (3). Сторона В одержує позначку часу Т, термін дії L, сеансовий ключ К и ідентифікатор IdА. Потім сторона В розшифровує сеансовим ключем К другу частину повідомлення (3). Збіг значень Т и IdА у двох частинах повідомлення підтверджують дійсність А стосовно В.
Для взаємного підтвердження дійсності сторона В створює повідомлення, що складається з позначки часу Т плюс 1, шифрує його ключем К и відправляє стороні А:
(4) В А: ЕK(Т+1).
Якщо після розшифровування повідомлення (4) сторона А одержує очікуваний результат, вона знає, що на іншому кінці лінії зв'язку перебуває дійсно В.
Цей протокол успішно працює за умови, що годинники кожного учасника синхронізовані з годинниками сервера KS. Слід зазначити, що в цьому протоколі необхідний обмін з KS для одержання сеансового ключа щораз, коли А бажає встановити зв'язок з В. Протокол забезпечує надійне з'єднання об'єктів А і В за умови, що жоден із ключів не скомпрометований і сервер KS захищений.
Система Kerberos забезпечує захист мережі від несанкціонованого доступу, базуючись винятково на програмних рішеннях, і припускає багаторазове шифрування переданої по мережі керуючої інформації.
Система Kerberos має структуру типу клієнт-сервер і складається із клієнтських частин С, установлених на всі машини мережі (робітники станції користувачів і сервери), і Kerberos-сервера KS, що розташовується на будь-якому (не обов'язково виділеному) комп'ютері.
Kerberos-сервер, у свою чергу, можна розділити на дві частини: сервер ідентифікації AS (Authentication Server) і сервер видачі дозволів TGS (Ticket Granting Server). Інформаційними ресурсами, необхідними клієнтам С, управляє сервер інформаційних ресурсів RS (рис. 6). (Слайд 16)
Рис. 6. Схема протоколу Kerberos
Позначення:
KS - сервер системи Kerberos
AS - сервер ідентифікації
TGS - сервер видачі дозволів
RS - сервер інформаційних ресурсів
С - клієнт системи Kerberos
1 : С AS: - запит дозволити звернутися до TGS
2 : AS С: - дозвіл звернутися до TGS
3 : С TGS: - запит на допуск до RS
4 : TGS С: - дозвіл на допуск до RS
5 : С RS: - запит на одержання інформаційного ресурсу від RS
6 : RS С: - підтвердження дійсності сервера RS і надання інформаційного ресурсу
Область дії системи Kerberos поширюється на ту ділянку мережі, всі користувачі якої зареєстровані під своїми іменами та паролями в базі даних Kerberos-сервера.
Укрупнено процес ідентифікації та аутентифікації користувача в системі Kerberos можна описати в такий спосіб. Користувач (клієнт) С, бажаючи одержати доступ до ресурсу мережі, направляє запит серверу ідентифікації AS. Останній ідентифікує користувача за допомогою його імені та пароля та видає дозвіл на доступ до сервера видачі дозволів TGS, який, у свою чергу, за запитом клієнта С дозволяє використання необхідних ресурсів мережі за допомогою цільового сервера інформаційних ресурсів RS.
Дана модель взаємодії клієнта із серверами може функціонувати тільки за умови забезпечення конфіденційності та цілісності переданої керуючої інформації.
Без чіткого забезпечення інформаційної безпеки клієнт не може відправляти серверам AS,TGS та RS свої запити та одержувати дозволи на доступ до обслуговування у мережі. Щоб уникнути можливості перехоплення та несанкціонованого використання інформації, Kerberos застосовує при передачі будь-якої керуючої інформації в мережі складну систему багаторазового шифрування з використанням комплексу секретних ключів (секретний ключ клієнта, секретний ключ сервера, секретні сеансові ключі, клієнт-сервер).
Протокол для асиметричних криптосистем з використанням сертифікатів відкритих ключів. У цьому протоколі використається ідея сертифікатів відкритих ключів. (Слайд 17)
Сертифікатом відкритого ключа С називається повідомлення ЦРК, що засвідчує цілісність деякого відкритого ключа об'єкта. Наприклад, сертифікат відкритого ключа для користувача А, що позначається СА (містить позначку часу Т, ідентифікатор IdA і відкритий ключ КА, зашифровані секретним ключем ЦРК KЦРК, тобто
Оцінка часу Т використається для підтвердження актуальності сертифіката та тим самим запобігає повторам колишніх сертифікатів, які містять відкриті ключі та для яких відповідні секретні ключі неспроможні.
Секретний ключ kЦPK відомий тільки менеджерові ЦРК. Відкритий ключ КЦРК відомий учасникам А и В. ЦРК підтримує таблицю відкритих ключів всіх об'єктів мережі, які він обслуговує.
Об'єкт А, що здійснює виклик ініціює стадію встановлення ключа, запитуючи в ЦРК сертифікат свого відкритого ключа та відкритого ключа учасника В:
(1) A→ ЦРК : IdA, IdB, «Надішліть сертифікати ключів А і В».
Тут IdA та IdB -унікальні ідентифікатори відповідно учасників А і В.
Менеджер ЦРК відповідає повідомленням
(2) ЦРК
→ A :
Учасник А, використовуючи відкритий ключ ЦРК КЦРК, розшифровує відповідь ЦРК, перевіряє обидва сертифікати. Ідентифікатор IdB переконує А, що особистість учасника якого викликують правильно зафіксована в ЦРК і КB-дійсно відкритий ключ учасника В, оскільки обоє зашифровані ключем kЦРК.
Хоча відкриті ключі передбачаються відомими всім, посередництво ЦРК дозволяє підтвердити їх цілісність. Без такого посередництва зловмисник може забезпечити А своїм відкритим ключем, який А буде вважати ключем учасника В. Потім зловмисник може підмінити собою В і встановити зв'язок з А, і його ніхто не зможе виявити.
Наступний крок протоколу включає встановлення зв'язку А з В:
(3) А→В: СА,
Тут СA-
сертифікат відкритого ключа
користувача A;
-
оцінка
часу, зашифрована секретним ключем
учасника А, вона є підписом учасника А,
оскільки ніхто інший
не може створити такий підпис; r1
- випадкове число, що генерується
А і використовується
для обміну з
В під час процедури дійсності.
Якщо сертифікат
СА
та підпис А вірні, то учасник В упевнений,
що повідомлення прийшло від А, Частина
повідомлення
може розшифрувати тільки В, оскільки
ніхто інший
не знає секретного ключа
kВ,
що відповідає
відкритому ключу
КB.
Учасник В розшифровує значення числа
r,
і, щоб підтвердити свою дійсність,
посилає учасникові
А повідомлення
(4) B→ A: EKA(r1).
Учасник А відновлює значення r1 розшифровуючи це повідомлення з використанням свого секретного ключа kA. Якщо це очікуване значення r1, то А одержує підтвердження, що учасник, якого викликають дійсно В.
Протокол, заснований на симетричному шифруванні, функціонує швидше, ніж протокол, заснований на криптосистемах з відкритими ключами. Однак здатність систем з відкритими ключами генерувати цифрові підписи, що забезпечують різні функції захисту, компенсує надмірність необхідних обчислень.