Метод распределения ключей Диффи-Хеллмана

Метод открытого распределения ключей позволяет пользователям обмениваться ключами по незащищенным каналам связи. Его безопасность обусловлена трудностью вычисления дискретных логарифмов в конечном поле, в отличие от легкости решения прямой задачи дискретного возведения в степень в том же конечном поле. Суть метода Диффи-Хеллмана заключается в следующем (рис. 4.26).

Пользователи А и В, участвующие в обмене информацией, генерируют независимо друг от друга свои случайные секретные ключи kA и kB (ключи kA и kB – случайные большие целые числа, которые хранятся пользователями А и В в секрете).

Затем пользователь А вычисляет на основании своего секретного ключа kA открытый ключ

Метод распределения ключей Диффи-Хеллмана - student2.ru (4.39)

Метод распределения ключей Диффи-Хеллмана - student2.ru

Рис. 4.26. Схема распределения ключей Диффи-Хеллмана

Одновременно пользователь В вычисляет на основании своего секретного ключа kB открытый ключ

Метод распределения ключей Диффи-Хеллмана - student2.ru (4.40)

где N и g – большие целые простые числа. Арифметические действия выполняются с приведением по модулю N. Числа N и g могут не храниться в секрете. Как правило, эти значения являются общими для всех пользователей сети или системы.

Затем пользователи А и В обмениваются своими открытыми ключами КА и КB по незащищенному каналу и используют их для вычисления общего сессионного ключа К (разделяемого секрета):

·пользователь А: Метод распределения ключей Диффи-Хеллмана - student2.ru ;

· пользователь B: Метод распределения ключей Диффи-Хеллмана - student2.ru ;

· при этом Метод распределения ключей Диффи-Хеллмана - student2.ru , так как Метод распределения ключей Диффи-Хеллмана - student2.ru .

Таким образом, результатом этих действий оказывается общий сессионный ключ, который является функцией обоих секретных ключей – kA и kB.

Злоумышленник, перехвативший значения открытых ключей КА и КB, не мо­жет вычислить сессионный ключ К, потому что он не имеет соответствующих значений секретных ключей kA и kB. Благодаря использованию однонаправленной функции операция вычисления открытого ключа необратима, то есть невозможно по значению открытого ключа абонента вычислить его секретный ключ.

Уникальность метода Диффи-Хеллмана заключается в том, что пара абонентов имеет возможность получить известное только им секретное число, передавая по открытой сети открытые ключи. После этого абоненты могут приступить к защите передаваемой информации уже известным проверенным способом – применяя симметричное шифрование с использованием полученного разделяемого секрета.

Схема Диффи-Хеллмана дает возможность шифровать данные при каждом сеансе связи на новых ключах. Это позволяет не хранить секреты на дискетах или других носителях.

Схема Диффи-Хеллмана позволяет реализовать метод комплексной защиты конфиденциальности и аутентичности передаваемых данных. Эта схема предоставляет пользователям возможность сформировать и использовать одни и те же ключи для выполнения цифровой подписи и симметричного шифрования передаваемых данных.

Метод комплексной защиты конфиденциальности и аутентичности передаваемых данных

Для одновременной защиты целостности и конфиденциальности данных целесообразно применять шифрование и электронную цифровую подпись в комплексе. Промежуточные результаты работы схемы Диффи-Хеллмана могут быть использованы в качестве исходных данных для реализации метода комплексной защиты целостности и конфиденциальности передаваемых данных.

Согласно данному алгоритму пользователи А и В сначала генерируют свои секретные ключи kA и kB и вычисляют свои открытые ключи КА и КB. Затем абоненты А и В используют эти промежуточные результаты для одновременного вычисления общего разделяемого секретного ключа К, который может использоваться для симметричного шифрования данных.

Метод комплексной защиты конфиденциальности и аутентичности передаваемых данных работает по следующей схеме:

· абонент А подписывает сообщение М с помощью своего секретного ключа kA, используя стандартный алгоритм цифровой подписи;

· абонент А вычисляет совместно разделяемый секретный ключ К по алгоритму Диффи-Хеллмана из своего секретного ключа kA и открытого ключа КB абонента В;

· абонент А зашифровывает сообщение М на полученном совместно разделяемом секретном ключе К, используя согласованный с партнером по обмену алгоритм симметричного шифрования;

· абонент В при получении зашифрованного сообщения М вычисляет по алгоритму Диффи-Хеллмана совместно разделяемый секретный ключ К из своего секретного ключа kB и открытого ключа КА абонента А;

· абонент В расшифровывает полученное сообщение М на ключе К;

· абонент В проверяет подпись расшифрованного сообщения М с помощью открытого ключа абонента КА.

На основе схемы Диффи-Хеллмана функционируют протоколы управления криптоключами SKIP (Simple Key management for Internet Protocols) и IKE (Internet Key Exchange), применяемые при построении защищенных виртуальных сетей VPN на сетевом уровне.

Наши рекомендации