Из того, что я прочитал до сих пор, одноразовые значения — это случайные одноразовые значения, которые отправляются в виде открытого текста в дополнение к зашифрованному тексту для проверки личности отправителя/получателя. Теоретически, если одноразовый номер является случайным, злоумышленник E может перехватить сообщение Алисы, предназначенное для Боба, и выдать себя за Боба, сгенерировав случайный одноразовый номер, даже не связавшись с Бобом.
Итак, если протокол запрос-ответ:
А В : пА
В А : {nА, нБ}К
А В : пБ
где nA,nB — одноразовые номера, а K — симметричный общий ключ Алисы и Боба.
- Может ли злоумышленник выполнить отражающую атаку Алисе, просто изменив одноразовый номер?
Таким образом, A вводится в заблуждение, думая, что B инициирует связь с A, а затем она поделится обоими их одноразовыми номерами, зашифрованными с помощью ключа,
в этом случае (изменение 2-й строки протокола):
В А : {nА, нЕ}К
что приводит к атаке по известному открытому тексту. Злоумышленник знает как открытый текст, так и зашифрованный текст в этом сценарии, поэтому он может получить секретный ключ.
- Можно ли исправить этот недостаток в протоколе:
- применение k к одноразовым номерам?
- включая идентификатор B (получателя) во втором зашифрованном тексте?
Исправить предложение
А В : {nА}к
B A : {B, nА}к
А В : {nБ}к