7

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

+1

Есть ли что-то конкретное, что вы не понимаете? – sarnold

+0

Вы читаете эту ссылку? http://en.wikipedia.org/wiki/Challenge-response_authentication Да, я думаю, что это сбивает с толку. –

ответ

8

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

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», Мэллори может записать сообщение и replay сообщение об исчерпании счета Алисы.

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

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

+0

будет система реагирования на вызовы с использованием криптографии с открытым ключом, которая поможет устранить человека в средней атаке? – user574183

+0

@ user574183: Как именно вы хотите использовать криптографию с открытым ключом? – sharptooth

+0

работают ли эти системы на симметричных ключах? – user574183

3

User sarnold уже предоставляет a good answer, я хотел бы обратить внимание на следующее.

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

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

+0

ОК, поэтому в эта аутентификация с запросом/ответом человека в средней атаке возможна только в том случае, если средний знает секретный ключ. Если ключ известен, он сможет расшифровать задачу и правильно ответить на вызов. – user574183

+0

@ user574183: Сначала вызов отправляется в незашифрованном виде, секрет используется для объединения вызова с секретом. Если сторона-в-середине знает секрет, он может выдавать себя за клиента в любое время - он знает секрет, поэтому сервер не может отличить его от клиента. Он также может мешать уже прошедшему сеансу, даже если он не знает секрет - секрет используется только в начале, он не используется для отправки данных во время сеанса. – sharptooth

+0

Хорошо сказано! Благодарю. – sarnold