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

3. Гібридна схема

Ще одна схема використання шифрування з відкритим ключем при розподілі секретних ключів являє гібридний підхід, який застосовується на мейнфреймах IBM [LE93]. Ця схема передбачає участь центру розподілу ключів (ЦРК), з яким кожен користувач використовує свій головний секретний ключ, і розподіл секретних сеансових ключів, шіфруемих головним ключем. Схема шифрування з відкритим ключем служить для розподілу головних ключів. В основі такого трирівневого підходу лежить наступна логіка.

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

  • Зворотна сумісність. Гібридну схему можна легко реалізувати у вигляді розширення вже наявної схеми, яка передбачає використання ЦРК, з мінімальними змінами передбаченої процедури і програмного забезпечення.

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

Обмін ключами за схемою Діффі-Хеллмана

Перший з опублікованих алгоритмів на основі відкритих ключів з'явився в роботі Діффі і Хеллмана, в якій було визначено саме поняття криптографії з відкритим ключем [DIFF76b]. Зазвичай цей алгоритм називають обме-ном ключами за схемою Діффі-Хеллмана. Дана технологія обміну ключами реалізована в цілому ряді комерційних продуктів.

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

Ефективність алгоритму Діффі-Хеллмана спирається на трудність обчислення дискретних логарифмів. Формально дискретний логарифм можна визначити наступним чином. Спочатку визначається первісний корінь простого числа р як число, ступеня якого породжують всі цілі числа від 1 до р - 1. Це означає, що якщо а є первісним коренем простого числа р, то всі числа

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

Для будь-якого цілого числа b і будь-якого первообразного кореня а простого числа р однозначно визначається показник степеня i, при якому

Цей показник ступеня зазвичай називається дискретним логарифмом, або індексом b за основою а, розглянутого по модулю р. Це значення записується у формі inda,p(b).

Тепер ми можемо описати обмін ключами за схемою Діффі-Хеллмана, ілюстрацією якої служить рис. 10.7. У цій схемі є два відкритих для всіх чисел: просте число q і ціле число α, що є первісним коренем q. Припустимо, користувачі А і Б мають намір обмінятися ключами. Користувач А вибирає випадкове ціле число ХА<q і обчислює YA= αXA mod q. Точно так же користувач В незалежно вибирає випадкове ціле число ХB<q і обчислює YB= αХb mod q. Кожна сторона зберігає значення X в таємниці і робить значення Y вільно доступним іншій стороні. Користувач А обчислює ключ за формулою , а користувач В - за формулою . Ці дві формули обчислення дають однакові результати, як показано нижче.

(за правилами арифметики в класах вирахувань)

Отже, обидві сторони обмінялися секретним ключем. А оскільки при цьому ХA і ХB були тільки в особистому використанні і тому збереглися в таємниці, противнику доведеться працювати тільки з q, α, YА і YB. Таким чином, йому доведеться обчислювати дискретний логарифм, щоб визначити ключ. Наприклад, щоб визначити ключ користувача В, супротивнику слід обчислити

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

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

Ось приклад, взятий з [SEBE89]. Обмін ключами будується на використанні простого числа q = 97 і його первісним коренем α = 5, Користувачі А і В обирають секретні ключі ХА = 36 і Хв = 58 відповідно.

Кожен обчислює свій відкритий ключ:

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

Маючи {50, 44}, противнику не вдасться з легкістю обчислити 75.

На рис. 10.8 представлений простий протокол, в якому застосовуються обчислення у відповідності зі схемою Діффі-Хеллмана. Припустимо, що користувач А збирається встановити зв'язок з користувачем В і використовувати секретний ключ, щоб шифрувати повідомлення, що передаються за допомогою такого зв'язку. Користувач А може генерувати одноразове секретне значення ХА, обчислити значення YА і відіслати останнє користувачеві В. У відповідь користувач В генерує секретне значення ХB, обчислює YB і посилає YB користувачеві А. Обидва користувача можуть тепер обчислити загальний ключ. Необхідні відкриті значення q і α мають бути відомі заздалегідь. Користувач А може також вибрати ці значення на свій розсуд і включити їх в перше повідомлення.

Для прикладу іншої можливості використання алгоритму Діффі-Хеллмана розглянемо деяку групу користувачів (наприклад, всіх користувачів локальної мережі) і припустимо, що кожен з цих користувачів повинен згенерувати секретне значення ХА для довгострокового застосування і обчислити відкрите значення YА. Всі отримані таким чином відкриті значення разом із глобальними відкритими значеннями q і α зберігаються централізовано в деякому каталозі. У будь-який момент користувач В може отримати доступ до відкритого значенням користувача А, обчислити секретний ключ і використовувати його для пересилання шифрованого повідомлення користувачу А. Якщо каталог, який зберігається централізовано, є надійним, то ця форма комунікації забезпечує як конфіденційність, так і певну ступінь аутентифікації. Оскільки тільки користувачі А і В можуть визначити ключ, інший користувач не може прочитати повідомлення (конфіденційність). Одержувач А знає, що тільки користувач В міг створити повідомлення, використовуючи цей ключ (аутентифікація). Однак така схема не захищена від атак на основі відтворення повідомлень.

Рис. 10.7. Алгоритм обміну ключами по схемі Діффі-Хеллмана

Рис. 10.8. Обмін ключами по схемі Діффі-Хеллмана.

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