Файл: Опорный конспект.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 05.06.2024

Просмотров: 81

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

високий. Протокол аутентифікації, у якому адресат одержує можливість перевірити достовірність повідомлення.

Функції, які породжують аутентифікатор, можна поділити на три класи:

шифрування повідомлення;

код автентичності повідомлення;

функції хешування.

2.1 Шифрування повідомлення

Шифрування повідомлення саме по собі може виконувати функції аутентифікації повідомлення.

Традиційне шифрування

63

Рисунок 1 – Конфіденційність й аутентифікація

Так, у традиційному шифруванні (рис 1) адресат B буде впевнений у тому, що відправником повідомлення був A. Чому? Тому, що ключ повідомлення був відомий тільки їм двом. Крім того, якщо повідомлення М відновлюється, це доводить одержувачеві, що ніякий з бітів не був змінений. Це твердження справедливе тільки у тому випадку, якщо відкритим текстом був цілком осмислений текст, у протилежному випадку, адресату B необхідно мати додаткову інформацію для автоматичного встановлення істинності прийнятого повідомлення (набір символів, що зберігає частотну характеристику мови, двійковий об’єктний файл і т. ін.).

Часто звертаються за допомогою до коду розпізнавання помилок (контрольна

послідовність кадру – функція F, що обчислює контрольну суму) рис. 2, 3.

Рисунок 2 – Внутрішній контроль помилок

Рисунок 3 – Зовнішній код контролю помилок У випадку внутрішнього коду контролю забезпечується і конфіденційність, і

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

Асиметричне шифрування

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

повідомлення.

Рисунок 4 – Шифрування з відкритим ключем: конфіденційність Для забезпечення автентичності, відправник шифрує повідомлення своїм

таємним ключем K B , а одержувач розкриває повідомлення відкритим ключем K A .

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

64


Рисунок 5 – Шифрування з відкритим ключем: автентичність Щоб забезпечити і таємність, і автентичність виконують наступну процедуру:

відправник A шифрує повідомлення своїм таємним ключем K B A (це забезпечує

аутентифікацію), потім шифрує отриманий на попередньому етапі шифр відкритим ключем K A B одержувача B (забезпечується таємність), а одержувач у

свою чергу, для розшифрування повідомлення використає свій таємний ключ K B B , а потім відкритий ключ K A A .

Рисунок 6 – Шифрування з відкритим ключем: конфіденційність й автентичність

2.2 Код автентичності повідомлення

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

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

(MAC).

При цьому вважається, що користувачі A та B володіють таємним ключем K. Щоб послати повідомлення адресату B відправник A обчислює код автентичності повідомлення як функцію ключа MAC CK (M ) . Повідомлення з

доданим до нього значенням MAC пересилається адресату. Одержувач виконує аналогічні обчислення і одержує своє значення MAC. Отримані результати порівнюються. У випадку збігу, можна стверджувати:

одержувач може бути впевнений, що повідомлення не було змінено;

одержувач може бути впевнений, що повідомлення автентично, оскілки нікому не відомий ключ K;

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

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

Конфіденційність може бути забезпечена в цьому випадку шляхом шифрування повідомлення або перед обчисленням функції MAC (рис. 8), або після її обчислення (рис. 9).

65


Рисунок 8 – Аутентифікація й конфіденційність повідомлень із використанням MAC (код зв’язується з відкритим текстом)

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

обидва учасника.

2.3 Функції хешування

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

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

Рисунок 9 - Аутентифікація та конфіденційність повідомлень із використанням MAC (код зв’язується з шифротекстом)

Способи застосування дайджесту для аутентифікації повідомлень:

1 Повідомлення разом із приєднаним до нього дайджестом шифрується методами традиційного шифрування (рис. 10).

Рисунок 10

66

Аргументація автентичності полягає в такому: тільки джерелу А і адресату B відомий ключ K, отже повідомлення напевно прийшло від А і не могло бути змінено за шляхом проходження. Дайджест H (M ) забезпечує структуризацію і

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

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

Рисунок 11

Варто звернути увагу на той факт, що хешування та шифрування в комбінації фактично дають код автентичності повідомлення, тобто EK[H(M)] являє собою функцію повідомлення М довільної довжини й таємного ключа K, що дає на виході значення фіксованого розміру, захищене від зловмисника, який не знає таємного ключа.

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

Рисунок 12

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

4 Якщо необхідно забезпечити не тільки цифровий підпис, але й конфіденційність, можна зашифрувати повідомлення разом з дайджестом, що шифровано особистим ключем відправника. Для цього використовуються методи традиційного шифрування (рис. 13).

67


Рисунок 13 5 Для забезпечення автентичності можна використовувати дайджест без

шифрування. У такому випадку передбачається, що учасники обміну використовують тільки їм відоме деяке значення S (рис. 14).

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

Рисунок 14 6 Для забезпечення таємності в попередньому випадку можна додати

шифрування повідомлення разом з дайджестом, що був отриманий від конкатенації повідомлення M і таємного значення S (рис. 15).

Рисунок 15 Проаналізувавши методи 1-6 стає ясно, що у випадку, коли конфіденційність не

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

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

ціни на апаратні засоби шифрування досить високі;

апаратні засоби орієнтовані на великі обсяги даних;

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

Вимоги, що ставляться до функції хешування

Мета функції хешування полягає в тому, щоб одержати «дактилоскопічну»

характеристику відкритого тексту М. Для цього функція хешування повинна мати такі властивості:

1)бути прийнятною до блоку будь-якої довжини;

2)на виході давати значення фіксованої довжини;

3)дайджест h=Н(x) повинен обчислюватися легко для будь-якого заданого значення x, а алгоритм обчислення повинен бути практичним з погляду як апаратної, так і програмної реалізації;

4)для будь-якого даного дайджесту h практично неможливо обчислити x, для якого H(x)=h. Таку властивість називають однобічністю;

68


5)для будь-якого блоку x практично неможливо обчислити y x, для якого

H(x)=H(y). Таку властивість називають слабкою опірністю колізіям;

6)практично неможливо обчислити будь-яку пару різних x та y, для яких H (x) H ( y) . Таку властивість називають сильною опірністю колізіям.

Необхідно зазаначити, що властивості 1-3 описують вимоги, що забезпечують можливість практичного застосування функції хешування для аутентифікації повідомлень. Властивість 4 забезпечує однобічність: легко одержати код на основі наявного повідомлення, але практично неможливо відтворити повідомлення. Це важливо, коли алгоритм аутентифікації припускає використання таємного значення S. Саме значення S не посилається, але якщо хеш-функція не є однобічною, зловмисник може легко визначити таємне значення, досить спостерігати або перехоплювати потік даних, щоб одержати повідомлення М та дайджест h H (M S ) . Потім зловмисник розгляне функцію,

зворотну функції хешування та одержить M S H 1 (h) . Тепер, коли зловмисник

має M та M S легко відновити таємне значення S.

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

Властивість 6 гарантує захист від атак на основі парадокса задачі про дні народження [2].

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

XOR.

H (M ) C1C2 Cn ,

де

M – повідомлення, що продано у вигляді бітового потоку;

C j j-біт дайджесту H (M ), 1 j n , який обчислюється за формулою

С j b1 j b2 j bmj ,

де

m – число n-бітових блоків,

bij j-й біт в i-му блоці, 1 i m, 1 j n ,– операція XOR.

Роботу хеш-функції проілюстровано на рис. 16

69