Розподіл ключів за участю центру розподілу ключів. Способи розподілу ключів із використанням ЦРК на початковому етапі. Відкритий розподіл ключів

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

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

Ієрархія ключової інформації може включати безліч рівнів, однак, найчастіше виділяють:

· Головні ключі (майстер-ключі),

· Ключі шифрування ключів,

· Робочі ключі (сеансові).

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

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

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

Розподіл ключів є дуже відповідальним процесом у керуванні ключами. Однією з основних вимог до реалізації цього процесу є приховування розподіленої ключової інформації.

Завдання розподілу ключів зводиться до побудови протоколу розподілу ключів, що забезпечує:

1) взаємне підтвердження автентичності учасників сеансу;

2) підтвердження достовірності сеансу захисту від атак методом

повторів;

3) використання мінімальної кількості повідомлень під час обміну ключами.

Взагалі кажучи, виділяють два підходи до розподілу ключової інформації комп'ютерної мережі:

1. Розподіл ключової інформації з використанням одного

або кількох центрів розподілу ключів.

2. Прямий обмін сеансових ключів між користувачами.

Розподіл ключової інформації з використанням центрів розподілу ключів

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

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


Даний підхід реалізований в протоколі Нідхема-Шредера і протоколі автентифікації Kerberos, що базується на ньому. Розподіл ключовою інформацією та розмежування доступу ґрунтується у даних протоколах на видачі мандатів центром розподілу ключів. Використання даних протоколів дозволяє безпечно розподілити сеансові ключі навіть у разі взаємної недовіри двох сторін.

Прямий обмін сеансовими ключами між користувачами

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

Для вирішення проблеми вироблення загального секрету без розкриття його зловмисником існує два основні способи:

· Використання криптосистеми з відкритим ключем для шифрування;

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

Реалізація першого способу має викликати питань. Розглянемо докладніше реалізацію другого методу.

Протокол Діффі-Хеллмана

Протокол Діффі-Хеллмана був першим алгоритмом роботи з відкритими ключами (1976). Безпека даного протоколу полягає в труднощі обчислення дискретних логарифмів.

Нехай користувачі A та B хочуть виробити спільний секрет. Для цього вони виконують такі кроки.

Сторони A і B домовляються про використовуваний модуль N, а також про примітивний елемент g, ступеня якого утворюють числа від 1 до N-1.

1. Числа Nі gє відкритими елементами протоколу.

2. Користувачі A та B незалежно один від одного вибирають власні секретні ключі СК A та CK B (випадкові великі цілі числа, менші N, що зберігаються в секреті).

3. Користувачі A та B обчислюють відкриті ключі ОК А та OK B на підставі відповідних секретних ключів за такими формулами:

4. Сторони A і B обмінюються між собою значеннями відкритих ключів незахищеним каналом.

5. Користувачі A та B формують загальний секрет Kза формулами:

Користувач A:

K = (OK B) CK A (mod N) = (g CK B) CK A (mod N) = g CK B . CK A (мод N).

Користувач B:

K = (OK A) CK B (mod N) = (g CK A) CK B (mod N) = g CK A . CK В (mod N).

Ключ Kможе використовуватися як загальний секретний ключ (майстер-ключ) в симетричній криптосистемі.

Приклад 6.2.

Візьмемо модуль N= 47 та примітивний елемент g= 23. Нехай користувачі Aі Bвибрали свої секретні ключі СК А = 12, СК В = 33.

В даному випадкузагальний секрет матиме вигляд:

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

Протокол Діффі-Хеллмана знайшов ефективне застосування в протоколі SKIPкерування ключами. Цей протоколвикористовується при побудові криптозахищених тунелів у сімействі продуктів ЗАСТАВА.

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

Contents

Постановка завдання захисту інформації

