В. Р. Гинзбург Перевод с английского



Pdf көрінісі
бет142/203
Дата26.09.2024
өлшемі2,74 Mb.
#145829
1   ...   138   139   140   141   142   143   144   145   ...   203
Байланысты:
практическая криптография


Глава 15. Протокол согласования ключей
ла. Он мог бы отправить сообщение об ошибке примерно следующего
содержания: “Простое число DH должно быть как минимум
k
бит дли-
ной”, но это внесло бы изрядную путаницу в выполнение протокола.
Пользователю А остается лишь одно — перезапустить протокол с новы-
ми параметрами.

Другая проблема связана с аутентификацией. Пользователь Б не уве-
рен, что он действительно общается с пользователем А. Кто-нибудь мо-
жет записать первое сообщение, посланное пользователем А, и позднее
переслать его пользователю Б, который решит, что сообщение пришло
от пользователя А (ведь аутентификация удостоверит подлинность со-
общения). Поэтому он завершит выполнение протокола, думая, что об-
менялся общим ключом
k
с пользователем А. Разумеется, злоумышлен-
ник все равно не узнает значение
k
, поскольку он не знает
x
, а без
x
не сможет взломать оставшуюся часть системы, которая использует
k
.
Тем не менее журналы пользователя Б покажут успешное завершение
протокола с пользователем А, что само по себе является проблемой, так
как снабжает администраторов ошибочной информацией.
Проблема пользователя Б называется нехваткой “живучести”. Он не уве-
рен, что пользователь А “жив” и что он разговаривает не с бесплотным
призраком, воспроизводящим сообщения. Классический способ решения этой
проблемы подразумевает включение в аутентификатор пользователя А слу-
чайного элемента, выбранного пользователем Б.
15.6
Третья попытка
Попытаемся исправить описанные выше проблемы с помощью еще не-
скольких изменений. Теперь параметры алгоритма DH больше не будет вы-
бирать пользователь А. Он просто пошлет свои минимальные требования
пользователю Б, а тот выберет параметры. При этом количество сообщений
увеличится до трех. (Оказывается, что самые интересные криптографические
протоколы требуют наличия как минимум трех сообщений. Мы не знаем, чем
это вызвано, — просто так получается.) Пользователь Б посылает только одно
сообщение, а именно второе. Это сообщение будет содержать его аутентифи-
катор, поэтому вместе со своим первым сообщением пользователь А должен
отослать некоторый случайный элемент. В качестве последнего мы будем при-
менять случайную оказию.
Схема полученного протокола представлена на рис. 15.3. Вначале поль-
зователь А выбирает
s
— минимально допустимый размер простого числа
p
.
Затем он генерирует случайную 256-битовую строку в качестве оказии
N
a
и отсылает оба значения пользователю Б, который выбирает подходящий


15.6. Третья попытка
289
Пользователь Б
Пользователь А
s
минимальный размер 
p
N
a
R
0, ..., 2
256
-1
s, N
a
Выбрать 
(p, q, g)
x
R
{1, ..., 
q-
1}
(p, q, g), X := g
x
,

AUTH
B
Y := g
y

AUTH
A
y
R
{1, ..., 
q-
1}
Проверить 
(p, q, g), X, 
AUTH
B
k
Y
x
k
X
y
Проверить 
Y, 
AUTH
A
Рис. 15.3.
Третья попытка согласования ключа
набор параметров алгоритма DH и случайный показатель степени
x
. После
этого он отсылает пользователю А параметры, значение
g
x
и свой аутенти-
фикатор. Пользователь А завершает протокол DH, отсылая пользователю Б
значение
Y
и свой аутентификатор.
Нам осталось решить еще одну проблему. Результат
k
имеет переменный
размер, что может быть весьма неудобно для других частей системы. Более
того,
k
вычисляется с использованием алгебраических выражений, а наличие
в криптографической системе какой-либо алгебраической структуры всегда
нас пугает. Разумеется, иногда без алгебраической структуры не обойтись,
но по мере возможности мы стараемся ее избегать.
Опасность использования алгебраической структуры состоит в том, что
злоумышленник может извлечь из нее что-нибудь полезное. Математический
аппарат — исключительно мощное средство атаки. За последние 20 лет мы
видели массу новых предложений криптографических систем с открытым
ключом. Практически все эти системы были успешно взломаны, и в боль-
шинстве случаев именно благодаря алгебраической структуре, которую они
содержали. Всегда избавляйтесь от алгебраической структуры, если это воз-
можно.
Очевидным решением данной проблемы является хэширование получен-
ного ключа. Это превратит ключ в число фиксированной длины и уничтожит
всю оставшуюся алгебраическую структуру.


290

Достарыңызбен бөлісу:
1   ...   138   139   140   141   142   143   144   145   ...   203




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет