Рейтинг:4

Почему протокол SSH генерирует два ключа: ключ шифрования для связи между клиентом и сервером и для связи между сервером и клиентом?

флаг dz

Как описано в SSH RFC генерируются начальный IV для сервера, начальный IV для клиента, ключ шифрования от клиента к серверу, ключ шифрования от сервера к клиенту, ключ целостности от клиента к серверу и ключ целостности от сервера к клиенту.

Почему SSH генерирует ключ для связи сервер -> клиент и ключ для связи клиент -> сервер?

Рейтинг:9
флаг ng

Когда дело доходит до ключей, в криптографии есть мнение: одно использование, один ключ.

Это дает первый уровень обоснования использования отдельных ключей в каждом направлении: каждое направление — это различное использование ключа.

Следующий уровень — проиллюстрировать, какой класс атак это предотвращает. То есть: зеркальные атаки. Представьте, что ключ шифрования и (отдельный) ключ аутентификации используются в обоих направлениях. По крайней мере, вероятно, что злоумышленник может взять зашифрованный и аутентифицированный фрагмент данных, отправленный сервером, и повторно передать его на сервер, как если бы он пришел от клиента. Обнажая подробности в протоколе, этот фрагмент данных будет проходить аутентификацию и расшифровываться, как если бы он был получен от клиента. Это идет вразрез с более простым изложением цели протокола и является прорывом (возможность использования зависит от деталей, которые мы не хотим рассматривать). В отличие от ситуации с использованием других ключей: аутентификация не проходит (а расшифровка, если она происходит, дает мусор).

Дополнение: Существуют и другие эффективные способы предотвращения зеркальных атак (например, указание предполагаемого получателя в аутентифицированных криптограммах). Иногда есть веские причины использовать это, а не несколько ключей (например, минимизация объема памяти открытого канала).

nilch avatar
флаг dz
Спасибо, дополнительный вопрос: генерирует ли TLS также два симметричных ключа (один для клиент-> сервер и один для сервер-> клиент)?
флаг cn
@nilch Нет, это контраргумент к этому ответу. Другие меры в протоколе решают проблему, упомянутую здесь.
poncho avatar
флаг my
@ user207421: на самом деле TLS *действительно* генерирует отдельные симметричные ключи для двух направлений (клиент-сервер и сервер-клиент).

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.