Протоколи відкритого розподілу ключів з'явилися у зв'язку з необхідністю реалізувати обмін ключами без використання захищеного каналу зв'язку. Два або більше учасників в результаті виконання дій, прописаних протоколом, отримують однакові ключі, які потім використовуються у схемах симетричного шифрування. Перші дослідження в цій галузі були виконані Вітфілдом Діффі (Whitfield Diffie) та Мартіном Хеллманом (Martin Hellman), які у 70-х роках XX століття опублікували свій протокол відкритого розподілу ключів. Це була перша криптосистема, яка дозволяла захищати інформацію без використання секретних ключів, що передаються захищеними каналами.

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

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

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

Теоретичні основи розв'язання задачі

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

Загальна схема протоколу виглядає так:

Попередній етап

  • отримати p - велике просте число;
  • отримати повне розкладання числа (p -1) на множники;
  • обчислити первісний корінь r за модулем p (r mod p).

Складова кількість розкладається на прості множники (на прості числа або їх позитивні цілі ступеня, можливо нульові), де p i - Прості числа; b i – ступеня простих чисел.

Для обчислення первинного кореня необхідно, щоб для будь-якого числа з інтервалу виконувалася умова . При виконанні цієї умови будь-яке число можна подати у вигляді де x - деяке позитивне ціле число з інтервалу. Пара чисел (p,r) використовується як відкритий ключ .

Робочий етап

Нехай і – два абоненти, яким необхідно отримати спільний секретний ключ. Тоді:

1. генерує елемент , обчислює і надсилає результат

2. генерує елемент , обчислює і надсилає результат

3. обчислює значення

4. обчислює значення

Після отримання значення необхідно знищити.

Через війну виконання протоколу кожен із абонентів отримує загальний ключ , який можна використовувати у симетричних системах шифрування. У цьому, противник, якому відомий відкритий ключ (p,r) зможе обчислити значення . При перехопленні чисел і противник також зможе отримати значення .

Основні криптографічні конструкції та їх стійкість

Протокол відкритого розподілу ключів Діффі-Хеллмана

Цей протокол було запропоновано у 1976 році і є першим протоколом такого класу. Також його можна назвати одним із найвідоміших протоколів відкритого розподілу ключів.

Протокол Діффі-Хеллмана не забезпечує ні автентифікацію, ні підтвердження ключа, ні автентифікацію учасників протоколу. Активний противник може побудувати атаку на протокол шляхом включення в канал (атака "Людина посередині").

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

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

Схема Ель-Гамалю

Ця криптосистема була запропонована у 1985 році. Ель-гамаль запропонував цю схему на основі зведення в ступінь за модулем великого простого числа. Він удосконалив систему Діффі-Хеллмана і отримав два алгоритми, які використовувалися для шифрування та забезпечення аутентифікації.

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

Перше практичне застосуваннякриптосистем з відкритим ключем – організація обміну ключами між віддаленими користувачамичерез відкриті канали зв'язку

IKE (Internet Key Exchange)

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

IPsec (IP Security) – набір протоколів для забезпечення захисту даних, що передаються по міжмережевому протоколу IP. Дозволяє здійснювати підтвердження автентичності (автентифікацію), перевірку цілісності та/або шифрування IP-пакетів. IPsec також включає протоколи для захищеного обміну ключами Діффі-Хеллмана в мережі Інтернет.

Протоколи IKE вирішують три завдання:

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

Керують параметрами з'єднання та захистом від деяких типів атак, контролюють виконання всіх досягнутих угод;

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

PGP (Pretty Good Privacy)

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

Еліптичні криві – математичний об'єкт, який може бути визначений над будь-яким полем (кінцевим, дійсним, раціональним чи комплексним). У криптографії зазвичай використовують кінцеві поля. Еліптична крива є безліч точок (x, y), що відповідає наступному рівнянню:

y 2 = x 3 + ax + b,

а також нескінченно віддалена точка. Для точок на кривій досить легко вводиться операція додавання, яка грає ту ж роль, що й операція множення у криптосистемах RSA та Ель-Гамалю.

У реальних криптосистемах з урахуванням еліптичних рівнянь використовується рівняння

