6 КРИПТОГРАФІЧНІ ПРОТОКОЛИ ДОСЛІДЖЕННЯ ПОБУДОВИ ТА РЕАЛІЗАЦІЇ ПРОТОКОЛІВ

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 28

6 КРИПТОГРАФІЧНІ ПРОТОКОЛИ.

ДОСЛІДЖЕННЯ ПОБУДОВИ
ТА РЕАЛІЗАЦІЇ ПРОТОКОЛІВ

6.1 Мета роботи


Ознайомлення з принципами побудови, використанням, атаками на
протоколи. Отримання практичних навичок в розробці протоколів,
використання та аналізу їх вразливостей.

6.2 Методичні вказівки з організації самостійної роботи студентів


Під час підготовки до лабораторної роботи необхідно:
- ознайомитися з основними положеннями стандарту ДСТУ ISO/IEC
11770-1.2,3 та ДСТУ ISO/IEC 11770-3 (15946 -3;
- Вивчити лекції 23-30 [1], прочитати ст. 141-155;244-266 [2];
- підготувати бланк звіту, відповідно до розділу „Зміст звіту”;
- підготувати відповіді на контрольні запитання.

6.3 Опис лабораторної установки


В даній лабораторній роботі використовується ЕОМ з операційною
системоюWindows. Обов'язковою вимогою для виконання роботи є наявність
необхідного програмного забезпечення, а саме: програма з підтримкою
криптографічних функцій CrypTool.ехе.

6.4 Порядок виконання лабораторної роботи


1. Дослідження протоколу Діффі-Гелмана.
2. Дослідження протоколів розділення таємниці
2.1 Дослідження протоколу розділення таємниці Шаміра.
2.2 Дослідження протоколу розділення таємниці за допомогою КТЗ
(Китайської теореми про залишки)
3. Протоколи мережевої автентифікації та атака посередині.
3.1 Протокол передачі паролю
3.2 Протокол передачі паролю сеансу
3.3 Протокол обміну (симетричний)
3.4 Протокол обміну (асиметричний)
3.5 Протокол взаємної автентифікації
4. Протокол шифрування «Блокнот – RSA» та атака на реалізацію.
5. Побудова протоколу.

6.5 Основні теоретичні положення


Протокол – розподілений алгоритм сумісного розв’язку об’єктами та
суб’єктами деякої задачі, кожен з яких досягає мети (розв’язує задачу) з
використанням деяких алгоритмів, при цьому усі об’єкти та суб’єкти
використовують однакову специфікацію даних, синхронізації дій, організацію
відновлення роботи після збоїв тощо.
Особливістю криптопротоколів є те, що вони виконуються на основі
застосування однієї або декількох криптосистем (криптоалгоритмів),
відповідних ключових даних, параметрів і т.ін. В моделі взаємної недовіри
взаємодіючі об’єкти та суб’єкти, які мають між собою інформаційні
співвідношення мають бути захищені від обману, в тому числі, і юридично.
Джерелом погроз в цьому випадку можуть бути внутрішні об’єкти та суб’єкти
(порушники), тобто авторизовані користувачі, а також зовнішні об’єкти та
суб’єкти (зловмисники, криптоаналітики).
Криптографічні протоколи можна поділити на два великі класи:
1. Протоколи – примітиви або елементарні протоколи.
2. Прикладні або складові протоколи.
Протоколи – примітиви являють собою елементарні протоколи, з яких
будуються більш складні, наприклад, прикладні протоколи. При цьому
прикладні протоколи забезпечують розв’язання деякої кінцевої задачі на основі
використання протоколів-примітивів.
Усі застосовувані криптографічні протоколи мають бути слушними.
Протокол називається слушним, якщо він забезпечує об’єктам та суб’єктам
інформаційних технологій гарантовані послуги цілісності, конфіденційності,
доступності та спостережності.
Більшість криптографічних протоколів можна поділити на інтерактивні
протоколи та протоколи з нульовими знаннями.

6.5.1 Можливі моделі порушника


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

6.5.2 Протокол Діффі-Гелмана передавання ключів


Нехай два суб’єкти А та В хочуть використати відкриту мережу,
встановити спільну таємницю (ключі) такі, що:
чи (6.1)
Зовнішньому порушнику є відомими
ЗП = .
В протоколі Діффі–Геллмана користувачі А та В спільну таємницю
встановлюють у такому порядку.
Користувач А обчислює
, (6.2)
де – сеансовий таємний ключ суб’єкта А.
Користувач В обчислює
, (6.3)
де – сеансовий таємний ключ суб’єкта В.
Спільну таємницю користувачі А та В обчислюють за правилом
, (6.4)
, (6.5)
Розглянемо можливі протидії та атаки порушника згідно рис. 6.1.

Порушник
RA
А ТС В

Рисунок 6.1 - Пасивна атака перехоплення RA та RB

ЗП= (6.6)

Зовнішній порушник (криптоаналітик) може:


1) створювати хибні криптограми;
2) модифікувати криптограми;
3) передавати раніше передані криптограми;
4) порушення цілісності.
Основне завдання порушника – нанесення максимальних втрат
власникам, користувачам тощо системи.
Нехай порушник може підключитись до телекомунікаційної системи,
тоді:
1) Суб’єкт А посилає суб’єкту В RA, а порушник перехоплює його
значення;
2) Порушник, знаючи загальні параметри, формує та обчислює ,
передає суб’єкту А і видає себе за суб’єкт В:

