Крипточуваки - 34
Реалізація атаки MITM з фіксацією ключів на алгоритм Діффі-Хеллмана із підкладенням параметрів
Використайте щойно написаний код для створення протоколу та бота-“echo”. Вам не потрібно виконувати мережеву частину цього, якщо ви не хочете; просто змоделюйте це. Протокол такий:
A->B Надіслати “p”, “g”, “A” B->A Надіслати “B” A->B Надіслати AES-CBC(SHA1(s)[0:16], iv=random(16), msg) + iv B->A Надіслати AES-CBC(SHA1(s)[0:16], iv=random(16), A’s msg) + iv
(Іншими словами, отримайте ключ AES з DH з SHA1, використовуйте його в обох напрямках та виконайте CBC з випадковими IV, доданими або поставленими на початок повідомлення).
Тепер реалізуйте наступну MITM-атаку:
A->M Надіслати “p”, “g”, “A” M->B Надіслати “p”, “g”, “p” B->M Надіслати “B” M->A Надіслати “p” A->M Надіслати AES-CBC(SHA1(s)[0:16], iv=random(16), msg) + iv M->B Переслати це B B->M Надіслати AES-CBC(SHA1(s)[0:16], iv=random(16), A’s msg) + iv M->A Переслати це A
M має мати змогу розшифрувати повідомлення. “A” та “B” у протоколі — відкриті ключі, по мережі — були замінені на “p”. Швидко виконайте розрахунки DH, щоб побачити, як це впливає на передбачуваність ключа.
Розшифруйте повідомлення з точки зору M під час їхнього надходження.
Зауважте, що вам насправді не потрібно вводити фальшиві параметри, щоб ця атака спрацювала; ви можете просто згенерувати Ma, MA, Mb та MB як дійсні параметри DH для виконання загальної атаки MITM. Але виконайте атаку введення параметрів; вона знову виникне.