Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Security_metod

.pdf
Скачиваний:
43
Добавлен:
25.03.2016
Размер:
1.91 Mб
Скачать

снику необхідно спробувати принаймні половину простору ключів, щоб досягти успіху.

9.1.4 Криптологія

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

Були часи, коли одна з дисциплін була попереду іншої. Наприклад, під час Столітньої війни між Францією і Англією, криптоаналітики були попереду криптографів. Франція вважала, що шифр Віженера невразливий, однак англійці змогли зламати його. Деякі історики вважають, що друга світова війна значною мірою базувалася на тому, що перемогла сторона, яка була набагато більш успішною у зломі кодів своїх супротивників. На даний час вважається, що криптографи мають перевагу.

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

Криптоаналіз насправді необхідний. Існує іронія долі криптографії, що неможливо довести безпеку певного алгоритму. Може бути тільки доведено, що він не вразливий до відомих атак криптоаналізу. Таким чином, існує необхідність продовжувати намагатися зламати методи шифрування.

У світі комунікацій та мереж, аутентифікація, цілісність і конфіденційність даних здійснюються різними способами з використанням різних протоколів і алгоритмів. Вибір протоколу і алгоритму залежить від рівня безпеки, необхідного для досягнення цілей політики безпеки мережі. Наприклад, для цілісності повідомлень, Message-Digest 5 (MD5) швидший, але менш безпечний, ніж SHA2. Конфіденційність може бути реалізована з використанням DES, 3DES або дуже безпечним AES.

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

9.2 Основи цілісності та аутентифікації 9.2.1 Криптографічні хеші

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

80

кавові зерна, але майже неможливо зібрати всі дрібні шматочки разом, щоб відновити оригінальне зернятко.

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

Хешування схоже на розрахунок контрольної суми CRC, але воно набагато сильніше криптографічно. Наприклад, якщо задано значення CRC, то легко згенерувати дані з таким самим CRC. З хеш-функцією є неможливим, щоб для двох різних наборів даних, вийшло одне і те ж хеш-значення. Кожен раз, коли дані змінюються, хеш-значення також змінюється. Через це, криптографічні хеш-значення часто називають цифровими відбитками пальців. Вони можуть бути використані для виявлення дублікатів файлів даних, зміни версії файлу. Ці значення використовуються для захисту від випадкової або навмисної зміни даних та випадкового пошкодження даних.

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

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

На сьогодні використовуються дві добре відомі хеш-функції:

Message Digest 5 (MD5) з 128-бітним дайджестом,

Secure Hash Algorithm 1 (SHA-1) з 160-бітним дайджестом.

9.2.2Перевірка справжності з НМАС

Вкриптографії keyed-hash message authentication code (HMAC) є одним з видів Message Authentication Code (MAC). HMAC розраховується за допомогою спеціального алгоритму, який поєднує криптографічну хеш-функцію з секретним ключем. Хеш-функції є основою механізму захисту HMAC.

Тільки відправник та отримувач знають секретний ключ, і вихід хешфункції тепер залежить від вихідних даних і секретного ключа. Тільки сторони, які мають доступ до секретного ключа, можуть обчислити дайджест HMAC. Це

81

дозволяє протистояти атакам man-in-the-middle і забезпечує перевірку автентичності походження даних.

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

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

Дві добре відомі HMAC функції:

HMAC-MD5, базується на MD5 алгоритмі хешування,

HMAC-SHA-1, базується на SHA-1 алгоритмі хешування.

Коли HMAC дайджест створюється, дані довільної довжини вводяться в

хеш-функцію, разом із секретним ключем. В результаті виходить хеш фіксованої довжини, який залежить від даних і секретного ключа.

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

IPsec VPN покладаються на HMAC функції для перевірки автентичності походження кожного пакета і забезпечення перевірки цілісності даних.

9.2.3 Управління ключами

Управління ключами часто вважається найважчою частиною проектування криптосистеми. Багато криптосистем зазнали невдачі через помилки в управлінні ключами, і всі сучасні криптографічні алгоритми вимагають процедур управління ключами. На практиці, більшість атак на криптографічні системи спрямовані на рівень управління ключами, а не на сам алгоритм шифрування. Є кілька основних характеристик процедури управління ключами, які слід розглянути:

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

Перевірка - деякі ключі краще, ніж інші. Майже всі криптографічні алгоритми мають деякі слабкі ключі, які не повинні використовуватися. Завдяки процедурі перевірки, якщо такі ключі з'являються, то відбувається повторна генерація ключів. Для шифру Цезаря використання ключа 0 або 25 не зашифрує повідомлення, тому такі ключі не повинні бути використані.

Зберігання - У сучасній багатокористувацької операційній системі, яка використовує криптографію, ключ може бути збережений у пам'яті. Це створює

82

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

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

Анулювання та знищення - Анулювання повідомляє всім зацікавленим сторонам, що певний ключ був скомпрометований і більше не повинен використовуватися. Знищення запобігає відновленню ключів зловмисниками.