(6.7)

; (6.8)

(6.9)

3) Аналогічно, порушник перехоплює формує ,


обчислює та передає суб’єкту В і видає себе за суб’єкт А;
4) Знаходться ;
5) Обчислюється

(6.10)

Таким чином, цей протокол не є безпечним. Треба застосовувати замість


компонент сеансу RA та RB сертифікати відкритих ключів.

6.5.3 Протоколи розподілення таємниці


Протокол розділюваної таємниці – багатосторонній протокол, в якому
приймають участь одночасно К із суб’єктів і в результаті їх узгодженої дії
виробляється або розділюваний ключ, або розділювана таємниця, що в
подальшому використовується в управлінні критичною технологією.
Загальна модель:
- приймає участь суб’єктів;
- розділювана таємниця може бути здійснена за згоди К суб’єктів.
На рис. 6.2 представлена модель протоколу розділюваної таємниці.
К1 К2 ... Кn

Третя Довірчий 1
сторона засіб
0

Рисунок 6.2 – Модель протоколу розділюваної таємниці

Третя сторона виробляє часткові ключі . Після цього передає


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

. (6.11)
1) Протокол на основі одноразової гами
Цей протокол базується на тому, що третя довірена сторона для кожного
користувача формує одноразовий ключ, тобто випадкову послідовність .
Використовуючи захищений канал, передається кожному користувачу. При
необхідності, n користувачів пересилають, забезпечуючи конфіденційність,
цілісність, справжність, доступність, спостережливість, в довірений засіб, де
виробляється розідлюваний ключ (таємниця).
Довірена сторона має генерувати випадкові послідовності
використовуючи фізично випадкові процеси. Кожний із таких секретів
захищається системою криптографічних перетворень, наприклад, виробляється
імітоприкладка для контролю цілісності та справжності, а також здійснюється
потокове за шифрування на ключі (паролі) власника частки секрету для
забезпечення його конфіденційності. Потрібно, щоби цю частку ключа (пароля)
задавав (визначав) власник частки секрету. Це дозволяє захистити кожну частку
секрету від можливої конфронтації з боку ділера. Загальний секрет
виробляється ділером на основі використання усіх n- часток. Він також
захищається ділером для забезпечення цілісності, справжності та
конфіденційності. Під час виробки загального секрету ділер не повинен мати
можливості модифікувати загальний секрет. Процес, що його формує, має бути
безперервним. Загальний секрет має контролюватися на цілісність та
справжність.
Таким чином протоколи розподілу секрету можуть бути ефективно
реалізовані з використанням одноразових випадкових послідовностей.
2) Граничні схеми поділу секрету
У граничній схемі загальний секрет поділяється на -частин. Однак
відновлення секрету може бути виконане по часткових справжніх секретів.
У цій схемі довірена сторона також формує загальний секрет і з нього
обчислює приватні секрети кожного об'єкта. При цьому на накладаються
також обмеження, щоб кожні об'єктів, представивши справжніх секретів
могли б обчислити загальний секрет . Більш того, якщо при обчисленні
використовується приватних секретів, то з них можуть бути
помилковими чи перекрученими, а справжніх всерівно забезпечують
формування загального секрету. Підкреслимо, що на етапі поділу і
використання секрету значення мають поширюватися і зберігатися з
забезпеченням цілісності, дійсності, конфіденційності, приступності і
спостережливості. Крім того, у такій схемі жодна група, що знає тільки
приватний секрет, відновити S не може (безумовно чи обчислювально).
Надалі використовуватимемо також поняття бездоганної граничної схеми
розподілу секрету. Бездоганною називатимемо таку граничну схему, у якій
знання чи менш приватних секретів не дає зловмиснику ніякої інформації
як про особисті (приватні), так і про загальний секрет. Ця властивість
забезпечується і при багаторазовому формуванні загального секрету, однак у
цьому випадку необхідно використовувати різні особисті секрети.
Побудова відомої порогової схеми Аді Шаміра базується на
поліноміальній інтерполяції і на тому факті, що одномірний поліном
степені над полем Галуа унікально задається по точках. Поліноми
можуть бути задані над -ічним розширеним полем. При цьому коефіцієнти
полінома задаються над полем як елементи
поля . Основними параметрами такої схеми є числа , де – мінімальне
число частин секрету, з використанням яких може бути відновлений загальний
секрет, а – загальне число часток секрету, причому, .
Коефіцієнти визначаються чи задаються числом часток секрету.
Потім випадковим чином формується загальний секрет , що має бути
розділений на частки секрету , . Пропонована схема має бути такою,
щоб будь-які об'єктів чи суб'єктів, об'єднавши свої приватних секретів
могли однозначно відновити загальний секрет . При цьому всі частки секрету
є конфіденційними, і протягом їхнього життєвого циклу мають бути
забезпечені цілісність, дійсність, конфіденційність і приступність.
При виконанні наведених вище вимог і умов порогова схема поділу
секрету А. Шаміра реалізується в такий спосіб:
1.Формується велике просте число , що реально більше припустимого
, тобто .
2.Формується випадковим чином загальний секрет , що є елементом
поля , тобто ціле задовольняє умову: .
3. Випадково формується коефіцієнтів полінома – ,
що оголошуються конфіденційними.
4. Як приймається значення загального секрету , тобто .
5. Довірена сторона розділяє загальний секрет, обчисливши частки
секрету , де – числовий ідентифікатор або номер кожного з об'єктів чи
суб'єктів, причому, . Розподіл секрету може полягати в присвоєнні
кожному з об'єктів чи суб'єктів унікального випадкового ідентифікатора.
6. Усі частки секрету транспортуються і установлюються чи
вкладаються кожному з об'єктів чи суб'єктів із забезпеченням конфіденційності,
дійсності, цілісності, приступності і спостережливості.
Надалі ми розглянемо окремо алгоритм контролю дійсності кожної з
частин секрету.
Відновлення загального секрету виробляється на основі використання не
менш цілісних і справжніх часток секрету, чи часток секретів, не більш
ніж з яких можуть бути сформовані об'єктом чи суб'єктом зловмисником чи
перекручені. Ці і менш приватних секретів з порушеною цілісністю
виявляються і не враховуються при виробленні загального секрету.
Відновлення загального секрету виконується в такому порядку:
1. Кожний з об'єктів(суб'єктів) передає і/чи встановлює приватний секрет
у довірений пристрій вироблення загального секрету з забезпеченням
конфіденційності, цілісності і дійсності.
2. Довірений пристрій контролює цілісність і дійсність приватних
секретів, якщо ця функція реалізована в схемі поділу секрету, а потім вибирає з
них справжніх.
3. За значенням в довіреному пристрої виробляється
відновлення з використанням інтерполяційної формули Лагранжа:

