RFC: 4251
Оригинал: SSH Protocol Architecture
Категория: Предложенный стандарт
Дата публикации:
Авторы: ,
Перевод: Николай Малых

9.3.4. Перехват с участием человека (Man-in-the-middle)

Протокол не включает предположений о распространении открытых ключей хостов, требований к инфраструктуре обмена ключами или методам их распространения. Предполагается, что протокол в некоторых случаях будет использоваться без предварительной проверки достоверности связи между ключом и именем хоста. Такое использование уязвимо для атак с участием человек (man-in-the-middle attack). В этом параграфе рассматривается данная проблема и даются рекомендации для администраторов и пользователей по вопросам важности проверки связи между ключом и именем хоста до начала первого сеанса.

Существует три варианта атак на протокол с использованием перехвата с участием человека. В первом случае атакующий размещает устройство перехвата на пути между клиентом и сервером до начала сеанса. В этом случае устройство пытается прикинуться легитимным сервером и будет предлагать клиенту свой ключ в начале сеанса. Если устройство станет предлагать реальный ключ сервера, оно не сможет расшифровать или подписать данные, передаваемые между клиентом и легитимным сервером, пока не получит доступа к закрытому ключу (private key) хоста. Используемое для атаки устройство одновременно будет инициировать сессию с легитимным сервером, маскируя себя под клиента. Если открытый ключ сервера был до начала сессии получен клиентом с помощью безопасного канала, предложенный используемым для атаки устройством ключ не будет соответствовать ключу сервера, хранящемуся у клиента. В таким случае пользователю следует выдавать предупреждение о несоответствии ключей. Как указано в параграфе 4.1, пользователь волен принять предложенный ключ и продолжить сессию. Рекомендуется включать в предупреждение о несоответствии ключей информацию, которая позволит пользователю клиентского хоста принять обдуманное решение.

Если пользователь выберет продолжение сессии с хранящимся у него открытым ключом сервера (вместо ключа, предложенного в начале сеанса), связанные с этим сеансом данные, передаваемые между атакующим и сервером будут отличаться от данных, передаваемых между атакующим и клиентом в силу описанного выше использования случайных чисел. В результате атакующий не сможет добиться своей цели, поскольку он не сможет корректно подписывать пакеты, содержащие связанные с сессией данные от сервера, поскольку ему неизвестен закрытый ключ сервера.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.