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

1. Коди автентичності повідомлень

Код автентичності повідомлення MAC, званий також криптографічною контрольною сумою, генерується функцією C виду

MAC = СК(М),

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

1.1. Необхідні властивості кодів автентичності повідомлень

Коли в цілях забезпечення конфіденційності методами традиційного шифрування або шифрування з відкритим ключем шифрується все повідомлення, ступінь захищеності всієї схеми в цілому залежить від довжини ключа. Якщо виключити можливість ущербності алгоритму, то противнику нічого не залишається, як тільки виконувати аналіз з перебором всіх можливих ключів. В середньому такий аналіз вимагатиме 2(k-1) спроб у випадку k-бітового ключа. Так, наприклад, для аналізу при наявності тільки шифрованого тексту противник, маючи шифрований текст С, повинен буде здійснювати пошук Pi = DKi(C) для всіх можливих значень ключа Кi, поки не буде знайдено значення Рi, за формою відповідне прийнятному відкритому тексту.

Що стосується кодів автентичності повідомлень, то тут ситуація зовсім інша. Взагалі, функція обчислення MAC відображає множину значень в одне. Область визначення функції складається з повідомлень довільної довжини, тоді як область значень задається всіма можливими значеннями MAC і всіма можливими ключами. Якщо використовуються n-бітові значення MAC, то таких значень всього 2n, тоді як число можливих повідомлень одно N, де N > 2n. Крім того, є 2k можливостей для n-бітового ключа.

Використовуючи метод простого перебору, як повинен діяти противник, щоб знайти ключ? Якщо приватність не передбачається, то противник має доступ до відкритих повідомленнями і відповідним їм значенням MAC. Припустимо, що k> n, тобто довжина ключа більше довжини MAC. Тоді, маючи відомі М1 і MAC1, а також знаючи, що MAC1 = СК 1), криптоаналитик може обчислити MACi = CKi (Mi) для всіх можливих значень ключа Кi. При цьому принаймні для одного з ключів буде отримано збіг MACi = MAC1. Зверніть увагу на те, що супротивник отримає для значень MAC 2k варіантів, тоді як для них є тільки 2n <2k різних значень. Таким чином, відповідне значення MAC буде відповідати цілій низці ключів і противник не зможе дізнатися, який з цих ключів є правильним. В середньому збіг буде мати місце для 2k / 2n = 2(k-n) ключів. Тому противнику доведеться ітерувати свої зусилля.

■ Раунд 1

  • Дано М1 , MAC1 = СК1)

  • Обчислюється MACi =CKi(M1) для всіх 2k варіантів ключів

  • Число співпадінь рівно ≈ 2(k-n)

■Раунд 2

  • Дано М2, МАС2 = СК2)

  • Обчислюється MACi =CKi(M1) для решти 2(k-n) варіантів ключів

  • Число співпадінь рівно ≈ 2k-2n

і т.д. В середньому буде потрібно α раундів обчислення, якщо k = α ×n. Наприклад, якщо використовується 80-бітовий ключ і довжина значення MAC дорівнює 32 бітам, то в першому раунді буде отримано близько 248 можливих ключів. У другому раунді це число скоротиться до 216. Третій раунд повинен дати тільки один ключ, який і буде, по ідеї, тим ключем, який використовував відправник.

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

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

Проаналізуємо наступний алгоритм обчислення MAC. Нехай є повідомленням, що розглядаються як конкатенація 54-бітових блоків Xi. Тоді визначимо

де позначає операцію виключного "АБО" (XOR), а алгоритмом шифрування є DES в режимі ЕСВ (режим електронної шифрувальної книги). Таким чином, довжина ключа становить 56 бітів, а довжина значення MAC - 64 біта. Якщо противник отримає , спроба визначити До шляхом простого перебору вимагатиме як мінімум 256 шифрувань. Але противник може атакувати систему, замінивши значення X1..., Хm-1 якими іншими значеннями Y1..., Ym-1, a значення Хm - значенням Ym, яке обчислюється таким чином:

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

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

Якщо противник отримає в своє розпорядження М і СК(М), для нього має бути практично неможливо обчислити повідомлення М', для якого .

Значення СК (М) повинні бути рівномірно розподіленими в тому сенсі, що для випадково вибраних повідомлень М і М' ймовірність того, що повинна дорівнювати 2-n, де n дорівнює числу бітів значення MAC.

Нехай М' виходить в результаті деякої відомої трансформації М, тобто М'= f (M). Наприклад, f може означати зміну на протилежний одного або декількох заданих бітів. У такому випадку

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

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

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