. (6.12)

4. Загальний секрет формується у вигляді .

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


Таким чином, вироблення загального секрету в довіреному
(виконуючому) пристрої виробляється на основі відновлення полінома ,
тобто обчислення вектора коефіцієнтів , а потім визначення
загального секрету як .
Основними властивостями порогової схеми Аді-Шаміра є такі:
1. Бездоганність. При знанні будь-яких і менших часток секрету всі
значення загального секрету залишаються рівно імовірними і теоретично
можуть вибиратися з інтервалу .
2. Відсутність недоведених допущень. На відміну від ймовірнісно-стійких
схем схема А. Шаміра не базується ні на яких недоведених допущеннях
(наприклад, складності вирішення таких задач як факторизація модуля,
перебування дискретного логарифма і т.д.).
3. Розширювання з появою нових користувачів. Ця властивість полягає в
тому, що нові частини секрету можуть бути обчислені і розподілені без впливу
на вже існуючі частини.
4. Ідеальність, під якою розуміється той факт, що всі частини загального
секрету і сам загальний секрет мають однаковий розмір і можуть приймати
значення над полем з рівною імовірністю.
Особливістю граничної схеми розподілу секрету є те, що вона вимагає
виконання модульних операцій над великим полем , складність яких має
поліноміальний характер. Крім того довірений пристрій повинний мати
можливість контролювати цілісність і дійсність частин секрету перед
виробленням загального секрету.

6.5.4 Протоколи мережевої автентифікації та атака посередині.


