Вперед: 6.2.1.2 Протоколы выработки сеансовых ключей
Вверх: 6.2.1 Протоколы типа Диффи - Хеллмана
Назад: 6.2.1 Протоколы типа Диффи - Хеллмана
  Содержание
  Предметный указатель
6.2.1.1 Оригинальный протокол Диффи -- Хеллмана
Исторически первый и наиболее известный протокол
распределения ключей был предложен Диффи и Хеллманом в
1976 г. [DH]. Пусть обоим участникам A и B известны
некоторое большое простое число и некоторый порождающий
группы
(хорошо известно, что мультипликативная
группа произвольного конечного поля циклическая).
Параметры и могут быть выбраны, например, центром
доверия. В роли параметра безопасности здесь выступает
длина , а в роли пространства ключей -- группа
. Протокол заключается в следующем:
1.
A выбирает
, вычисляет
и посылает его B, сохраняя
в
секрете.
2.
B выбирает
, вычисляет
и посылает его A, сохраняя
в
секрете.
3.
A вычисляет
.
4.
B вычисляет
.
Ясно, что
, так как
и
. Поэтому
является искомым общим секретным ключом.
Однако этот протокол в чистом виде абсолютно непригоден для
практического применения. В самом деле, поскольку у
участников протокола изначально нет никакой общей секретной
информации, все сообщения, посылаемые в процессе выполнения
протокола, не аутентифицированы. Это означает, что всякий
злоумышленник, подключившийся к сети связи, может выполнить
протокол с любым из ее абонентов от имени любого другого
абонента и тем самым получить доступ к секретной
информации.
Решение обозначенной проблемы заключается в том, что
протокол распределения ключей рассматривается как составная
часть более общего протокола, обеспечивающего в том или
ином виде аутентификацию участников. Известны два метода;
оба основаны на наличии в сети связи центра доверия. Первый
из них для протокола Диффи -- Хеллмана заключается в том,
что шаги 1 и 2 не выполняются при каждом сеансе выполнения
протокола, а заменяются следующей процедурой. При
регистрации в центре доверия каждый абонент (скажем, A)
выбирает
(называемый
секретным ключом A), вычисляет
(открытый ключ A) и сообщает его центру доверия, сохраняя
в
секрете. После этого центр доверия помещает
вместе с
идентификатором A в некоторый сертифицированный
справочник, доступный всем абонентам сети для чтения, но
недоступный для записи. Теперь, если абоненты A и B желают
выработать общий секретный ключ, они берут из этого
справочника соответственно
и
и выполняют
соответственно шаги 3 и 4 вышеуказанного протокола. Этот
метод не позволяет противнику активно вмешиваться в
выполнение протокола, но затрудняет обновление секретных
ключей в случае их компрометации или разглашения общих
секретных ключей, выработанных на прошлых сеансах
выполнения протокола. Эта проблема может быть решена с
помощью протоколов выработки сеансовых ключей, которые
рассматриваются в следующем пункте. Второй метод
аутентификации абонентов (основанный на идентификационной
информации) будет рассмотрен ниже в п. 6.2.1.3.
Существует предположение, что для противника, знающего ,
,
и
, единственная возможность вычислить
заключается в вычислении некоторого такого, что
или
(т. е. дискретном логарифмировании
или
по основанию
) и последующем возведении соответственно
или
в степень по модулю . Однако стойкость
вышеуказанного протокола в предположении сложности
дискретного логарифмирования доказана лишь при некоторых
дополнительных условиях (см. [Boer], [Mau]).
Очевидно, что это предположение необходимо для стойкости
данного протокола, так как если противник умеет вычислять
дискретные логарифмы, то он сможет найти по , ,
и
.
Вперед: 6.2.1.2 Протоколы выработки сеансовых ключей
Вверх: 6.2.1 Протоколы типа Диффи - Хеллмана
Назад: 6.2.1 Протоколы типа Диффи - Хеллмана
  Содержание
  Предметный указатель
|