y 2 = x 3 + ax + b mod p,

де р- Просте.

Проблема дискретного логарифму на еліптичній кривій полягає в наступному: дана точка G на еліптичній кривій порядку r (кількість точок на кривій) та інша точка Y на цій же кривій. Потрібно знайти єдину точку xтаку, що Y = x G, тобто Y є х-я ступінь G.

Відкритий розподіл ключів

Поки переваги методів шифрування з відкритим ключем були очевидні. Однак на їх основі легко вирішувати завдання вироблення загального секретного ключа для сеансу зв'язку будь-якої пари користувачів інформаційної системи. Ще 1976 року Діффі та Хеллман запропонували для цього протокол відкритого розподілу ключів. Він передбачає незалежне генерування кожним з пари користувачів, що зв'язуються свого випадкового числа, перетворення його за допомогою деякої процедури, обмін перетвореними числами по відкритому каналу зв'язку і обчислення загального секретного ключа на основі інформації, отриманої в процесі зв'язку від партнера. Кожен такий ключ існує лише протягом одного сеансу зв'язку або навіть його частини. Таким чином, відкритий розподіл ключів дозволяє кожній парі користувачів системи самим виробити свій спільний секретний ключ, спрощуючи тим самим процедуру розподілу секретних ключів. Хоча все не так просто - відсутність у абонентів перед сеансом зв'язку заздалегідь розподіленого загального секретного ключа в принципі не дає їм можливості переконатися в справжності один одного за допомогою обміну повідомленнями на відкритому каналі. Наприклад, пересилати ключі можна і за описаним вище алгоритмом ЕльГамаля в модифікації Шаміра, але як переконатися, що маєш справу з партнером, а не перехоплювачем? Для підтвердження справжності кожен із учасників секретної мережі все ж таки повинен мати власний секретний ключ, відомий тільки йому і який відрізняє його від усіх інших абонентів. У цьому випадку алгоритмом Діффі-Хеллмана буде забезпечено таку процедуру пред'явлення пароля, що його багаторазове використання не знижує надійності доказу автентичності власника. В результаті такі дві функції загального секретного ключа, що зазвичай доставляється секретним каналом, як захист інформації в каналі зв'язку від третьої сторони і підтвердження справжності кожного з абонентів партнеру, поділяються.

Алгоритм відкритого розподілу ключів Діффі-Хеллмана виглядає так:

    Нехай є два абоненти відкритої мережі Aі Bзнають пару відкритих ключів рі d. Крім того, у Aє секретний ключ хз інтервалу (1, n), а у Bє секретний ключ yіз того ж інтервалу.

    Абонент Aпосилає Bx mod р, а абонент Bпосилає Aшифрування свого ключа Z"=D** y mod p.

    Після цього загальний ключ Z вони обчислюють як Z=Z"** y=Z""** x.

За допомогою спеціальних прийомів час формування загального ключа в системі Діффі-Хеллмана може бути скорочено в 5 разів у порівнянні з системою ЕльГамаля в модифікації Шаміра, і в 30 разів у порівнянні з RSA при тому рівні стійкості. Це, з погляду більшості практичних додатків, виявляється помітною перевагою, так як шифрування та розшифровування за алгоритмом RSA приблизно в тисячу разів повільніше за класичні алгоритми типу DES. Зазначимо, що багатьох застосувань криптографічних систем з відкритим ключем час обчислень при криптографічних перетвореннях немає великого значення. Наприклад, при ідентифікації користувачів за кредитними картками не буде різниці - чи вимагатиме вона одну мікросекунду або одну секунду. Те саме відноситься і до вибору загального ключа шифрування для іншої, більш швидкодіючої, але не здатність обміну ключами криптографічної системи.

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