6.5.4.1 Моделі атак на криптографічні протоколи.
Для виконання загрози розкриття криптопротоколу зловмисник
(криптоаналітик) повинен провести атаку на криптопротокол.
Оцінка ступеня ефективності атаки може бути здійснена за рахунок
проведення аналізу даних, якими володіє зловмисник, аналізу його
можливостей та інших параметрів атаки. Основним методом оцінки
можливостей зловмисника при атаці є створення моделі атаки. Розглянемо
основні моделі атак на криптографічні протоколи.
1) Пасивна атака. Суть атаки полягає в тому, що зловмисник, виявивши
факт виконання криптографічного протоколу, повинен перехопити всі дані, що
були передані по каналу зв'язку. При цьому порушник (криптоаналітик
зобов'язаний володіти всіма відкритими параметрами й даними, які
використовуються суб'єктами, що виконують протокол. У такому випадку
криптоаналітик може провести криптоаналіз протоколу з метою визначення
сеансових або довгострокових ключів, які використовуються суб'єктами-
учасниками протоколу. Узагальнену модель пасивних атак можна представити
в такий спосіб (рис.6.3).

Зловмисник (порушник)

Суб’єкт -ініціатор Телекомунікаційна система Суб’єкт -відповідач

Рисунок 6.3 Модель здійснення пасивної атаки з боку зовнішнього


зловмисника.

Криптоаналіз являє собою розв'язання математичного завдання з метою


визначення деяких особистих ключів суб'єктів-учасників протоколу. До
пасивних атак відносяться атаки типу «повне розкриття» та «універсальне
розкриття».

2) Активна атака зі зниженням завадозахищеності каналу зв'язку. Для


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

Станція протидії
Zi

Суб’єкт-ініціатор Телекомунікаційна система Суб’єкт-відповідач

Рисунок 6.4- Модель впливу станції протидії зі зниженням завадозахищеності


каналів телекомунікаційної системи

Забезпечення завадозахищеності від таких перешкод є окремим


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

3) Нав'язування помилкових секретів та ключів або даних суб'єктові-


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

Станція протидії

Zi Z’i

Суб’єкт-ініціатор Телекомунікаційна Суб’єкт-відповідач


система

Рисунок 6.5 - Модель впливу станції протидії при нав'язуванні


помилкових складових частин криптографічних протоколів.

Суб’єкт- Станція Телекомунікаційна Суб’єкт-


ініціатор протидії система відповідач

Рисунок 6.6 - Модель впливу станції протидії по нав'язуванню


помилкових повних криптографічних протоколів.

Розглянемо вплив криптоаналітика на протокол. Припустимо, що


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

5) «Атака посередині» - це тип атаки, коли криптоаналітик намагається


зайняти положення між двома сторонами, та намагатися прослуховувати обидві
сторони. При цьому криптоаналітик виступає в мережі певним
маршрутиризатором, який може симулювати іншу сторону до кожної сторони,
для того щоб отримати доступ до інформації.
Атаку посередині, можна переглянути в демонстрації мережевої
автентицікації в якій криптоаналітик симулює бути сервером 1 до клієнту та
водночас симулює бути клієнтом до сервера 1. Така симуляція можлива тільки
при використанні певного зв’язку між узлами: всі данні передається через
криптоаналітика, і в системі не має інших зв’язків між сервером та клієнтом.
Алгоритм атаки посередині:
1) Криптоаналітик встановлює зв’язок, таким чином що всі данні, що
надсилаються між клієнтом та сервером, передаються через нього.
2) Коли клієнт намагається підтвердити автентичність та надсилає
запит до серверу 1. Цей запит перехоплюється криптоаналітиком, який
надсилає свій запит о встановленні автентичності до серверу 1.
3) Сервер 1 надсилає виклик криптоаналітику.
4) В той же час криптоаналітик симулює бути сервером 1 до клієнту та
надсилає виклик клієнту, щоб отримати правильну відповідь.
5) Клієнт довіряє запиту з сервера 1, та повертає відповідь
криптоаналітику.
6) В той же час криптоаналітик симулює клієнта по відношенню до
сервера 1 та надсилає отриману відповідь на сервер 1.
7) Отримавши відповідь що очікується від клієнта (який симулюється
криптоаналітиком), сервер 1 автентифікує криптоаналітика як клієнта.
В результаті попередніх дій атака посередині буде виконана успішно.
Прикладом атаки посередині є IMSI-ловець, який може
використовуватися в GSM мережах, щоб підслуховувати канал.
6) Атака на реалізацію
Атака на реалізацію – це спеціальний тип атаки, при якому крипто
аналітик не використовує слабкості в математиці криптографічних перетворень,
що використовуються, замість цього використовуються помилки в реалізації
або використанні протоколу. До атаки цього типу, веде реалізація алгоритмів з
невиконанням вимог, що вказані в нормативних документах до алгоритму
шифрування, або протоколу. Також атаки цього типу можливі в системах з
порушенням вимог до використання. Знаючи вразливості в реалізації алгоритму
або експлуатації криптоаналітик може здійснювати атаки на системи з великою
ймовірністю успіху.

6.5.5 Класифікація протоколів (для завдання підвищеної складності)


Протокол вироблення спільної таємниці (ключа) - це алгоритм спільних
дій двох суб'єктів з використанням передачі даних по відкритому каналу з
метою вироблення послідовності символів (ключових даних), які відомі тільки
суб'єктам, що виконували протокол.
Протокол розділення таємниці - це алгоритм дій не менше ніж трьох
суб'єктів, один із яких виконує певні дії з метою розподілу між іншими
суб'єктами інформації, необхідної для відновлення секретних даних. При цьому
інформація розподіляється таким чином, щоб секретні дані надалі могли бути
відновлені певним компетентним набором учасників протоколу (не обов'язково
всіма суб'єктами).
Протокол спрямованого шифрування - це алгоритм спільних дій двох
суб'єктів, що виконується з метою генерації спільних секретних даних і
подальшого спрямованого шифрування інформації для передачі по відкритому
каналу. У більшості випадків початковим етапом у протоколах такого типу є
протоколи формування спільної таємниці, або їхньої модифікації.
Протокол ідентифікації - алгоритм спільних дій двох суб'єктів з
доведення особистості одного із суб'єктів-учасників протоколу.
Протокол цифрового підпису - алгоритм дій двох або більше суб'єктів з
доведення того, що деяка інформація є цілісною, справжньою та належить
одному суб'єктові - учасникові протоколу.
Протоколи є інтерактивними або не інтерактивними . Інтерактивним
протоколом називається протокол, під час виконання якого між суб'єктами, що
виконують протокол, відбувається обмін даними. Не інтерактивний протокол -
це протокол, під час виконання якого між суб'єктами, що виконують протокол,
не здійснюється обмін даними. У свою чергу інтерактивні протоколи можна
класифікувати по кількості раундів (сеансів зв'язку) на одно- та багатораундові.
Однораундові протоколи вимагають не більше одного сеансу передачі даних.
Багатораундові протоколи - це такі протоколи, які для виконання всіх
встановлених протоколом дій вимагають 2 та більше раунди. У зв'язку із цим
виникає наступна характеристика: можливість використання протоколу без
з’єднання між суб’єктами під час виконання протоколу.
По математичному апарату, що використовується, можна виділити такі
типи протоколів: протоколи, що використовують математику в полях та кільцях
та математику в групах точок еліптичної кривої.
Найпоширенішими протоколами є протоколи встановлення спільної
таємниці (ключа).
Під встановленням ключів будемо розуміти протокол або процес, за
допомогою якого спільний ключ стає доступним двом та більше суб’єктам -
учасникам протоколу, та надалі використовується ними при виконанні
криптографічних перетворень.
Протокол встановлення ключів може бути розділений на протокол
передачі ключів та протокол узгодження ключів.
Протокол передачі ключів – це метод (механізм) встановлення ключів,
при якому одна сторона формує (створює) або іншим способом одержує
секретне значення й безпечно передає його іншій стороні.
Протокол узгодження ключів - це частковий протокол встановлення
ключів, при виконанні якого спільний ключ одержують два або більше суб'єкти,
таким чином, щоб ніякий інший об'єкт не зміг визначити його результуюче
значення.
Протоколи встановлення ключів можна розділити на протоколи
встановлення статичних ключів та протоколи встановлення динамічних ключів.

6.6 Порядок виконання роботи


6.6.1 Дослідження протоколу Діффі-Гелмана передавання ключів.
1) Відкрийте програму CrypTool.exe.
2) Перейдіть до вкладки Індив. процедури → Протоколи → Діффі-Гелман
Демонстрація
Зліва Ви маєте кроки виконання протоколу. Зправа Ви можете бачити хід
виконання протоколу. Виконайте поступово всі кроки протоколу.
3) Результати виконання протоколу занесіть у вигляді рисунку з
поясненням кожного кроку. Натиснувши на малюнок ключа Ви можете
отримати результати виконання протоколу, отримані результати занесіть до
звіту.
6.6.2 Дослідження протоколу розділення таємниці Аді-Шаміра
1) Перейдіть до вкладки Індив. процедури → Демонстрація розділення
таємниці (Шаміра)
2) У вікні, що відкрилося задайте в якості секрету, деяке випадкове
повідомлення.
В якості кількості учасників встановіть кількість студентів в групі.
В якості порогу t (кількість суб’єктів що можуть відновити секрет)
задайте число студентів у бригаді, що виконують лабораторну роботу.
3) Згенеруйте поліном та прийміть параметри системи. Змінюючи
кількість учасників протоколу, зробіть спробу встановити секрет(кнопка
«Реконструкція»).
Виконайте попередні кроки, але кількість учасників протоколу замість на
кількість студентів в бригаді.
Проаналізуйте виконаний протокол, зробіть за ним висновки. Надайте в
звіті параметри системи (секрет S, верхня межа кількості учасників l = Max(n),
кількість учасників n, верхня межа для простого числа Max(p) і ваш поріг t,
поліном f(x) ступеня t-1), та часткові ключі учасників, пари відкритих значень
та частин секрету (x/y).

