Приклад алгоритму Діффі Хеллмана

Атака посередника

Однією з слабкостей первинного алгоритму Діффі-Хеллмана є його незахищеність проти атак посередника. Що це означає? Співрозмовник А знає, що він спілкується з якимсь обличчям, але конкретно з ким – він поняття не має. Таким чином, зловмисник може вклинитися в передачу інформації і імітувати співрозмовника Б при спілкуванні з А, і навпаки. Жоден з них не зможе запідозрити недобре.

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

Підводні камені

Крім атаки посередника протокол DH таїть в собі масу інших проблем. Наприклад, одним з недоліків є випадок, коли в ролі утворює числа a виступає не примітив. Тоді він породжує лише підгрупу. Через звуження кількість можливих варіантів зловмиснику відкривається можливість їх перебору.

Проблем із-за цього недоліку можна уникнути, якщо кожен із співрозмовників перед початком обміну даними буде перевіряти, що числа a і b обрані правильно. Тобто a є простим числом, а b – примітивом. Однак коли справа доходить до дотримання безпеки допомогою виконання певних одноманітних необов’язкових кроків, користувачі часто їх ігнорують.

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