З практично діючих мереж зв'язку, що використовують систему відкритого розподілу ключів, найбільш серйозно захищена телефонна державна мережаСША з урахуванням апаратів STU-III. Вона почала функціонувати у 1987 році та містить зараз понад 150 тисяч абонентів. У Росії аналогічна мережа, звана ще АТС-1 або "вертушка", теж надійно захищена, але абонентів там у сотні разів менше. На початку вісімдесятих років криптологи дійшли розуміння переваги про гібридних систем, у яких процедури шифрування з відкритим ключем використовуються лише передачі ключів і цифрового підпису. А інформація, яку потрібно передати, захищається класичним алгоритмом типу DES, ключ якого передано за допомогою шифрування з відкритим ключем. Першим серійним пристроєм даного типубув Datacryptor фірми Racal-Milgo, випущений у 1979 році. Апарат управління ключами шифрування Datacryptor призначений в основному для урядових мереж зв'язку та атестований на відповідність англійському стандарту захисту не секретної, але важливої ​​інформації. У ньому передбачено сигналізацію про порушення криптографічних вимог та повідомлення про помилки. У цьому апараті використовується алгоритм встановлення шифрованого зв'язку за допомогою вироблення та передачі загального секретного ключа алгоритму RSA. Надалі апаратів подібного типу для захисту було випущено дуже багато. Інші приклади використання нових криптографічних ідей демонструють багато комерційних мереж, особливо банківські, такі як SWIFT. Крім того, система цифрового підпису RSA застосовується в апаратурі перевірки дотримання договору про обмеження ядерних випробувань, розробленого Sandia Laboratories у 1982 році, мережі BPMIS та інших системах.

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

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

Система розподілу ключів повинна дотримуватися таких вимог:

  • цілісність і конфіденційність розподілених ключів
  • оперативність та точність розподілу

При розподілі ключів є 2 підходи:

  • використання центрів розподілу ключів
  • прямий обмін ключами між абонентами

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

  • підтвердження справжності учасників сеансу
  • підтвердження достовірності сеансу
  • реалізація мінімального числа передачі повідомлень під час обміну ключами

Явний приклад реалізації центрів розподілу ключами є система Kerberos. Тут ми розглянемо другий підхід. Для цього використовують:

  • асиметричну криптосистему з відкритим ключем для захисту секретного ключа симетричної криптосистеми
  • системи відкритого розподілу ключів Діффі-Хеллмана

Реалізація комбінованої криптосистеми керування розподілом

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

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

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

Такий підхід також називають схемою електронного цифрового конверту. Розглянемо з прикладу. Користувач А хоче реалізувати гібридний метод шифрування для захищеного транспортування пакета М користувача В. Алгоритм такий:

  • Дії користувача А:
    • Створює (будь-яким способом) сеансовий секретний ключ K s , який потрібен у симетричному шифруванні для зашифровування пакетів
    • Шифрує пакет М симетричним алгоритмом на секретному сеансовому ключі K s
    • Зашифровує асиметричним алгоритмом секретний сеансовий ключ K s на відкритому ключі K B користувача
    • Відправляє по відкритому каналу користувачеві У зашифрований пакет М разом із зашифрованим сеансовим ключем K s
  • Дії користувача В (при отриманні електронного цифрового конверта):
    • розшифрувати асиметричним алгоритмом сеансовий ключ K s за допомогою свого секретного ключа K B
    • Розшифрувати симетричним алгоритмом пакет М за допомогою розшифрованого ключа K s
    • Дії користувачів показано на рис.1

Малюнок 1

При реалізації цифрового конверту мінуси асиметричного та симетричного алгоритмів компенсуються через:

  • проблема поширення ключів симетричного криптоалгоритму усунена тим, що сеансовий ключ K s передається по відкритому каналу в зашифрованому вигляді за допомогою асиметричного криптоалгоритму
  • проблема повільної швидкості асиметричного алгоритму не доречна, тому що шифрується лише ключ, а текст шифрується симетричним криптоалгоритмом

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

Таблиця 1 - Довжини ключів для асиметричних та симетричних систем при однаковій криптостійкості