6.6.3 Дослідження протоколу розділення таємниці за допомогою КТЗ


(Китайської теореми про залишки)
1) Перейдіть до вкладки Індив. процедури → Китайська теорема про
залишки → Розділення таємниці за допомогою КТЗ.
Дана демонстрація аналогічно попередній надає користувачу можливість
організувати протокол розділення таємниці яка поширює таємницю на декілька
осіб. Тут (number-) це ключі, що обчислюються від секретного і такі, що
поширюються на n користувачів. Ці ключі суспільні. До відновленого таємниці,
вам не потрібно мати всіх ключів, але тільки k (число ключів потрібних для
відновлення секрету). Китайський Теорема Залишку використовується в цій
процедурі, щоб обчислити ключі.
2) Оберіть розподілення ключів вручну. За допомогою генератора
простих чисел (Індив. процедури → RSA Криптосистема → Генерування
простих чисел) згенеруйте 7 простих чисел з діапазону 2 30 - 290. Скопіюйте
отримані згенеровані числа до полів Ідентифікатор (просте число). Задайте в
Опціях кількість усього частин секрету n (2-7), як останню цифру першого
простого числа (якщо вона більше 7 або менше 1 оберіть наступну), а також
кількість частин секрету необхідних для відновлення секрету k (2-7), аналогічно
оберіть k – але за умови що воно повинно бути менше або дорівнювати n.
3) За допомогою кнопки Обчислити обчисліть Пароль (особистий ключ)
кожного учасника. До звіту занесіть Кроки обчислень. За допомогою клавіш +/-
додавайте або видаляйте особисті ключі користувачів, намагаючись відновити
секрет. Зверніть увагу, що особистий ключ можна вводити з клавіатури.
Використайте хибний особистий ключ для відновлення секрету, разом з k –
ключами. Зробіть висновки.

6.6.4 Демонстрація протоколів мережевої автентифікації та атака


посередині
1) Протокол передачі паролю
Сценарій передачі пароля є першим сценарієм в модулі мережевої
автентифікації.
Натиснувши на «Автентифікація клієнта», секретний пароль буде ний від
клієнта до сервера. Він відомий серверу (тобто клієнт та сервер 1 узгодили
паролі через безпечний канал) і він порівнює пароль, отриманий від клієнту.
Якщо вони збігаються, сервер приймає та автентифікує клієнта.
Ваше завдання: заволодіти паролем і використовувати його для того, щоб
автентикуватися у сервера як клієнт.
Реальні паролі, що використовуються є сеансовими. Вони захищають
обчислювальні системи, а також багато Інтернет-вузлів (подібно до поштових
послуг). Прикладом їх використання є PIN-кодів в банківських системах для
здійснення доступу до електронних платіжних систем.
Прикладом незашифрованої передачі паролів є класичний обмін FTP
(Протокол Передачі Файлів) даними через Інтернет. Також є протоколи
передачі паролів використанням шифрування також доступні (наприклад SFTP
Безпечний Трансфертний Протокол Файлів).
Рішення до Сценарію обміну паролями
Можливе рішення цього сценарію - перехопити пароль і безпосередньо
використовувати його.
Виконайте нижче вказані дії:
1. Створіть зв'язок між нападаючим комп'ютером (Криптоаналітиком)
і Маршрутизатором 1 або Маршрутизатором 2.
2. Нападіть на Маршрутизатор 1 або Маршрутизатор 2 (він повинен
стати червоним).
3. Запустіть протокол від клієнта через кнопку «Автентифікувати
клієнта». Як тільки пакет даних переміщається Маршрутизатора 1 або
Маршрутизатора 2, копія пересилається до вас, так що ви можете отримати
пароль.
4. Тепер ви можете запустити протокол від нападаючого комп'ютера
(криптоаналітика) за допомогою кнопки «Автентифікація криптоаналітика » і
ви будете автентифіковані, на сервері з використанням попередньо отриманого
паролю.

2) Протокол передачі паролю сеансу


