Атака на хеш-функції, які не задовольняють однобічну властивість


9

Я переглядаю курс комп'ютерної безпеки, і я застряг в одному з минулих питань. Ось воно:

Аліса (A) хоче надіслати коротке повідомлення M до Боба (B) з використанням спільної таємниці Sabпідтвердити, що повідомлення надійшло від неї. Вона пропонує надіслати одне повідомлення з двома частинами:

AB:M,h(MSab)
де h є хеш-функцією і позначає конкатенацію.
  1. Поясніть ретельно, що робить Боб, щоб перевірити, чи надійшло повідомлення від Аліси, і чому (окрім властивостей системи h) він може цьому повірити.
  2. Припустимо, що hне задовольняє однобічну властивість і можливо генерувати попередні зображення. Поясніть, що може робити зловмисник і як.
  3. Якщо створення попередніх зображень порівняно трудомістке, запропонуйте простий контрзакон для покращення протоколу без зміни h.

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

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


3
Будь ласка, дайте атрибуцію для зображення. Також просимо скопіювати копіювання тексту, щоб його можна було правильно шукати.
Рафаель

Відповіді:


7

У другому - чи відповість це те, що зловмисник може просто отримати оригінальне повідомлення з хешем?

Ну, повідомлення Mвже дається противнику (він надсилається Бобу по незахищеному каналу), тому йому не потрібно його знаходити. Щоб зламати схему, йому потрібно надіслати нову паруM,h(MSab)таким чином, що Боб прийме як повідомлення, надіслане Алісою.MM

Щодо другого питання: Якщо легко створити попередні зображення , супротивник, можливо, зможе дізнатися секретний ключ з таким чином порушивши схему. (Зверніть увагу, це може бути нетривіальним. Процес інвертування може вивести таким, що , але це не корисно для супротивника. Крім того, якщо супротивник спробує знову перевернути , він може отримати те саме попереднє зображення.)hSabh(MSab)
M1,S1h(MSab)=h(M1S1)h

Третє питання: Тепер ми припускаємо, що інвертування потребує багато часу, тому давайте ускладнимо життя противника, вимагаючи від нього перевертати його багато разів, щоб зламати схему. Наприклад, використовуйте хеш разів . Також існують і інші рішення.hkh(h(h(....h(MSab)..))

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.