Метод розподілу ключів Діффі-Хеллмана

У.Діффі та М.Хеллман створили метод відкритого розподілу ключів у 1976 році. Метод дозволяє користувачам обмінюватися ключами через незахищений канал зв'язку. Його безпека заснована на складності обчислення дискретних логарифмів у кінцевому полі, на відміну від легкості вирішення прямої задачі дискретного зведення у ступінь у цьому ж полі. Схема роботи методу показано на рис.2.

Малюнок - 2

Користувачі А та В при обміні даними генерують свої випадкові секретні ключі K A і K B (ключі – випадкові великі цілі числа). Потім користувач А і В обчислює відкриті ключі:

  • J A B = g K A B (mod N)

N, g - великі цілі прості числа. Ці числа не є секретними, і відомі всім користувачам системи. Потім користувачі А і реалізують обмін ключами J по незахищеному каналу і реалізують їх для обчислення загального сесійного ключа J:

  • Користувач А: J = (J B) K A (mod N) = (g K B) K A (mod N)
  • користувач B: J` = (J A) K B (mod N) = (g K A) K B (mod N)
  • J = J`, тому що (g K B) K A = (g K A) K B

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

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

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

  • Користувач А підписує пакет М за допомогою свого секретного ключа K A , реалізуючи стандартний алгоритм цифрового підпису
  • користувач А обчислює загальний секретний ключ K за принципом Діффі-Хеллмана, зі свого відкритого ключа та відкритого ключа користувача
  • користувач А зашифровує пакет М на загальному секретному ключі, за допомогою симетричного шифрування
  • Користувач Отримавши пакет М, обчислює загальний ключ К і розшифровує пакет М
  • Користувач В перевіряє підпис розшифрованого пакета М за допомогою відкритого ключа користувача K A

На основі алгоритму Діффі-Хеллмана працюють протоколи управління кріптоключами SKIP, IKE.

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

ПРОСТИЙ РОЗПОДІЛ СЕКРЕТНИХ КЛЮЧІВ

Винятково проста схемапредставлена ​​на рис. 11.4.

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

Рис. 11.4.

  • 1. Сторона А генерує пару відкритий / особистий ключі (KU a , KR a ) і передає стороні повідомлення, що містить KU a і ідентифікатор IDa відправника А.
  • 2. Одержувач генерує секретний ключ К у і передає цей ключ ініціатору повідомлення А зашифрованим за допомогою відкритого ключа KU a ініціатора А.
  • 3. Користувач А обчислює D|a^], щоб відновити секретний ключ. Оскільки користувач А може дешифрувати це повідомлення, тільки учасники обміну даними А і В знатимуть значення Ks.
  • 4. Учасник А викидає ключ KR a, а учасник В викидає ключ KU a.

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

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

  • 5. Учасник А генерує пару відкритий / особистий ключі (KU a , KR„) і передає стороні повідомлення, що містить KU a і ідентифікатор Ш А відправника А.
  • 6. Противник Е перехоплює повідомлення, створює власну пару відкритий / особистий ключі (KU e, KR,) і передає адресату повідомлення, що містить KU e ||Ш А.
  • 7. В генерує секретний ключ K v і передає ЕкіЛК].
  • 8. Противник Е перехоплює це повідомлення і дізнається K v обчислюючи D KRe ].
  • 9. Противник Е передає учаснику А повідомлення Екіа[Ку|-

В результаті обидва учасники, А та В, знатимуть К 4 , але не підозрюватимуть, що К л також відомий противнику Е. Тому сторони А та В можуть розпочати обмін повідомленнями, використовуючи Ks.Противник Е більше не активно втручатися в канал зв'язку, а просто перехоплюватиме повідомлення. Знаючи K s ,він зможе дешифрувати будь-яке повідомлення, а учасники А та В навіть не підозрюватимуть про існування проблеми. Таким чином, цей простий протокол є корисним лише у випадку, коли єдиною можливою загрозою є пасивне перехоплення повідомлень.