Щоб запобігти попередній атаки клієнт та сервер використовують більш
складний протокол. Вони обидва погоджують список паролів, які будуть
використовуватися на кожному кроці. Кожного разу, коли клієнт хоче
автентифікуватися, він відправляє сеансовий пароль Серверу 1. Сервер 1
порівнює його з відповідним паролем у списку. Якщо вони відповідають то
Сервер 1 приймає ідентичність клієнта і клієнт автентифікував себе на сервері.
Після успішної автентифікації обидва видаляють пароль зі списку.
Ваше завдання: автентикуватися у сервера як клієнт.
Попередній досвід не допоможе вам. Але майте на увазі, що ви все ще
маєте можливість, щоб втрутитися в процедуру протоколу.
Протокол на сеансових ключах, зазвичай не використовується в такому
вигляді, бо цей протокол вимагає великих матеріальних затрат для обміну
списків паролів. Прикладом може бути он-лайн протоколи для банків. Для
кожної операції (наприклад банківська передача) сеансовий ключ має бути
введений на додаток до PIN-коду.

3) Протокол обміну (симетричний)


Цей сценарій злегка оновлює ідею протоколів. Удосконалення лежить у
тому, що поточний пароль може бути отриманий тількипідчас протоколу. Це
можливо завдяки використанню методу симетричної схеми шифрування.
Протокол починає Сервер 1, що відправляє випадкове число клієнтові як
виклик. Клієнт отримавши виклик, цей номер з секретним ключем і повертає
результат як відповідь до Сервера 1, який також знає секретний ключ клієнта.
Сервер 1 розшифровує відповідь і порівнює її з викликом. Якщо вони
збігаються, ідентичність клієнта прийнята і він автентифікований.
Підказка
Якщо в системі n користувачів (n=1000) хочуть використовувати
симетричну криптографію, при цьому, кожні два партнери комунікаційної
системи використовують один спільний ключ, отже системі потрібно Ѕ*n*(n-1)
різні ключі. (З n = 1000, це склало б 499500 різних ключів).
Якщо використовувати асиметричну криптографію, там потрібно було б
2*n ключі. (З n = 1000, це склало б 2000 різних ключів). Для забезпечення
доступності та цілісності ці ключі потрібно десь зберігати ще, тому що при
великому числі ключів процес автентифікації може займати дуже великий час.
Отже використовується ще додаткова станція.
Кожна станція в цьому сценарії використовує симетричну криптографію,
Сервер 1, Сервер 2 і Клієнт, розділяють той же самий симетричний ключ, з
причин ефективності. Використовуючи цю властивість можна вирішити задачу.
Ваше завдання, як криптоаналітика, знову автентифікуватися на Сервері 1
як Клієнт. В даному випадку тут є декілька рішень.

4) Протокол обміну (асиметричний)


Автентифікацію можна здійснювати і за допомогою асиметричної
криптографії.
Є дві альтернативи, але використовуватися буде тільки перша(як більш
стійка):
1. Для ідентифікації сервер відправляє Виклик (випадкове число)
клієнтові, який підписує його за допомогою його особистого ключем, а потім
посилає результат назад до сервера. Знаючи відкритий ключ клієнта сервер,
може перевірити Відповідь, тобто перевіряється, що виклик був підписаний з
використанням особистого ключа Клієнта, яким володіє тільки він.
2. Для ідентифікації сервер відправляє Виклик клієнтові, який
складається з випадкового числа, що шифрується з використанням відкритого
ключа клієнта. Клієнт розшифровує виклик з використанням його особистого
ключа і повертає результат (випадкове число) серверу. Зараз сервер може
перевірити збіг виклику та відповіді. Сервер може бути впевнений, що
відповідь була послана від клієнта, тому що тільки він має особистий ключ,
щоб розшифрувати виклик. Але другий алгоритм чекає на дійсні випадкові
номери, щоб запобігти тому, що криптоаналітик здогадається о результаті
відповіді, використовується 1 алгоритм.
Ваше завдання, як криптоаналітика знову, автентифікуватися на Сервері 1
як Клієнт

5) Протокол взаємної автентифікації


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

6.6.5 Демонстрація протоколів автентифікаціїу мережі Cryptool


1) Перейдіть до вкладки Аналіз → Протоколи → Мережева
автентифікація.
Щоб розпочати натисніть зліва кнопку «Вступ».
Перед вами з’явиться наступне вікно(рисунок 6.7)
Рисунок 6.7 – Вікно «Демонстрації протоколів»