Два терміни використовуються для опису ключів: довжина ключа (key length) і простір ключів (keyspace). Довжина ключа вимірюється в бітах, а простір ключів - це кількість можливих ключів, які можуть бути згенеровані для конкретної довжини ключа. При збільшенні довжини, простір ключів зростає експоненціально.

Простір ключів - це безліч всіх можливих значень ключа. Ключ, довжиною n біт має простір ключів з 2n можливих значень ключа. При збільшенні довжини ключа на один біт, простір ключів ефективно подвоюється, і атакуючий повинен в два рази більше часу приділити пошуку в просторі ключів.

Майже кожен алгоритм має деякі слабкі ключі у своєму просторі ключів, які дозволяють зловмисникові зламати шифр швидким способом. Слабкі ключі показують закономірності в шифруванні або надають слабке шифрування. Наприклад, DES має чотири ключа шифрування, які збігаються з ключами дешифрування. DES слабкі ключі - це ті, в яких біти ключа продукують 16 ідентичних підключів:

0101010101010101 FEFEFEFEFEFEFEFE E0E0E0E0F1F1F1F1 1F1F1F1F0E0E0E0E

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

Кілька типів криптографічних ключів можуть бути створені:

Симетричні ключі, обмін якими може бути проведений між двома маршрутизаторами з підтримкою VPN.

Асиметричні ключі, які використовуються в безпечних HTTPS додатках.

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

Hash ключі, які використовуються при генерації симетричних і асиметричних ключів, цифрових підписів.

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

83

У середньому, зловмисник повинен пройти пошуком половину простору ключів, перш ніж правильний ключ буде знайдений. Час, необхідний для виконання цього пошуку залежить від потужності комп'ютера, який доступний зловмиснику. З сучасними алгоритмами, яким довіряють, сила захисту залежить виключно від довжини ключа. Виберіть довжину ключа таким чином, щоб вона захищала конфіденційність даних і цілісність протягом достатнього періоду часу. Для даних, які більш чутливі і повинні зберігатися в більшому секреті, потрібно використовувати більш довгі ключі.

Продуктивність – це ще одне питання, яке може вплинути на вибір довжини ключа. Адміністратор повинен знайти хороший баланс між швидкістю і захисними можливостями алгоритму, оскільки деякі алгоритми, такі як RSA працюють повільно при великих розмірах ключа. Правило «чим довше ключ, тим краще» діє, за винятком можливих причин, пов'язаних з продуктивністю.

9.2.3 Конфіденційність

Криптографічне шифрування може забезпечити конфіденційність на декількох рівнях моделі OSI:

Пристрої, здатні до шифрування, забезпечують конфіденційність канального рівня.

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

Протоколи, такі як Secure Sockets Layer (SSL) або Transport Layer Security (TLS) забезпечують конфіденційність сесійного рівня.

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

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

Існує два основні класи алгоритмів шифрування: симетричні і асиметричні. Кожен відрізняється за своєю манерою використання ключів. Симетричні алгоритми шифрування використовують той самий секретний ключ для шифрування і дешифрування даних. Ключ повинен бути попередньо розповсюджений серед учасників обміну даними. Цей ключ має бути відомий відправникові і одержувачеві до того, як зашифроване з'єднання починається. Оскільки обидві сторони охороняють загальний секрет, алгоритми шифрування можуть використовувати більш короткі ключі. Більш короткі ключі призводять до більш швидкого виконання процедур. Симетричні алгоритми, як правило, набагато менше вимагають обчислювальних ресурсів, ніж асиметричні алгоритми.

84

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

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

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

DES, 3DES, AES, Software Encryption Algorithm (SEAL), і серія Rivest ciphers (RC), яка містить RC2, RC4, RC5, і RC6 - це добре відомі алгоритми шифрування, які використовують симетричні ключі та отримали широкого визнання.

Найбільш часто використовуються в симетричній криптографії блокові шифри і потокові шифри.

Блокові шифри

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

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

Потокові шифри

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

Шифр Віженера є прикладом потокового шифру. Цей шифр є періодичним, так як ключ має кінцеву довжину і повторюється, якщо він коротший за повідомлення.

85

Вибір алгоритму шифрування є одним з найважливіших рішень, які приймає фахівець з безпеки. Два основні критерії слід враховувати при виборі алгоритмів шифрування для організації:

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

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

Інші критерії, які враховують при виборі алгоритмів шифрування:

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

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

9.3 Самостійна робота студента

9.3.1 Запитання для самоперевірки

1.Дайте визначення криптографії.

2.Дайте визначення криптоаналізу.

3.Що є рушійною силою розвитку криптографії?

9.3.2 Матеріали для самостійного поглибленого вивчення теми

1.Дослідіть детально використання шифру Цезаря.

2.Дослідіть використання шифру Віженера.

3.Знайдіть ще приклади перших спроб шифрування текстових повідомлень.

4.Дослідіть, як працюють алгоритми шифрування DES, 3DES, AES, SEAL.

5.Дослідіть роботу алгоритму RSA.

6.Дослідіть алгоритм Діффі-Хелмана безпечного обміну ключами шифрування.

86

ТЕМА 10. ВІРТУАЛЬНІ ПРИВАТНІ МЕРЕЖІ (VPN)

Вступ

