Чем протокол Socialist Millionaire отличается от простого запроса-ответа, подобного CHAP?

#cryptography #challenge-response #off-the-record-messaging

#криптография #запрос-ответ #обмен сообщениями без записи

Вопрос:

это вопрос для понимания, но что делает протокол Socialist Millionaire, который обычно используется в сочетании с OTR-сообщениями, чего не могут сделать «обычные» механизмы запроса-ответа, такие как CHAP?

http://en.wikipedia.org/wiki/Socialist_millionaire

http://en.wikipedia.org/wiki/Challenge-handshake_authentication_protocol

PS: Может кто-нибудь рассмотреть возможность добавления тега «OTR»?

Ответ №1:

Стандартная система ответа на запрос работает следующим образом:

  • Боб, сервер, отправляет Алисе случайный номер вызова.

  • Алиса выполняет криптографическую операцию над вызовом, используя свой секрет.

  • Алиса отправляет результат Бобу.

  • Боб выполняет ту же операцию над вызовом со своим секретом.

  • Если результат этого вычисления совпадает с ответом, который отправила ему Алиса, то Алиса, должно быть, использовала тот же секрет.

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

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

Протокол socialist millionaire служит той же цели, но он не раскрывает никакой информации о секрете. Подслушивающий не может использовать сообщения, отправленные туда и обратно, чтобы узнать что-либо о секрете, даже если у него есть бесконечно мощный компьютер. Даже если злоумышленник притворяется Бобом и может отправлять любые сообщения, которые он хочет, обратно Алисе, они все равно не смогут получить никакой информации о секрете, кроме того, была ли правильна их догадка.

Ответ №2:

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

Протокол Socialist millionaire сообщает обоим объектам, что они либо использовали одинаковое значение, либо другое значение. Это также можно использовать в качестве протокола входа. Затем он предложит взаимную аутентификацию.

Комментарии:

1. Я все еще не совсем понимаю. Протокол CHAP также «сообщает» обоим объектам, что они имеют одинаковое значение, нет? Или вы имеете в виду, что с помощью SM вы можете каким-то образом сгенерировать ключ с обеих сторон и убедиться, что он одинаковый, вместо того, чтобы каким-то образом подготавливать ключ с обеих сторон?

2. 1) Нет, chap только сообщает серверу, что у пользователя правильный ключ, но вредоносный сервер может отправить случайный запрос, но затем принять то, что когда-либо возвращает пользователь. 2) SM просто доказывает, что две сущности разделяют секрет. В случае, если секреты не совпадают, сущности узнают, не получая никаких знаний о секрете другой сущности.