Зліва знаходяться типи сценаріїв, які треба виконати(сутність сценаріїв


вказана в п. 3.1).
Справа ви бачите Дії які можна виконувати з вузлами учасниками
протоколу.
В інформаційному вікні знизу ви можете знайти опис наступних функцій:
a. З’єднати – функція дозволяє встановити з’єднання між вузлами
системи.
b. Роз’єднати – функція дозволяє роз’єднати встановлені з’єднання.
c. Атакувати станцію – дозволяє атакувати вузли системи.
d. Припинити атаку станції – припиняє атаку станції.
e. Маскувати – дозволяє крипто аналітику розпочати атаку посередені.
f. Автентифікувати користувача – розпочинає сценарій протоколу зі
сторони користувача.
g. Автентифікувати криптоаналітика – розпочинає сценарій зі сторони
криптоаналітика.
h. Збросити сценарій – встановити початкові параметри системи.
Використовуючи теоретичні відомості та підказки в них побудуйте всі
можливі атаки на протоколи автентифікації. Зробить докладний опис
побудованої атаки. Опишіть які вразливості системи були використані при
побудові атаки.
Звіт повинен містити: результати розв’язання всіх сценаріїв, детальні
пояснення побудови атак, схеми атак, та висновки.

6.6.6 Протокол шифрування «Блокнот – RSA» та атака на реалізацію


протоколу.
Cтворіть документ в ньому напишіть деяке повідомлення в якому
обов’язково повинно бути ім’я “Alice”, якщо використовувати атаку, на шифр
не користуючись цим ім’ям, то атака буде провалена.
Перейдіть до вкладки Аналіз → Асиметричне шифрування → Атака на
реалізацію «Блокнот – RSA»
В вікні, що відкрилося пройдіть усі шаги протоколу. На другому кроці
вам потрібно буде зашифрувати документ, що відкритий. Оберіть
«Зашифрувати гібридним шифрування відкритий документ». В якості
асиметричного ключа зашифрування використайте ключ SideChannelAttack.
Після виконання усіх кроків протоколу в звіт занесіть поточні статуси
всіх сторін (натисніть на малюнок). До звіту треба занести та проаналізувати
кроки протоколів, а також результат виконання протоколу та атаки(лог-файл).
Повторіть попередні кроки, але відкривши файл який не містить слів
“Alice”. Проаналізуйте отримані результати.

6.6.7 Побудова протоколу (завдання підвищеної складності)


В даному пункті Вам пропонується побудувати, довести слушність та
проаналізувати заданий в таблиці (таблиця 6.1) протокол , з використанням
заданих параметрів. Виробіть рекомендації до використання цього протоколу,
захист від яких атак він має?
Таблиця 6.1 – Варіанти завдань
№ Призначення протоколу Кількість Криптографічні
бригади раундів перетворення
1 Автентифікації Один RSA-перетворення;
2 Виробка та встановлення Два Сертифікат RSA ЕЦП;
сеансових ключів ЕК-направлене.
3 Виробка спільної таємниці Три RSA-перетворення;
сертифікат RSA ЕЦП;
4 Виробка спільного ключа Один сертифікат ЕК ЕЦП;
RSA-направлене;
5 Узгодження ключів Діффі- Два Перетворення в полі.
Гелмана
6 Автентифікації Не менше 3х Ідентифікаторах
7 Сліпий підпис Три RSA-перетворення;
сертифікат RSA ЕЦП;
8 Розподіл ключів через 3-тю обрати обрати довільно
сторону довільно

6.7 Вимоги до змісту звіту.


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

6.8 Контрольні запитання:


1. Вкажіть які загрози може реалізовувати зовнішній порушник
(криптоаналітик).
2. Яким чином можна захиститися від загроз, що реалізує зовнішній
порушник.
3. Поясніть сутність найбільш переважної криптоатаки на протокол
Діффі-Хеллмана?
4. Наведіть приклади атак, що можливі на протоколи. Приведіть
приклади використання таких протоколів.
5. В яких системах потрібно використовувати k = n часток? В яких
дозволяється k ≤ n?
6. Надайте коротку характеристику атаки посередені.
7. Яким чином можна захиститися від «атаки посередині»?
8. Поясніть сутність найбільш переважної атаки на протокол, що
реалізований з використанням RSA.
9. Які типи атак на криптопротоколи вам відомі?
10.Яким чином можна захищатися від атаки на реалізацію?
11.Завдяки чому може бути здійснений успішний криптоаналіз
протоколу?

ПЕРЕЛІК ПОСИЛАНЬ
1. Горбенко І.Д. Основи теорії захисту інформації. Електронний
конспект лекцій. Харків, ХНУРЕ, 2005 р.
2. Горбенко І.Д. „Криптографічний захист інформації”. Навч. посібник
Харків, ХНУРЕ, 2004 р.
3. ДСТУ ISO/IEC 11770-1.2,3. Інформаційні технології – Методи
захисту – Управління ключовими даними ( 2– Протоколи, що
ґрунтуються на симетричних криптографічних перетворюваннях )
та ДСТУ ISO/IEC 11770-3 (15946 -3), Інформаційні технології –
Методи захисту – Управління ключовими даними – Протоколи, що
ґрунтуються на асиметричних криптографічних перетворюваннях;

You might also like