Організації використовують віртуальні приватні мережі (Virtual Private Network – VPN), щоб створити приватне мережне з’єднання (тунель) через публічні мережі, наприклад Інтернет. Тунель дозволяє віддаленим користувачам отримати доступ до мережних ресурсів центрального офісу. Однак, VPN не може гарантувати, що інформація залишається в безпеці під час проходження по тунелю. Для створення безпечної віртуальної приватної мережі застосовуються сучасні методи шифрування.

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

Безпечні site-to-site VPN між центральним і віддаленими офісами можуть бути реалізовані за допомогою IPsec. IPsec також може бути використаний в remote-access тунелях для доступу мобільних співробітників. Окрім IPsec, Secure Sockets Layer (SSL) протокол також може бути використаний для вста-

новлення remote-access VPN з'єднань.

Перші віртуальні приватні мережі використовували тільки IPтунелювання, і не реалізовували аутентифікацію або шифрування даних. Наприклад, Generic Routing Encapsulation (GRE) - це тунельний протокол, розроблений Cisco, який може інкапсулювати різні типи протоколів мережного рівня в тунелі IP. Він створює віртуальне point-to-point з’єднання для Cisco маршрутизаторів, які знаходяться у віддалених точках об'єднаної ІР мережі. Іншими прикладами віртуальних приватних мереж, які автоматично не надають заходів безпеки є Frame Relay, ATM, PVC і MPLS мережі.

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

Віртуальні приватні мережі мають кілька переваг:

Економія - VPN дозволяють організаціям використовувати економічноефективний інтернет-транспорт для підключення віддалених офісів і віддалених користувачів до основного офісу компанії. Віртуальні приватні мережі витісняють дорогі виділені WAN-лінії і модемні з’єднання.

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

Масштабованість - віртуальні приватні мережі дозволяють корпораціям використовувати інфраструктуру Інтернету. Це дозволяє легко додавати нових користувачів без значних вкладень у розвиток інфраструктури.

87

Сумісність з широкосмуговими технологіями – VPN дозволяють мобі-

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

10.1 Типи VPN

VPN з’єднує дві кінцеві точки, такі, як два віддалених офіси, через публічну мережу, щоб сформувати логічний канал. Логічні канали можуть бути утворені як на Рівні 2, так і на Рівні 3 моделі OSI. Тож VPN технології можуть бути класифіковані в широкому сенсі як мережі VPN рівня 2 або рівня 3. Встановлення з'єднання між офісами для обох типів VPN є схожим. Заголовок доставки додається до корисної інформації, щоб доставити її до місця призначення. В цьому модулі розглядаються VPN технології рівня 3. Типові приклади VPN

рівня 3 – це GRE, MPLS та IPSec.

GRE був розроблений компанією Cisco, а потім стандартизований у RFC 1701. IP заголовок доставки для GRE визначений в RFC 1702. GRE тунель між двома вузлами, які досяжні через IP, може бути описаний як VPN, тому що приватні дані для проходження між вузлами інкапсулюються із заголовком доставки GRE.

Шифрування даних може запобігти перехопленню даних, які передаються через VPN. Шифрування даних досягається шляхом розгортання пристрою шифрування на кожній стороні. IPsec - це набір протоколів, розроблених за підтримки IETF для досягнення безпеки послуг в мережах з комутацією пакетів IP. Інтернет - найбільш поширена публічна мережа з комутацією пакетів, тому IPsec VPN, розгорнута в Інтернет може забезпечити значну економію для корпорації порівняно з виділеною лінією VPN.

Послуги IPsec забезпечують аутентифікацію, цілісність, контроль доступу і конфіденційність. За допомогою IPsec, обмін інформацією між віддаленими офісами може бути зашифрований та перевірений. За допомогою IPsec можна розгорнути як remote-access VPN, так і site-to-site VPN.

Site-to-site VPN і remote-access VPN

Як показано на рисунку 15, існує два основних типи VPN мереж: site-to- site і remote-access.

Site-to-site VPN будується, коли з'єднувальні пристрої на обох сторонах VPN з'єднання знають про конфігурацію VPN заздалегідь. VPN залишається незмінною, і внутрішні вузли навіть уяви не мають про її існування. Frame Relay, ATM, GRE, і MPLS VPN, є прикладами site-to-site VPN.

Remote-access VPN створюється, коли інформація VPN не має статичного налаштування, замість цього інформація з’єднання динамічно змінюється, з’єднання встановлюється та розривається за потреби. Розглянемо мобільного працівника, який потребує VPN для доступу до корпоративних даних через Інтернет. Йому не обов'язково мати з'єднання VPN постійно, він може створити його в будь-який момент часу. ПК мобільного працівника несе відповідальність

88

за встановлення VPN. Інформація, необхідна для встановлення з'єднання VPN, така як IP-адреса, динамічно змінюється залежно від місця знаходження працівника на час спроби підключення.

Рис. 15 - IPSec VPN

Site-to-site VPN

Site-to-site VPN є розширенням класичної WAN мережі. Site-to-site VPN

з’єднують між собою цілі мережі, як показано на рисунку 16.

Рис. 16 - Site-to-site VPN

89

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]