Итак, вот я, гугля в своем мозгу о возможностях попыток подражания со стороны злоумышленника MITM на Схема одноразового пароля Лэмпорта.
Вот мой сценарий:
Скажем, у нас есть клиент и сервер. Учитывая одноразовый номер $n$, и хэш-функция $ч()$, клиент вычисляет хэш $n$ несколько раз (скажем $100$) и отправляет в первую очередь $Ч^{(100)}$ куда $ Н ^ {(100)} = ч ^ {(100)} (п) $. Во-первых, как сервер аутентифицирует личность клиента для первого значения, предоставленного клиентом, $Ч^{(100)}$? Цифровые подписи/сертификаты?
Для последующей аутентификации клиент отправляет $Ч^{(99)}$ и сервер вычисляет $ ч (Н ^ {(100)}) $ и если вычисление соответствует значению, хранящемуся на сервере (т. е. $Ч^{(100)}$), сервер аутентифицирует клиента.
Теперь, если предположить, что злоумышленник находится в середине связи, не может ли злоумышленник просто перехватить $Ч^{(99)}$ от клиента и отправить $Ч^{(99)}$ на сервер, таким образом выдавая себя за клиента только для этого конкретного сеанса, где $я$ является $99$. Это будет означать, что сервер аутентифицирует злоумышленника, а не клиента. Разве это подражание не возможно? И если да, то как OTP Лэмпорта защищает от этого.
Использование цифровых подписей или шифрования с открытым ключом для каждого сеанса аутентификации не похоже на идею Лэмпорта для использования его схемы OTP. Насколько я понимаю OTP Лампорта, он использует ТОЛЬКО хэш-функции.