Как протокол «вызов-ответ» помогает против атак «человек посередине»? - PullRequest
7 голосов
/ 21 января 2011

Каким образом проверка подлинности «вызов-ответ» предотвращает атаки «человек посередине»?Я прочитал статью в вики, но все равно не могу понять.

Ответы [ 2 ]

10 голосов
/ 21 января 2011

В целом, системы «вызов-ответ» не обязательно предотвращают атаки «человек посередине»: если Алиса пытается сообщить Бобу номер своего банковского счета, этот протокол, который реализует некоторые вызов и ответ, не будет обеспечить целостность или конфиденциальность:

Alice: Bob, is that you?  // first challenge
Bob: Yes, Alice, it is me, is that you? // first response, second challenge
Alice: Yes! Great. My account number is 314159. // second response, and result

Мэллори может ответить «да» вместо Алисы или Боба, может подделать третье сообщение «результата» или прослушать третье сообщение.

Даже если проблемы будут улучшены, например: «Пожалуйста, добавьте хеш 0x31415926 к нашему общему паролю», данные, передаваемые в незашифрованном виде (либо с использованием слабых / плохих шифров, либо с плохим выбором ключа), могут быть потеряны и данные, передаваемые без каких-либо проверок подлинности сообщений, могут быть изменены третьей стороной.

Там, где протоколы «вызов / ответ» действительно хороши в предотвращении воспроизведения атак: если Алиса просто отправит Бобу сообщение «Пожалуйста, снимите с моего счета 5 долларов и пополните свой счет 5 долларов», Мэллори может записать сообщение и повторить сообщение об уничтожении учетной записи Алисы.

Хорошая система «вызов / ответ» будет генерировать новый вызов для каждой транзакции или сеанса (и следить за тем, чтобы предыдущие вызовы не использовались повторно!), Чтобы стенограммы сеансов не могли быть соединены вместе для создания новых мошеннических систем.

Надеюсь, это поможет, но, боюсь, без более детального представления о том, откуда ваши сомнения, это будет просто шум.

3 голосов
/ 21 января 2011

Пользователь sarnold уже дает хороший ответ , я хотел бы обратить внимание на следующее.

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

Таким образом, если какая-то сторона находится посередине, это не поможет обнаружить ее или помешать ей выдать себя за клиента в качестве конкретного сеанса, но эта сторона не получит доступ к секрету, поскольку секретникогда не отправляется в виде открытого текста, и эта сторона не сможет снова выдать себя за себя, выполнив повтор - она ​​может работать только в том же самом сеансе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...