Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Part_4.doc
Скачиваний:
20
Добавлен:
24.11.2019
Размер:
3.12 Mб
Скачать

5.2.1.2.Шифрування

Ключевою компонентою розв’язань VPN є приватність даних. Без явного механізму забезпечення приватності даних інформація, яка поширюється через незахищений канал даних, такий, як Internet, може пересилатися тільки у вигляді відкритого тексту. Такі дані можуть переглядатися або навіть захоплюватися за допомогою поширених технік підслуховування. Інструменти, такі як аналізатор протоколів або інструменти для діагностування мережі, вбудовані в сучасні операційні системи, можуть просто “бачити” інформацію, яка пересилається відкрито. Для досягнення приватності даних при пересиланні через незахищені канали використовується техніка шифрування або скремблювання відкритого тексту в зашифрований. Зашифроване повідомлення висилається до приймача, де воно дешифрується у відкритий текст. Процес шифрування, дешифрування та його учасники – надавач і приймач – утворюють форму криптосистеми. На сьогодні існують два типи криптосистем – з приватним ключем і з публічним ключем.

Порівняння симетричного та асиметричного шифрування (приватний і публічний ключі)

Симетричне шифрування або шифрування із приватним ключем (відоме також під назвою звичайного шифрування) базується на секретному ключі, який спільно вживається обидвома сторонами, що комунікуються. Ключ – це рядок бітів фіксованої довжини. Передавальна сторона вживає секретний ключ як частину математичної операції для шифрування відкритого тексту. Приймальна сторона використовує той сам секретний ключ для дешифрування зашифрованого тексту. Приклади схеми симетричного шифрування – це алгоритм RSA RC4 (який є основою для Microsoft Point-to-Point Encryption – MPPE), Data Encryption Standard (DES), Triple-DES, FWZ-1, International Data Encryption Algorithm (IDEA) і технології шифрування Skipjack, запропонованої урядом США і впровадженої у чіпі Clipper. Кожна із цих схем відрізняється довжиною рядка бітів, яку більш поширено називають “жорсткістю” алгоритму шифрування. Жорсткість алгоритму визначає обсяг зусиль, необхідних для зламу системи із застосуванням однієї відомих атак, як метод “грубої сили”, коли багато комп’ютерів об’єднують зусилля для обчислення всіх можливих перестановок ключа. Тому, чим довший ключ, тим більш “жорсткий” алгоритм шифрування і тим більші зусилля необхідні для зламу системи.

Рис. . Криптосистема з приватним ключем (симетрична).

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

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

Асиметричне шифрування або шифрування з публічним ключем використовує два математично пов’язані різні ключі для кожного із користувачів: один є приватним ключем, відомим тільки цьому користувачу, а другий – це відповідний публічний ключ, доступний будь-кому. Приватний і публічний ключі математично пов’язані алгоритмом шифрування. Один ключ вживається для шифрування, другий – для дешифрування. Оскільки один із двох елементів – публічний ключ – доступний всім, то початкове створення і обмін “спільним секретним ключем”, який вживається для захищених комунікацій, може бути здійсений простіше, ніж у криптосистемах з приватними ключами. Дві криптосистеми з публічним ключем широко вживаються у VPN: DH (Diffie-Hellman) і RSA (Rivest Shamir Adlemen). Крім того, технології шифрування з публічним ключем дозволяють вживати цифровий підпис у повідомленнях. Для цифрового підпису використовують приватний ключ надавача для шифрування певної частини повідомлення. Коли повідомлення прийняте, то приймач використовує публічний ключ надавача для дешифрування цифрового підпису як способу верифікації ідентичності надавача.

Криптосистема з публічним ключем DH

У криптосистемі DH поєднання приватного ключа DH користувача A з публічним ключем DH користувача B дає той самий результат, що й комбінація приватного ключа DH користувача B з публічним ключем DH користувача A (рис. ).

Р ис. . Криптосистема з публічним ключем DH – обчислення спільного секретного ключа.

Це можна розширити на будь-яку систему поєднань пар ключів DH без порушення безпеки ключів. Оскільки ці дві групи, обмінюючись своїми публічними ключами один з одним, є тільки групами, які можуть генерувати спільний секрет, то двостороння довірча модель може бути встановлена, доки жодна інша група не може створити або знати спільний секрет.

