Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОЗІ / Лекц_ї / Лекц_я 8.doc
Скачиваний:
46
Добавлен:
05.06.2015
Размер:
172.54 Кб
Скачать

15

Лекція 8. Хеш-функції й коди автентифікації повідомлень - мас

Хеш-функції

Вимоги до хеш-функцій

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

Хеш-код створюється функцією Н:

h = H (M)

Де М є повідомленням довільної довжини й h є хеш-кодом фіксованої довжини.

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

Хеш-функція Н, що використовується для автентифікації повідомлень, повинна мати наступні властивості:

  1. Хеш-функція Н повинна застосовуватися до блоку даних будь-якої довжини.

  2. Хеш-функція Н створює вихід фіксованої довжини.

  3. Н (М) відносно легко (за поліноміальний час) обчислюється для будь-якого значення М.

  4. Для будь-якого даного значення хеш-коду h розрахунково неможливо знайти M таке, що Н (M) = h.

  5. Для будь-якого даного х розрахунково неможливо знайти y x, що H (y) = H (x).

  6. Розрахунково неможливо знайти довільну пару (х, y) таку, що H (y) = H (x).

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

Четверта властивість визначає вимогу однобічності хеш-функції: легко створити хеш-код по даному повідомленню, але неможливо відновити повідомлення по даному хеш-коду. Це властивість важлива, якщо автентифікація з використанням хеш-функції включає секретне значення. Саме секретне значення може не посилати, проте, якщо хеш-функція не є однобічною, супротивник може легко розкрити секретне значення в такий спосіб. При перехопленні передачі атакуючий одержує повідомлення М и хеш-код С = Н (SAB || M). Якщо атакуючий може інвертувати хеш-функцію, те, отже, він може одержати SAB || M = H-1 (C). Так як атакуючий тепер знає й М и SAB || M, одержати SAB зовсім просто.

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

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

Соседние файлы в папке Лекц_ї