На рис. показано, як криптосистема з публічним ключем DH може бути використана для збільшення криптосистеми з приватним ключем шляхом поширення “спільного секретного ключа” до двох груп, які пробують встановити зашифровану сесію. Перший крок у встановленні зашифрованої сесії полягає в тому, що користувач A повідомляє користувача B свій публічний ключ, а користувач B повідомляє користувача A про свій публічний ключ. Далі, користувачі A і B обчислюють “спільний секретний ключ”. Остаточно вони можуть застосовувати “спільний секрет” для шифрування і дешифрування всіх пересилань даних між собою. Із цієї точки зору криптосистему з публічним ключем DH також називають системою поширення публічного ключа DH.

Р ис. Використання спільного секретного ключа DH.

Однак є ще інша компонента механізму поширення ключа, яка мусить бути адресною, щоб досягнути того, що ключ справжній. Звертаючись до рис., якщо два кореспонденти (A і B) отримують чийсь інший публічний ключ через незахищений канал, наприклад, через Internet, то користувач A повинен бути певен, що він отримав публічний ключ користувача B, і навпаки. Вони не можуть просто запитати один в одного про їх публічні ключі, бо хтось інший, наприклад, користувач E, міг би втрутитися в обмін, перехопити запити і вислати свій власний публічний ключ до обидвох кореспондентів. Якщо б це сталося, то користувачі A і B мали б спільний секрет із користувачем E і E міг би бути віртуальним кореспондентом кожного з реальних кореспондентів (A і B). Це звичайно називають загрозою “людини посередині”. Один із шляхів запобігання цій загрозі, як і іншим видам загроз, є використання криптосистеми з публічним ключем RSA і цифрового підпису (який розгляний нижче), щоб забезпечити збереження і захист поширення ключів.

Рис. Криптосистема RSA з публічним ключем.

К риптосистема з публічним ключем RSA

Криптосистема з публічним ключем RSA може використовуватися у двох різних цілях: шифрування і цифрові підписи. Як показано на рис. , будь-яка інформація, зашифрована приватним ключем RSA, може бути розшифрована відповідним публічним ключем RSA. Якщо користувач A використовує свій приватний ключ RSA для шифрування повідомлення, то будь-хто, який має відповідний публічний ключ користувача A, може дешифрувати повідомлення. Цей механізм встановлює одношляхову довірчу модель, оскільки поєднання приватного ключа надавача і публічного ключа використовується для шифрування і дешифрування повідомлення. Використана таким чином, схема RSA (яка широко відома як цифровий підпис RSARSA Digital Signature) може бути використана для багатьох цілей включно із пересиланням ключів або зашифрованого матеріалу.

Р ис. . Процес цифрового підписування.

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

  • Крок 1: геш-функція (Hash Function) – алгоритм автентифікації даних – зменшує повідомлення до розумного розміру, яке називають дайджестом повідомлення (Message Digest).

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

  • Крок 3: повідомлення та унікальний цифровий підпис об’Єднується і висилаються до приймача.

  • Крок 4: приймач перевіряє повідомлення,

  1. генеруючи дайджест із тою самою геш-функцією,

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

  3. порівнюючи результати кроків 4а і 4b; якщо вони узгоджуються, то дані переслані захищено і немодифіковані.

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

Окремими прикладами криптографічних геш-функцій, які застосовуються у процесі цифрового підписування, є MD4, MD5, SHA-12 і CBC-DES-MAC, які відрізняються довжиною ключа і гешу.

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

  • доказують, що дані вислані надавачем і не підроблені (автентифікація даних);

  • доказують, що повідомлення не модифіковане або не зіпсоване (цлісність даних).

Р ис. Генерування і поширення ключа.

Із схемою цифрового підпису RSA, системою поширення ключа DH і симетричною системою шифрування користувачі можуть встановлювати шифровану VPN-сесію, яка забезпечує приватність даних, автентифікацію і цілісність даних, як показано на рис. . Як тільки шифрована VPN-сесія встановлена, то вона захищена від багатьох видів атак, включно з атакою “людини посередині”.

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